@univerjs/sheets-data-validation 0.3.0-alpha.0 → 0.3.0-nightly.202410101606
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/README.md +2 -2
- package/lib/cjs/index.js +1 -9
- package/lib/es/index.js +1 -5568
- package/lib/types/commands/commands/data-validation.command.d.ts +0 -1
- package/lib/types/common/const.d.ts +0 -1
- package/lib/types/controllers/dv-ref-range.controller.d.ts +1 -1
- package/lib/types/controllers/dv.controller.d.ts +1 -4
- package/lib/types/index.d.ts +10 -4
- package/lib/types/plugin.d.ts +4 -5
- package/lib/types/utils/create.d.ts +1 -1
- package/lib/types/validators/checkbox-validator.d.ts +2 -5
- package/lib/types/validators/custom-validator.d.ts +0 -1
- package/lib/types/validators/date-validator.d.ts +2 -5
- package/lib/types/validators/decimal-validator.d.ts +1 -3
- package/lib/types/validators/list-multiple-validator.d.ts +0 -2
- package/lib/types/validators/list-validator.d.ts +2 -6
- package/lib/types/validators/text-length-validator.d.ts +1 -2
- package/lib/types/validators/whole-validator.d.ts +1 -3
- package/lib/umd/index.js +1 -9
- package/package.json +20 -33
- package/LICENSE +0 -176
- package/lib/index.css +0 -1
- package/lib/locale/en-US.json +0 -167
- package/lib/locale/ru-RU.json +0 -167
- package/lib/locale/vi-VN.json +0 -167
- package/lib/locale/zh-CN.json +0 -167
- package/lib/locale/zh-TW.json +0 -167
- package/lib/types/commands/operations/data-validation.operation.d.ts +0 -17
- package/lib/types/controllers/config.schema.d.ts +0 -8
- package/lib/types/controllers/dv-alert.controller.d.ts +0 -14
- package/lib/types/controllers/dv-auto-fill.controller.d.ts +0 -10
- package/lib/types/controllers/dv-copy-paste.controller.d.ts +0 -13
- package/lib/types/controllers/dv-permission.controller.d.ts +0 -9
- package/lib/types/controllers/dv-reject-input.controller.d.ts +0 -15
- package/lib/types/controllers/dv-render.controller.d.ts +0 -39
- package/lib/types/controllers/dv.menu.d.ts +0 -7
- package/lib/types/controllers/menu.schema.d.ts +0 -2
- package/lib/types/locale/en-US.d.ts +0 -3
- package/lib/types/locale/ru-RU.d.ts +0 -3
- package/lib/types/locale/vi-VN.d.ts +0 -3
- package/lib/types/locale/zh-CN.d.ts +0 -183
- package/lib/types/locale/zh-TW.d.ts +0 -3
- package/lib/types/mobile-plugin.d.ts +0 -12
- package/lib/types/services/data-validation-panel.service.d.ts +0 -32
- package/lib/types/services/dropdown-manager.service.d.ts +0 -40
- package/lib/types/views/date-dropdown/index.d.ts +0 -3
- package/lib/types/views/detail/index.d.ts +0 -2
- package/lib/types/views/drop-down/CellDropdown.d.ts +0 -2
- package/lib/types/views/drop-down/index.d.ts +0 -18
- package/lib/types/views/formula-input/base-formula-input.d.ts +0 -3
- package/lib/types/views/formula-input/checkbox-formula-input.d.ts +0 -3
- package/lib/types/views/formula-input/custom-formula-input.d.ts +0 -3
- package/lib/types/views/formula-input/formula-input.d.ts +0 -4
- package/lib/types/views/formula-input/index.d.ts +0 -6
- package/lib/types/views/formula-input/list-formula-input.d.ts +0 -3
- package/lib/types/views/index.d.ts +0 -20
- package/lib/types/views/item/index.d.ts +0 -10
- package/lib/types/views/list/index.d.ts +0 -2
- package/lib/types/views/list-dropdown/index.d.ts +0 -3
- package/lib/types/views/options/index.d.ts +0 -8
- package/lib/types/views/panel/index.d.ts +0 -2
- package/lib/types/views/render-mode/index.d.ts +0 -10
- package/lib/types/views/show-time/index.d.ts +0 -10
- package/lib/types/widgets/checkbox-widget.d.ts +0 -19
- package/lib/types/widgets/dropdown-multiple-widget.d.ts +0 -19
- package/lib/types/widgets/dropdown-widget.d.ts +0 -28
- package/lib/types/widgets/shape/dropdown.d.ts +0 -12
- package/lib/types/widgets/shape/index.d.ts +0 -18
- package/lib/types/widgets/shape/layout.d.ts +0 -37
package/lib/umd/index.js
CHANGED
|
@@ -1,9 +1 @@
|
|
|
1
|
-
(function(global2,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@univerjs/core"),require("@univerjs/data-validation"),require("@univerjs/sheets"),require("@univerjs/sheets-ui"),require("rxjs"),require("@univerjs/engine-formula"),require("@univerjs/sheets-formula"),require("react"),require("@univerjs/design"),require("@univerjs/docs-ui"),require("@univerjs/ui"),require("clsx"),require("@univerjs/engine-render"),require("dayjs"),require("@univerjs/sheets-numfmt"),require("@univerjs/docs")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/data-validation","@univerjs/sheets","@univerjs/sheets-ui","rxjs","@univerjs/engine-formula","@univerjs/sheets-formula","react","@univerjs/design","@univerjs/docs-ui","@univerjs/ui","clsx","@univerjs/engine-render","dayjs","@univerjs/sheets-numfmt","@univerjs/docs"],factory):(global2=typeof globalThis<"u"?globalThis:global2||self,factory(global2.UniverSheetsDataValidation={},global2.UniverCore,global2.UniverDataValidation,global2.UniverSheets,global2.UniverSheetsUi,global2.rxjs,global2.UniverEngineFormula,global2.UniverSheetsFormula,global2.React,global2.UniverDesign,global2.UniverDocsUi,global2.UniverUi,global2.clsx,global2.UniverEngineRender,global2.dayjs,global2.UniverSheetsNumfmt,global2.UniverDocs))})(this,function(exports2,core,dataValidation,sheets,sheetsUi,rxjs,engineFormula,sheetsFormula,React,design,docsUi,ui,cs,engineRender,dayjs,sheetsNumfmt,docs){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_s,_t,_u,_v,_w;const DATA_VALIDATION_PLUGIN_NAME="SHEET_DATA_VALIDATION_PLUGIN",DROP_DOWN_DEFAULT_COLOR="#ECECEC",_DataValidationCacheService=class _DataValidationCacheService{constructor(){__publicField(this,"_cacheMatrix",new Map)}_ensureCache(unitId,subUnitId){let unitMap=this._cacheMatrix.get(unitId);unitMap||(unitMap=new Map,this._cacheMatrix.set(unitId,unitMap));let cacheMatrix=unitMap.get(subUnitId);return cacheMatrix||(cacheMatrix=new core.ObjectMatrix,unitMap.set(subUnitId,cacheMatrix)),cacheMatrix}ensureCache(unitId,subUnitId){return this._ensureCache(unitId,subUnitId)}addRule(unitId,subUnitId,rule){this.markRangeDirty(unitId,subUnitId,rule.ranges)}removeRule(unitId,subUnitId,rule){this._deleteRange(unitId,subUnitId,rule.ranges)}updateRuleRanges(unitId,subUnitId,ruleId,newRanges,oldRanges){const cache=this._ensureCache(unitId,subUnitId);oldRanges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const item=cache.getValue(row,col);item&&(item.temp=!0)})}),newRanges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const item=cache.getValue(row,col);item&&item.ruleId===ruleId?item.temp=!1:cache.setValue(row,col,void 0)})}),oldRanges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const item=cache.getValue(row,col);item&&item.temp===!0&&cache.realDeleteValue(row,col)})})}markRangeDirty(unitId,subUnitId,ranges){const cache=this._ensureCache(unitId,subUnitId);ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{cache.setValue(row,col,void 0)})})}markCellDirty(unitId,subUnitId,row,col){this._ensureCache(unitId,subUnitId).setValue(row,col,void 0)}_deleteRange(unitId,subUnitId,ranges){const cache=this._ensureCache(unitId,subUnitId);ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{cache.realDeleteValue(row,col)})})}getValue(unitId,subUnitId,row,col){return this._ensureCache(unitId,subUnitId).getValue(row,col)}setValue(unitId,subUnitId,row,col,value){return this._ensureCache(unitId,subUnitId).setValue(row,col,value)}};__name(_DataValidationCacheService,"DataValidationCacheService");let DataValidationCacheService=_DataValidationCacheService;var __defProp$k=Object.defineProperty,__getOwnPropDesc$k=Object.getOwnPropertyDescriptor,__decorateClass$k=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$k(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$k(target,key,result),result},"__decorateClass$k"),__decorateParam$k=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$k");function transformFormula(lexerTreeBuilder,formula,originRow,originCol,targetRow,targetCol){return lexerTreeBuilder.moveFormulaRefOffset(formula,targetCol-originCol,targetRow-originRow)}__name(transformFormula,"transformFormula"),exports2.DataValidationCustomFormulaService=(_a=class extends core.Disposable{constructor(_instanceSrv,_registerOtherFormulaService,_lexerTreeBuilder,_dataValidationModel,_dataValidationCacheService,_logService){super();__publicField(this,"_formulaMap",new Map);__publicField(this,"_ruleFormulaMap",new Map);__publicField(this,"_formulaCellMap",new Map);this._instanceSrv=_instanceSrv,this._registerOtherFormulaService=_registerOtherFormulaService,this._lexerTreeBuilder=_lexerTreeBuilder,this._dataValidationModel=_dataValidationModel,this._dataValidationCacheService=_dataValidationCacheService,this._logService=_logService,this._initFormulaResultHandler()}_initFormulaResultHandler(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(resultMap=>{for(const unitId in resultMap){const unitMap=resultMap[unitId];if(this._instanceSrv.getUnitType(unitId)===core.UniverInstanceType.UNIVER_SHEET)for(const subUnitId in unitMap){const results=unitMap[subUnitId],{formulaCellMap,ruleFormulaMap}=this._ensureMaps(unitId,subUnitId);results.forEach(result=>{var _a2,_b2;const ruleInfo=ruleFormulaMap.get((_a2=result.extra)==null?void 0:_a2.ruleId),cellInfo=formulaCellMap.get(result.formulaId),rule=this._dataValidationModel.getRuleById(unitId,subUnitId,(_b2=result.extra)==null?void 0:_b2.ruleId);rule&&ruleInfo&&!ruleInfo.isTransformable&&this._dataValidationCacheService.markRangeDirty(unitId,subUnitId,rule.ranges),cellInfo&&this._dataValidationCacheService.markCellDirty(unitId,subUnitId,cellInfo.row,cellInfo.column)})}}}))}_ensureMaps(unitId,subUnitId){let formulaUnitMap=this._formulaMap.get(unitId),ruleFormulaUnitMap=this._ruleFormulaMap.get(unitId),formulaCellUnitMap=this._formulaCellMap.get(unitId);(!formulaUnitMap||!ruleFormulaUnitMap||!formulaCellUnitMap)&&(formulaUnitMap=new Map,ruleFormulaUnitMap=new Map,formulaCellUnitMap=new Map,this._formulaMap.set(unitId,formulaUnitMap),this._ruleFormulaMap.set(unitId,ruleFormulaUnitMap),this._formulaCellMap.set(unitId,formulaCellUnitMap));let formulaMap=formulaUnitMap.get(subUnitId),ruleFormulaMap=ruleFormulaUnitMap.get(subUnitId),formulaCellMap=formulaCellUnitMap.get(subUnitId);return(!formulaMap||!ruleFormulaMap||!formulaCellMap)&&(formulaMap=new core.ObjectMatrix,formulaUnitMap.set(subUnitId,formulaMap),ruleFormulaMap=new Map,ruleFormulaUnitMap.set(subUnitId,ruleFormulaMap),formulaCellMap=new Map,formulaCellUnitMap.set(subUnitId,formulaCellMap)),{formulaMap,ruleFormulaMap,formulaCellMap}}_registerFormula(unitId,subUnitId,ruleId,formulaString){return this._registerOtherFormulaService.registerFormula(unitId,subUnitId,formulaString,{ruleId})}deleteByRuleId(unitId,subUnitId,ruleId){const{formulaMap,formulaCellMap,ruleFormulaMap}=this._ensureMaps(unitId,subUnitId),rule=this._dataValidationModel.getRuleById(unitId,subUnitId,ruleId),formulaIdList=new Set,formulaInfo=ruleFormulaMap.get(ruleId);!rule||!formulaInfo||(ruleFormulaMap.delete(ruleId),rule.ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const value=formulaMap.getValue(row,col);if(value&&value.ruleId===ruleId){const{formulaId}=value;formulaMap.realDeleteValue(row,col),formulaIdList.add(formulaId),formulaCellMap.delete(formulaId)}})}),this._registerOtherFormulaService.deleteFormula(unitId,subUnitId,Array.from(formulaIdList.values())))}_addFormulaByRange(unitId,subUnitId,ruleId,formula,ranges){const{formulaMap,ruleFormulaMap,formulaCellMap}=this._ensureMaps(unitId,subUnitId);if(!formula)return;const originRow=ranges[0].startRow,originCol=ranges[0].startColumn;let originFormulaId;ranges.forEach(range=>{core.Range.foreach(range,(row,column)=>{const relativeFormula=transformFormula(this._lexerTreeBuilder,formula,originRow,originCol,row,column),formulaId=this._registerFormula(unitId,subUnitId,ruleId,relativeFormula);formulaMap.setValue(row,column,{formulaId,ruleId}),formulaCellMap.set(formulaId,{row,column})})}),ruleFormulaMap.set(ruleId,{formula,originCol,originRow,formulaId:originFormulaId,isTransformable:!0})}addRule(unitId,subUnitId,rule){const{ranges,formula1,uid:ruleId,type}=rule;type!==core.DataValidationType.CUSTOM||!formula1||!core.isFormulaString(formula1)||this._addFormulaByRange(unitId,subUnitId,ruleId,formula1,ranges)}updateRuleRanges(unitId,subUnitId,ruleId,oldRanges,newRanges){const{formulaMap,ruleFormulaMap,formulaCellMap}=this._ensureMaps(unitId,subUnitId),info=ruleFormulaMap.get(ruleId);if(!info)return;const{formula,originCol,originRow,isTransformable,formulaId}=info,deleteFormulaIdList=new Set;oldRanges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const value=formulaMap.getValue(row,col);value&&value.ruleId===ruleId&&(value.temp=!0)})}),newRanges.forEach(range=>{core.Range.foreach(range,(row,col)=>{var _a2;const oldValue=(_a2=formulaMap.getValue(row,col))!=null?_a2:{};if(oldValue.ruleId!==ruleId){const oldRuleFormula=ruleFormulaMap.get(oldValue.ruleId);if(oldRuleFormula!=null&&oldRuleFormula.isTransformable&&deleteFormulaIdList.add(oldValue.formulaId),isTransformable){const relativeText=transformFormula(this._lexerTreeBuilder,formula,originRow,originCol,row,col),formulaId2=this._registerFormula(unitId,subUnitId,ruleId,relativeText);formulaMap.setValue(row,col,{ruleId,formulaId:formulaId2}),formulaCellMap.set(formulaId2,{row,column:col})}else formulaMap.setValue(row,col,{ruleId,formulaId})}else oldValue.temp=!1})}),oldRanges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const value=formulaMap.getValue(row,col);value&&value.ruleId===ruleId&&value.temp===!0&&(formulaMap.realDeleteValue(row,col),isTransformable&&deleteFormulaIdList.add(value.formulaId))})}),deleteFormulaIdList.forEach(formulaId2=>{formulaCellMap.delete(formulaId2)}),this._registerOtherFormulaService.deleteFormula(unitId,subUnitId,Array.from(deleteFormulaIdList.values()))}updateRuleFormula(unitId,subUnitId,ruleId,ranges,formula){const{ruleFormulaMap}=this._ensureMaps(unitId,subUnitId),current=ruleFormulaMap.get(ruleId);(!current||current.formula!==formula)&&this._addFormulaByRange(unitId,subUnitId,ruleId,formula,ranges)}getCellFormulaValue(unitId,subUnitId,row,col){const{formulaMap}=this._ensureMaps(unitId,subUnitId),current=formulaMap.getValue(row,col);return current?this._registerOtherFormulaService.getFormulaValue(unitId,subUnitId,current.formulaId):Promise.resolve(void 0)}getRuleFormulaInfo(unitId,subUnitId,ruleId){const{ruleFormulaMap}=this._ensureMaps(unitId,subUnitId);return ruleFormulaMap.get(ruleId)}},__name(_a,"DataValidationCustomFormulaService"),_a),exports2.DataValidationCustomFormulaService=__decorateClass$k([__decorateParam$k(0,core.IUniverInstanceService),__decorateParam$k(1,core.Inject(sheetsFormula.RegisterOtherFormulaService)),__decorateParam$k(2,core.Inject(engineFormula.LexerTreeBuilder)),__decorateParam$k(3,core.Inject(dataValidation.DataValidationModel)),__decorateParam$k(4,core.Inject(DataValidationCacheService)),__decorateParam$k(5,core.ILogService)],exports2.DataValidationCustomFormulaService);var __defProp$j=Object.defineProperty,__getOwnPropDesc$j=Object.getOwnPropertyDescriptor,__decorateClass$j=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$j(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$j(target,key,result),result},"__decorateClass$j"),__decorateParam$j=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$j");exports2.DataValidationFormulaService=(_b=class extends core.Disposable{constructor(_instanceService,_registerOtherFormulaService,_dataValidationCacheService,_dataValidationModel){super();__publicField(this,"_formulaRuleMap",new Map);this._instanceService=_instanceService,this._registerOtherFormulaService=_registerOtherFormulaService,this._dataValidationCacheService=_dataValidationCacheService,this._dataValidationModel=_dataValidationModel,this._initFormulaResultHandler()}_initFormulaResultHandler(){this.disposeWithMe(this._registerOtherFormulaService.formulaResult$.subscribe(resultMap=>{for(const unitId in resultMap){const unitMap=resultMap[unitId];if(this._instanceService.getUnitType(unitId)===core.UniverInstanceType.UNIVER_SHEET)for(const subUnitId in unitMap){const results=unitMap[subUnitId],formulaMap=this._ensureRuleFormulaMap(unitId,subUnitId);results.forEach(result=>{var _a2,_b2;if(formulaMap.get((_a2=result.extra)==null?void 0:_a2.ruleId)){const rule=this._dataValidationModel.getRuleById(unitId,subUnitId,(_b2=result.extra)==null?void 0:_b2.ruleId);rule&&this._dataValidationCacheService.markRangeDirty(unitId,subUnitId,rule.ranges)}})}}}))}_ensureRuleFormulaMap(unitId,subUnitId){let unitMap=this._formulaRuleMap.get(unitId);unitMap||(unitMap=new Map,this._formulaRuleMap.set(unitId,unitMap));let subUnitMap=unitMap.get(subUnitId);return subUnitMap||(subUnitMap=new Map,unitMap.set(subUnitId,subUnitMap)),subUnitMap}addRule(unitId,subUnitId,ruleId,formula1,formula2){const isFormula1Legal=core.isFormulaString(formula1),isFormula2Legal=core.isFormulaString(formula2);if(!isFormula1Legal&&!isFormula2Legal)return;const formulaRuleMap=this._ensureRuleFormulaMap(unitId,subUnitId),item=[void 0,void 0];if(isFormula1Legal){const id=this._registerOtherFormulaService.registerFormula(unitId,subUnitId,formula1,{ruleId});item[0]={id,text:formula1}}if(isFormula2Legal){const id=this._registerOtherFormulaService.registerFormula(unitId,subUnitId,formula2,{ruleId});item[1]={id,text:formula2}}formulaRuleMap.set(ruleId,item)}removeRule(unitId,subUnitId,ruleId){const item=this._ensureRuleFormulaMap(unitId,subUnitId).get(ruleId);if(!item)return;const[formula1,formula2]=item,idList=[formula1==null?void 0:formula1.id,formula2==null?void 0:formula2.id].filter(Boolean);idList.length&&this._registerOtherFormulaService.deleteFormula(unitId,subUnitId,idList)}updateRuleFormulaText(unitId,subUnitId,ruleId,formula1,formula2){const item=this._ensureRuleFormulaMap(unitId,subUnitId).get(ruleId);if(!item){this.addRule(unitId,subUnitId,ruleId,formula1,formula2);return}const[oldFormula1,oldFormula2]=item;if((oldFormula1==null?void 0:oldFormula1.text)!==formula1)if(oldFormula1&&this._registerOtherFormulaService.deleteFormula(unitId,subUnitId,[oldFormula1.id]),core.isFormulaString(formula1)){const formulaId=this._registerOtherFormulaService.registerFormula(unitId,subUnitId,formula1,{ruleId});item[0]={text:formula1,id:formulaId}}else item[0]=void 0;if((oldFormula2==null?void 0:oldFormula2.text)!==formula2)if(oldFormula2&&this._registerOtherFormulaService.deleteFormula(unitId,subUnitId,[oldFormula2.id]),core.isFormulaString(formula2)){const formulaId=this._registerOtherFormulaService.registerFormula(unitId,subUnitId,formula2,{ruleId});item[1]={text:formula2,id:formulaId}}else item[1]=void 0}getRuleFormulaResult(unitId,subUnitId,ruleId){const formulaInfo=this._ensureRuleFormulaMap(unitId,subUnitId).get(ruleId);if(!formulaInfo)return Promise.resolve(null);const getResult=__name(async info=>info&&this._registerOtherFormulaService.getFormulaValue(unitId,subUnitId,info.id),"getResult");return Promise.all([getResult(formulaInfo[0]),getResult(formulaInfo[1])])}getRuleFormulaResultSync(unitId,subUnitId,ruleId){const formulaInfo=this._ensureRuleFormulaMap(unitId,subUnitId).get(ruleId);if(formulaInfo)return formulaInfo.map(i=>{if(i)return this._registerOtherFormulaService.getFormulaValueSync(unitId,subUnitId,i.id)})}getRuleFormulaInfo(unitId,subUnitId,ruleId){return this._ensureRuleFormulaMap(unitId,subUnitId).get(ruleId)}},__name(_b,"DataValidationFormulaService"),_b),exports2.DataValidationFormulaService=__decorateClass$j([__decorateParam$j(0,core.IUniverInstanceService),__decorateParam$j(1,core.Inject(sheetsFormula.RegisterOtherFormulaService)),__decorateParam$j(2,core.Inject(DataValidationCacheService)),__decorateParam$j(3,core.Inject(dataValidation.DataValidationModel))],exports2.DataValidationFormulaService);function getCellValueOrigin(cell){return core.getOriginCellValue(cell)}__name(getCellValueOrigin,"getCellValueOrigin");function getStringCellValue(cell){var _a2;return String((_a2=getCellValueOrigin(cell))!=null?_a2:"")}__name(getStringCellValue,"getStringCellValue");const Interval=(_c=class{constructor(low,high){this.low=low,this.high=high}clone(){return new _c(this.low,this.high)}get max(){return this.clone()}less_than(other_interval){return this.low<other_interval.low||this.low===other_interval.low&&this.high<other_interval.high}equal_to(other_interval){return this.low===other_interval.low&&this.high===other_interval.high}intersect(other_interval){return!this.not_intersect(other_interval)}not_intersect(other_interval){return this.high<other_interval.low||other_interval.high<this.low}merge(other_interval){return new _c(this.low===void 0?other_interval.low:this.low<other_interval.low?this.low:other_interval.low,this.high===void 0?other_interval.high:this.high>other_interval.high?this.high:other_interval.high)}output(){return[this.low,this.high]}static comparable_max(interval1,interval2){return interval1.merge(interval2)}static comparable_less_than(val1,val2){return val1<val2}},__name(_c,"Interval"),_c),RB_TREE_COLOR_RED=0,RB_TREE_COLOR_BLACK=1,_Node=class _Node{constructor(key=void 0,value=void 0,left=null,right=null,parent=null,color=RB_TREE_COLOR_BLACK){if(this.left=left,this.right=right,this.parent=parent,this.color=color,this.item={key,value},key&&key instanceof Array&&key.length===2&&!Number.isNaN(key[0])&&!Number.isNaN(key[1])){let[low,high]=key;low>high&&([low,high]=[high,low]),this.item.key=new Interval(low,high)}this.max=this.item.key?this.item.key.max:void 0}isNil(){return this.item.key===void 0&&this.item.value===void 0&&this.left===null&&this.right===null&&this.color===RB_TREE_COLOR_BLACK}_value_less_than(other_node){return this.item.value&&other_node.item.value&&this.item.value.less_than?this.item.value.less_than(other_node.item.value):this.item.value<other_node.item.value}less_than(other_node){return this.item.value===this.item.key&&other_node.item.value===other_node.item.key?this.item.key.less_than(other_node.item.key):this.item.key.less_than(other_node.item.key)||this.item.key.equal_to(other_node.item.key)&&this._value_less_than(other_node)}_value_equal(other_node){return this.item.value&&other_node.item.value&&this.item.value.equal_to?this.item.value.equal_to(other_node.item.value):this.item.value===other_node.item.value}equal_to(other_node){return this.item.value===this.item.key&&other_node.item.value===other_node.item.key?this.item.key.equal_to(other_node.item.key):this.item.key.equal_to(other_node.item.key)&&this._value_equal(other_node)}intersect(other_node){return this.item.key.intersect(other_node.item.key)}copy_data(other_node){this.item.key=other_node.item.key,this.item.value=other_node.item.value}update_max(){if(this.max=this.item.key?this.item.key.max:void 0,this.right&&this.right.max){const comparable_max=this.item.key.constructor.comparable_max;this.max=comparable_max(this.max,this.right.max)}if(this.left&&this.left.max){const comparable_max=this.item.key.constructor.comparable_max;this.max=comparable_max(this.max,this.left.max)}}not_intersect_left_subtree(search_node){const comparable_less_than=this.item.key.constructor.comparable_less_than;let high=this.left.max.high!==void 0?this.left.max.high:this.left.max;return comparable_less_than(high,search_node.item.key.low)}not_intersect_right_subtree(search_node){const comparable_less_than=this.item.key.constructor.comparable_less_than;let low=this.right.max.low!==void 0?this.right.max.low:this.right.item.key.low;return comparable_less_than(search_node.item.key.high,low)}};__name(_Node,"Node");let Node=_Node;const _IntervalTree=class _IntervalTree{constructor(){this.root=null,this.nil_node=new Node}get size(){let count=0;return this.tree_walk(this.root,()=>count++),count}get keys(){let res=[];return this.tree_walk(this.root,node=>res.push(node.item.key.output?node.item.key.output():node.item.key)),res}get values(){let res=[];return this.tree_walk(this.root,node=>res.push(node.item.value)),res}get items(){let res=[];return this.tree_walk(this.root,node=>res.push({key:node.item.key.output?node.item.key.output():node.item.key,value:node.item.value})),res}isEmpty(){return this.root==null||this.root===this.nil_node}clear(){this.root=null}insert(key,value=key){if(key===void 0)return;let insert_node=new Node(key,value,this.nil_node,this.nil_node,null,RB_TREE_COLOR_RED);return this.tree_insert(insert_node),this.recalc_max(insert_node),insert_node}exist(key,value=key){let search_node=new Node(key,value);return!!this.tree_search(this.root,search_node)}remove(key,value=key){let search_node=new Node(key,value),delete_node=this.tree_search(this.root,search_node);return delete_node&&this.tree_delete(delete_node),delete_node}search(interval,outputMapperFn=(value,key)=>value===key?key.output():value){let search_node=new Node(interval),resp_nodes=[];return this.tree_search_interval(this.root,search_node,resp_nodes),resp_nodes.map(node=>outputMapperFn(node.item.value,node.item.key))}intersect_any(interval){let search_node=new Node(interval);return this.tree_find_any_interval(this.root,search_node)}forEach(visitor){this.tree_walk(this.root,node=>visitor(node.item.key,node.item.value))}map(callback){const tree=new _IntervalTree;return this.tree_walk(this.root,node=>tree.insert(node.item.key,callback(node.item.value,node.item.key))),tree}*iterate(interval,outputMapperFn=(value,key)=>value===key?key.output():value){let node;for(interval?node=this.tree_search_nearest_forward(this.root,new Node(interval)):this.root&&(node=this.local_minimum(this.root));node;)yield outputMapperFn(node.item.value,node.item.key),node=this.tree_successor(node)}recalc_max(node){let node_current=node;for(;node_current.parent!=null;)node_current.parent.update_max(),node_current=node_current.parent}tree_insert(insert_node){let current_node=this.root,parent_node=null;if(this.root==null||this.root===this.nil_node)this.root=insert_node;else{for(;current_node!==this.nil_node;)parent_node=current_node,insert_node.less_than(current_node)?current_node=current_node.left:current_node=current_node.right;insert_node.parent=parent_node,insert_node.less_than(parent_node)?parent_node.left=insert_node:parent_node.right=insert_node}this.insert_fixup(insert_node)}insert_fixup(insert_node){let current_node,uncle_node;for(current_node=insert_node;current_node!==this.root&¤t_node.parent.color===RB_TREE_COLOR_RED;)current_node.parent===current_node.parent.parent.left?(uncle_node=current_node.parent.parent.right,uncle_node.color===RB_TREE_COLOR_RED?(current_node.parent.color=RB_TREE_COLOR_BLACK,uncle_node.color=RB_TREE_COLOR_BLACK,current_node.parent.parent.color=RB_TREE_COLOR_RED,current_node=current_node.parent.parent):(current_node===current_node.parent.right&&(current_node=current_node.parent,this.rotate_left(current_node)),current_node.parent.color=RB_TREE_COLOR_BLACK,current_node.parent.parent.color=RB_TREE_COLOR_RED,this.rotate_right(current_node.parent.parent))):(uncle_node=current_node.parent.parent.left,uncle_node.color===RB_TREE_COLOR_RED?(current_node.parent.color=RB_TREE_COLOR_BLACK,uncle_node.color=RB_TREE_COLOR_BLACK,current_node.parent.parent.color=RB_TREE_COLOR_RED,current_node=current_node.parent.parent):(current_node===current_node.parent.left&&(current_node=current_node.parent,this.rotate_right(current_node)),current_node.parent.color=RB_TREE_COLOR_BLACK,current_node.parent.parent.color=RB_TREE_COLOR_RED,this.rotate_left(current_node.parent.parent)));this.root.color=RB_TREE_COLOR_BLACK}tree_delete(delete_node){let cut_node,fix_node;delete_node.left===this.nil_node||delete_node.right===this.nil_node?cut_node=delete_node:cut_node=this.tree_successor(delete_node),cut_node.left!==this.nil_node?fix_node=cut_node.left:fix_node=cut_node.right,fix_node.parent=cut_node.parent,cut_node===this.root?this.root=fix_node:(cut_node===cut_node.parent.left?cut_node.parent.left=fix_node:cut_node.parent.right=fix_node,cut_node.parent.update_max()),this.recalc_max(fix_node),cut_node!==delete_node&&(delete_node.copy_data(cut_node),delete_node.update_max(),this.recalc_max(delete_node)),cut_node.color===RB_TREE_COLOR_BLACK&&this.delete_fixup(fix_node)}delete_fixup(fix_node){let current_node=fix_node,brother_node;for(;current_node!==this.root&¤t_node.parent!=null&¤t_node.color===RB_TREE_COLOR_BLACK;)current_node===current_node.parent.left?(brother_node=current_node.parent.right,brother_node.color===RB_TREE_COLOR_RED&&(brother_node.color=RB_TREE_COLOR_BLACK,current_node.parent.color=RB_TREE_COLOR_RED,this.rotate_left(current_node.parent),brother_node=current_node.parent.right),brother_node.left.color===RB_TREE_COLOR_BLACK&&brother_node.right.color===RB_TREE_COLOR_BLACK?(brother_node.color=RB_TREE_COLOR_RED,current_node=current_node.parent):(brother_node.right.color===RB_TREE_COLOR_BLACK&&(brother_node.color=RB_TREE_COLOR_RED,brother_node.left.color=RB_TREE_COLOR_BLACK,this.rotate_right(brother_node),brother_node=current_node.parent.right),brother_node.color=current_node.parent.color,current_node.parent.color=RB_TREE_COLOR_BLACK,brother_node.right.color=RB_TREE_COLOR_BLACK,this.rotate_left(current_node.parent),current_node=this.root)):(brother_node=current_node.parent.left,brother_node.color===RB_TREE_COLOR_RED&&(brother_node.color=RB_TREE_COLOR_BLACK,current_node.parent.color=RB_TREE_COLOR_RED,this.rotate_right(current_node.parent),brother_node=current_node.parent.left),brother_node.left.color===RB_TREE_COLOR_BLACK&&brother_node.right.color===RB_TREE_COLOR_BLACK?(brother_node.color=RB_TREE_COLOR_RED,current_node=current_node.parent):(brother_node.left.color===RB_TREE_COLOR_BLACK&&(brother_node.color=RB_TREE_COLOR_RED,brother_node.right.color=RB_TREE_COLOR_BLACK,this.rotate_left(brother_node),brother_node=current_node.parent.left),brother_node.color=current_node.parent.color,current_node.parent.color=RB_TREE_COLOR_BLACK,brother_node.left.color=RB_TREE_COLOR_BLACK,this.rotate_right(current_node.parent),current_node=this.root));current_node.color=RB_TREE_COLOR_BLACK}tree_search(node,search_node){if(!(node==null||node===this.nil_node))return search_node.equal_to(node)?node:search_node.less_than(node)?this.tree_search(node.left,search_node):this.tree_search(node.right,search_node)}tree_search_nearest_forward(node,search_node){let best,curr=node;for(;curr&&curr!==this.nil_node;)curr.less_than(search_node)?curr.intersect(search_node)?(best=curr,curr=curr.left):curr=curr.right:((!best||curr.less_than(best))&&(best=curr),curr=curr.left);return best||null}tree_search_interval(node,search_node,res){node!=null&&node!==this.nil_node&&(node.left!==this.nil_node&&!node.not_intersect_left_subtree(search_node)&&this.tree_search_interval(node.left,search_node,res),node.intersect(search_node)&&res.push(node),node.right!==this.nil_node&&!node.not_intersect_right_subtree(search_node)&&this.tree_search_interval(node.right,search_node,res))}tree_find_any_interval(node,search_node){let found=!1;return node!=null&&node!==this.nil_node&&(node.left!==this.nil_node&&!node.not_intersect_left_subtree(search_node)&&(found=this.tree_find_any_interval(node.left,search_node)),found||(found=node.intersect(search_node)),!found&&node.right!==this.nil_node&&!node.not_intersect_right_subtree(search_node)&&(found=this.tree_find_any_interval(node.right,search_node))),found}local_minimum(node){let node_min=node;for(;node_min.left!=null&&node_min.left!==this.nil_node;)node_min=node_min.left;return node_min}local_maximum(node){let node_max=node;for(;node_max.right!=null&&node_max.right!==this.nil_node;)node_max=node_max.right;return node_max}tree_successor(node){let node_successor,current_node,parent_node;if(node.right!==this.nil_node)node_successor=this.local_minimum(node.right);else{for(current_node=node,parent_node=node.parent;parent_node!=null&&parent_node.right===current_node;)current_node=parent_node,parent_node=parent_node.parent;node_successor=parent_node}return node_successor}rotate_left(x){let y=x.right;x.right=y.left,y.left!==this.nil_node&&(y.left.parent=x),y.parent=x.parent,x===this.root?this.root=y:x===x.parent.left?x.parent.left=y:x.parent.right=y,y.left=x,x.parent=y,x!=null&&x!==this.nil_node&&x.update_max(),y=x.parent,y!=null&&y!==this.nil_node&&y.update_max()}rotate_right(y){let x=y.left;y.left=x.right,x.right!==this.nil_node&&(x.right.parent=y),x.parent=y.parent,y===this.root?this.root=x:y===y.parent.left?y.parent.left=x:y.parent.right=x,x.right=y,y.parent=x,y!==null&&y!==this.nil_node&&y.update_max(),x=y.parent,x!=null&&x!==this.nil_node&&x.update_max()}tree_walk(node,action){node!=null&&node!==this.nil_node&&(this.tree_walk(node.left,action),action(node),this.tree_walk(node.right,action))}testRedBlackProperty(){let res=!0;return this.tree_walk(this.root,function(node){node.color===RB_TREE_COLOR_RED&&(node.left.color===RB_TREE_COLOR_BLACK&&node.right.color===RB_TREE_COLOR_BLACK||(res=!1))}),res}testBlackHeightProperty(node){let height=0,heightLeft=0,heightRight=0;if(node.color===RB_TREE_COLOR_BLACK&&height++,node.left!==this.nil_node?heightLeft=this.testBlackHeightProperty(node.left):heightLeft=1,node.right!==this.nil_node?heightRight=this.testBlackHeightProperty(node.right):heightRight=1,heightLeft!==heightRight)throw new Error("Red-black height property violated");return height+=heightLeft,height}};__name(_IntervalTree,"IntervalTree");let IntervalTree=_IntervalTree;const _RuleMatrix=class _RuleMatrix{constructor(value,_unitId,_subUnitId,_univerInstanceService,_disableTree=!1){__publicField(this,"_map");__publicField(this,"_tree",new Map);__publicField(this,"_dirty",!0);__publicField(this,"_buildTree",__name(()=>{if(!this._dirty||this._disableTree)return;const map=new Map;this._map.forEach((ranges,ruleId)=>{ranges.forEach(range=>{for(let col=range.startColumn;col<=range.endColumn;col++){let items=map.get(col);items||(items=[],map.set(col,items)),items.push({startRow:range.startRow,endRow:range.endRow,ruleId})}})});const treeMap=new Map;map.forEach((items,col)=>{const tree=new IntervalTree;items.forEach(item=>{tree.insert([item.startRow,item.endRow],item.ruleId)}),treeMap.set(col,tree)}),this._tree=treeMap,this._dirty=!1},"_buildTree"));__publicField(this,"_debonceBuildTree",core.debounce(this._buildTree,0));this._unitId=_unitId,this._subUnitId=_subUnitId,this._univerInstanceService=_univerInstanceService,this._disableTree=_disableTree,this._map=value,this._buildTree()}get _worksheet(){var _a2;return(_a2=this._univerInstanceService.getUnit(this._unitId,core.UniverInstanceType.UNIVER_SHEET))==null?void 0:_a2.getSheetBySheetId(this._subUnitId)}addRule(rule){if(!this._worksheet)return;const ruleId=rule.uid,ranges=rule.ranges.map(range=>core.Range.transformRange(range,this._worksheet));this._map.forEach((value,key)=>{const newRanges=core.Rectangle.subtractMulti(value,ranges);newRanges.length===0?this._map.delete(key):this._map.set(key,newRanges)}),this._dirty=!0,this._map.set(ruleId,ranges),this._debonceBuildTree()}removeRange(_ranges){if(!this._worksheet)return;const ranges=_ranges.map(range=>core.Range.transformRange(range,this._worksheet));this._map.forEach((value,key)=>{const newRanges=core.Rectangle.subtractMulti(value,ranges);newRanges.length===0?this._map.delete(key):this._map.set(key,newRanges)}),this._dirty=!0,this._debonceBuildTree()}removeRule(rule){this._map.delete(rule.uid),this._dirty=!0,this._debonceBuildTree()}updateRange(ruleId,_newRanges){if(!this._worksheet)return;this._map.delete(ruleId);const ranges=_newRanges.map(range=>core.Range.transformRange(range,this._worksheet));this._map.forEach((value,key)=>{const newRanges=core.Rectangle.subtractMulti(value,ranges);newRanges.length===0?this._map.delete(key):this._map.set(key,newRanges)}),this._map.set(ruleId,ranges),this._dirty=!0,this._debonceBuildTree()}addRangeRules(rules){rules.forEach(({id:ruleId,ranges})=>{if(!ranges.length)return;let current=this._map.get(ruleId);current?(this._map.set(ruleId,core.Rectangle.mergeRanges([...current,...ranges])),current=this._map.get(ruleId)):(current=ranges,this._map.set(ruleId,current)),this._map.forEach((value,key)=>{if(key===ruleId)return;const newRanges=core.Rectangle.subtractMulti(value,ranges);newRanges.length===0?this._map.delete(key):this._map.set(key,newRanges)})}),this._dirty=!0,this._debonceBuildTree()}diff(rules){const mutations=[];let deleteIndex=0;return rules.forEach((rule,index)=>{var _a2;const newRanges=(_a2=this._map.get(rule.uid))!=null?_a2:[],oldRanges=rule.ranges;newRanges.length!==0&&(newRanges.length!==oldRanges.length||newRanges.some((range,i)=>!core.Rectangle.equals(range,oldRanges[i])))&&mutations.push({type:"update",ruleId:rule.uid,oldRanges,newRanges}),newRanges.length===0&&(mutations.push({type:"delete",rule,index:index-deleteIndex}),deleteIndex++)}),mutations}diffWithAddition(rules,additionRules){const mutations=[];let deleteIndex=0;return rules.forEach((rule,index)=>{var _a2;const newRanges=(_a2=this._map.get(rule.uid))!=null?_a2:[],oldRanges=rule.ranges;newRanges.length!==0&&(newRanges.length!==oldRanges.length||newRanges.some((range,i)=>!core.Rectangle.equals(range,oldRanges[i])))&&mutations.push({type:"update",ruleId:rule.uid,oldRanges,newRanges}),newRanges.length===0&&(mutations.push({type:"delete",rule,index:index-deleteIndex}),deleteIndex++)}),Array.from(additionRules).forEach(rule=>{var _a2;const newRanges=(_a2=this._map.get(rule.uid))!=null?_a2:[];mutations.push({type:"add",rule:{...rule,ranges:newRanges}})}),mutations}clone(){return new _RuleMatrix(new Map(core.Tools.deepClone(Array.from(this._map.entries()))),this._unitId,this._subUnitId,this._univerInstanceService,!0)}getValue(row,col){this._dirty&&this._buildTree();const tree=this._tree.get(col);if(!tree)return;const result=tree.search([row,row]);return result.length>0?result[0]:void 0}};__name(_RuleMatrix,"RuleMatrix");let RuleMatrix=_RuleMatrix;var __defProp$i=Object.defineProperty,__getOwnPropDesc$i=Object.getOwnPropertyDescriptor,__decorateClass$i=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$i(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$i(target,key,result),result},"__decorateClass$i"),__decorateParam$i=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$i");exports2.SheetDataValidationModel=(_d=class extends core.Disposable{constructor(_dataValidationModel,_univerInstanceService,_dataValidatorRegistryService,_dataValidationCacheService,_dataValidationFormulaService,_dataValidationCustomFormulaService,_commandService){super();__publicField(this,"_ruleMatrixMap",new Map);__publicField(this,"_validStatusChange$",new rxjs.Subject);__publicField(this,"_ruleChange$",new rxjs.Subject);__publicField(this,"ruleChange$",this._ruleChange$.asObservable());__publicField(this,"validStatusChange$",this._validStatusChange$.asObservable());this._dataValidationModel=_dataValidationModel,this._univerInstanceService=_univerInstanceService,this._dataValidatorRegistryService=_dataValidatorRegistryService,this._dataValidationCacheService=_dataValidationCacheService,this._dataValidationFormulaService=_dataValidationFormulaService,this._dataValidationCustomFormulaService=_dataValidationCustomFormulaService,this._commandService=_commandService,this._initRuleUpdateListener(),this.disposeWithMe(()=>{this._ruleChange$.complete(),this._validStatusChange$.complete()}),this._initUniverInstanceListener()}_initUniverInstanceListener(){this.disposeWithMe(this._univerInstanceService.unitDisposed$.subscribe(unit=>{this._ruleMatrixMap.delete(unit.getUnitId())})),this.disposeWithMe(this._commandService.onCommandExecuted(command=>{if(command.id===sheets.RemoveSheetMutation.id){const{unitId,subUnitId}=command.params,subUnitMap=this._ruleMatrixMap.get(unitId);subUnitMap&&subUnitMap.delete(subUnitId)}}))}_initRuleUpdateListener(){const allRules=this._dataValidationModel.getAll();for(const[unitId,subUnitMap]of allRules)for(const[subUnitId,rules]of subUnitMap)for(const rule of rules)this._ruleChange$.next({type:"add",unitId,subUnitId,rule,source:"patched"}),this._addRule(unitId,subUnitId,rule);this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(ruleChange=>{switch(this._ruleChange$.next(ruleChange),ruleChange.type){case"add":this._addRule(ruleChange.unitId,ruleChange.subUnitId,ruleChange.rule);break;case"update":this._updateRule(ruleChange.unitId,ruleChange.subUnitId,ruleChange.rule.uid,ruleChange.oldRule,ruleChange.updatePayload);break;case"remove":this._removeRule(ruleChange.unitId,ruleChange.subUnitId,ruleChange.rule);break}}))}_ensureRuleMatrix(unitId,subUnitId){let unitMap=this._ruleMatrixMap.get(unitId);unitMap||(unitMap=new Map,this._ruleMatrixMap.set(unitId,unitMap));let matrix=unitMap.get(subUnitId);return matrix||(matrix=new RuleMatrix(new Map,unitId,subUnitId,this._univerInstanceService),unitMap.set(subUnitId,matrix)),matrix}_addRuleSideEffect(unitId,subUnitId,rule){this._ensureRuleMatrix(unitId,subUnitId).addRule(rule),this._dataValidationCacheService.addRule(unitId,subUnitId,rule),this._dataValidationFormulaService.addRule(unitId,subUnitId,rule.uid,rule.formula1,rule.formula2),this._dataValidationCustomFormulaService.addRule(unitId,subUnitId,rule)}_addRule(unitId,subUnitId,rule){(Array.isArray(rule)?rule:[rule]).forEach(item=>{this._addRuleSideEffect(unitId,subUnitId,item)})}_updateRule(unitId,subUnitId,ruleId,oldRule,payload){const ruleMatrix=this._ensureRuleMatrix(unitId,subUnitId);payload.type===dataValidation.UpdateRuleType.RANGE?(ruleMatrix.updateRange(ruleId,payload.payload),this._dataValidationCacheService.updateRuleRanges(unitId,subUnitId,ruleId,payload.payload,oldRule.ranges),this._dataValidationCustomFormulaService.updateRuleRanges(unitId,subUnitId,ruleId,oldRule.ranges,payload.payload)):payload.type===dataValidation.UpdateRuleType.SETTING&&(this._dataValidationCacheService.markRangeDirty(unitId,subUnitId,oldRule.ranges),this._dataValidationFormulaService.updateRuleFormulaText(unitId,subUnitId,ruleId,payload.payload.formula1,payload.payload.formula2),this._dataValidationCustomFormulaService.updateRuleFormula(unitId,subUnitId,ruleId,oldRule.ranges,payload.payload.formula1))}_removeRule(unitId,subUnitId,oldRule){this._ensureRuleMatrix(unitId,subUnitId).removeRule(oldRule),this._dataValidationCacheService.removeRule(unitId,subUnitId,oldRule)}getValidator(type){return this._dataValidatorRegistryService.getValidatorItem(type)}getRuleIdByLocation(unitId,subUnitId,row,col){return this._ensureRuleMatrix(unitId,subUnitId).getValue(row,col)}getRuleByLocation(unitId,subUnitId,row,col){const ruleId=this.getRuleIdByLocation(unitId,subUnitId,row,col);if(ruleId)return this._dataValidationModel.getRuleById(unitId,subUnitId,ruleId)}validator(cell,rule,pos,_onCompete){const{col,row,unitId,subUnitId,worksheet}=pos,ruleId=rule.uid,onCompete=__name((status,changed)=>{_onCompete&&_onCompete(status,changed),changed&&this._validStatusChange$.next({unitId,subUnitId,ruleId:rule.uid,status})},"onCompete"),validator=this.getValidator(rule.type),cellRaw=worksheet.getCellRaw(row,col),cellValue=getCellValueOrigin(cellRaw),interceptValue=getCellValueOrigin(cell);if(validator){const cache=this._dataValidationCacheService.ensureCache(unitId,subUnitId),current=cache.getValue(row,col);return!current||current.value!==cellValue||current.interceptValue!==interceptValue||current.ruleId!==ruleId?(cache.setValue(row,col,{value:cellValue,interceptValue,status:core.DataValidationStatus.VALIDATING,ruleId}),validator.validator({value:cellValue,unitId,subUnitId,row,column:col,worksheet:pos.worksheet,workbook:pos.workbook,interceptValue:getCellValueOrigin(cell),t:cellRaw==null?void 0:cellRaw.t},rule).then(status=>{const realStatus=status?core.DataValidationStatus.VALID:core.DataValidationStatus.INVALID;cache.setValue(row,col,{value:cellValue,status:realStatus,ruleId,interceptValue}),onCompete(realStatus,!0)}),core.DataValidationStatus.VALIDATING):(onCompete(current.status,!1),current.status)}else return onCompete(core.DataValidationStatus.VALID,!1),core.DataValidationStatus.VALID}getRuleErrorMsg(unitId,subUnitId,ruleId){const rule=this._dataValidationModel.getRuleById(unitId,subUnitId,ruleId);if(!rule)return"";const validator=this._dataValidatorRegistryService.getValidatorItem(rule.type);return rule.error?rule.error:validator?validator.getRuleFinalError(rule):""}getRuleObjectMatrix(unitId,subUnitId){return this._ensureRuleMatrix(unitId,subUnitId)}getRuleById(unitId,subUnitId,ruleId){return this._dataValidationModel.getRuleById(unitId,subUnitId,ruleId)}getRuleIndex(unitId,subUnitId,ruleId){return this._dataValidationModel.getRuleIndex(unitId,subUnitId,ruleId)}getRules(unitId,subUnitId){return[...this._dataValidationModel.getRules(unitId,subUnitId)]}getUnitRules(unitId){return this._dataValidationModel.getUnitRules(unitId)}deleteUnitRules(unitId){return this._dataValidationModel.deleteUnitRules(unitId)}getSubUnitIds(unitId){return this._dataValidationModel.getSubUnitIds(unitId)}getAll(){return this._dataValidationModel.getAll()}},__name(_d,"SheetDataValidationModel"),_d),exports2.SheetDataValidationModel=__decorateClass$i([core.OnLifecycle(core.LifecycleStages.Starting,exports2.SheetDataValidationModel),__decorateParam$i(0,core.Inject(dataValidation.DataValidationModel)),__decorateParam$i(1,core.IUniverInstanceService),__decorateParam$i(2,core.Inject(dataValidation.DataValidatorRegistryService)),__decorateParam$i(3,core.Inject(DataValidationCacheService)),__decorateParam$i(4,core.Inject(exports2.DataValidationFormulaService)),__decorateParam$i(5,core.Inject(exports2.DataValidationCustomFormulaService)),__decorateParam$i(6,core.ICommandService)],exports2.SheetDataValidationModel);function createDefaultNewRule(accessor){const currentRanges=accessor.get(sheets.SheetsSelectionsService).getCurrentSelections().map(s=>s.range);return{uid:core.Tools.generateRandomId(6),type:core.DataValidationType.DECIMAL,operator:core.DataValidationOperator.EQUAL,formula1:"100",ranges:currentRanges!=null?currentRanges:[{startColumn:0,endColumn:0,startRow:0,endRow:0}]}}__name(createDefaultNewRule,"createDefaultNewRule");function getFormulaResult(result){var _a2,_b2;return(_b2=(_a2=result==null?void 0:result[0])==null?void 0:_a2[0])==null?void 0:_b2.v}__name(getFormulaResult,"getFormulaResult");function getFormulaCellData(result){var _a2;return(_a2=result==null?void 0:result[0])==null?void 0:_a2[0]}__name(getFormulaCellData,"getFormulaCellData");var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x}__name(getDefaultExportFromCjs,"getDefaultExportFromCjs");var jsxRuntime={exports:{}},reactJsxRuntime_production_min={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var f=React,k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;g!==void 0&&(e=""+g),a.key!==void 0&&(e=""+a.key),a.ref!==void 0&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)d[b]===void 0&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}__name(q,"q"),reactJsxRuntime_production_min.Fragment=l,reactJsxRuntime_production_min.jsx=q,reactJsxRuntime_production_min.jsxs=q,jsxRuntime.exports=reactJsxRuntime_production_min;var jsxRuntimeExports=jsxRuntime.exports;function CustomFormulaInput(props){var _a2;const{unitId,subUnitId,value,onChange,showError,validResult}=props,formula1Res=showError?validResult==null?void 0:validResult.formula1:"";return jsxRuntimeExports.jsx(design.FormLayout,{error:formula1Res,children:jsxRuntimeExports.jsx(docsUi.TextEditor,{value:(_a2=value==null?void 0:value.formula1)!=null?_a2:"",id:core.createInternalEditorID(`dataValidation-custom-formula-${unitId}-${subUnitId}`),onChange:__name(newValue=>{onChange==null||onChange({...value,formula1:(newValue!=null?newValue:"").trim()})},"onChange"),onlyInputFormula:!0,openForSheetUnitId:unitId,openForSheetSubUnitId:subUnitId})})}__name(CustomFormulaInput,"CustomFormulaInput");const styles$6={dataValidationFormula:"univer-data-validation-formula",dataValidationFormulaAnd:"univer-data-validation-formula-and",dataValidationFormulaListItem:"univer-data-validation-formula-list-item",dataValidationFormulaListItemIcon:"univer-data-validation-formula-list-item-icon",dataValidationFormulaListItemDrag:"univer-data-validation-formula-list-item-drag",dataValidationFormulaListAdd:"univer-data-validation-formula-list-add",dataValidationFormulaColorSelect:"univer-data-validation-formula-color-select",dataValidationFormulaColorSelectPanel:"univer-data-validation-formula-color-select-panel",dataValidationFormulaColorItem:"univer-data-validation-formula-color-item"},BaseFormulaInput=__name(props=>{const{isTwoFormula=!1,value,onChange,showError,validResult}=props,localeService=core.useDependency(core.LocaleService),formula1Res=showError?validResult==null?void 0:validResult.formula1:"",formula2Res=showError?validResult==null?void 0:validResult.formula2:"";return isTwoFormula?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(design.FormLayout,{error:formula1Res,children:jsxRuntimeExports.jsx(design.Input,{className:styles$6.dataValidationFormula,placeholder:localeService.t("dataValidation.panel.formulaPlaceholder"),value:value==null?void 0:value.formula1,onChange:__name(newValue=>{onChange==null||onChange({...value,formula1:newValue})},"onChange")})}),jsxRuntimeExports.jsx("div",{className:styles$6.dataValidationFormulaAnd,children:localeService.t("dataValidation.panel.formulaAnd")}),jsxRuntimeExports.jsx(design.FormLayout,{error:formula2Res,children:jsxRuntimeExports.jsx(design.Input,{className:styles$6.dataValidationFormula,placeholder:localeService.t("dataValidation.panel.formulaPlaceholder"),value:value==null?void 0:value.formula2,onChange:__name(newValue=>{onChange==null||onChange({...value,formula2:newValue})},"onChange")})})]}):jsxRuntimeExports.jsx(design.FormLayout,{error:formula1Res,children:jsxRuntimeExports.jsx(design.Input,{className:styles$6.dataValidationFormula,placeholder:localeService.t("dataValidation.panel.formulaPlaceholder"),value:value==null?void 0:value.formula1,onChange:__name(newValue=>{onChange==null||onChange({formula1:newValue})},"onChange")})})},"BaseFormulaInput");var __assign=function(){return __assign=Object.assign||function(t){for(var s,i=1,n2=arguments.length;i<n2;i++){s=arguments[i];for(var p2 in s)Object.prototype.hasOwnProperty.call(s,p2)&&(t[p2]=s[p2])}return t},__assign.apply(this,arguments)},__rest=function(s,e){var t={};for(var p2 in s)Object.prototype.hasOwnProperty.call(s,p2)&&e.indexOf(p2)<0&&(t[p2]=s[p2]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,p2=Object.getOwnPropertySymbols(s);i<p2.length;i++)e.indexOf(p2[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p2[i])&&(t[p2[i]]=s[p2[i]]);return t},IconBase=React.forwardRef(function(props,ref){var icon=props.icon,id=props.id,className=props.className,extend=props.extend,restProps=__rest(props,["icon","id","className","extend"]),cls="univerjs-icon univerjs-icon-".concat(id," ").concat(className||"").trim(),idSuffix=React.useRef("_".concat(generateShortUuid()));return render(icon,"".concat(id),{defIds:icon.defIds,idSuffix:idSuffix.current},__assign({ref,className:cls},restProps),extend)});function render(node,id,runtimeProps,rootProps,extend){return React.createElement(node.tag,__assign(__assign({key:id},replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend)),rootProps),(replaceRuntimeIdsInDefs(node,runtimeProps).children||[]).map(function(child,index){return render(child,"".concat(id,"-").concat(node.tag,"-").concat(index),runtimeProps,void 0,extend)}))}__name(render,"render");function replaceRuntimeIdsAndExtInAttrs(node,runtimeProps,extend){var attrs=__assign({},node.attrs);extend!=null&&extend.colorChannel1&&attrs.fill==="colorChannel1"&&(attrs.fill=extend.colorChannel1);var defIds=runtimeProps.defIds;return!defIds||defIds.length===0||(node.tag==="use"&&attrs["xlink:href"]&&(attrs["xlink:href"]=attrs["xlink:href"]+runtimeProps.idSuffix),Object.entries(attrs).forEach(function(_a2){var key=_a2[0],value=_a2[1];typeof value=="string"&&(attrs[key]=value.replace(/url\(#(.*)\)/,"url(#$1".concat(runtimeProps.idSuffix,")")))})),attrs}__name(replaceRuntimeIdsAndExtInAttrs,"replaceRuntimeIdsAndExtInAttrs");function replaceRuntimeIdsInDefs(node,runtimeProps){var _a2,defIds=runtimeProps.defIds;return!defIds||defIds.length===0?node:node.tag==="defs"&&(!((_a2=node.children)===null||_a2===void 0)&&_a2.length)?__assign(__assign({},node),{children:node.children.map(function(child){return typeof child.attrs.id=="string"&&defIds&&defIds.indexOf(child.attrs.id)>-1?__assign(__assign({},child),{attrs:__assign(__assign({},child.attrs),{id:child.attrs.id+runtimeProps.idSuffix})}):child})}):node}__name(replaceRuntimeIdsInDefs,"replaceRuntimeIdsInDefs");function generateShortUuid(){return Math.random().toString(36).substring(2,8)}__name(generateShortUuid,"generateShortUuid"),IconBase.displayName="UniverIcon";var element$6={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M14.1544 3.75557C14.3887 3.98988 14.3887 4.36978 14.1544 4.6041L6.51409 12.2444C6.40157 12.3569 6.24896 12.4201 6.08983 12.4201C5.9307 12.4201 5.77808 12.3569 5.66556 12.2444L1.84541 8.42425C1.6111 8.18993 1.6111 7.81003 1.84541 7.57572C2.07973 7.34141 2.45963 7.34141 2.69394 7.57572L6.08983 10.9716L13.3059 3.75557C13.5402 3.52126 13.9201 3.52126 14.1544 3.75557Z",fillRule:"evenodd",clipRule:"evenodd"}}]},CheckMarkSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"check-mark-single",ref,icon:element$6}))});CheckMarkSingle.displayName="CheckMarkSingle";var element$5={tag:"svg",attrs:{fill:"none",viewBox:"0 0 17 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M1.4917 3.07803C1.4917 2.19437 2.20804 1.47803 3.0917 1.47803H5.6917C6.57536 1.47803 7.2917 2.19437 7.2917 3.07803V5.67803C7.2917 6.56168 6.57535 7.27803 5.6917 7.27803H3.0917C2.20804 7.27803 1.4917 6.56168 1.4917 5.67803V3.07803ZM3.0917 2.67803C2.87078 2.67803 2.6917 2.85711 2.6917 3.07803V5.67803C2.6917 5.89894 2.87079 6.07803 3.0917 6.07803H5.6917C5.91261 6.07803 6.0917 5.89894 6.0917 5.67803V3.07803C6.0917 2.85711 5.91261 2.67803 5.6917 2.67803H3.0917Z",fillRule:"evenodd",clipRule:"evenodd"}},{tag:"path",attrs:{fill:"currentColor",d:"M14.6175 2.45279C14.8518 2.68711 14.8518 3.06701 14.6175 3.30132L11.6151 6.30365C11.3957 6.52307 11.0451 6.53897 10.8067 6.34031L8.80915 4.67566C8.55458 4.46352 8.52019 4.08518 8.73233 3.83062 8.94447 3.57605 9.32281 3.54166 9.57737 3.7538L11.154 5.06767 13.769 2.45278C14.0033 2.21847 14.3832 2.21848 14.6175 2.45279zM14.1175 9.19746C14.3518 9.43178 14.3518 9.81168 14.1175 10.046L12.5418 11.6217 14.1175 13.1975C14.3518 13.4318 14.3518 13.8117 14.1175 14.046 13.8832 14.2803 13.5033 14.2803 13.269 14.046L11.6933 12.4703 10.1175 14.046C9.88321 14.2803 9.50331 14.2803 9.269 14.046 9.03468 13.8117 9.03468 13.4318 9.269 13.1975L10.8447 11.6217 9.269 10.046C9.03468 9.81168 9.03468 9.43178 9.269 9.19746 9.50331 8.96315 9.88321 8.96315 10.1175 9.19746L11.6933 10.7732 13.269 9.19746C13.5033 8.96315 13.8832 8.96315 14.1175 9.19746z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.0917 8.72168C2.20804 8.72168 1.4917 9.43802 1.4917 10.3217V12.9217C1.4917 13.8053 2.20804 14.5217 3.0917 14.5217H5.6917C6.57535 14.5217 7.2917 13.8053 7.2917 12.9217V10.3217C7.2917 9.43802 6.57536 8.72168 5.6917 8.72168H3.0917ZM2.6917 10.3217C2.6917 10.1008 2.87078 9.92168 3.0917 9.92168H5.6917C5.91261 9.92168 6.0917 10.1008 6.0917 10.3217V12.9217C6.0917 13.1426 5.91261 13.3217 5.6917 13.3217H3.0917C2.87079 13.3217 2.6917 13.1426 2.6917 12.9217V10.3217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},DataValidationSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"data-validation-single",ref,icon:element$5}))});DataValidationSingle.displayName="DataValidationSingle";var element$4={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M5.3313 1.4667C5.3313 1.13533 5.59993.866699 5.9313.866699H10.069C10.4004.866699 10.669 1.13533 10.669 1.4667 10.669 1.79807 10.4004 2.0667 10.069 2.0667H5.9313C5.59993 2.0667 5.3313 1.79807 5.3313 1.4667zM1.09985 3.64443C1.09985 3.31306 1.36848 3.04443 1.69985 3.04443H14.2999C14.6312 3.04443 14.8999 3.31306 14.8999 3.64443 14.8999 3.9758 14.6312 4.24443 14.2999 4.24443H1.69985C1.36848 4.24443 1.09985 3.9758 1.09985 3.64443zM6.12398 8.30171C6.35829 8.0674 6.73819 8.0674 6.97251 8.30171L8.00007 9.32928 9.02764 8.30171C9.26195 8.0674 9.64185 8.0674 9.87617 8.30171 10.1105 8.53603 10.1105 8.91593 9.87617 9.15024L8.8486 10.1778 9.87617 11.2054C10.1105 11.4397 10.1105 11.8196 9.87617 12.0539 9.64185 12.2882 9.26195 12.2882 9.02764 12.0539L8.00007 11.0263 6.97251 12.0539C6.73819 12.2882 6.35829 12.2882 6.12398 12.0539 5.88966 11.8196 5.88966 11.4397 6.12398 11.2054L7.15154 10.1778 6.12398 9.15024C5.88966 8.91593 5.88966 8.53603 6.12398 8.30171z"}},{tag:"path",attrs:{fill:"currentColor",d:"M4.75332 5.22217C3.86966 5.22217 3.15332 5.93851 3.15332 6.82217V12.5331C3.15332 13.9691 4.31738 15.1332 5.75332 15.1332H10.2465C11.6825 15.1332 12.8465 13.9691 12.8465 12.5331V6.82217C12.8465 5.93851 12.1302 5.22217 11.2465 5.22217H4.75332ZM4.35332 6.82217C4.35332 6.60125 4.53241 6.42217 4.75332 6.42217H11.2465C11.4674 6.42217 11.6465 6.60125 11.6465 6.82217V12.5331C11.6465 13.3063 11.0197 13.9332 10.2465 13.9332H5.75332C4.98012 13.9332 4.35332 13.3063 4.35332 12.5331V6.82217Z",fillRule:"evenodd",clipRule:"evenodd"}}]},DeleteSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"delete-single",ref,icon:element$4}))});DeleteSingle.displayName="DeleteSingle";var element$3={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M8.6 1.99991C8.60001 1.66854 8.33138 1.39991 8.00001 1.3999C7.66864 1.3999 7.40001 1.66853 7.4 1.9999L7.39996 7.3999H1.9999C1.66853 7.3999 1.3999 7.66853 1.3999 7.9999C1.3999 8.33127 1.66853 8.5999 1.9999 8.5999H7.39995L7.3999 13.9999C7.3999 14.3313 7.66853 14.5999 7.9999 14.5999C8.33127 14.5999 8.5999 14.3313 8.5999 13.9999L8.59995 8.5999H13.9999C14.3313 8.5999 14.5999 8.33127 14.5999 7.9999C14.5999 7.66853 14.3313 7.3999 13.9999 7.3999H8.59996L8.6 1.99991Z"}}]},IncreaseSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"increase-single",ref,icon:element$3}))});IncreaseSingle.displayName="IncreaseSingle";var element$2={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M11.3536 6.14645C11.5488 6.34171 11.5488 6.65829 11.3536 6.85355L8.35355 9.85355C8.15829 10.0488 7.84171 10.0488 7.64645 9.85355L4.64645 6.85355C4.45118 6.65829 4.45118 6.34171 4.64645 6.14645C4.84171 5.95118 5.15829 5.95118 5.35355 6.14645L8 8.79289L10.6464 6.14645C10.8417 5.95118 11.1583 5.95118 11.3536 6.14645Z",fillRule:"evenodd",clipRule:"evenodd"}}]},MoreDownSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"more-down-single",ref,icon:element$2}))});MoreDownSingle.displayName="MoreDownSingle";var element$1={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"currentColor",d:"M4.64645 9.85355C4.45118 9.65829 4.45118 9.34171 4.64645 9.14645L7.64645 6.14645C7.84171 5.95118 8.15829 5.95118 8.35355 6.14645L11.3536 9.14645C11.5488 9.34171 11.5488 9.65829 11.3536 9.85355C11.1583 10.0488 10.8417 10.0488 10.6464 9.85355L8 7.20711L5.35355 9.85355C5.15829 10.0488 4.84171 10.0488 4.64645 9.85355Z",fillRule:"evenodd",clipRule:"evenodd"}}]},MoreUpSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"more-up-single",ref,icon:element$1}))});MoreUpSingle.displayName="MoreUpSingle";var element={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"mask",attrs:{id:"mask0_622_8",style:{maskType:"alpha"},width:16,height:16,x:0,y:0,maskUnits:"userSpaceOnUse"},children:[{tag:"path",attrs:{fill:"#D9D9D9",d:"M0 0H16V16H0z"}}]},{tag:"g",attrs:{fill:"currentColor",mask:"url(#mask0_622_8)"},children:[{tag:"path",attrs:{d:"M6 5C6.55228 5 7 4.55228 7 4 7 3.44772 6.55228 3 6 3 5.44772 3 5 3.44772 5 4 5 4.55228 5.44772 5 6 5zM6 9C6.55228 9 7 8.55229 7 8 7 7.44772 6.55228 7 6 7 5.44772 7 5 7.44772 5 8 5 8.55229 5.44772 9 6 9zM7 12C7 12.5523 6.55228 13 6 13 5.44772 13 5 12.5523 5 12 5 11.4477 5.44772 11 6 11 6.55228 11 7 11.4477 7 12zM10 5C10.5523 5 11 4.55228 11 4 11 3.44772 10.5523 3 10 3 9.44771 3 9 3.44772 9 4 9 4.55228 9.44771 5 10 5zM11 8C11 8.55229 10.5523 9 10 9 9.44771 9 9 8.55229 9 8 9 7.44772 9.44771 7 10 7 10.5523 7 11 7.44772 11 8zM10 13C10.5523 13 11 12.5523 11 12 11 11.4477 10.5523 11 10 11 9.44771 11 9 11.4477 9 12 9 12.5523 9.44771 13 10 13z"}}]}]},SequenceSingle=React.forwardRef(function(props,ref){return React.createElement(IconBase,Object.assign({},props,{id:"sequence-single",ref,icon:element}))});SequenceSingle.displayName="SequenceSingle";var P=(E=>(E[E.View=0]="View",E[E.Edit=1]="Edit",E[E.ManageCollaborator=2]="ManageCollaborator",E[E.Print=3]="Print",E[E.Duplicate=4]="Duplicate",E[E.Comment=5]="Comment",E[E.Copy=6]="Copy",E[E.Share=7]="Share",E[E.Export=8]="Export",E[E.MoveWorksheet=9]="MoveWorksheet",E[E.DeleteWorksheet=10]="DeleteWorksheet",E[E.HideWorksheet=11]="HideWorksheet",E[E.RenameWorksheet=12]="RenameWorksheet",E[E.CreateWorksheet=13]="CreateWorksheet",E[E.SetWorksheetStyle=14]="SetWorksheetStyle",E[E.EditWorksheetCell=15]="EditWorksheetCell",E[E.InsertHyperlink=16]="InsertHyperlink",E[E.Sort=17]="Sort",E[E.Filter=18]="Filter",E[E.PivotTable=19]="PivotTable",E[E.FloatImg=20]="FloatImg",E[E.History=21]="History",E[E.RwHgtClWdt=22]="RwHgtClWdt",E[E.ViemRwHgtClWdt=23]="ViemRwHgtClWdt",E[E.ViewFilter=24]="ViewFilter",E[E.MoveSheet=25]="MoveSheet",E[E.DeleteSheet=26]="DeleteSheet",E[E.HideSheet=27]="HideSheet",E[E.CopySheet=28]="CopySheet",E[E.RenameSheet=29]="RenameSheet",E[E.CreateSheet=30]="CreateSheet",E[E.SelectProtectedCells=31]="SelectProtectedCells",E[E.SelectUnProtectedCells=32]="SelectUnProtectedCells",E[E.SetCellStyle=33]="SetCellStyle",E[E.SetCellValue=34]="SetCellValue",E[E.SetRowStyle=35]="SetRowStyle",E[E.SetColumnStyle=36]="SetColumnStyle",E[E.InsertRow=37]="InsertRow",E[E.InsertColumn=38]="InsertColumn",E[E.DeleteRow=39]="DeleteRow",E[E.DeleteColumn=40]="DeleteColumn",E[E.EditExtraObject=41]="EditExtraObject",E[E.Delete=42]="Delete",E[E.RecoverHistory=43]="RecoverHistory",E[E.ViewHistory=44]="ViewHistory",E[E.UNRECOGNIZED=-1]="UNRECOGNIZED",E))(P||{}),__defProp$h=Object.defineProperty,__getOwnPropDesc$h=Object.getOwnPropertyDescriptor,__decorateClass$h=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$h(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$h(target,key,result),result},"__decorateClass$h"),__decorateParam$h=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$h");let DataValidationFormulaController=(_e=class extends core.Disposable{constructor(_univerInstanceService,_permissionService,_lexerTreeBuilder){super(),this._univerInstanceService=_univerInstanceService,this._permissionService=_permissionService,this._lexerTreeBuilder=_lexerTreeBuilder}getFormulaRefCheck(formulaString){var _a2,_b2;const sequenceNodes=this._lexerTreeBuilder.sequenceNodesBuilder(formulaString);if(!sequenceNodes)return!0;for(let i=0;i<sequenceNodes.length;i++){const node=sequenceNodes[i];if(typeof node=="string")continue;const{token}=node,sequenceGrid=engineFormula.deserializeRangeWithSheet(token),workbook=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET);let targetSheet=workbook.getActiveSheet();const unitId=workbook.getUnitId();if(sequenceGrid.sheetName){if(targetSheet=workbook.getSheetBySheetName(sequenceGrid.sheetName),!targetSheet)return!1;const subUnitId=targetSheet==null?void 0:targetSheet.getSheetId();if(!this._permissionService.getPermissionPoint(new sheets.WorksheetViewPermission(unitId,subUnitId).id))return!1}if(!targetSheet)return!1;const{startRow,endRow,startColumn,endColumn}=sequenceGrid.range;for(let i2=startRow;i2<=endRow;i2++)for(let j=startColumn;j<=endColumn;j++){const permission=(_b2=(_a2=targetSheet.getCell(i2,j))==null?void 0:_a2.selectionProtection)==null?void 0:_b2[0];if((permission==null?void 0:permission[P.View])===!1)return!1}}return!0}},__name(_e,"DataValidationFormulaController"),_e);DataValidationFormulaController=__decorateClass$h([core.OnLifecycle(core.LifecycleStages.Rendered,DataValidationFormulaController),__decorateParam$h(0,core.IUniverInstanceService),__decorateParam$h(1,core.IPermissionService),__decorateParam$h(2,core.Inject(engineFormula.LexerTreeBuilder))],DataValidationFormulaController);function serializeListOptions(options){return options.filter(Boolean).join(",")}__name(serializeListOptions,"serializeListOptions");function deserializeListOptions(optionsStr){return optionsStr.split(",").filter(Boolean)}__name(deserializeListOptions,"deserializeListOptions");function getDataValidationCellValue(cellData){const cellValue=getCellValueOrigin(cellData);return cellValue==null?"":cellValue.toString()}__name(getDataValidationCellValue,"getDataValidationCellValue");const DEFAULT_COLOR_PRESET=["#FFFFFF","#FEE7E7","#FEF0E6","#EFFBD0","#E4F4FE","#E8ECFD","#F1EAFA","#FDE8F3","#E5E5E5","#FDCECE","#FDC49B","#DEF6A2","#9FDAFF","#D0D9FB","#E3D5F6","#FBD0E8","#656565","#FE4B4B","#FF8C51","#8BBB11","#0B9EFB","#3A60F7","#9E6DE3","#F248A6"],ColorSelect=__name(props=>{const{value,onChange,disabled}=props,[open,setOpen]=React.useState(!1);return jsxRuntimeExports.jsx(design.Select,{disabled,open,onDropdownVisibleChange:setOpen,dropdownStyle:{width:112},className:styles$6.dataValidationFormulaColorSelect,value,onChange,labelRender:__name(item=>jsxRuntimeExports.jsx("div",{className:styles$6.dataValidationFormulaColorItem,style:{background:item.value,marginTop:5}}),"labelRender"),dropdownRender:__name(()=>jsxRuntimeExports.jsx("div",{className:styles$6.dataValidationFormulaColorSelectPanel,children:DEFAULT_COLOR_PRESET.map(color=>jsxRuntimeExports.jsx("div",{onClick:__name(()=>{onChange(color),setOpen(!1)},"onClick"),className:styles$6.dataValidationFormulaColorItem,style:{background:color}},color))}),"dropdownRender")})},"ColorSelect"),Template=__name(props=>{const{item,commonProps,style}=props,{onItemChange,onItemDelete}=commonProps;return jsxRuntimeExports.jsxs("div",{className:styles$6.dataValidationFormulaListItem,style,children:[item.isRef?null:jsxRuntimeExports.jsx("div",{className:cs(styles$6.dataValidationFormulaListItemDrag,"draggableHandle"),children:jsxRuntimeExports.jsx(SequenceSingle,{})}),jsxRuntimeExports.jsx(ColorSelect,{value:item.color,onChange:__name(color=>{onItemChange(item.id,item.label,color)},"onChange")}),jsxRuntimeExports.jsx(design.Input,{disabled:item.isRef,value:item.label,onChange:__name(label=>{onItemChange(item.id,label,item.color)},"onChange")}),item.isRef?null:jsxRuntimeExports.jsx("div",{className:styles$6.dataValidationFormulaListItemIcon,children:jsxRuntimeExports.jsx(DeleteSingle,{onClick:__name(()=>onItemDelete(item.id),"onClick")})})]})},"Template");function ListFormulaInput(props){const{value,onChange:_onChange=__name(()=>{},"_onChange"),unitId,subUnitId,validResult,showError,ruleId}=props,{formula1="",formula2=""}=value||{},containerRef=React.useRef(null),[isFormulaStr,setIsFormulaStr]=React.useState(()=>core.isFormulaString(formula1)?"1":"0"),[formulaStr,setFormulaStr]=React.useState(isFormulaStr==="1"?formula1:"="),[formulaStrCopy,setFormulaStrCopy]=React.useState(isFormulaStr==="1"?formula1:"="),localeService=core.useDependency(core.LocaleService),dataValidatorRegistryService=core.useDependency(dataValidation.DataValidatorRegistryService),dataValidationModel=core.useDependency(dataValidation.DataValidationModel),dataValidationFormulaController=core.useDependency(DataValidationFormulaController),[refColors,setRefColors]=React.useState(()=>formula2.split(",")),listValidator=dataValidatorRegistryService.getValidatorItem(core.DataValidationType.LIST),[refOptions,setRefOptions]=React.useState([]),[localError,setLocalError]=React.useState(""),formula1Res=showError?validResult==null?void 0:validResult.formula1:"",ruleChange$=React.useMemo(()=>dataValidationModel.ruleChange$.pipe(rxjs.debounceTime(16)),[]),ruleChange=ui.useObservable(ruleChange$),onChange=ui.useEvent(_onChange);React.useEffect(()=>{(async()=>{await new Promise(resolve=>{setTimeout(()=>resolve(!0),100)});const rule=dataValidationModel.getRuleById(unitId,subUnitId,ruleId),formula12=rule==null?void 0:rule.formula1;if(core.isFormulaString(formula12)&&listValidator&&rule){const res=await listValidator.getListAsync(rule,unitId,subUnitId);setRefOptions(res)}})()},[dataValidationModel,ruleChange,listValidator,ruleId,subUnitId,unitId]),React.useEffect(()=>{core.isFormulaString(formula1)&&formula1!==formulaStrCopy&&(setFormulaStr(formula1),setFormulaStrCopy(formulaStrCopy))},[formulaStrCopy,formula1]);const[strList,setStrList]=React.useState(()=>{const strOptions=isFormulaStr!=="1"?deserializeListOptions(formula1):[],strColors=formula2.split(",");return strOptions.map((label,i)=>({label,color:strColors[i]||DROP_DOWN_DEFAULT_COLOR,isRef:!1,id:core.Tools.generateRandomId(4)}))}),handleStrItemChange=__name((id,value2,color)=>{const item=strList.find(i=>i.id===id);item&&(item.label=value2,item.color=color,setStrList([...strList]))},"handleStrItemChange"),handleStrItemDelete=__name(id=>{const index=strList.findIndex(i=>i.id===id);index!==-1&&(strList.splice(index,1),setStrList([...strList]))},"handleStrItemDelete"),colorList=formula2.split(","),refFinalList=React.useMemo(()=>refOptions.map((label,i)=>({label,color:colorList[i]||DROP_DOWN_DEFAULT_COLOR,id:`${i}`,isRef:!0})),[colorList,refOptions]),handleRefItemChange=__name((id,value2,color)=>{const newColors=[...refColors];newColors[+id]=color,setRefColors(newColors),onChange({formula1,formula2:newColors.join(",")})},"handleRefItemChange"),handleAdd=__name(()=>{setStrList([...strList,{label:"",color:DROP_DOWN_DEFAULT_COLOR,isRef:!1,id:core.Tools.generateRandomId(4)}])},"handleAdd");React.useEffect(()=>{if(isFormulaStr==="1")return;const labelSet=new Set,finalList=[];strList.map(item=>({labelList:item.label.split(","),item})).forEach(({item,labelList})=>{labelList.forEach(labelItem=>{labelSet.has(labelItem)||(labelSet.add(labelItem),finalList.push({label:labelItem,color:item.color}))})}),onChange({formula1:serializeListOptions(finalList.map(item=>item.label)),formula2:finalList.map(item=>item.color===DROP_DOWN_DEFAULT_COLOR?"":item.color).join(",")})},[strList,onChange,isFormulaStr,formulaStrCopy,refColors]);const updateFormula=React.useMemo(()=>async str=>{if(!core.isFormulaString(str)){onChange==null||onChange({formula1:"",formula2});return}dataValidationFormulaController.getFormulaRefCheck(str)?(onChange==null||onChange({formula1:core.isFormulaString(str)?str:"",formula2}),setLocalError("")):(onChange==null||onChange({formula1:"",formula2}),setFormulaStr("="),setLocalError(localeService.t("dataValidation.validFail.formulaError")))},[formula2,onChange]);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(design.FormLayout,{label:localeService.t("dataValidation.list.options"),children:jsxRuntimeExports.jsxs(design.RadioGroup,{value:isFormulaStr,onChange:__name(v=>{setIsFormulaStr(v),setFormulaStr(formulaStrCopy),v==="1"&&onChange({formula1:formulaStrCopy==="="?"":formulaStrCopy,formula2:refColors.join(",")})},"onChange"),children:[jsxRuntimeExports.jsx(design.Radio,{value:"0",children:localeService.t("dataValidation.list.customOptions")}),jsxRuntimeExports.jsx(design.Radio,{value:"1",children:localeService.t("dataValidation.list.refOptions")})]})}),isFormulaStr==="1"?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(design.FormLayout,{error:formula1Res||localError,children:jsxRuntimeExports.jsx(docsUi.TextEditor,{id:core.createInternalEditorID(`list-ref-range-${unitId}-${subUnitId}`),value:formulaStr,openForSheetUnitId:unitId,openForSheetSubUnitId:subUnitId,onlyInputFormula:!0,onChange:__name(async newString=>{const str=(newString!=null?newString:"").trim();setFormulaStrCopy(str),updateFormula(str)},"onChange")})}),jsxRuntimeExports.jsx(design.FormLayout,{children:jsxRuntimeExports.jsx("div",{ref:containerRef,children:refFinalList.map(item=>jsxRuntimeExports.jsx(Template,{item,commonProps:{onItemChange:handleRefItemChange},style:{marginBottom:12}},item.id))})})]}):jsxRuntimeExports.jsx(design.FormLayout,{error:formula1Res,children:jsxRuntimeExports.jsxs("div",{ref:containerRef,style:{marginTop:"-12px"},children:[jsxRuntimeExports.jsx(design.DraggableList,{list:strList,onListChange:setStrList,rowHeight:32,margin:[0,12],draggableHandle:".draggableHandle",itemRender:__name(item=>jsxRuntimeExports.jsx(Template,{item,commonProps:{onItemChange:handleStrItemChange,onItemDelete:handleStrItemDelete}},item.id),"itemRender"),idKey:"id"}),jsxRuntimeExports.jsxs("a",{className:styles$6.dataValidationFormulaListAdd,onClick:handleAdd,children:[jsxRuntimeExports.jsx(IncreaseSingle,{}),localeService.t("dataValidation.list.add")]})]})})]})}__name(ListFormulaInput,"ListFormulaInput");function CheckboxFormulaInput(props){const{value,onChange,showError,validResult}=props,localeService=core.useDependency(core.LocaleService),formula1Res=showError?validResult==null?void 0:validResult.formula1:"",formula2Res=showError?validResult==null?void 0:validResult.formula2:"",[checked,setChecked]=React.useState(!((value==null?void 0:value.formula1)===void 0&&(value==null?void 0:value.formula2)===void 0));return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(design.FormLayout,{children:jsxRuntimeExports.jsx(design.Checkbox,{checked,onChange:__name(newValue=>{newValue?setChecked(!0):(setChecked(!1),onChange==null||onChange({...value,formula1:void 0,formula2:void 0}))},"onChange"),children:localeService.t("dataValidation.checkbox.tips")})}),checked?jsxRuntimeExports.jsx(design.FormLayout,{label:localeService.t("dataValidation.checkbox.checked"),error:formula1Res,children:jsxRuntimeExports.jsx(design.Input,{className:styles$6.dataValidationFormula,placeholder:localeService.t("dataValidation.panel.valuePlaceholder"),value:value==null?void 0:value.formula1,onChange:__name(newValue=>{onChange==null||onChange({...value,formula1:newValue||void 0})},"onChange")})}):null,checked?jsxRuntimeExports.jsx(design.FormLayout,{label:localeService.t("dataValidation.checkbox.unchecked"),error:formula2Res,children:jsxRuntimeExports.jsx(design.Input,{className:styles$6.dataValidationFormula,placeholder:localeService.t("dataValidation.panel.valuePlaceholder"),value:value==null?void 0:value.formula2,onChange:__name(newValue=>{onChange==null||onChange({...value,formula2:newValue||void 0})},"onChange")})}):null]})}__name(CheckboxFormulaInput,"CheckboxFormulaInput");const CUSTOM_FORMULA_INPUT_NAME="data-validation.custom-formula-input",BASE_FORMULA_INPUT_NAME="data-validation.formula-input",LIST_FORMULA_INPUT_NAME="data-validation.list-formula-input",CHECKBOX_FORMULA_INPUT_NAME="data-validation.checkbox-formula-input",FORMULA_INPUTS=[[CUSTOM_FORMULA_INPUT_NAME,CustomFormulaInput],[BASE_FORMULA_INPUT_NAME,BaseFormulaInput],[LIST_FORMULA_INPUT_NAME,ListFormulaInput],[CHECKBOX_FORMULA_INPUT_NAME,CheckboxFormulaInput]];var __defProp$g=Object.defineProperty,__getOwnPropDesc$g=Object.getOwnPropertyDescriptor,__decorateClass$g=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$g(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$g(target,key,result),result},"__decorateClass$g"),__decorateParam$g=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$g");const MARGIN_H$2=6;let CheckboxRender=(_f=class{constructor(_commandService,_formulaService,_themeService){this._commandService=_commandService,this._formulaService=_formulaService,this._themeService=_themeService}_calc(cellInfo,style){var _a2,_b2,_c2;const{vt,ht}=style||{},width=cellInfo.endX-cellInfo.startX-MARGIN_H$2*2,height=cellInfo.endY-cellInfo.startY,size=((_a2=style==null?void 0:style.fs)!=null?_a2:10)*1.6;let widgetLeft=0,widgetTop=0;switch(vt){case core.VerticalAlign.TOP:widgetTop=0;break;case core.VerticalAlign.BOTTOM:widgetTop=0+(height-size);break;default:widgetTop=0+(height-size)/2;break}switch(ht){case core.HorizontalAlign.LEFT:widgetLeft=MARGIN_H$2;break;case core.HorizontalAlign.RIGHT:widgetLeft=MARGIN_H$2+(width-size);break;default:widgetLeft=MARGIN_H$2+(width-size)/2;break}return{left:cellInfo.startX+widgetLeft,top:cellInfo.startY+widgetTop,width:((_b2=style==null?void 0:style.fs)!=null?_b2:10)*1.6,height:((_c2=style==null?void 0:style.fs)!=null?_c2:10)*1.6}}calcCellAutoHeight(info){var _a2;const{style}=info;return((_a2=style==null?void 0:style.fs)!=null?_a2:10)*1.6}async _parseFormula(rule,unitId,subUnitId){var _a2,_b2;const{formula1=CHECKBOX_FORMULA_1,formula2=CHECKBOX_FORMULA_2}=rule,results=await this._formulaService.getRuleFormulaResult(unitId,subUnitId,rule.uid);return{formula1:core.isFormulaString(formula1)?getFormulaResult((_a2=results==null?void 0:results[0])==null?void 0:_a2.result):formula1,formula2:core.isFormulaString(formula2)?getFormulaResult((_b2=results==null?void 0:results[1])==null?void 0:_b2.result):formula2}}drawWith(ctx,info){var _a2,_b2,_c2,_d2,_e2,_f2;const{style,data,primaryWithCoord,unitId,subUnitId,worksheet,row,col}=info,cellBounding=primaryWithCoord.isMergedMainCell?primaryWithCoord.mergeInfo:primaryWithCoord,value=getCellValueOrigin(worksheet.getCellRaw(row,col)),rule=(_a2=data.dataValidation)==null?void 0:_a2.rule,validator=(_b2=data.dataValidation)==null?void 0:_b2.validator;if(!rule||!validator)return;const colors=this._themeService.getCurrentTheme();if(!((_c2=validator.skipDefaultFontRender)!=null&&_c2.call(validator,rule,value,{unitId,subUnitId})))return;const result=validator.parseFormulaSync(rule,unitId,subUnitId),{formula1}=result,layout=this._calc(cellBounding,style),{a:scaleX,d:scaleY}=ctx.getTransform(),left=engineRender.fixLineWidthByScale(layout.left,scaleX),top=engineRender.fixLineWidthByScale(layout.top,scaleY),transform=engineRender.Transform.create().composeMatrix({left,top,scaleX:1,scaleY:1,angle:0,skewX:0,skewY:0,flipX:!1,flipY:!1}),cellWidth=cellBounding.endX-cellBounding.startX,cellHeight=cellBounding.endY-cellBounding.startY;ctx.save(),ctx.beginPath(),ctx.rect(cellBounding.startX,cellBounding.startY,cellWidth,cellHeight),ctx.clip();const m2=transform.getMatrix();ctx.transform(m2[0],m2[1],m2[2],m2[3],m2[4],m2[5]);const size=((_d2=style==null?void 0:style.fs)!=null?_d2:10)*1.6,checked=String(value)===String(formula1),defaultColor=colors.hyacinth500;engineRender.Checkbox.drawWith(ctx,{checked,width:size,height:size,fill:(_f2=(_e2=style==null?void 0:style.cl)==null?void 0:_e2.rgb)!=null?_f2:defaultColor}),ctx.restore()}isHit(evt,info){const cellBounding=info.primaryWithCoord.isMergedMainCell?info.primaryWithCoord.mergeInfo:info.primaryWithCoord,layout=this._calc(cellBounding,info.style),startY=layout.top,endY=layout.top+layout.height,startX=layout.left,endX=layout.left+layout.width,{x:offsetX,y:offsetY}=evt;return offsetX<=endX&&offsetX>=startX&&offsetY<=endY&&offsetY>=startY}async onPointerDown(info,evt){var _a2,_b2,_c2;if(evt.button===2)return;const{primaryWithCoord,unitId,subUnitId,data,worksheet,row,col}=info,value=getCellValueOrigin(worksheet.getCellRaw(row,col)),rule=(_a2=data.dataValidation)==null?void 0:_a2.rule,validator=(_b2=data.dataValidation)==null?void 0:_b2.validator;if(!rule||!validator||!((_c2=validator.skipDefaultFontRender)!=null&&_c2.call(validator,rule,value,{unitId,subUnitId})))return;const{formula1,formula2}=await this._parseFormula(rule,unitId,subUnitId),params={range:{startColumn:primaryWithCoord.actualColumn,endColumn:primaryWithCoord.actualColumn,startRow:primaryWithCoord.actualRow,endRow:primaryWithCoord.actualRow},value:{v:String(value)===transformCheckboxValue(String(formula1))?formula2:formula1,p:null}};this._commandService.executeCommand(sheets.SetRangeValuesCommand.id,params)}},__name(_f,"CheckboxRender"),_f);CheckboxRender=__decorateClass$g([__decorateParam$g(0,core.ICommandService),__decorateParam$g(1,core.Inject(exports2.DataValidationFormulaService)),__decorateParam$g(2,core.Inject(core.ThemeService))],CheckboxRender);const CHECKBOX_FORMULA_1=1,CHECKBOX_FORMULA_2=0;function getFailMessage(formula,localeService){return core.Tools.isBlank(formula)?localeService.t("dataValidation.validFail.value"):core.isFormulaString(formula)?localeService.t("dataValidation.validFail.primitive"):""}__name(getFailMessage,"getFailMessage");const transformCheckboxValue=__name(value=>core.Tools.isDefine(value)&&String(value).toLowerCase()==="true"?"1":String(value).toLowerCase()==="false"?"0":value,"transformCheckboxValue"),_CheckboxValidator=class _CheckboxValidator extends dataValidation.BaseDataValidator{constructor(){super(...arguments);__publicField(this,"id",core.DataValidationType.CHECKBOX);__publicField(this,"title","dataValidation.checkbox.title");__publicField(this,"operators",[]);__publicField(this,"scopes",["sheet"]);__publicField(this,"formulaInput",CHECKBOX_FORMULA_INPUT_NAME);__publicField(this,"canvasRender",this.injector.createInstance(CheckboxRender));__publicField(this,"_formulaService",this.injector.get(exports2.DataValidationFormulaService));__publicField(this,"skipDefaultFontRender",__name((rule,cellValue,pos)=>{const{formula1,formula2}=this.parseFormulaSync(rule,pos.unitId,pos.subUnitId),valueStr=`${cellValue!=null?cellValue:""}`;return!valueStr||valueStr===`${formula1}`||valueStr===`${formula2}`},"skipDefaultFontRender"))}validatorFormula(rule,unitId,subUnitId){const{formula1,formula2}=rule,isEqual=formula1===formula2;if(core.Tools.isBlank(formula1)&&core.Tools.isBlank(formula2))return{success:!0};if(isEqual)return{success:!1,formula1:this.localeService.t("dataValidation.validFail.checkboxEqual"),formula2:this.localeService.t("dataValidation.validFail.checkboxEqual")};const error1=getFailMessage(formula1,this.localeService),error2=getFailMessage(formula2,this.localeService);return{success:!error1&&!error2,formula1:error1,formula2:error2}}async parseFormula(rule,unitId,subUnitId){var _a2,_b2;const{formula1=CHECKBOX_FORMULA_1,formula2=CHECKBOX_FORMULA_2}=rule,results=await this._formulaService.getRuleFormulaResult(unitId,subUnitId,rule.uid),originFormula1=core.isFormulaString(formula1)?getFormulaResult((_a2=results==null?void 0:results[0])==null?void 0:_a2.result):formula1,originFormula2=core.isFormulaString(formula2)?getFormulaResult((_b2=results==null?void 0:results[1])==null?void 0:_b2.result):formula2;return{formula1:transformCheckboxValue(originFormula1),formula2:transformCheckboxValue(originFormula2),originFormula1,originFormula2}}getExtraStyle(rule,value){return{tb:core.WrapStrategy.CLIP}}parseFormulaSync(rule,unitId,subUnitId){var _a2,_b2;const{formula1=CHECKBOX_FORMULA_1,formula2=CHECKBOX_FORMULA_2}=rule,results=this._formulaService.getRuleFormulaResultSync(unitId,subUnitId,rule.uid),originFormula1=core.isFormulaString(formula1)?getFormulaResult((_a2=results==null?void 0:results[0])==null?void 0:_a2.result):formula1,originFormula2=core.isFormulaString(formula2)?getFormulaResult((_b2=results==null?void 0:results[1])==null?void 0:_b2.result):formula2;return{formula1:transformCheckboxValue(originFormula1),formula2:transformCheckboxValue(originFormula2),originFormula1,originFormula2}}async isValidType(cellInfo,formula,rule){const{value,unitId,subUnitId}=cellInfo,{formula1,formula2,originFormula1,originFormula2}=await this.parseFormula(rule,unitId,subUnitId);return!core.Tools.isDefine(formula1)||!core.Tools.isDefine(formula2)?!0:core.Tools.isDefine(value)&&(String(value)===String(formula1)||String(value)===String(formula2)||String(value)===String(originFormula1!=null?originFormula1:"")||String(value)===String(originFormula2!=null?originFormula2:""))}generateRuleErrorMessage(rule){return this.localeService.t("dataValidation.checkbox.error")}};__name(_CheckboxValidator,"CheckboxValidator");let CheckboxValidator=_CheckboxValidator;const DateOperatorNameMap={[core.DataValidationOperator.BETWEEN]:"dataValidation.date.operators.between",[core.DataValidationOperator.EQUAL]:"dataValidation.date.operators.equal",[core.DataValidationOperator.GREATER_THAN]:"dataValidation.date.operators.greaterThan",[core.DataValidationOperator.GREATER_THAN_OR_EQUAL]:"dataValidation.date.operators.greaterThanOrEqual",[core.DataValidationOperator.LESS_THAN]:"dataValidation.date.operators.lessThan",[core.DataValidationOperator.LESS_THAN_OR_EQUAL]:"dataValidation.date.operators.lessThanOrEqual",[core.DataValidationOperator.NOT_BETWEEN]:"dataValidation.date.operators.notBetween",[core.DataValidationOperator.NOT_EQUAL]:"dataValidation.date.operators.notEqual"};core.DataValidationOperator.BETWEEN+"",core.DataValidationOperator.EQUAL+"",core.DataValidationOperator.GREATER_THAN+"",core.DataValidationOperator.GREATER_THAN_OR_EQUAL+"",core.DataValidationOperator.LESS_THAN+"",core.DataValidationOperator.LESS_THAN_OR_EQUAL+"",core.DataValidationOperator.NOT_BETWEEN+"",core.DataValidationOperator.NOT_EQUAL+"";const DateOperatorTitleMap={[core.DataValidationOperator.BETWEEN]:"dataValidation.date.ruleName.between",[core.DataValidationOperator.EQUAL]:"dataValidation.date.ruleName.equal",[core.DataValidationOperator.GREATER_THAN]:"dataValidation.date.ruleName.greaterThan",[core.DataValidationOperator.GREATER_THAN_OR_EQUAL]:"dataValidation.date.ruleName.greaterThanOrEqual",[core.DataValidationOperator.LESS_THAN]:"dataValidation.date.ruleName.lessThan",[core.DataValidationOperator.LESS_THAN_OR_EQUAL]:"dataValidation.date.ruleName.lessThanOrEqual",[core.DataValidationOperator.NOT_BETWEEN]:"dataValidation.date.ruleName.notBetween",[core.DataValidationOperator.NOT_EQUAL]:"dataValidation.date.ruleName.notEqual"},DateOperatorErrorTitleMap={[core.DataValidationOperator.BETWEEN]:"dataValidation.date.errorMsg.between",[core.DataValidationOperator.EQUAL]:"dataValidation.date.errorMsg.equal",[core.DataValidationOperator.GREATER_THAN]:"dataValidation.date.errorMsg.greaterThan",[core.DataValidationOperator.GREATER_THAN_OR_EQUAL]:"dataValidation.date.errorMsg.greaterThanOrEqual",[core.DataValidationOperator.LESS_THAN]:"dataValidation.date.errorMsg.lessThan",[core.DataValidationOperator.LESS_THAN_OR_EQUAL]:"dataValidation.date.errorMsg.lessThanOrEqual",[core.DataValidationOperator.NOT_BETWEEN]:"dataValidation.date.errorMsg.notBetween",[core.DataValidationOperator.NOT_EQUAL]:"dataValidation.date.errorMsg.notEqual"},TWO_FORMULA_OPERATOR_COUNT=[core.DataValidationOperator.BETWEEN,core.DataValidationOperator.NOT_BETWEEN];var utc$1={exports:{}};(function(module2,exports3){(function(t,i){module2.exports=i()})(commonjsGlobal,function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f2,n2){var u=f2.prototype;n2.utc=function(t2){var i2={date:t2,utc:!0,args:arguments};return new f2(i2)},u.utc=function(i2){var e2=n2(this.toDate(),{locale:this.$L,utc:!0});return i2?e2.add(this.utcOffset(),t):e2},u.local=function(){return n2(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t2){t2.utc&&(this.$u=!0),this.$utils().u(t2.$offset)||(this.$offset=t2.$offset),o.call(this,t2)};var r=u.init;u.init=function(){if(this.$u){var t2=this.$d;this.$y=t2.getUTCFullYear(),this.$M=t2.getUTCMonth(),this.$D=t2.getUTCDate(),this.$W=t2.getUTCDay(),this.$H=t2.getUTCHours(),this.$m=t2.getUTCMinutes(),this.$s=t2.getUTCSeconds(),this.$ms=t2.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s2,f3){var n3=this.$utils().u;if(n3(s2))return this.$u?0:n3(this.$offset)?a.call(this):this.$offset;if(typeof s2=="string"&&(s2=function(t2){t2===void 0&&(t2="");var s3=t2.match(i);if(!s3)return null;var f4=(""+s3[0]).match(e)||["-",0,0],n4=f4[0],u3=60*+f4[1]+ +f4[2];return u3===0?0:n4==="+"?u3:-u3}(s2),s2===null))return this;var u2=Math.abs(s2)<=16?60*s2:s2,o2=this;if(f3)return o2.$offset=u2,o2.$u=s2===0,o2;if(s2!==0){var r2=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o2=this.local().add(u2+r2,t)).$offset=u2,o2.$x.$localOffset=r2}else o2=this.utc();return o2};var h=u.format;u.format=function(t2){var i2=t2||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i2)},u.valueOf=function(){var t2=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t2},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l2=u.toDate;u.toDate=function(t2){return t2==="s"&&this.$offset?n2(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l2.call(this)};var c=u.diff;u.diff=function(t2,i2,e2){if(t2&&this.$u===t2.$u)return c.call(this,t2,i2,e2);var s2=this.local(),f3=n2(t2).local();return c.call(s2,f3,i2,e2)}}})})(utc$1);var utcExports=utc$1.exports;const utc=getDefaultExportFromCjs(utcExports);var __defProp$f=Object.defineProperty,__getOwnPropDesc$f=Object.getOwnPropertyDescriptor,__decorateClass$f=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$f(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$f(target,key,result),result},"__decorateClass$f"),__decorateParam$f=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$f");let DataValidationRejectInputController=(_g=class extends core.Disposable{constructor(_editorBridgeService,_dataValidationModel,_dataValidatorRegistryService,_dialogService,_localeService){super(),this._editorBridgeService=_editorBridgeService,this._dataValidationModel=_dataValidationModel,this._dataValidatorRegistryService=_dataValidatorRegistryService,this._dialogService=_dialogService,this._localeService=_localeService,this._initEditorBridgeInterceptor()}_initEditorBridgeInterceptor(){this._editorBridgeService.interceptor.intercept(this._editorBridgeService.interceptor.getInterceptPoints().AFTER_CELL_EDIT_ASYNC,{handler:__name(async(cellPromise,context,next)=>{var _a2;const cell=await cellPromise,{worksheet,row,col,unitId,subUnitId,workbook}=context,ruleId=this._dataValidationModel.getRuleIdByLocation(unitId,subUnitId,row,col),rule=ruleId?this._dataValidationModel.getRuleById(unitId,subUnitId,ruleId):void 0;if(!rule||rule.errorStyle!==core.DataValidationErrorStyle.STOP)return next(Promise.resolve(cell));const validator=await this._dataValidatorRegistryService.getValidatorItem(rule.type);if(!validator||await validator.validator({value:getCellValueOrigin(cell),interceptValue:getCellValueOrigin((_a2=context==null?void 0:context.origin)!=null?_a2:cell),row,column:col,unitId,subUnitId,worksheet,workbook,t:cell==null?void 0:cell.t},rule))return next(Promise.resolve(cell));const oldCell=worksheet.getCellRaw(row,col);return this._dialogService.open({width:368,title:{title:this._localeService.t("dataValidation.alert.title")},id:"reject-input-dialog",children:{title:validator.getRuleFinalError(rule)},footer:{title:React.createElement(design.Button,{type:"primary",onClick:__name(()=>this._dialogService.close("reject-input-dialog"),"onClick")},this._localeService.t("dataValidation.alert.ok"))},onClose:__name(()=>{this._dialogService.close("reject-input-dialog")},"onClose")}),next(Promise.resolve(oldCell))},"handler")})}showReject(title){this._dialogService.open({width:368,title:{title:this._localeService.t("dataValidation.alert.title")},id:"reject-input-dialog",children:{title},footer:{title:React.createElement(design.Button,{type:"primary",onClick:__name(()=>this._dialogService.close("reject-input-dialog"),"onClick")},this._localeService.t("dataValidation.alert.ok"))},onClose:__name(()=>{this._dialogService.close("reject-input-dialog")},"onClose")})}},__name(_g,"DataValidationRejectInputController"),_g);DataValidationRejectInputController=__decorateClass$f([core.OnLifecycle(core.LifecycleStages.Ready,DataValidationRejectInputController),__decorateParam$f(0,sheetsUi.IEditorBridgeService),__decorateParam$f(1,core.Inject(exports2.SheetDataValidationModel)),__decorateParam$f(2,core.Inject(dataValidation.DataValidatorRegistryService)),__decorateParam$f(3,ui.IDialogService),__decorateParam$f(4,core.Inject(core.LocaleService))],DataValidationRejectInputController);const styles$5={dvDateDropdown:"univer-dv-date-dropdown",dvDateDropdownBtns:"univer-dv-date-dropdown-btns"};dayjs.extend(utc);const transformDate=__name(value=>{if(value==null||typeof value=="boolean")return;if(typeof value=="number"||!Number.isNaN(+value))return dayjs(core.numfmt.format("yyyy-MM-dd HH:mm:ss",Number(value)));const date=dayjs(value);if(date.isValid())return date},"transformDate");function DateDropdown(props){var _a2,_b2,_c2;const{location,hideFn}=props,{worksheet,row,col,unitId,subUnitId,workbook}=location,commandService=core.useDependency(core.ICommandService),rejectInputController=core.useDependency(DataValidationRejectInputController),cellData=worksheet.getCell(row,col),rule=(_a2=cellData==null?void 0:cellData.dataValidation)==null?void 0:_a2.rule,validator=(_b2=cellData==null?void 0:cellData.dataValidation)==null?void 0:_b2.validator,cellStr=getCellValueOrigin(worksheet.getCellRaw(row,col)),originDate=transformDate(cellStr),[localDate,setLocalDate]=React.useState(originDate),showTime=!!((_c2=rule==null?void 0:rule.bizInfo)!=null&&_c2.showTime),date=localDate&&localDate.isValid()?localDate:dayjs(),localeService=core.useDependency(core.LocaleService);if(!cellData||!rule||!validator)return;const handleSave=__name(async()=>{var _a3,_b3,_c3;if(!date)return;const dateStr=date.format(showTime?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD 00:00:00"),serialTime=(_a3=core.numfmt.parseDate(dateStr))==null?void 0:_a3.v,cellStyle=workbook.getStyles().getStyleByCell(cellData),format=(_c3=(_b3=cellStyle==null?void 0:cellStyle.n)==null?void 0:_b3.pattern)!=null?_c3:"",patternType=sheetsNumfmt.getPatternType(format);rule.errorStyle!==core.DataValidationErrorStyle.STOP||await validator.validator({value:serialTime,unitId,subUnitId,row,column:col,worksheet,workbook,interceptValue:dateStr.replace("Z","").replace("T"," "),t:core.CellValueType.NUMBER},rule)?(commandService.executeCommand(sheets.SetRangeValuesCommand.id,{unitId,subUnitId,range:{startColumn:col,endColumn:col,startRow:row,endRow:row},value:{v:serialTime,t:2,p:null,f:null,si:null,s:{n:{pattern:showTime?patternType==="datetime"?format:"yyyy-MM-dd hh:mm:ss":patternType==="date"?format:"yyyy-MM-dd"}}}}),hideFn()):rejectInputController.showReject(validator.getRuleFinalError(rule))},"handleSave");return jsxRuntimeExports.jsxs("div",{className:styles$5.dvDateDropdown,children:[jsxRuntimeExports.jsx(design.DatePanel,{defaultValue:date,pickerValue:date,showTime:showTime||void 0,onSelect:__name(async newValue=>{setLocalDate(newValue)},"onSelect"),onPanelChange:__name(value=>{setLocalDate(value)},"onPanelChange"),disabledDate:__name(current=>!core.numfmt.parseDate(current.format("YYYY-MM-DD")),"disabledDate")}),jsxRuntimeExports.jsx("div",{className:styles$5.dvDateDropdownBtns,children:jsxRuntimeExports.jsx(design.Button,{size:"small",type:"primary",onClick:handleSave,disabled:!date.isValid(),children:localeService.t("dataValidation.alert.ok")})})]})}__name(DateDropdown,"DateDropdown");function CellDropdown(){const dropdownManagerService=core.useDependency(DataValidationDropdownManagerService),activeDropdown=ui.useObservable(dropdownManagerService.activeDropdown$,dropdownManagerService.activeDropdown),componentManager=core.useDependency(ui.ComponentManager);if(!activeDropdown)return null;const{location,componentKey}=activeDropdown,Component=componentManager.get(componentKey),key=`${location.unitId}-${location.subUnitId}-${location.row}-${location.col}`;if(!Component)return null;const hideFn=__name(()=>{dropdownManagerService.hideDropdown()},"hideFn");return jsxRuntimeExports.jsx(Component,{location,hideFn},key)}__name(CellDropdown,"CellDropdown");const DROP_DOWN_KEY="sheet.ui.dropdown";var __defProp$e=Object.defineProperty,__getOwnPropDesc$e=Object.getOwnPropertyDescriptor,__decorateClass$e=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$e(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$e(target,key,result),result},"__decorateClass$e"),__decorateParam$e=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$e");let DataValidationDropdownManagerService=(_h=class extends core.Disposable{constructor(_canvasPopupManagerService,_univerInstanceService,_dataValidatorRegistryService,_zenZoneService,_renderManagerService,_dataValidationModel,_sheetsSelectionsService){super();__publicField(this,"_activeDropdown");__publicField(this,"_activeDropdown$",new rxjs.Subject);__publicField(this,"_currentPopup",null);__publicField(this,"activeDropdown$",this._activeDropdown$.asObservable());__publicField(this,"_zenVisible",!1);this._canvasPopupManagerService=_canvasPopupManagerService,this._univerInstanceService=_univerInstanceService,this._dataValidatorRegistryService=_dataValidatorRegistryService,this._zenZoneService=_zenZoneService,this._renderManagerService=_renderManagerService,this._dataValidationModel=_dataValidationModel,this._sheetsSelectionsService=_sheetsSelectionsService,this._init(),this._initSelectionChange(),this.disposeWithMe(()=>{this._activeDropdown$.complete()})}get activeDropdown(){return this._activeDropdown}_init(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(visible=>{this._zenVisible=visible,visible&&this.hideDropdown()}))}_getDropdownByCell(unitId,subUnitId,row,col){const workbook=unitId?this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_SHEET):this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET);if(!workbook)return;const worksheet=subUnitId?workbook.getSheetBySheetId(subUnitId):workbook.getActiveSheet();if(!worksheet)return;const rule=this._dataValidationModel.getRuleByLocation(workbook.getUnitId(),worksheet.getSheetId(),row,col);if(!rule)return;const validator=this._dataValidatorRegistryService.getValidatorItem(rule.type);return validator==null?void 0:validator.dropdown}_initSelectionChange(){this.disposeWithMe(this._sheetsSelectionsService.selectionMoveEnd$.subscribe(selections=>{selections&&selections.every(selection=>!(selection.primary&&this._getDropdownByCell(selection.primary.unitId,selection.primary.sheetId,selection.primary.actualRow,selection.primary.actualColumn)))&&this.hideDropdown()}))}showDropdown(param,closeOnOutSide=!0){const{location}=param,{row,col,unitId,subUnitId}=location;if(this._currentPopup&&this._currentPopup.dispose(),this._zenVisible)return;this._activeDropdown=param,this._activeDropdown$.next(this._activeDropdown);const currentRender=this._renderManagerService.getRenderById(core.DOCS_FORMULA_BAR_EDITOR_UNIT_ID_KEY),popupDisposable=this._canvasPopupManagerService.attachPopupToCell(row,col,{componentKey:DROP_DOWN_KEY,onClickOutside:__name(()=>{closeOnOutSide&&this.hideDropdown()},"onClickOutside"),offset:[0,3],excludeOutside:[currentRender==null?void 0:currentRender.engine.getCanvasElement()].filter(Boolean)},unitId,subUnitId);if(!popupDisposable)throw new Error("[DataValidationDropdownManagerService]: cannot show dropdown!");const disposableCollection=new core.DisposableCollection;disposableCollection.add(popupDisposable),disposableCollection.add({dispose:__name(()=>{var _a2,_b2;(_b2=(_a2=this._activeDropdown)==null?void 0:_a2.onHide)==null||_b2.call(_a2)},"dispose")}),this._currentPopup=disposableCollection}hideDropdown(){this._activeDropdown&&(this._currentPopup&&this._currentPopup.dispose(),this._currentPopup=null,this._activeDropdown=null,this._activeDropdown$.next(null))}showDataValidationDropdown(unitId,subUnitId,row,col,onHide){const workbook=this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_SHEET);if(!workbook)return;const worksheet=workbook.getSheetBySheetId(subUnitId);if(!worksheet)return;const rule=this._dataValidationModel.getRuleByLocation(workbook.getUnitId(),worksheet.getSheetId(),row,col);if(!rule)return;const validator=this._dataValidatorRegistryService.getValidatorItem(rule.type);if(!validator||!validator.dropdown){this.hideDropdown();return}this.showDropdown({location:{workbook,worksheet,row,col,unitId,subUnitId},componentKey:validator.dropdown,onHide})}},__name(_h,"DataValidationDropdownManagerService"),_h);DataValidationDropdownManagerService=__decorateClass$e([__decorateParam$e(0,core.Inject(sheetsUi.SheetCanvasPopManagerService)),__decorateParam$e(1,core.IUniverInstanceService),__decorateParam$e(2,core.Inject(dataValidation.DataValidatorRegistryService)),__decorateParam$e(3,ui.IZenZoneService),__decorateParam$e(4,engineRender.IRenderManagerService),__decorateParam$e(5,core.Inject(exports2.SheetDataValidationModel)),__decorateParam$e(6,core.Inject(sheets.SheetsSelectionsService))],DataValidationDropdownManagerService);var __defProp$d=Object.defineProperty,__getOwnPropDesc$d=Object.getOwnPropertyDescriptor,__decorateClass$d=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$d(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$d(target,key,result),result},"__decorateClass$d"),__decorateParam$d=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$d");let DataValidationPanelService=(_i=class extends core.Disposable{constructor(_univerInstanceService,_sidebarService){super();__publicField(this,"_open$",new rxjs.BehaviorSubject(!1));__publicField(this,"open$",this._open$.pipe(rxjs.distinctUntilChanged()));__publicField(this,"_activeRule");__publicField(this,"_activeRule$",new rxjs.BehaviorSubject(void 0));__publicField(this,"activeRule$",this._activeRule$.asObservable());__publicField(this,"_closeDisposable",null);this._univerInstanceService=_univerInstanceService,this._sidebarService=_sidebarService,this.disposeWithMe(this._univerInstanceService.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SHEET).pipe(rxjs.filter(sheet=>!sheet)).subscribe(()=>{this.close()}))}get activeRule(){return this._activeRule}get isOpen(){return this._open$.getValue()}dispose(){var _a2;super.dispose(),this._open$.next(!1),this._open$.complete(),this._activeRule$.complete(),(_a2=this._closeDisposable)==null||_a2.dispose()}open(){this._open$.next(!0)}close(){var _a2;this._open$.next(!1),(_a2=this._closeDisposable)==null||_a2.dispose()}setCloseDisposable(disposable){this._closeDisposable=core.toDisposable(()=>{disposable.dispose(),this._closeDisposable=null})}setActiveRule(rule){this._activeRule=rule,this._activeRule$.next(rule)}},__name(_i,"DataValidationPanelService"),_i);DataValidationPanelService=__decorateClass$d([__decorateParam$d(0,core.IUniverInstanceService),__decorateParam$d(1,ui.ISidebarService)],DataValidationPanelService);const DATA_VALIDATION_PANEL="DataValidationPanel",OpenValidationPanelOperation={id:"data-validation.operation.open-validation-panel",type:core.CommandType.OPERATION,handler(accessor,params){if(!params)return!1;const{ruleId,isAdd}=params,dataValidationPanelService=accessor.get(DataValidationPanelService),dataValidationModel=accessor.get(dataValidation.DataValidationModel),univerInstanceService=accessor.get(core.IUniverInstanceService),sidebarService=accessor.get(ui.ISidebarService),target=sheets.getSheetCommandTarget(univerInstanceService);if(!target)return!1;const{unitId,subUnitId}=target,rule=ruleId?dataValidationModel.getRuleById(unitId,subUnitId,ruleId):void 0;dataValidationPanelService.open(),dataValidationPanelService.setActiveRule(rule&&{unitId,subUnitId,rule});const disposable=sidebarService.open({header:{title:isAdd?"dataValidation.panel.addTitle":"dataValidation.panel.title"},children:{label:DATA_VALIDATION_PANEL},width:312,onClose:__name(()=>dataValidationPanelService.close(),"onClose")});return dataValidationPanelService.setCloseDisposable(disposable),!0}},CloseValidationPanelOperation={id:"data-validation.operation.close-validation-panel",type:core.CommandType.OPERATION,handler(accessor){return accessor.get(DataValidationPanelService).close(),!0}},ToggleValidationPanelOperation={id:"data-validation.operation.toggle-validation-panel",type:core.CommandType.OPERATION,handler(accessor){const commandService=accessor.get(core.ICommandService),dataValidationPanelService=accessor.get(DataValidationPanelService);return dataValidationPanelService.open(),dataValidationPanelService.isOpen?commandService.executeCommand(CloseValidationPanelOperation.id):commandService.executeCommand(OpenValidationPanelOperation.id),!0}},ShowDataValidationDropdown={type:core.CommandType.OPERATION,id:"sheet.operation.show-data-validation-dropdown",handler(accessor,params){if(!params)return!1;const dataValidationDropdownManagerService=accessor.get(DataValidationDropdownManagerService),{unitId,subUnitId,row,column}=params,activeDropdown=dataValidationDropdownManagerService.activeDropdown,currLoc=activeDropdown==null?void 0:activeDropdown.location;return currLoc&&currLoc.unitId===unitId&&currLoc.subUnitId===subUnitId&&currLoc.row===row&&currLoc.col===column||dataValidationDropdownManagerService.showDataValidationDropdown(unitId,subUnitId,row,column),!0}},HideDataValidationDropdown={type:core.CommandType.OPERATION,id:"sheet.operation.hide-data-validation-dropdown",handler(accessor,params){return params?(accessor.get(DataValidationDropdownManagerService).hideDropdown(),!0):!1}},PLUGIN_CONFIG_KEY="sheets-data-validation.config",defaultPluginConfig={},styles$4={dvListDropdown:"univer-dv-list-dropdown",dvListDropdownTitle:"univer-dv-list-dropdown-title",dvListDropdownList:"univer-dv-list-dropdown-list",dvListDropdownListContainer:"univer-dv-list-dropdown-list-container",dvListDropdownSelectedIcon:"univer-dv-list-dropdown-selected-icon",dvListDropdownItemContainer:"univer-dv-list-dropdown-item-container",dvListDropdownItem:"univer-dv-list-dropdown-item",dvListDropdownSplit:"univer-dv-list-dropdown-split",dvListDropdownEdit:"univer-dv-list-dropdown-edit"},SelectList=__name(props=>{var _a2,_b2;const{value,onChange,multiple,options,title,onEdit,style,filter,location}=props,localeService=core.useDependency(core.LocaleService),configService=core.useDependency(core.IConfigService),lowerFilter=filter==null?void 0:filter.toLowerCase(),{row,col,unitId,subUnitId}=location,filteredOptions=options.filter(item=>lowerFilter?item.label.toLowerCase().includes(lowerFilter):!0),showEditOnDropdown=(_b2=(_a2=configService.getConfig(PLUGIN_CONFIG_KEY))==null?void 0:_a2.showEditOnDropdown)!=null?_b2:!0,sheetPermissionInterceptorBaseController=core.useDependency(sheetsUi.SheetPermissionInterceptorBaseController),hasPermission=React.useMemo(()=>sheetPermissionInterceptorBaseController.permissionCheckWithRanges({workbookTypes:[sheets.WorkbookEditablePermission],rangeTypes:[sheets.RangeProtectionPermissionEditPoint],worksheetTypes:[sheets.WorksheetEditPermission]},[{startColumn:col,startRow:row,endColumn:col,endRow:row}],unitId,subUnitId),[sheetPermissionInterceptorBaseController,col,row,unitId,subUnitId]);return jsxRuntimeExports.jsxs("div",{className:styles$4.dvListDropdown,style,children:[jsxRuntimeExports.jsx("div",{className:styles$4.dvListDropdownTitle,children:title}),jsxRuntimeExports.jsx("div",{className:styles$4.dvListDropdownList,children:jsxRuntimeExports.jsx(design.Scrollbar,{children:jsxRuntimeExports.jsx("div",{className:styles$4.dvListDropdownListContainer,children:filteredOptions.map((item,i)=>{const selected=value.indexOf(item.value)>-1,handleClick=__name(()=>{let set;selected?set=new Set(value.filter(sub=>sub!==item.value)):set=new Set(multiple?[...value,item.value]:[item.value]);const newValue=[];options.forEach(opt=>{set.has(opt.value)&&newValue.push(opt.value)}),onChange(newValue)},"handleClick"),index=item.label.toLocaleLowerCase().indexOf(lowerFilter);return jsxRuntimeExports.jsxs("div",{className:styles$4.dvListDropdownItemContainer,onClick:handleClick,children:[jsxRuntimeExports.jsx("div",{className:styles$4.dvListDropdownItem,style:{background:item.color||DROP_DOWN_DEFAULT_COLOR},children:lowerFilter&&item.label.toLowerCase().includes(lowerFilter)?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("span",{children:item.label.substring(0,index)}),jsxRuntimeExports.jsx("span",{style:{fontWeight:"bold"},children:item.label.substring(index,index+lowerFilter.length)}),jsxRuntimeExports.jsx("span",{children:item.label.substring(index+lowerFilter.length)})]}):item.label}),jsxRuntimeExports.jsx("div",{className:styles$4.dvListDropdownSelectedIcon,children:selected?jsxRuntimeExports.jsx(CheckMarkSingle,{}):null})]},i)})})},filter)}),showEditOnDropdown&&hasPermission?jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx("div",{className:styles$4.dvListDropdownSplit}),jsxRuntimeExports.jsx("div",{className:styles$4.dvListDropdownEdit,children:jsxRuntimeExports.jsx("a",{onClick:onEdit,children:localeService.t("dataValidation.list.edit")})})]}):null]})},"SelectList");function ListDropDown(props){var _a2,_b2;const{location,hideFn}=props,{worksheet,row,col,unitId,subUnitId}=location,dataValidationModel=core.useDependency(dataValidation.DataValidationModel),[editingText,setEditingText]=React.useState(""),commandService=core.useDependency(core.ICommandService),localeService=core.useDependency(core.LocaleService),[localValue,setLocalValue]=React.useState(""),editorBridgeService=core.useDependency(sheetsUi.IEditorBridgeService),instanceService=core.useDependency(core.IUniverInstanceService),ruleChange$=React.useMemo(()=>dataValidationModel.ruleChange$.pipe(rxjs.debounceTime(16)),[]);ui.useObservable(ruleChange$);const anchorRect=design.RectPopup.useContext(),cellWidth=anchorRect.right-anchorRect.left;if(React.useEffect(()=>{const dispose=commandService.onCommandExecuted(command=>{var _a3,_b3;if(command.id===docs.RichTextEditingMutation.id){const params=command.params,{unitId:unitId2}=params,unit=instanceService.getUnit(unitId2,core.UniverInstanceType.UNIVER_DOC);if(!unit)return;const text=core.BuildTextUtils.transform.getPlainText((_b3=(_a3=unit.getSnapshot().body)==null?void 0:_a3.dataStream)!=null?_b3:"");setEditingText(text)}});return()=>{dispose.dispose()}},[commandService,instanceService]),!worksheet)return null;const cellData=worksheet.getCell(row,col),rule=(_a2=cellData==null?void 0:cellData.dataValidation)==null?void 0:_a2.rule,validator=(_b2=cellData==null?void 0:cellData.dataValidation)==null?void 0:_b2.validator,showColor=(rule==null?void 0:rule.renderMode)===core.DataValidationRenderMode.CUSTOM||(rule==null?void 0:rule.renderMode)===void 0;if(!cellData||!rule||!validator||validator.id.indexOf(core.DataValidationType.LIST)!==0)return;const multiple=rule.type===core.DataValidationType.LIST_MULTIPLE,list=validator.getListWithColor(rule,unitId,subUnitId),cellStr=localValue||getDataValidationCellValue(worksheet.getCellRaw(row,col)),value=deserializeListOptions(cellStr),handleEdit=__name(()=>{commandService.executeCommand(OpenValidationPanelOperation.id,{ruleId:rule.uid}),hideFn()},"handleEdit"),options=list.map(item=>({label:item.label,value:item.label,color:showColor?item.color:"transparent"}));return jsxRuntimeExports.jsx(SelectList,{style:{minWidth:cellWidth,maxWidth:Math.max(cellWidth,200)},title:multiple?localeService.t("dataValidation.listMultiple.dropdown"):localeService.t("dataValidation.list.dropdown"),value,multiple,onChange:__name(newValue=>{const str=serializeListOptions(newValue),params={unitId,subUnitId,range:{startColumn:col,endColumn:col,startRow:row,endRow:row},value:{v:str,p:null,f:null,si:null}};editorBridgeService.isVisible()&&editorBridgeService.changeVisible({visible:!1,keycode:ui.KeyCode.ESC,eventType:engineRender.DeviceInputEventType.Keyboard,unitId}),commandService.executeCommand(sheets.SetRangeValuesCommand.id,params),setLocalValue(str),multiple||hideFn()},"onChange"),options,onEdit:handleEdit,filter:editingText,location})}__name(ListDropDown,"ListDropDown");const styles$3={dataValidationOptionsButton:"univer-data-validation-options-button",dataValidationOptionsButtonIcon:"univer-data-validation-options-button-icon"};function DataValidationOptions(props){var _a2;const localeService=core.useDependency(core.LocaleService),componentManager=core.useDependency(ui.ComponentManager),{value,onChange,extraComponent}=props,[show,setShow]=React.useState(!1),ExtraOptions=extraComponent?componentManager.get(extraComponent):null;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsxs("div",{className:styles$3.dataValidationOptionsButton,onClick:__name(()=>setShow(!show),"onClick"),children:[localeService.t("dataValidation.panel.options"),show?jsxRuntimeExports.jsx(MoreUpSingle,{className:styles$3.dataValidationOptionsButtonIcon}):jsxRuntimeExports.jsx(MoreDownSingle,{className:styles$3.dataValidationOptionsButtonIcon})]}),show&&jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[ExtraOptions?jsxRuntimeExports.jsx(ExtraOptions,{value,onChange}):null,jsxRuntimeExports.jsx(design.FormLayout,{label:localeService.t("dataValidation.panel.invalid"),children:jsxRuntimeExports.jsxs(design.RadioGroup,{value:`${(_a2=value.errorStyle)!=null?_a2:core.DataValidationErrorStyle.WARNING}`,onChange:__name(errorStyle=>onChange({...value,errorStyle:+errorStyle}),"onChange"),children:[jsxRuntimeExports.jsx(design.Radio,{value:`${core.DataValidationErrorStyle.WARNING}`,children:localeService.t("dataValidation.panel.showWarning")}),jsxRuntimeExports.jsx(design.Radio,{value:`${core.DataValidationErrorStyle.STOP}`,children:localeService.t("dataValidation.panel.rejectInput")})]})}),jsxRuntimeExports.jsx(design.FormLayout,{label:localeService.t("dataValidation.panel.messageInfo"),children:jsxRuntimeExports.jsx(design.Checkbox,{checked:value.showErrorMessage,onChange:__name(()=>onChange({...value,showErrorMessage:!value.showErrorMessage}),"onChange"),children:localeService.t("dataValidation.panel.showInfo")})}),value.showErrorMessage?jsxRuntimeExports.jsx(design.FormLayout,{children:jsxRuntimeExports.jsx(design.Input,{value:value.error,onChange:__name(error=>onChange({...value,error}),"onChange")})}):null]})]})}__name(DataValidationOptions,"DataValidationOptions");const styles$2={dataValidationDetail:"univer-data-validation-detail",dataValidationDetailFormItem:"univer-data-validation-detail-form-item",dataValidationDetailButtons:"univer-data-validation-detail-buttons",dataValidationDetailButton:"univer-data-validation-detail-button"},debounceExecuteFactory=__name(commandService=>core.debounce(async(id,params,options,callback)=>{const res=await commandService.executeCommand(id,params,options);callback==null||callback(res)},1e3),"debounceExecuteFactory");function DataValidationDetail(){const[key,setKey]=React.useState(0),dataValidationPanelService=core.useDependency(DataValidationPanelService),activeRuleInfo=ui.useObservable(dataValidationPanelService.activeRule$,dataValidationPanelService.activeRule),{unitId,subUnitId,rule}=activeRuleInfo||{},ruleId=rule.uid,validatorService=core.useDependency(dataValidation.DataValidatorRegistryService),componentManager=core.useDependency(ui.ComponentManager),commandService=core.useDependency(core.ICommandService),dataValidationModel=core.useDependency(dataValidation.DataValidationModel),localeService=core.useDependency(core.LocaleService),[localRule,setLocalRule]=React.useState(rule),validator=validatorService.getValidatorItem(localRule.type),[showError,setShowError]=React.useState(!1),validators=validatorService.getValidatorsByScope(dataValidation.DataValidatorRegistryScope.SHEET),[localRanges,setLocalRanges]=React.useState(()=>localRule.ranges.map(i=>({unitId:"",sheetId:"",range:i}))),debounceExecute=React.useMemo(()=>debounceExecuteFactory(commandService),[commandService]);if(React.useEffect(()=>{commandService.onCommandExecuted(commandInfo=>{(commandInfo.id===core.UndoCommand.id||commandInfo.id===core.RedoCommand.id)&&setTimeout(()=>{const activeRule=dataValidationModel.getRuleById(unitId,subUnitId,ruleId);setKey(k2=>k2+1),activeRule&&(setLocalRule(activeRule),setLocalRanges(activeRule.ranges.map(i=>({unitId:"",sheetId:"",range:i}))))},20)})},[commandService,dataValidationModel,ruleId,subUnitId,unitId]),!validator)return null;const operators=validator.operators,operatorNames=validator.operatorNames,isTwoFormula=localRule.operator?dataValidation.TWO_FORMULA_OPERATOR_COUNT.includes(localRule.operator):!1,handleOk=__name(()=>{localRule.ranges.length&&(validator.validatorFormula(localRule,unitId,subUnitId).success?dataValidationPanelService.setActiveRule(null):setShowError(!0))},"handleOk"),handleUpdateRuleRanges=ui.useEvent(unitRanges=>{if(core.isUnitRangesEqual(unitRanges,localRanges))return;setLocalRanges(unitRanges);const ranges=unitRanges.filter(i=>(!i.unitId||i.unitId===unitId)&&(!i.sheetId||i.sheetId===subUnitId)).map(i=>i.range);if(setLocalRule({...localRule,ranges}),ranges.length===0)return;const params={unitId,subUnitId,ruleId,ranges};debounceExecute(UpdateSheetDataValidationRangeCommand.id,params)}),handleUpdateRuleSetting=__name(setting=>{if(core.shallowEqual(setting,dataValidation.getRuleSetting(localRule)))return;setLocalRule({...localRule,...setting});const params={unitId,subUnitId,ruleId,setting};debounceExecute(UpdateSheetDataValidationSettingCommand.id,params,void 0)},"handleUpdateRuleSetting"),handleDelete=__name(async()=>{await commandService.executeCommand(RemoveSheetDataValidationCommand.id,{ruleId,unitId,subUnitId}),dataValidationPanelService.setActiveRule(null)},"handleDelete"),baseRule={type:localRule.type,operator:localRule.operator,formula1:localRule.formula1,formula2:localRule.formula2,allowBlank:localRule.allowBlank},handleChangeType=__name(newType=>{const validator2=validatorService.getValidatorItem(newType);if(!validator2)return;const operators2=validator2.operators,rule2=dataValidationModel.getRuleById(unitId,subUnitId,ruleId),newRule=newType===(rule2==null?void 0:rule2.type)||newType.includes("list")&&(rule2!=null&&rule2.type.includes("list"))?{...rule2,type:newType}:{...localRule,type:newType,operator:operators2[0],formula1:void 0,formula2:void 0};setLocalRule(newRule),commandService.executeCommand(UpdateSheetDataValidationSettingCommand.id,{unitId,subUnitId,ruleId:localRule.uid,setting:dataValidation.getRuleSetting(newRule)})},"handleChangeType"),FormulaInput=componentManager.get(validator.formulaInput),rangeStr=React.useMemo(()=>localRanges.map(i=>engineFormula.serializeRange(i.range)).join(","),[]),options=dataValidation.getRuleOptions(localRule),handleUpdateRuleOptions=__name(newOptions=>{core.shallowEqual(newOptions,dataValidation.getRuleOptions(localRule))||(setLocalRule({...localRule,...newOptions}),debounceExecute(UpdateSheetDataValidationOptionsCommand.id,{unitId,subUnitId,ruleId,options:newOptions}))},"handleUpdateRuleOptions");return jsxRuntimeExports.jsxs("div",{className:styles$2.dataValidationDetail,children:[jsxRuntimeExports.jsx(design.FormLayout,{label:localeService.t("dataValidation.panel.range"),error:localRule.ranges.length?"":localeService.t("dataValidation.panel.rangeError"),children:jsxRuntimeExports.jsx(docsUi.RangeSelector,{className:styles$2.dataValidationDetailFormItem,value:rangeStr,id:core.createInternalEditorID("data-validation-detail"),openForSheetUnitId:unitId,openForSheetSubUnitId:subUnitId,onChange:__name(newRange=>{newRange.some(i=>!core.isValidRange(i.range)||i.range.endColumn<i.range.startColumn||i.range.endRow<i.range.startRow)||handleUpdateRuleRanges(newRange)},"onChange")},key)}),jsxRuntimeExports.jsx(design.FormLayout,{label:localeService.t("dataValidation.panel.type"),children:jsxRuntimeExports.jsx(design.Select,{options:validators==null?void 0:validators.map(validator2=>({label:localeService.t(validator2.title),value:validator2.id})),value:localRule.type,onChange:handleChangeType,className:styles$2.dataValidationDetailFormItem})}),operators!=null&&operators.length?jsxRuntimeExports.jsx(design.FormLayout,{label:localeService.t("dataValidation.panel.operator"),children:jsxRuntimeExports.jsx(design.Select,{options:operators.map((op,i)=>({value:`${op}`,label:operatorNames[i]})),value:`${localRule.operator}`,onChange:__name(operator=>{handleUpdateRuleSetting({...baseRule,operator})},"onChange"),className:styles$2.dataValidationDetailFormItem})}):null,FormulaInput?jsxRuntimeExports.jsx(FormulaInput,{isTwoFormula,value:{formula1:localRule.formula1,formula2:localRule.formula2},onChange:__name(value=>{handleUpdateRuleSetting({...baseRule,...value})},"onChange"),showError,validResult:validator.validatorFormula(localRule,unitId,subUnitId),unitId,subUnitId,ruleId},key+localRule.type):null,jsxRuntimeExports.jsx(DataValidationOptions,{value:options,onChange:handleUpdateRuleOptions,extraComponent:validator.optionsInput}),jsxRuntimeExports.jsxs("div",{className:styles$2.dataValidationDetailButtons,children:[jsxRuntimeExports.jsx(design.Button,{className:styles$2.dataValidationDetailButton,onClick:handleDelete,children:localeService.t("dataValidation.panel.removeRule")}),jsxRuntimeExports.jsx(design.Button,{className:styles$2.dataValidationDetailButton,type:"primary",onClick:handleOk,children:localeService.t("dataValidation.panel.done")})]})]})}__name(DataValidationDetail,"DataValidationDetail");const styles$1={dataValidationItemContainer:"univer-data-validation-item-container",dataValidationItemTitle:"univer-data-validation-item-title",dataValidationItemContent:"univer-data-validation-item-content",dataValidationItemIcon:"univer-data-validation-item-icon"},DataValidationItem=__name(props=>{const{rule,onClick,unitId,subUnitId,disable}=props,validatorRegistry=core.useDependency(dataValidation.DataValidatorRegistryService),commandService=core.useDependency(core.ICommandService),markSelectionService=core.useDependency(sheetsUi.IMarkSelectionService),validator=validatorRegistry.getValidatorItem(rule.type),ids=React.useRef(),[isHover,setIsHover]=React.useState(!1),handleDelete=__name(e=>{commandService.executeCommand(RemoveSheetDataValidationCommand.id,{ruleId:rule.uid,unitId,subUnitId}),e.stopPropagation()},"handleDelete");return React.useEffect(()=>()=>{var _a2;ids.current&&((_a2=ids.current)==null||_a2.forEach(id=>{id&&markSelectionService.removeShape(id)}))},[markSelectionService]),jsxRuntimeExports.jsxs("div",{className:styles$1.dataValidationItemContainer,onClick,onMouseEnter:__name(()=>{disable||(setIsHover(!0),ids.current=rule.ranges.map(range=>markSelectionService.addShape({range,style:{hasAutoFill:!1,fill:"rgba(73, 184, 17, 0.05)",strokeWidth:1,stroke:"#49B811",widgets:{}},primary:{startColumn:range.startColumn,endColumn:range.endColumn,startRow:range.startRow,endRow:range.endRow,actualRow:range.startRow,actualColumn:range.startColumn,isMerged:!1,isMergedMainCell:!1}})))},"onMouseEnter"),onMouseLeave:__name(()=>{var _a2;setIsHover(!1),(_a2=ids.current)==null||_a2.forEach(id=>{id&&markSelectionService.removeShape(id)}),ids.current=void 0},"onMouseLeave"),children:[jsxRuntimeExports.jsx("div",{className:styles$1.dataValidationItemTitle,children:validator==null?void 0:validator.generateRuleName(rule)}),jsxRuntimeExports.jsx("div",{className:styles$1.dataValidationItemContent,children:rule.ranges.map(range=>engineFormula.serializeRange(range)).join(",")}),isHover?jsxRuntimeExports.jsx("div",{className:styles$1.dataValidationItemIcon,onClick:handleDelete,children:jsxRuntimeExports.jsx(DeleteSingle,{})}):null]})},"DataValidationItem"),styles={dataValidationList:"univer-data-validation-list",dataValidationListButtons:"univer-data-validation-list-buttons",dataValidationListButton:"univer-data-validation-list-button"};function DataValidationList(){const univerInstanceService=core.useDependency(core.IUniverInstanceService),workbook=ui.useObservable(()=>univerInstanceService.getCurrentTypeOfUnit$(core.UniverInstanceType.UNIVER_SHEET),void 0,void 0,[]);return workbook?jsxRuntimeExports.jsx(DataValidationListWithWorkbook,{workbook}):null}__name(DataValidationList,"DataValidationList");function DataValidationListWithWorkbook(props){const sheetDataValidationModel=core.useDependency(exports2.SheetDataValidationModel),univerInstanceService=core.useDependency(core.IUniverInstanceService),commandService=core.useDependency(core.ICommandService),injector=core.useDependency(core.Injector),dataValidationPanelService=core.useDependency(DataValidationPanelService),localeService=core.useDependency(core.LocaleService),[rules,setRules]=React.useState([]),{workbook}=props,worksheet=ui.useObservable(workbook.activeSheet$,void 0,!0),unitId=workbook.getUnitId(),subUnitId=worksheet==null?void 0:worksheet.getSheetId();React.useEffect(()=>{setRules(sheetDataValidationModel.getRules(unitId,subUnitId));const subscription=sheetDataValidationModel.ruleChange$.subscribe(change=>{change.unitId===unitId&&change.subUnitId===subUnitId&&setRules(sheetDataValidationModel.getRules(unitId,subUnitId))});return()=>{subscription.unsubscribe()}},[unitId,subUnitId,sheetDataValidationModel]);const handleAddRule=__name(async()=>{const rule=createDefaultNewRule(injector),params={unitId,subUnitId,rule};await commandService.executeCommand(AddSheetDataValidationCommand.id,params),dataValidationPanelService.setActiveRule({unitId,subUnitId,rule})},"handleAddRule"),handleRemoveAll=__name(()=>{commandService.executeCommand(RemoveSheetAllDataValidationCommand.id,{unitId,subUnitId})},"handleRemoveAll"),rulesByPermissionCheck=__name(rules2=>{const workbook2=univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET),worksheet2=workbook2.getActiveSheet(),unitId2=workbook2.getUnitId(),subUnitId2=worksheet2.getSheetId();return rules2.map(rule=>sheets.checkRangesEditablePermission(injector,unitId2,subUnitId2,rule.ranges)?{...rule}:{...rule,disable:!0})},"getDvRulesByPermissionCorrect")(rules),hasDisableRule=rulesByPermissionCheck==null?void 0:rulesByPermissionCheck.some(rule=>rule.disable);return jsxRuntimeExports.jsxs("div",{className:styles.dataValidationList,children:[rulesByPermissionCheck==null?void 0:rulesByPermissionCheck.map(rule=>{var _a2;return jsxRuntimeExports.jsx(DataValidationItem,{unitId,subUnitId,onClick:__name(()=>{rule.disable||dataValidationPanelService.setActiveRule({unitId,subUnitId,rule})},"onClick"),rule,disable:(_a2=rule.disable)!=null?_a2:!1},rule.uid)}),jsxRuntimeExports.jsxs("div",{className:styles.dataValidationListButtons,children:[rules.length&&!hasDisableRule?jsxRuntimeExports.jsx(design.Button,{className:styles.dataValidationListButton,onClick:handleRemoveAll,children:localeService.t("dataValidation.panel.removeAll")}):null,jsxRuntimeExports.jsx(design.Button,{className:styles.dataValidationListButton,type:"primary",onClick:handleAddRule,children:localeService.t("dataValidation.panel.add")})]})]})}__name(DataValidationListWithWorkbook,"DataValidationListWithWorkbook");const DataValidationPanel=__name(()=>{const dataValidationPanelService=core.useDependency(DataValidationPanelService),activeRule=ui.useObservable(dataValidationPanelService.activeRule$,dataValidationPanelService.activeRule);return activeRule?jsxRuntimeExports.jsx(DataValidationDetail,{},activeRule.rule.uid):jsxRuntimeExports.jsx(DataValidationList,{})},"DataValidationPanel"),LIST_DROPDOWN_KEY="data-validation.list.dropdown",DATE_DROPDOWN_KEY="data-validation.date.dropdown",DATE_SHOW_TIME_OPTION="DATE_SHOW_TIME_OPTION";function DateShowTimeOption(props){var _a2;const{value,onChange}=props,localeService=core.useDependency(core.LocaleService);return jsxRuntimeExports.jsx(design.FormLayout,{children:jsxRuntimeExports.jsx(design.Checkbox,{checked:(_a2=value.bizInfo)==null?void 0:_a2.showTime,onChange:__name(showTime=>{onChange({...value,bizInfo:{...value.bizInfo,showTime}})},"onChange"),children:localeService.t("dataValidation.showTime.label")})})}__name(DateShowTimeOption,"DateShowTimeOption"),DateShowTimeOption.componentKey=DATE_SHOW_TIME_OPTION;const FORMULA1$1="{FORMULA1}",FORMULA2$1="{FORMULA2}",transformDate2SerialNumber=__name(value=>{var _a2,_b2;if(value==null||typeof value=="boolean")return;if(typeof value=="number"||!Number.isNaN(+value))return+value;const v=(_a2=core.numfmt.parseDate(value))==null?void 0:_a2.v;return core.Tools.isDefine(v)?v:(_b2=core.numfmt.parseDate(dayjs(value).format("YYYY-MM-DD HH:mm:ss")))==null?void 0:_b2.v},"transformDate2SerialNumber"),_DateValidator=class _DateValidator extends dataValidation.BaseDataValidator{constructor(){super(...arguments);__publicField(this,"id",core.DataValidationType.DATE);__publicField(this,"title","dataValidation.date.title");__publicField(this,"operators",[core.DataValidationOperator.BETWEEN,core.DataValidationOperator.EQUAL,core.DataValidationOperator.GREATER_THAN,core.DataValidationOperator.GREATER_THAN_OR_EQUAL,core.DataValidationOperator.LESS_THAN,core.DataValidationOperator.LESS_THAN_OR_EQUAL,core.DataValidationOperator.NOT_BETWEEN,core.DataValidationOperator.NOT_EQUAL]);__publicField(this,"scopes",["sheet"]);__publicField(this,"formulaInput",BASE_FORMULA_INPUT_NAME);__publicField(this,"optionsInput",DateShowTimeOption.componentKey);__publicField(this,"dropdown",DATE_DROPDOWN_KEY);__publicField(this,"_formulaService",this.injector.get(exports2.DataValidationFormulaService))}async parseFormula(rule,unitId,subUnitId){var _a2,_b2;const results=await this._formulaService.getRuleFormulaResult(unitId,subUnitId,rule.uid),{formula1,formula2}=rule;return{formula1:transformDate2SerialNumber(core.isFormulaString(formula1)?getFormulaResult((_a2=results==null?void 0:results[0])==null?void 0:_a2.result):formula1),formula2:transformDate2SerialNumber(core.isFormulaString(formula2)?getFormulaResult((_b2=results==null?void 0:results[1])==null?void 0:_b2.result):formula2)}}parseFormulaSync(rule,unitId,subUnitId){var _a2,_b2;const results=this._formulaService.getRuleFormulaResultSync(unitId,subUnitId,rule.uid),{formula1,formula2}=rule;return{formula1:transformDate2SerialNumber(core.isFormulaString(formula1)?getFormulaResult((_a2=results==null?void 0:results[0])==null?void 0:_a2.result):formula1),formula2:transformDate2SerialNumber(core.isFormulaString(formula2)?getFormulaResult((_b2=results==null?void 0:results[1])==null?void 0:_b2.result):formula2)}}async isValidType(info){const{interceptValue,value}=info;return typeof value=="number"&&typeof interceptValue=="string"?!0:typeof interceptValue=="string"?!!core.numfmt.parseDate(interceptValue):!1}_validatorSingleFormula(formula){return!core.Tools.isBlank(formula)&&(core.isFormulaString(formula)||!Number.isNaN(+formula)||!!(formula&&core.numfmt.parseDate(formula)))}validatorFormula(rule,unitId,subUnitId){const operator=rule.operator;if(!operator)return{success:!1};const formula1Success=this._validatorSingleFormula(rule.formula1),errorMsg=this.localeService.t("dataValidation.validFail.date");if(TWO_FORMULA_OPERATOR_COUNT.includes(operator)){const formula2Success=this._validatorSingleFormula(rule.formula2);return{success:formula1Success&&formula2Success,formula1:formula1Success?void 0:errorMsg,formula2:formula2Success?void 0:errorMsg}}return{success:formula1Success,formula1:formula1Success?void 0:errorMsg}}normalizeFormula(rule,_unitId,_subUnitId){const{formula1,formula2,bizInfo}=rule,normlizeSingleFormula=__name(formula=>{var _a2;if(!formula)return formula;let date;if(!Number.isNaN(+formula))date=core.numfmt.dateFromSerial(+formula);else{const res=(_a2=core.numfmt.parseDate(formula))==null?void 0:_a2.v;if(res==null)return"";date=core.numfmt.dateFromSerial(res)}return dayjs(`${date[0]}/${date[1]}/${date[2]} ${date[3]}:${date[4]}:${date[5]}`).format(bizInfo!=null&&bizInfo.showTime?"YYYY-MM-DD HH:mm:ss":"YYYY-MM-DD")},"normlizeSingleFormula");return{formula1:core.isFormulaString(formula1)?formula1:normlizeSingleFormula(`${formula1}`),formula2:core.isFormulaString(formula2)?formula2:normlizeSingleFormula(`${formula2}`)}}transform(cellInfo,_formula,_rule){const{value}=cellInfo;return{...cellInfo,value:transformDate2SerialNumber(value)}}async validatorIsEqual(cellInfo,formula,rule){const{formula1}=formula,{value:cellValue}=cellInfo;return Number.isNaN(formula1)?!0:cellValue===formula1}async validatorIsNotEqual(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value!==formula1}async validatorIsBetween(cellInfo,formula,_rule){const{formula1,formula2}=formula;if(Number.isNaN(formula1)||Number.isNaN(formula2))return!0;const start=Math.min(formula1,formula2),end=Math.max(formula1,formula2);return cellInfo.value>=start&&cellInfo.value<=end}async validatorIsNotBetween(cellInfo,formula,_rule){const{formula1,formula2}=formula;if(Number.isNaN(formula1)||Number.isNaN(formula2))return!0;const start=Math.min(formula1,formula2),end=Math.max(formula1,formula2);return cellInfo.value<start||cellInfo.value>end}async validatorIsGreaterThan(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value>formula1}async validatorIsGreaterThanOrEqual(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value>=formula1}async validatorIsLessThan(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value<formula1}async validatorIsLessThanOrEqual(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value<=formula1}get operatorNames(){return this.operators.map(operator=>this.localeService.t(DateOperatorNameMap[operator]))}generateRuleName(rule){var _a2,_b2;if(!rule.operator)return this.titleStr;const ruleName=this.localeService.t(DateOperatorTitleMap[rule.operator]).replace(FORMULA1$1,(_a2=rule.formula1)!=null?_a2:"").replace(FORMULA2$1,(_b2=rule.formula2)!=null?_b2:"");return`${this.titleStr} ${ruleName}`}generateRuleErrorMessage(rule){var _a2,_b2;return rule.operator?`${this.localeService.t(DateOperatorErrorTitleMap[rule.operator]).replace(FORMULA1$1,(_a2=rule.formula1)!=null?_a2:"").replace(FORMULA2$1,(_b2=rule.formula2)!=null?_b2:"")}`:this.titleStr}};__name(_DateValidator,"DateValidator");let DateValidator=_DateValidator;function getCellValueNumber(cellValue){let str=cellValue;return typeof cellValue=="string"?((cellValue.startsWith("¥")||cellValue.startsWith("$"))&&(str=cellValue.slice(1)),+str):+cellValue}__name(getCellValueNumber,"getCellValueNumber");const _DecimalValidator=class _DecimalValidator extends dataValidation.BaseDataValidator{constructor(){super(...arguments);__publicField(this,"_formulaService",this.injector.get(exports2.DataValidationFormulaService));__publicField(this,"id",core.DataValidationType.DECIMAL);__publicField(this,"title","dataValidation.decimal.title");__publicField(this,"operators",[core.DataValidationOperator.BETWEEN,core.DataValidationOperator.EQUAL,core.DataValidationOperator.GREATER_THAN,core.DataValidationOperator.GREATER_THAN_OR_EQUAL,core.DataValidationOperator.LESS_THAN,core.DataValidationOperator.LESS_THAN_OR_EQUAL,core.DataValidationOperator.NOT_BETWEEN,core.DataValidationOperator.NOT_EQUAL]);__publicField(this,"scopes",["sheet"]);__publicField(this,"formulaInput",BASE_FORMULA_INPUT_NAME);__publicField(this,"dropDownInput")}_isFormulaOrNumber(formula){return!core.Tools.isBlank(formula)&&(core.isFormulaString(formula)||!Number.isNaN(+formula))}async isValidType(cellInfo,formula,rule){const{value:cellValue}=cellInfo;return!Number.isNaN(getCellValueNumber(cellValue))}transform(cellInfo,formula,rule){const{value:cellValue}=cellInfo;return{...cellInfo,value:getCellValueNumber(cellValue)}}_parseNumber(formula){return formula==null?Number.NaN:+formula}async parseFormula(rule,unitId,subUnitId){var _a2,_b2,_c2,_d2,_e2,_f2,_g2,_h2;const formulaInfo=await this._formulaService.getRuleFormulaResult(unitId,subUnitId,rule.uid),{formula1,formula2}=rule;return{formula1:this._parseNumber(core.isFormulaString(formula1)?(_d2=(_c2=(_b2=(_a2=formulaInfo==null?void 0:formulaInfo[0])==null?void 0:_a2.result)==null?void 0:_b2[0])==null?void 0:_c2[0])==null?void 0:_d2.v:formula1),formula2:this._parseNumber(core.isFormulaString(formula2)?(_h2=(_g2=(_f2=(_e2=formulaInfo==null?void 0:formulaInfo[1])==null?void 0:_e2.result)==null?void 0:_f2[0])==null?void 0:_g2[0])==null?void 0:_h2.v:formula2)}}validatorFormula(rule,unitId,subUnitId){const operator=rule.operator;if(!operator)return{success:!1};const formula1Success=core.Tools.isDefine(rule.formula1)&&this._isFormulaOrNumber(rule.formula1),formula2Success=core.Tools.isDefine(rule.formula2)&&this._isFormulaOrNumber(rule.formula2),isTwoFormula=TWO_FORMULA_OPERATOR_COUNT.includes(operator),errorMsg=this.localeService.t("dataValidation.validFail.number");return isTwoFormula?{success:formula1Success&&formula2Success,formula1:formula1Success?void 0:errorMsg,formula2:formula2Success?void 0:errorMsg}:{success:formula1Success,formula1:formula1Success?"":errorMsg}}async validatorIsEqual(cellInfo,formula,rule){const{formula1}=formula,{value:cellValue}=cellInfo;return Number.isNaN(formula1)?!0:cellValue===formula1}async validatorIsNotEqual(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value!==formula1}async validatorIsBetween(cellInfo,formula,_rule){const{formula1,formula2}=formula;if(Number.isNaN(formula1)||Number.isNaN(formula2))return!0;const start=Math.min(formula1,formula2),end=Math.max(formula1,formula2);return cellInfo.value>=start&&cellInfo.value<=end}async validatorIsNotBetween(cellInfo,formula,_rule){const{formula1,formula2}=formula;if(Number.isNaN(formula1)||Number.isNaN(formula2))return!0;const start=Math.min(formula1,formula2),end=Math.max(formula1,formula2);return cellInfo.value<start||cellInfo.value>end}async validatorIsGreaterThan(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value>formula1}async validatorIsGreaterThanOrEqual(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value>=formula1}async validatorIsLessThan(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value<formula1}async validatorIsLessThanOrEqual(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value<=formula1}};__name(_DecimalValidator,"DecimalValidator");let DecimalValidator=_DecimalValidator;const LIST_RENDER_MODE_OPTION_INPUT="LIST_RENDER_MODE_OPTION_INPUT";function ListRenderModeInput(props){var _a2;const{value,onChange}=props,localeService=core.useDependency(core.LocaleService);return jsxRuntimeExports.jsx(design.FormLayout,{label:localeService.t("dataValidation.renderMode.label"),children:jsxRuntimeExports.jsxs(design.RadioGroup,{value:`${(_a2=value.renderMode)!=null?_a2:core.DataValidationRenderMode.CUSTOM}`,onChange:__name(renderMode=>onChange({...value,renderMode:+renderMode}),"onChange"),children:[jsxRuntimeExports.jsx(design.Radio,{value:`${core.DataValidationRenderMode.CUSTOM}`,children:localeService.t("dataValidation.renderMode.chip")}),jsxRuntimeExports.jsx(design.Radio,{value:`${core.DataValidationRenderMode.ARROW}`,children:localeService.t("dataValidation.renderMode.arrow")}),jsxRuntimeExports.jsx(design.Radio,{value:`${core.DataValidationRenderMode.TEXT}`,children:localeService.t("dataValidation.renderMode.text")})]})})}__name(ListRenderModeInput,"ListRenderModeInput"),ListRenderModeInput.componentKey=LIST_RENDER_MODE_OPTION_INPUT;var __defProp$c=Object.defineProperty,__getOwnPropDesc$c=Object.getOwnPropertyDescriptor,__decorateClass$c=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$c(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$c(target,key,result),result},"__decorateClass$c"),__decorateParam$c=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$c");const PADDING_H$1=4,ICON_SIZE=4,ICON_PLACE$1=14,MARGIN_H$1=6,MARGIN_V$1=4,DROP_DOWN_ICON_COLOR="#565656",downPath$1=new Path2D("M3.32201 4.84556C3.14417 5.05148 2.85583 5.05148 2.67799 4.84556L0.134292 1.90016C-0.152586 1.56798 0.0505937 1 0.456301 1L5.5437 1C5.94941 1 6.15259 1.56798 5.86571 1.90016L3.32201 4.84556Z");function convertToDocumentData(text,style){const contentLength=text.length;return{id:"d",body:{dataStream:`${text}${core.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:{fs:11,ff:void 0,it:core.BooleanNumber.FALSE,bl:core.BooleanNumber.FALSE,ul:{s:core.BooleanNumber.FALSE},st:{s:core.BooleanNumber.FALSE},ol:{s:core.BooleanNumber.FALSE},cl:void 0,...style,bg:void 0,bd:void 0},st:0,ed:contentLength}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY}}}}__name(convertToDocumentData,"convertToDocumentData");function createDocSkeleton(text,localeService,style){const documentData=convertToDocumentData(text,style),docModel=new core.DocumentDataModel(documentData),docViewModel=new engineRender.DocumentViewModel(docModel);return{documentSkeleton:engineRender.DocumentSkeleton.create(docViewModel,localeService),docModel,docViewModel}}__name(createDocSkeleton,"createDocSkeleton");function createDocuments(text,localeService,style){const{documentSkeleton,docModel,docViewModel}=createDocSkeleton(text,localeService,style);return{documents:new engineRender.Documents(`DOCUMENTS_${core.Tools.generateRandomId()}`,documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),documentSkeleton,docModel,docViewModel}}__name(createDocuments,"createDocuments");function calcPadding(cellWidth,cellHeight,fontWidth,fontHeight,vt,ht,margin=!0){let paddingTop=0;const realMargin=margin?MARGIN_V$1:0;switch(vt){case core.VerticalAlign.BOTTOM:paddingTop=cellHeight-fontHeight-realMargin;break;case core.VerticalAlign.MIDDLE:paddingTop=(cellHeight-fontHeight)/2;break;default:paddingTop=realMargin;break}paddingTop=Math.max(MARGIN_V$1,paddingTop);let paddingLeft=0;switch(ht){case core.HorizontalAlign.CENTER:paddingLeft=(cellWidth-fontWidth)/2;break;case core.HorizontalAlign.RIGHT:paddingLeft=cellWidth-fontWidth;break}return paddingLeft=Math.max(MARGIN_H$1,paddingLeft),{paddingLeft,paddingTop}}__name(calcPadding,"calcPadding");let DropdownWidget=(_j=class{constructor(_localeService,_commandService){__publicField(this,"_dropdownInfoMap",new Map);__publicField(this,"zIndex");__publicField(this,"onPointerEnter");__publicField(this,"onPointerLeave");this._localeService=_localeService,this._commandService=_commandService}_ensureMap(subUnitId){let map=this._dropdownInfoMap.get(subUnitId);return map||(map=new Map,this._dropdownInfoMap.set(subUnitId,map)),map}_generateKey(row,col){return`${row}.${col}`}_drawDownIcon(ctx,cellBounding,cellWidth,cellHeight,fontHeight,vt,pd){const{t=core.DEFAULT_STYLES.pd.t,b=core.DEFAULT_STYLES.pd.b}=pd,left=cellWidth-ICON_PLACE$1;let top;switch(vt){case core.VerticalAlign.MIDDLE:top=(cellHeight-ICON_SIZE)/2;break;case core.VerticalAlign.BOTTOM:top=cellHeight-b-fontHeight-MARGIN_V$1+(fontHeight/2-ICON_SIZE/2);break;default:top=t+MARGIN_V$1+(fontHeight/2-ICON_SIZE/2);break}ctx.save(),ctx.translateWithPrecision(cellBounding.startX+left,cellBounding.startY+top),ctx.fillStyle="#565656",ctx.fill(downPath$1),ctx.restore()}drawWith(ctx,info,skeleton){var _a2,_b2;const{primaryWithCoord,row,col,style,data,subUnitId}=info,_cellBounding=primaryWithCoord.isMergedMainCell?primaryWithCoord.mergeInfo:primaryWithCoord,rule=(_a2=data.dataValidation)==null?void 0:_a2.rule,validator=(_b2=data.dataValidation)==null?void 0:_b2.validator,fontRenderExtension=data.fontRenderExtension,{leftOffset=0,rightOffset=0,topOffset=0,downOffset=0}=fontRenderExtension||{};if(!rule||!validator||!validator||validator.id.indexOf(core.DataValidationType.LIST)!==0||!validator.skipDefaultFontRender(rule))return;const cellBounding={startX:_cellBounding.startX+leftOffset,endX:_cellBounding.endX-rightOffset,startY:_cellBounding.startY+topOffset,endY:_cellBounding.endY-downOffset},cellWidth=cellBounding.endX-cellBounding.startX,cellHeight=cellBounding.endY-cellBounding.startY,map=this._ensureMap(subUnitId),key=this._generateKey(row,col),list=validator.getListWithColor(rule),value=getCellValueOrigin(data),valueStr=`${value!=null?value:""}`,activeItem=list.find(i=>i.label===valueStr);let{tb,vt,ht,pd}=style||{};if(tb=tb!=null?tb:core.WrapStrategy.WRAP,vt=vt!=null?vt:core.VerticalAlign.BOTTOM,ht=ht!=null?ht:core.DEFAULT_STYLES.ht,pd=pd!=null?pd:core.DEFAULT_STYLES.pd,rule.renderMode===core.DataValidationRenderMode.ARROW){const{l:l2=core.DEFAULT_STYLES.pd.l,t=core.DEFAULT_STYLES.pd.t,r=core.DEFAULT_STYLES.pd.r,b=core.DEFAULT_STYLES.pd.b}=pd,realWidth=cellWidth-l2-r-ICON_PLACE$1,{documentSkeleton,documents,docModel}=createDocuments(valueStr,this._localeService,style);tb===core.WrapStrategy.WRAP&&docModel.updateDocumentDataPageSize(Math.max(realWidth,1)),documentSkeleton.calculate(),documentSkeleton.getActualSize();const textLayout=engineRender.getDocsSkeletonPageSize(documentSkeleton),{height:fontHeight,width:fontWidth}=textLayout,{paddingTop,paddingLeft}=calcPadding(realWidth,cellHeight-t-b,fontWidth,fontHeight,vt,ht,!0);this._drawDownIcon(ctx,cellBounding,cellWidth,cellHeight,fontHeight,vt,pd),ctx.save(),ctx.translateWithPrecision(cellBounding.startX+l2,cellBounding.startY+t),ctx.beginPath(),ctx.rect(0,0,cellWidth-l2-r,cellHeight-t-b),ctx.clip(),ctx.translateWithPrecision(0,paddingTop),ctx.save(),ctx.translateWithPrecision(PADDING_H$1,0),ctx.beginPath(),ctx.rect(0,0,realWidth,fontHeight),ctx.clip(),documents.render(ctx),ctx.translateWithPrecision(paddingLeft,0),ctx.restore(),ctx.restore(),map.set(key,{left:cellBounding.endX+l2+skeleton.rowHeaderWidth-ICON_PLACE$1,top:cellBounding.startY+t+skeleton.columnHeaderHeight,width:ICON_PLACE$1,height:cellHeight-t-b})}else{ctx.save(),ctx.translateWithPrecision(cellBounding.startX,cellBounding.startY),ctx.beginPath(),ctx.rect(0,0,cellWidth,cellHeight),ctx.clip();const realWidth=cellWidth-MARGIN_H$1*2-PADDING_H$1-ICON_PLACE$1,{documentSkeleton,documents,docModel}=createDocuments(valueStr,this._localeService,style);tb===core.WrapStrategy.WRAP&&docModel.updateDocumentDataPageSize(Math.max(realWidth,1)),documentSkeleton.calculate();const textLayout=engineRender.getDocsSkeletonPageSize(documentSkeleton),{height:fontHeight,width:fontWidth}=textLayout,{paddingTop,paddingLeft}=calcPadding(realWidth,cellHeight,fontWidth,fontHeight,vt,ht);ctx.translateWithPrecision(MARGIN_H$1,paddingTop);const rectWidth=Math.max(cellWidth-MARGIN_H$1*2,1),rectHeight=fontHeight;engineRender.Rect.drawWith(ctx,{width:rectWidth,height:rectHeight,fill:(activeItem==null?void 0:activeItem.color)||DROP_DOWN_DEFAULT_COLOR,radius:8}),ctx.save(),ctx.translateWithPrecision(PADDING_H$1,0),ctx.beginPath(),ctx.rect(0,0,realWidth,fontHeight),ctx.clip(),ctx.translateWithPrecision(paddingLeft,0),documents.render(ctx),ctx.restore(),ctx.translateWithPrecision(realWidth+PADDING_H$1+4,(fontHeight-ICON_SIZE)/2),ctx.fillStyle=DROP_DOWN_ICON_COLOR,ctx.fill(downPath$1),ctx.restore(),map.set(key,{left:cellBounding.startX+MARGIN_H$1+skeleton.rowHeaderWidth,top:cellBounding.startY+paddingTop+skeleton.columnHeaderHeight,width:rectWidth,height:rectHeight})}}calcCellAutoHeight(info){var _a2;const{primaryWithCoord,style,data}=info,_cellBounding=primaryWithCoord.isMergedMainCell?primaryWithCoord.mergeInfo:primaryWithCoord,fontRenderExtension=data.fontRenderExtension,{leftOffset=0,rightOffset=0,topOffset=0,downOffset=0}=fontRenderExtension||{},rule=(_a2=data.dataValidation)==null?void 0:_a2.rule;if(!rule||rule.renderMode===core.DataValidationRenderMode.TEXT)return;const cellBounding={startX:_cellBounding.startX+leftOffset,endX:_cellBounding.endX-rightOffset,startY:_cellBounding.startY+topOffset,endY:_cellBounding.endY-downOffset},cellWidth=cellBounding.endX-cellBounding.startX,value=getCellValueOrigin(data),valueStr=`${value!=null?value:""}`;let{tb,pd}=style||{};const{t=core.DEFAULT_STYLES.pd.t,b=core.DEFAULT_STYLES.pd.b}=pd!=null?pd:{};if(tb=tb!=null?tb:core.WrapStrategy.WRAP,rule.renderMode===core.DataValidationRenderMode.ARROW){const realWidth=cellWidth-ICON_PLACE$1,{documentSkeleton,docModel}=createDocuments(valueStr,this._localeService,style);tb===core.WrapStrategy.WRAP&&docModel.updateDocumentDataPageSize(Math.max(realWidth,1)),documentSkeleton.calculate(),documentSkeleton.getActualSize();const textLayout=engineRender.getDocsSkeletonPageSize(documentSkeleton),{height:fontHeight}=textLayout;return fontHeight+t+b+MARGIN_V$1*2}else{const realWidth=cellWidth-MARGIN_H$1*2-PADDING_H$1-ICON_PLACE$1,{documentSkeleton,docModel}=createDocSkeleton(valueStr,this._localeService,style);tb===core.WrapStrategy.WRAP&&docModel.updateDocumentDataPageSize(Math.max(realWidth,1)),documentSkeleton.calculate();const textLayout=engineRender.getDocsSkeletonPageSize(documentSkeleton),{height:fontHeight}=textLayout;return fontHeight+MARGIN_V$1*2}}isHit(position,info){const{data,subUnitId,row,col}=info,dropdownInfo=this._ensureMap(subUnitId).get(this._generateKey(row,col)),validation=data.dataValidation;if(!validation||!dropdownInfo||validation.rule.renderMode===core.DataValidationRenderMode.TEXT)return!1;const{top,left,width,height}=dropdownInfo,{x,y}=position;return x>=left&&x<=left+width&&y>=top&&y<=top+height}onPointerDown(info,evt){if(evt.button===2)return;const{unitId,subUnitId,row,col}=info,params={unitId,subUnitId,row,column:col};this._commandService.executeCommand(ShowDataValidationDropdown.id,params)}},__name(_j,"DropdownWidget"),_j);DropdownWidget=__decorateClass$c([__decorateParam$c(0,core.Inject(core.LocaleService)),__decorateParam$c(1,core.ICommandService)],DropdownWidget);function getRuleFormulaResultSet(result){if(!result)return[];const resultSet=new Set;return result.forEach(row=>{row.forEach(cell=>{var _a2,_b2;const value=getCellValueOrigin(cell);if(value!=null){if(typeof value!="string"&&typeof(cell==null?void 0:cell.s)=="object"&&((_b2=(_a2=cell.s)==null?void 0:_a2.n)!=null&&_b2.pattern)){resultSet.add(core.numfmt.format(cell.s.n.pattern,value,{throws:!1}));return}resultSet.add(value.toString())}})}),[...resultSet]}__name(getRuleFormulaResultSet,"getRuleFormulaResultSet");const supportedFormula=["if","indirect","choose","offset"];function isValidListFormula(formula,lexer){if(!core.isFormulaString(formula)||engineFormula.isReferenceString(formula.slice(1)))return!0;const nodes=lexer.sequenceNodesBuilder(formula);return nodes&&nodes.some(node=>typeof node=="object"&&node.nodeType===engineFormula.sequenceNodeType.FUNCTION&&supportedFormula.indexOf(node.token.toLowerCase())>-1)}__name(isValidListFormula,"isValidListFormula");function isRuleIntersects(rule,sheetName){const{formula1="",ranges}=rule;if(engineFormula.isReferenceString(formula1.slice(1))){const refRange=engineFormula.deserializeRangeWithSheet(formula1.slice(1));if((!refRange.sheetName||refRange.sheetName===sheetName)&&ranges.some(range=>core.Rectangle.intersects(range,refRange.range)))return!0}return!1}__name(isRuleIntersects,"isRuleIntersects");const _ListValidator=class _ListValidator extends dataValidation.BaseDataValidator{constructor(){super(...arguments);__publicField(this,"formulaService",this.injector.get(exports2.DataValidationFormulaService));__publicField(this,"_lexer",this.injector.get(engineFormula.LexerTreeBuilder));__publicField(this,"_univerInstanceService",this.injector.get(core.IUniverInstanceService));__publicField(this,"id",core.DataValidationType.LIST);__publicField(this,"title","dataValidation.list.title");__publicField(this,"operators",[]);__publicField(this,"scopes",["sheet"]);__publicField(this,"formulaInput",LIST_FORMULA_INPUT_NAME);__publicField(this,"canvasRender",this.injector.createInstance(DropdownWidget));__publicField(this,"dropdown",LIST_DROPDOWN_KEY);__publicField(this,"optionsInput",ListRenderModeInput.componentKey);__publicField(this,"skipDefaultFontRender",__name(rule=>rule.renderMode!==core.DataValidationRenderMode.TEXT,"skipDefaultFontRender"))}validatorFormula(rule,unitId,subUnitId){var _a2,_b2,_c2;const success=!core.Tools.isBlank(rule.formula1),valid=isValidListFormula((_a2=rule.formula1)!=null?_a2:"",this._lexer),sheetName=(_c2=(_b2=this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_SHEET))==null?void 0:_b2.getSheetBySheetId(subUnitId))==null?void 0:_c2.getName(),isIntersects=isRuleIntersects(rule,sheetName!=null?sheetName:"");return{success:!!(success&&valid&&!isIntersects),formula1:success?valid?isIntersects?this.localeService.t("dataValidation.validFail.listIntersects"):void 0:this.localeService.t("dataValidation.validFail.listInvalid"):this.localeService.t("dataValidation.validFail.list")}}getExtraStyle(rule,value,{style:defaultStyle}){var _a2;const tb=(_a2=defaultStyle.tb!==core.WrapStrategy.OVERFLOW?defaultStyle.tb:core.WrapStrategy.CLIP)!=null?_a2:core.WrapStrategy.WRAP;if(rule.type===core.DataValidationType.LIST&&(rule.renderMode===core.DataValidationRenderMode.ARROW||rule.renderMode===core.DataValidationRenderMode.TEXT)){const colorMap=this.getListWithColorMap(rule),valueStr=`${value!=null?value:""}`,color=colorMap[valueStr];if(color)return{bg:{rgb:color},tb}}return{tb}}parseCellValue(cellValue){const cellString=cellValue.toString();return deserializeListOptions(cellString)}async parseFormula(rule,unitId,subUnitId){var _a2;const{formula1=""}=rule,results=await this.formulaService.getRuleFormulaResult(unitId,subUnitId,rule.uid);return{formula1:core.isFormulaString(formula1)?getRuleFormulaResultSet((_a2=results==null?void 0:results[0])==null?void 0:_a2.result):deserializeListOptions(formula1),formula2:void 0}}async isValidType(cellInfo,formula,rule){const{value}=cellInfo,{formula1=[]}=formula;return this.parseCellValue(value).every(i=>formula1.includes(i))}generateRuleName(){return this.localeService.t("dataValidation.list.name")}generateRuleErrorMessage(){return this.localeService.t("dataValidation.list.error")}getList(rule,currentUnitId,currentSubUnitId){var _a2,_b2,_c2;const{formula1=""}=rule,univerInstanceService=this.injector.get(core.IUniverInstanceService),workbook=(_a2=currentUnitId?univerInstanceService.getUniverSheetInstance(currentUnitId):void 0)!=null?_a2:univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET);if(!workbook)return[];const worksheet=(_b2=currentSubUnitId?workbook.getSheetBySheetId(currentSubUnitId):void 0)!=null?_b2:workbook.getActiveSheet();if(!worksheet)return[];const unitId=workbook.getUnitId(),subUnitId=worksheet.getSheetId(),results=this.formulaService.getRuleFormulaResultSync(unitId,subUnitId,rule.uid);return core.isFormulaString(formula1)?getRuleFormulaResultSet((_c2=results==null?void 0:results[0])==null?void 0:_c2.result):deserializeListOptions(formula1)}async getListAsync(rule,currentUnitId,currentSubUnitId){var _a2,_b2,_c2;const{formula1=""}=rule,univerInstanceService=this.injector.get(core.IUniverInstanceService),workbook=(_a2=currentUnitId?univerInstanceService.getUniverSheetInstance(currentUnitId):void 0)!=null?_a2:univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET);if(!workbook)return[];const worksheet=(_b2=currentSubUnitId?workbook.getSheetBySheetId(currentSubUnitId):void 0)!=null?_b2:workbook.getActiveSheet();if(!worksheet)return[];const unitId=workbook.getUnitId(),subUnitId=worksheet.getSheetId(),results=await this.formulaService.getRuleFormulaResult(unitId,subUnitId,rule.uid);return core.isFormulaString(formula1)?getRuleFormulaResultSet((_c2=results==null?void 0:results[0])==null?void 0:_c2.result):deserializeListOptions(formula1)}getListWithColor(rule,currentUnitId,currentSubUnitId){const list=this.getList(rule,currentUnitId,currentSubUnitId),colorList=(rule.formula2||"").split(",");return list.map((label,i)=>({label,color:colorList[i]}))}getListWithColorMap(rule,currentUnitId,currentSubUnitId){const list=this.getListWithColor(rule,currentUnitId,currentSubUnitId),map={};return list.forEach(item=>{item.color&&(map[item.label]=item.color)}),map}};__name(_ListValidator,"ListValidator");let ListValidator=_ListValidator;const FORMULA1="{FORMULA1}",FORMULA2="{FORMULA2}",_TextLengthValidator=class _TextLengthValidator extends dataValidation.BaseDataValidator{constructor(){super(...arguments);__publicField(this,"id",core.DataValidationType.TEXT_LENGTH);__publicField(this,"title","dataValidation.textLength.title");__publicField(this,"operators",[core.DataValidationOperator.BETWEEN,core.DataValidationOperator.EQUAL,core.DataValidationOperator.GREATER_THAN,core.DataValidationOperator.GREATER_THAN_OR_EQUAL,core.DataValidationOperator.LESS_THAN,core.DataValidationOperator.LESS_THAN_OR_EQUAL,core.DataValidationOperator.NOT_BETWEEN,core.DataValidationOperator.NOT_EQUAL]);__publicField(this,"scopes",["sheet"]);__publicField(this,"formulaInput",BASE_FORMULA_INPUT_NAME);__publicField(this,"_formulaService",this.injector.get(exports2.DataValidationFormulaService))}_isFormulaOrInt(formula){return!core.Tools.isBlank(formula)&&(core.isFormulaString(formula)||!Number.isNaN(+formula)&&Number.isInteger(+formula))}validatorFormula(rule,unitId,subUnitId){const operator=rule.operator;if(!operator)return{success:!1};const formula1Success=core.Tools.isDefine(rule.formula1)&&this._isFormulaOrInt(rule.formula1),formula2Success=core.Tools.isDefine(rule.formula2)&&this._isFormulaOrInt(rule.formula2),isTwoFormula=TWO_FORMULA_OPERATOR_COUNT.includes(operator),errorMsg=this.localeService.t("dataValidation.validFail.number");return isTwoFormula?{success:formula1Success&&formula2Success,formula1:formula1Success?void 0:errorMsg,formula2:formula2Success?void 0:errorMsg}:{success:formula1Success,formula1:errorMsg}}_parseNumber(formula){return formula==null?Number.NaN:+formula}_isValidFormula(formula){return!Number.isNaN(formula)}async parseFormula(rule,unitId,subUnitId){var _a2,_b2,_c2,_d2,_e2,_f2,_g2,_h2;const formulaInfo=await this._formulaService.getRuleFormulaResult(unitId,subUnitId,rule.uid),{formula1,formula2}=rule;return{formula1:this._parseNumber(core.isFormulaString(formula1)?(_d2=(_c2=(_b2=(_a2=formulaInfo==null?void 0:formulaInfo[0])==null?void 0:_a2.result)==null?void 0:_b2[0])==null?void 0:_c2[0])==null?void 0:_d2.v:formula1),formula2:this._parseNumber(core.isFormulaString(formula2)?(_h2=(_g2=(_f2=(_e2=formulaInfo==null?void 0:formulaInfo[1])==null?void 0:_e2.result)==null?void 0:_f2[0])==null?void 0:_g2[0])==null?void 0:_h2.v:formula2)}}transform(cellInfo,_formula,_rule){return{...cellInfo,value:cellInfo.value.toString().length}}async isValidType(cellInfo,formula,rule){const{value:cellValue}=cellInfo;return typeof cellValue=="string"||typeof cellValue=="number"}async validatorIsEqual(cellInfo,formula,rule){const{formula1}=formula;return core.Tools.isDefine(formula1)?cellInfo.value===formula1:!1}async validatorIsNotEqual(cellInfo,formula,rule){const{formula1}=formula;return core.Tools.isDefine(formula1)?cellInfo.value!==formula1:!1}async validatorIsBetween(cellInfo,formula,rule){const{formula1,formula2}=formula,{value:cellValue}=cellInfo;if(!this._isValidFormula(formula1)||!this._isValidFormula(formula2))return!1;const max=Math.max(formula1,formula2),min=Math.min(formula1,formula2);return cellValue>=min&&cellValue<=max}async validatorIsNotBetween(cellInfo,formula,rule){const{formula1,formula2}=formula,{value:cellValue}=cellInfo;if(!this._isValidFormula(formula1)||!this._isValidFormula(formula2))return!1;const max=Math.max(formula1,formula2),min=Math.min(formula1,formula2);return cellValue<min||cellValue>max}async validatorIsGreaterThan(cellInfo,formula,rule){const{formula1}=formula,{value:cellValue}=cellInfo;return this._isValidFormula(formula1)?cellValue>formula1:!1}async validatorIsGreaterThanOrEqual(cellInfo,formula,rule){const{formula1}=formula,{value:cellValue}=cellInfo;return this._isValidFormula(formula1)?cellValue>=formula1:!1}async validatorIsLessThan(cellInfo,formula,rule){const{formula1}=formula,{value:cellValue}=cellInfo;return this._isValidFormula(formula1)?cellValue<formula1:!1}async validatorIsLessThanOrEqual(cellInfo,formula,rule){const{formula1}=formula,{value:cellValue}=cellInfo;return this._isValidFormula(formula1)?cellValue<=formula1:!1}generateRuleErrorMessage(rule){var _a2,_b2;return rule.operator?`${this.localeService.t(dataValidation.TextLengthErrorTitleMap[rule.operator]).replace(FORMULA1,(_a2=rule.formula1)!=null?_a2:"").replace(FORMULA2,(_b2=rule.formula2)!=null?_b2:"")}`:this.titleStr}};__name(_TextLengthValidator,"TextLengthValidator");let TextLengthValidator=_TextLengthValidator;function isBlankCell(cellData){var _a2,_b2;return cellData?cellData.p?!((_b2=(_a2=cellData.p.body)==null?void 0:_a2.dataStream)!=null?_b2:"").slice(0,-2).trim():core.Tools.isBlank(cellData.v):!0}__name(isBlankCell,"isBlankCell");function getDataValidationDiffMutations(unitId,subUnitId,diffs,accessor,source="command",fillDefaultValue=!0){const redoMutations=[],undoMutations=[],sheetDataValidationModel=accessor.get(exports2.SheetDataValidationModel),univerInstanceService=accessor.get(core.IUniverInstanceService),target=sheets.getSheetCommandTarget(univerInstanceService,{unitId,subUnitId});if(!target)return{redoMutations,undoMutations};const{worksheet}=target,redoMatrix=new core.ObjectMatrix;function setRangesDefaultValue(ranges,defaultValue){fillDefaultValue&&ranges.forEach(range=>{core.Range.foreach(range,(row,column)=>{const cellData=worksheet.getCellRaw(row,column),value=getStringCellValue(cellData);(isBlankCell(cellData)||value===defaultValue)&&redoMatrix.setValue(row,column,{v:defaultValue,p:null})})})}__name(setRangesDefaultValue,"setRangesDefaultValue"),diffs.forEach(diff=>{switch(diff.type){case"delete":redoMutations.push({id:dataValidation.RemoveDataValidationMutation.id,params:{unitId,subUnitId,ruleId:diff.rule.uid,source}}),undoMutations.unshift({id:dataValidation.AddDataValidationMutation.id,params:{unitId,subUnitId,rule:diff.rule,index:diff.index,source}});break;case"update":{redoMutations.push({id:dataValidation.UpdateDataValidationMutation.id,params:{unitId,subUnitId,ruleId:diff.ruleId,payload:{type:dataValidation.UpdateRuleType.RANGE,payload:diff.newRanges},source}}),undoMutations.unshift({id:dataValidation.UpdateDataValidationMutation.id,params:{unitId,subUnitId,ruleId:diff.ruleId,payload:{type:dataValidation.UpdateRuleType.RANGE,payload:diff.oldRanges},source}});const rule=sheetDataValidationModel.getRuleById(unitId,subUnitId,diff.ruleId);if(rule&&rule.type===core.DataValidationType.CHECKBOX){const formula=sheetDataValidationModel.getValidator(core.DataValidationType.CHECKBOX).parseFormulaSync(rule,unitId,subUnitId);setRangesDefaultValue(diff.newRanges,formula.formula2)}break}case"add":{if(redoMutations.push({id:dataValidation.AddDataValidationMutation.id,params:{unitId,subUnitId,rule:diff.rule,source}}),undoMutations.unshift({id:dataValidation.RemoveDataValidationMutation.id,params:{unitId,subUnitId,ruleId:diff.rule.uid,source}}),diff.rule.type===core.DataValidationType.CHECKBOX){const formula=sheetDataValidationModel.getValidator(core.DataValidationType.CHECKBOX).parseFormulaSync(diff.rule,unitId,subUnitId);setRangesDefaultValue(diff.rule.ranges,formula.originFormula2)}break}}});const redoSetRangeValues={id:sheets.SetRangeValuesMutation.id,params:{unitId,subUnitId,cellValue:redoMatrix.getData()}},undoSetRangeValues={id:sheets.SetRangeValuesMutation.id,params:sheets.SetRangeValuesUndoMutationFactory(accessor,redoSetRangeValues.params)};return redoMutations.push(redoSetRangeValues),undoMutations.push(undoSetRangeValues),{redoMutations,undoMutations}}__name(getDataValidationDiffMutations,"getDataValidationDiffMutations");const UpdateSheetDataValidationRangeCommand={type:core.CommandType.COMMAND,id:"sheet.command.updateDataValidationRuleRange",async handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,ranges,ruleId}=params,sheetDataValidationModel=accessor.get(exports2.SheetDataValidationModel),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService);if(!sheetDataValidationModel.getRuleById(unitId,subUnitId,ruleId))return!1;const matrix=sheetDataValidationModel.getRuleObjectMatrix(unitId,subUnitId).clone();matrix.updateRange(ruleId,ranges);const diffs=matrix.diff(sheetDataValidationModel.getRules(unitId,subUnitId)),{redoMutations,undoMutations}=getDataValidationDiffMutations(unitId,subUnitId,diffs,accessor);return undoRedoService.pushUndoRedo({undoMutations,redoMutations,unitID:unitId}),await core.sequenceExecuteAsync(redoMutations,commandService),!0}},AddSheetDataValidationCommand={type:core.CommandType.COMMAND,id:"sheet.command.addDataValidation",async handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,rule}=params,sheetDataValidationModel=accessor.get(exports2.SheetDataValidationModel),commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),matrix=sheetDataValidationModel.getRuleObjectMatrix(unitId,subUnitId).clone();matrix.addRule(rule);const diffs=matrix.diff(sheetDataValidationModel.getRules(unitId,subUnitId)),mutationParams={unitId,subUnitId,rule},{redoMutations,undoMutations}=getDataValidationDiffMutations(unitId,subUnitId,diffs,accessor);return redoMutations.push({id:dataValidation.AddDataValidationMutation.id,params:mutationParams}),undoMutations.unshift({id:dataValidation.RemoveDataValidationMutation.id,params:{unitId,subUnitId,ruleId:rule.uid}}),undoRedoService.pushUndoRedo({unitID:unitId,redoMutations,undoMutations}),await core.sequenceExecuteAsync(redoMutations,commandService),!0}},AddSheetDataValidationAndOpenCommand={type:core.CommandType.COMMAND,id:"data-validation.command.addRuleAndOpen",async handler(accessor){const univerInstanceService=accessor.get(core.IUniverInstanceService),target=sheets.getSheetCommandTarget(univerInstanceService);if(!target)return!1;const{workbook,worksheet}=target,rule=createDefaultNewRule(accessor),commandService=accessor.get(core.ICommandService),unitId=workbook.getUnitId(),subUnitId=worksheet.getSheetId(),addParams={rule,unitId,subUnitId};return await commandService.executeCommand(AddSheetDataValidationCommand.id,addParams)?(commandService.executeCommand(OpenValidationPanelOperation.id,{ruleId:rule.uid,isAdd:!0}),!0):!1}},UpdateSheetDataValidationSettingCommand={type:core.CommandType.COMMAND,id:"sheets.command.update-data-validation-setting",handler(accessor,params){if(!params)return!1;const commandService=accessor.get(core.ICommandService),redoUndoService=accessor.get(core.IUndoRedoService),sheetDataValidationModel=accessor.get(exports2.SheetDataValidationModel),dataValidatorRegistryService=accessor.get(dataValidation.DataValidatorRegistryService),{unitId,subUnitId,ruleId,setting}=params,validator=dataValidatorRegistryService.getValidatorItem(setting.type);if(!validator)return!1;const rule=sheetDataValidationModel.getRuleById(unitId,subUnitId,ruleId);if(!rule)return!1;const newRule={...rule,...setting};if(!validator.validatorFormula(newRule,unitId,subUnitId).success)return!1;const mutationParams={unitId,subUnitId,ruleId,payload:{type:dataValidation.UpdateRuleType.SETTING,payload:{...setting,...validator.normalizeFormula(newRule,unitId,subUnitId)}}},redoMutations=[{id:dataValidation.UpdateDataValidationMutation.id,params:mutationParams}],undoMutationParams={unitId,subUnitId,ruleId,payload:{type:dataValidation.UpdateRuleType.SETTING,payload:dataValidation.getRuleSetting(rule)}},undoMutations=[{id:dataValidation.UpdateDataValidationMutation.id,params:undoMutationParams}];if(setting.type===core.DataValidationType.CHECKBOX){const ranges=rule.ranges,univerInstanceService=accessor.get(core.IUniverInstanceService),target=sheets.getSheetCommandTarget(univerInstanceService,{unitId,subUnitId});if(target){const redoMatrix=new core.ObjectMatrix,{worksheet}=target,{formula2:oldFormula2=CHECKBOX_FORMULA_2,formula1:oldFormula1=CHECKBOX_FORMULA_1}=rule,{formula2=CHECKBOX_FORMULA_2,formula1=CHECKBOX_FORMULA_1}=setting;ranges.forEach(range=>{core.Range.foreach(range,(row,column)=>{const cellData=worksheet.getCellRaw(row,column),value=getStringCellValue(cellData);isBlankCell(cellData)||value===String(oldFormula2)?redoMatrix.setValue(row,column,{v:formula2,p:null}):value===String(oldFormula1)&&redoMatrix.setValue(row,column,{v:formula1,p:null})})});const redoSetRangeValues={id:sheets.SetRangeValuesMutation.id,params:{unitId,subUnitId,cellValue:redoMatrix.getData()}},undoSetRangeValues={id:sheets.SetRangeValuesMutation.id,params:sheets.SetRangeValuesUndoMutationFactory(accessor,redoSetRangeValues.params)};redoMutations.push(redoSetRangeValues),undoMutations.push(undoSetRangeValues)}}return core.sequenceExecute(redoMutations,commandService).result?(redoUndoService.pushUndoRedo({unitID:unitId,redoMutations,undoMutations}),!0):!1}},UpdateSheetDataValidationOptionsCommand={type:core.CommandType.COMMAND,id:"sheets.command.update-data-validation-options",handler(accessor,params){if(!params)return!1;const commandService=accessor.get(core.ICommandService),redoUndoService=accessor.get(core.IUndoRedoService),sheetDataValidationModel=accessor.get(exports2.SheetDataValidationModel),{unitId,subUnitId,ruleId,options}=params,rule=sheetDataValidationModel.getRuleById(unitId,subUnitId,ruleId);if(!rule)return!1;const mutationParams={unitId,subUnitId,ruleId,payload:{type:dataValidation.UpdateRuleType.OPTIONS,payload:options}},redoMutations=[{id:dataValidation.UpdateDataValidationMutation.id,params:mutationParams}],undoMutationParams={unitId,subUnitId,ruleId,payload:{type:dataValidation.UpdateRuleType.OPTIONS,payload:dataValidation.getRuleOptions(rule)}},undoMutations=[{id:dataValidation.UpdateDataValidationMutation.id,params:undoMutationParams}];return redoUndoService.pushUndoRedo({unitID:unitId,redoMutations,undoMutations}),commandService.executeCommand(dataValidation.UpdateDataValidationMutation.id,mutationParams),!0}},ClearRangeDataValidationCommand={type:core.CommandType.COMMAND,id:"sheets.command.clear-range-data-validation",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,ranges}=params,commandService=accessor.get(core.ICommandService),univerInstanceService=accessor.get(core.IUniverInstanceService),target=sheets.getSheetCommandTarget(univerInstanceService,{unitId,subUnitId}),sheetDataValidationModel=accessor.get(exports2.SheetDataValidationModel);if(!target)return!1;const undoRedoService=accessor.get(core.IUndoRedoService),matrix=sheetDataValidationModel.getRuleObjectMatrix(unitId,subUnitId).clone();matrix.removeRange(ranges);const diffs=matrix.diff(sheetDataValidationModel.getRules(unitId,subUnitId)),{redoMutations,undoMutations}=getDataValidationDiffMutations(unitId,subUnitId,diffs,accessor);return undoRedoService.pushUndoRedo({unitID:unitId,redoMutations,undoMutations}),core.sequenceExecute(redoMutations,commandService).result}},RemoveSheetAllDataValidationCommand={type:core.CommandType.COMMAND,id:"sheet.command.remove-all-data-validation",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId}=params,commandService=accessor.get(core.ICommandService),sheetDataValidationModel=accessor.get(exports2.SheetDataValidationModel),undoRedoService=accessor.get(core.IUndoRedoService),currentRules=[...sheetDataValidationModel.getRules(unitId,subUnitId)],redoParams={unitId,subUnitId,ruleId:currentRules.map(rule=>rule.uid)},redoMutations=[{id:dataValidation.RemoveDataValidationMutation.id,params:redoParams}],undoMutations=[{id:dataValidation.AddDataValidationMutation.id,params:{unitId,subUnitId,rule:currentRules}}];return undoRedoService.pushUndoRedo({redoMutations,undoMutations,unitID:unitId}),commandService.executeCommand(dataValidation.RemoveDataValidationMutation.id,redoParams),!0}},removeDataValidationUndoFactory=__name((accessor,redoParams)=>{const sheetDataValidationModel=accessor.get(exports2.SheetDataValidationModel),{unitId,subUnitId,ruleId,source}=redoParams;if(Array.isArray(ruleId)){const rules=ruleId.map(id=>sheetDataValidationModel.getRuleById(unitId,subUnitId,id)).filter(Boolean);return[{id:dataValidation.AddDataValidationMutation.id,params:{unitId,subUnitId,rule:rules,source}}]}return[{id:dataValidation.AddDataValidationMutation.id,params:{unitId,subUnitId,rule:{...sheetDataValidationModel.getRuleById(unitId,subUnitId,ruleId)},index:sheetDataValidationModel.getRuleIndex(unitId,subUnitId,ruleId)}}]},"removeDataValidationUndoFactory"),RemoveSheetDataValidationCommand={type:core.CommandType.COMMAND,id:"sheet.command.remove-data-validation-rule",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,ruleId}=params,commandService=accessor.get(core.ICommandService),undoRedoService=accessor.get(core.IUndoRedoService),sheetDataValidationModel=accessor.get(exports2.SheetDataValidationModel),redoMutations=[{id:dataValidation.RemoveDataValidationMutation.id,params}],undoMutations=[{id:dataValidation.AddDataValidationMutation.id,params:{unitId,subUnitId,rule:{...sheetDataValidationModel.getRuleById(unitId,subUnitId,ruleId)},index:sheetDataValidationModel.getRuleIndex(unitId,subUnitId,ruleId)}}];return undoRedoService.pushUndoRedo({undoMutations,redoMutations,unitID:params.unitId}),commandService.executeCommand(dataValidation.RemoveDataValidationMutation.id,params),!0}};function isLegalFormulaResult(res){return!engineFormula.ERROR_TYPE_SET.has(res)}__name(isLegalFormulaResult,"isLegalFormulaResult");const _CustomFormulaValidator=class _CustomFormulaValidator extends dataValidation.BaseDataValidator{constructor(){super(...arguments);__publicField(this,"id",core.DataValidationType.CUSTOM);__publicField(this,"title","dataValidation.custom.title");__publicField(this,"operators",[]);__publicField(this,"scopes",["sheet"]);__publicField(this,"formulaInput",CUSTOM_FORMULA_INPUT_NAME);__publicField(this,"_customFormulaService",this.injector.get(exports2.DataValidationCustomFormulaService))}validatorFormula(rule,unitId,subUnitId){const success=core.isFormulaString(rule.formula1);return{success,formula1:success?"":this.localeService.t("dataValidation.validFail.formula")}}async parseFormula(_rule,_unitId,_subUnitId){return{formula1:void 0,formula2:void 0}}async isValidType(cellInfo,_formula,_rule){const{column,row,unitId,subUnitId}=cellInfo,result=await this._customFormulaService.getCellFormulaValue(unitId,subUnitId,row,column),cellData=getFormulaCellData(result==null?void 0:result.result),formulaResult=cellData==null?void 0:cellData.v;return core.Tools.isDefine(formulaResult)&&formulaResult!==""?cellData.t===core.CellValueType.BOOLEAN?!!formulaResult:typeof formulaResult=="boolean"?formulaResult:typeof formulaResult=="number"?!!formulaResult:typeof formulaResult=="string"?isLegalFormulaResult(formulaResult):!!formulaResult:!1}generateRuleErrorMessage(rule){return this.localeService.t("dataValidation.custom.error")}};__name(_CustomFormulaValidator,"CustomFormulaValidator");let CustomFormulaValidator=_CustomFormulaValidator;const PADDING_H=4,PADDING_V=0,MARGIN_H=4,MARGIN_V=4,CELL_PADDING_H=6,CELL_PADDING_V=6,ICON_PLACE=14;function getDropdownItemSize(text,fontStyle){const bBox=engineRender.FontCache.getTextSize(text,fontStyle),rectWidth=bBox.width+PADDING_H*2,{ba,bd}=bBox,height=ba+bd;return{width:rectWidth,height:height+PADDING_V*2,ba}}__name(getDropdownItemSize,"getDropdownItemSize");function layoutDropdowns(items,fontStyle,cellWidth,cellHeight){const contentWidth=cellWidth-ICON_PLACE-CELL_PADDING_H,contentHeight=cellHeight-CELL_PADDING_V*2,textLayout=items.map(item=>({layout:getDropdownItemSize(item,fontStyle),text:item}));let currentLine;const lines=[];textLayout.forEach(item=>{const{layout}=item,{width,height}=layout;!currentLine||currentLine.width+width+MARGIN_H>contentWidth?(currentLine={width,height,items:[{...item,left:0}]},lines.push(currentLine)):(currentLine.items.push({...item,left:currentLine.width+MARGIN_H}),currentLine.width=currentLine.width+width+MARGIN_H)});let totalHeight=0;return lines.forEach((line,index)=>{index===lines.length-1?totalHeight+=line.height:totalHeight+=line.height+MARGIN_V}),{lines,totalHeight,contentWidth,contentHeight,cellAutoHeight:totalHeight+CELL_PADDING_V*2}}__name(layoutDropdowns,"layoutDropdowns");const RADIUS=8,_Dropdown=class _Dropdown extends engineRender.Shape{static drawWith(ctx,props){const{fontFamily,fontString,fontSize,info,fill,color}=props,{layout,text}=info;ctx.save(),engineRender.Rect.drawWith(ctx,{width:layout.width,height:layout.height,radius:RADIUS,fill:fill||DROP_DOWN_DEFAULT_COLOR}),ctx.translateWithPrecision(PADDING_H,layout.ba),ctx.font=fontString,ctx.fillStyle=color,ctx.fillText(text,0,0),ctx.restore()}};__name(_Dropdown,"Dropdown");let Dropdown=_Dropdown;var __defProp$b=Object.defineProperty,__getOwnPropDesc$b=Object.getOwnPropertyDescriptor,__decorateClass$b=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$b(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$b(target,key,result),result},"__decorateClass$b"),__decorateParam$b=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$b");const downPath=new Path2D("M3.32201 4.84556C3.14417 5.05148 2.85583 5.05148 2.67799 4.84556L0.134292 1.90016C-0.152586 1.56798 0.0505937 1 0.456301 1L5.5437 1C5.94941 1 6.15259 1.56798 5.86571 1.90016L3.32201 4.84556Z");let DropdownMultipleWidget=(_k=class{constructor(_commandService){__publicField(this,"zIndex");__publicField(this,"_dropdownInfoMap",new Map);this._commandService=_commandService}_ensureMap(subUnitId){let map=this._dropdownInfoMap.get(subUnitId);return map||(map=new Map,this._dropdownInfoMap.set(subUnitId,map)),map}_generateKey(row,col){return`${row}.${col}`}_drawDownIcon(ctx,cellBounding,cellWidth,cellHeight,vt){const left=cellWidth-ICON_PLACE+4;let top=4;switch(vt){case core.VerticalAlign.MIDDLE:top=(cellHeight-ICON_PLACE)/2+4;break;case core.VerticalAlign.BOTTOM:top=cellHeight-ICON_PLACE+4;break}ctx.save(),ctx.translateWithPrecision(cellBounding.startX+left,cellBounding.startY+top),ctx.fillStyle="#565656",ctx.fill(downPath),ctx.restore()}drawWith(ctx,info,skeleton,spreadsheets){var _a2,_b2;const{primaryWithCoord,row,col,style,data,subUnitId}=info,_cellBounding=primaryWithCoord.isMergedMainCell?primaryWithCoord.mergeInfo:primaryWithCoord,fontRenderExtension=data.fontRenderExtension,{leftOffset=0,rightOffset=0,topOffset=0,downOffset=0}=fontRenderExtension||{},validation=data.dataValidation,map=this._ensureMap(subUnitId),key=this._generateKey(row,col);if(!validation)return;const cellBounding={startX:_cellBounding.startX+leftOffset,endX:_cellBounding.endX-rightOffset,startY:_cellBounding.startY+topOffset,endY:_cellBounding.endY-downOffset},cellWidth=cellBounding.endX-cellBounding.startX,cellHeight=cellBounding.endY-cellBounding.startY,{cl}=style||{},color=(_a2=typeof cl=="object"?cl==null?void 0:cl.rgb:cl)!=null?_a2:"#000",fontStyle=engineRender.getFontStyleString(style!=null?style:void 0),{rule,validator:_validator}=validation,validator=_validator,{vt:_vt,ht}=style||{},vt=_vt!=null?_vt:core.VerticalAlign.MIDDLE,cellValue=(_b2=getCellValueOrigin(data))!=null?_b2:"",items=validator.parseCellValue(cellValue),labelColorMap=validator.getListWithColorMap(rule),layout=layoutDropdowns(items,fontStyle,cellWidth,cellHeight);this._drawDownIcon(ctx,cellBounding,cellWidth,cellHeight,vt),ctx.save(),ctx.translateWithPrecision(cellBounding.startX,cellBounding.startY),ctx.beginPath(),ctx.rect(0,0,cellWidth-ICON_PLACE,cellHeight),ctx.clip(),ctx.translateWithPrecision(CELL_PADDING_H,CELL_PADDING_V);let top=0;switch(vt){case core.VerticalAlign.MIDDLE:top=(layout.contentHeight-layout.totalHeight)/2;break;case core.VerticalAlign.BOTTOM:top=layout.contentHeight-layout.totalHeight;break}ctx.translateWithPrecision(0,top),layout.lines.forEach((line,index)=>{ctx.save();const{width,height,items:items2}=line;let left=0;switch(ht){case core.HorizontalAlign.RIGHT:left=layout.contentWidth-width;break;case core.HorizontalAlign.CENTER:left=(layout.contentWidth-width)/2;break}ctx.translate(left,index*(height+MARGIN_V)),items2.forEach(item=>{ctx.save(),ctx.translateWithPrecision(item.left,0),Dropdown.drawWith(ctx,{...fontStyle,info:item,color,fill:labelColorMap[item.text]}),ctx.restore()}),ctx.restore()}),ctx.restore(),map.set(key,{left:cellBounding.startX,top:cellBounding.startY,width:layout.contentWidth+CELL_PADDING_H+ICON_PLACE,height:layout.contentHeight+CELL_PADDING_V*2})}calcCellAutoHeight(info){var _a2;const{primaryWithCoord,style,data}=info,fontRenderExtension=data.fontRenderExtension,{leftOffset=0,rightOffset=0,topOffset=0,downOffset=0}=fontRenderExtension||{},_cellBounding=primaryWithCoord.isMergedMainCell?primaryWithCoord.mergeInfo:primaryWithCoord,cellBounding={startX:_cellBounding.startX+leftOffset,endX:_cellBounding.endX-rightOffset,startY:_cellBounding.startY+topOffset,endY:_cellBounding.endY-downOffset},validation=data.dataValidation;if(!validation)return;const cellWidth=cellBounding.endX-cellBounding.startX,cellHeight=cellBounding.endY-cellBounding.startY,cellValue=(_a2=getCellValueOrigin(data))!=null?_a2:"",{validator:_validator}=validation,items=_validator.parseCellValue(cellValue),fontStyle=engineRender.getFontStyleString(style!=null?style:void 0);return layoutDropdowns(items,fontStyle,cellWidth,cellHeight).cellAutoHeight}isHit(position,info){const{primaryWithCoord}=info,cellBounding=primaryWithCoord.isMergedMainCell?primaryWithCoord.mergeInfo:primaryWithCoord,{endX}=cellBounding,{x}=position;return x>=endX-ICON_PLACE&&x<=endX}onPointerDown(info,evt){if(evt.button===2)return;const{unitId,subUnitId,row,col}=info,params={unitId,subUnitId,row,column:col};this._commandService.executeCommand(ShowDataValidationDropdown.id,params)}},__name(_k,"DropdownMultipleWidget"),_k);DropdownMultipleWidget=__decorateClass$b([__decorateParam$b(0,core.ICommandService)],DropdownMultipleWidget);const _ListMultipleValidator=class _ListMultipleValidator extends ListValidator{constructor(){super(...arguments);__publicField(this,"id",core.DataValidationType.LIST_MULTIPLE);__publicField(this,"title","dataValidation.listMultiple.title");__publicField(this,"canvasRender",this.injector.createInstance(DropdownMultipleWidget));__publicField(this,"skipDefaultFontRender",__name(()=>!0,"skipDefaultFontRender"))}};__name(_ListMultipleValidator,"ListMultipleValidator");let ListMultipleValidator=_ListMultipleValidator;const _WholeValidator=class _WholeValidator extends dataValidation.BaseDataValidator{constructor(){super(...arguments);__publicField(this,"_formulaService",this.injector.get(exports2.DataValidationFormulaService));__publicField(this,"id",core.DataValidationType.WHOLE);__publicField(this,"title","dataValidation.whole.title");__publicField(this,"operators",[core.DataValidationOperator.BETWEEN,core.DataValidationOperator.EQUAL,core.DataValidationOperator.GREATER_THAN,core.DataValidationOperator.GREATER_THAN_OR_EQUAL,core.DataValidationOperator.LESS_THAN,core.DataValidationOperator.LESS_THAN_OR_EQUAL,core.DataValidationOperator.NOT_BETWEEN,core.DataValidationOperator.NOT_EQUAL]);__publicField(this,"scopes",["sheet"]);__publicField(this,"formulaInput",BASE_FORMULA_INPUT_NAME);__publicField(this,"dropDownInput")}_isFormulaOrInt(formula){return!core.Tools.isBlank(formula)&&(core.isFormulaString(formula)||!Number.isNaN(+formula)&&Number.isInteger(+formula))}async isValidType(cellInfo,formula,rule){const{value:cellValue}=cellInfo,num=getCellValueNumber(cellValue);return!Number.isNaN(num)&&Number.isInteger(num)}transform(cellInfo,formula,rule){const{value:cellValue}=cellInfo;return{...cellInfo,value:getCellValueNumber(cellValue)}}_parseNumber(formula){return formula==null?Number.NaN:+formula}async parseFormula(rule,unitId,subUnitId){var _a2,_b2,_c2,_d2,_e2,_f2,_g2,_h2;const formulaInfo=await this._formulaService.getRuleFormulaResult(unitId,subUnitId,rule.uid),{formula1,formula2}=rule;return{formula1:this._parseNumber(core.isFormulaString(formula1)?(_d2=(_c2=(_b2=(_a2=formulaInfo==null?void 0:formulaInfo[0])==null?void 0:_a2.result)==null?void 0:_b2[0])==null?void 0:_c2[0])==null?void 0:_d2.v:formula1),formula2:this._parseNumber(core.isFormulaString(formula2)?(_h2=(_g2=(_f2=(_e2=formulaInfo==null?void 0:formulaInfo[1])==null?void 0:_e2.result)==null?void 0:_f2[0])==null?void 0:_g2[0])==null?void 0:_h2.v:formula2)}}validatorFormula(rule,unitId,subUnitId){const operator=rule.operator;if(!operator)return{success:!1};const formula1Success=core.Tools.isDefine(rule.formula1)&&this._isFormulaOrInt(rule.formula1),formula2Success=core.Tools.isDefine(rule.formula2)&&this._isFormulaOrInt(rule.formula2),isTwoFormula=TWO_FORMULA_OPERATOR_COUNT.includes(operator),errorMsg=this.localeService.t("dataValidation.validFail.number");return isTwoFormula?{success:formula1Success&&formula2Success,formula1:formula1Success?void 0:errorMsg,formula2:formula2Success?void 0:errorMsg}:{success:formula1Success,formula1:errorMsg}}async validatorIsEqual(cellInfo,formula,rule){const{formula1}=formula,{value:cellValue}=cellInfo;return Number.isNaN(formula1)?!0:cellValue===formula1}async validatorIsNotEqual(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value!==formula1}async validatorIsBetween(cellInfo,formula,_rule){const{formula1,formula2}=formula;if(Number.isNaN(formula1)||Number.isNaN(formula2))return!0;const start=Math.min(formula1,formula2),end=Math.max(formula1,formula2);return cellInfo.value>=start&&cellInfo.value<=end}async validatorIsNotBetween(cellInfo,formula,_rule){const{formula1,formula2}=formula;if(Number.isNaN(formula1)||Number.isNaN(formula2))return!0;const start=Math.min(formula1,formula2),end=Math.max(formula1,formula2);return cellInfo.value<start||cellInfo.value>end}async validatorIsGreaterThan(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value>formula1}async validatorIsGreaterThanOrEqual(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value>=formula1}async validatorIsLessThan(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value<formula1}async validatorIsLessThanOrEqual(cellInfo,formula,_rule){const{formula1}=formula;return Number.isNaN(formula1)?!0:cellInfo.value<=formula1}};__name(_WholeValidator,"WholeValidator");let WholeValidator=_WholeValidator;const DataValidationIcon="data-validation-single",DATA_VALIDATION_MENU_ID="sheet.menu.data-validation";function dataValidationMenuFactory(accessor){return{id:DATA_VALIDATION_MENU_ID,type:ui.MenuItemType.SUBITEMS,icon:DataValidationIcon,tooltip:"dataValidation.title",hidden$:ui.getMenuHiddenObservable(accessor,core.UniverInstanceType.UNIVER_SHEET),disabled$:sheetsUi.getCurrentRangeDisable$(accessor,{workbookTypes:[sheets.WorkbookEditablePermission],worksheetTypes:[sheets.WorksheetSetCellStylePermission,sheets.WorksheetEditPermission],rangeTypes:[sheets.RangeProtectionPermissionEditPoint]})}}__name(dataValidationMenuFactory,"dataValidationMenuFactory");function openDataValidationMenuFactory(_accessor){return{id:OpenValidationPanelOperation.id,title:"dataValidation.panel.title",type:ui.MenuItemType.BUTTON}}__name(openDataValidationMenuFactory,"openDataValidationMenuFactory");function addDataValidationMenuFactory(_accessor){return{id:AddSheetDataValidationAndOpenCommand.id,title:"dataValidation.panel.add",type:ui.MenuItemType.BUTTON}}__name(addDataValidationMenuFactory,"addDataValidationMenuFactory");var __defProp$a=Object.defineProperty,__getOwnPropDesc$a=Object.getOwnPropertyDescriptor,__decorateClass$a=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$a(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$a(target,key,result),result},"__decorateClass$a"),__decorateParam$a=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$a");let DataValidationController=(_l=class extends core.RxDisposable{constructor(_univerInstanceService,_dataValidatorRegistryService,_injector,_componentManger,_selectionManagerService,_sheetInterceptorService,_sheetDataValidationModel){super(),this._univerInstanceService=_univerInstanceService,this._dataValidatorRegistryService=_dataValidatorRegistryService,this._injector=_injector,this._componentManger=_componentManger,this._selectionManagerService=_selectionManagerService,this._sheetInterceptorService=_sheetInterceptorService,this._sheetDataValidationModel=_sheetDataValidationModel,this._init()}_init(){this._registerValidators(),this._initCommandInterceptor(),this._initComponents()}_registerValidators(){[DecimalValidator,WholeValidator,TextLengthValidator,DateValidator,CheckboxValidator,ListValidator,ListMultipleValidator,CustomFormulaValidator].forEach(Validator=>{const validator=this._injector.createInstance(Validator);this.disposeWithMe(this._dataValidatorRegistryService.register(validator)),this.disposeWithMe({dispose:__name(()=>{this._injector.delete(Validator)},"dispose")})})}_initCommandInterceptor(){this._sheetInterceptorService.interceptCommand({getMutations:__name(commandInfo=>{var _a2;if(commandInfo.id===sheets.ClearSelectionAllCommand.id){const workbook=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET),unitId=workbook.getUnitId(),worksheet=workbook.getActiveSheet();if(!worksheet)throw new Error("No active sheet found");const subUnitId=worksheet.getSheetId(),selections=(_a2=this._selectionManagerService.getCurrentSelections())==null?void 0:_a2.map(s=>s.range),ruleMatrix=this._sheetDataValidationModel.getRuleObjectMatrix(unitId,subUnitId).clone();selections&&ruleMatrix.removeRange(selections);const diffs=ruleMatrix.diff(this._sheetDataValidationModel.getRules(unitId,subUnitId)),{redoMutations,undoMutations}=getDataValidationDiffMutations(unitId,subUnitId,diffs,this._injector,"patched");return{undos:undoMutations,redos:redoMutations}}return{undos:[],redos:[]}},"getMutations")})}_initComponents(){[[DataValidationIcon,DataValidationSingle],[DATA_VALIDATION_PANEL,DataValidationPanel],[DROP_DOWN_KEY,CellDropdown],[LIST_DROPDOWN_KEY,ListDropDown],[DATE_DROPDOWN_KEY,DateDropdown],[ListRenderModeInput.componentKey,ListRenderModeInput],[DateShowTimeOption.componentKey,DateShowTimeOption],...FORMULA_INPUTS].forEach(([key,component])=>{this.disposeWithMe(this._componentManger.register(key,component))})}},__name(_l,"DataValidationController"),_l);DataValidationController=__decorateClass$a([core.OnLifecycle(core.LifecycleStages.Rendered,DataValidationController),__decorateParam$a(0,core.IUniverInstanceService),__decorateParam$a(1,core.Inject(dataValidation.DataValidatorRegistryService)),__decorateParam$a(2,core.Inject(core.Injector)),__decorateParam$a(3,core.Inject(ui.ComponentManager)),__decorateParam$a(4,core.Inject(sheets.SheetsSelectionsService)),__decorateParam$a(5,core.Inject(sheets.SheetInterceptorService)),__decorateParam$a(6,core.Inject(exports2.SheetDataValidationModel))],DataValidationController);var __defProp$9=Object.defineProperty,__getOwnPropDesc$9=Object.getOwnPropertyDescriptor,__decorateClass$9=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$9(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$9(target,key,result),result},"__decorateClass$9"),__decorateParam$9=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$9");const ALERT_KEY="SHEET_DATA_VALIDATION_ALERT";let DataValidationAlertController=(_m=class extends core.Disposable{constructor(_hoverManagerService,_cellAlertManagerService,_univerInstanceService,_localeService,_zenZoneService){super(),this._hoverManagerService=_hoverManagerService,this._cellAlertManagerService=_cellAlertManagerService,this._univerInstanceService=_univerInstanceService,this._localeService=_localeService,this._zenZoneService=_zenZoneService,this._init()}_init(){this._initCellAlertPopup(),this._initZenService()}_initCellAlertPopup(){this.disposeWithMe(this._hoverManagerService.currentCell$.pipe(rxjs.debounceTime(100)).subscribe(cellPos=>{var _a2,_b2;if(cellPos){const worksheet=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET).getActiveSheet();if(!worksheet)return;const cellData=worksheet.getCell(cellPos.location.row,cellPos.location.col);if(((_a2=cellData==null?void 0:cellData.dataValidation)==null?void 0:_a2.validStatus)===core.DataValidationStatus.INVALID){const currentAlert=this._cellAlertManagerService.currentAlert.get(ALERT_KEY),currentLoc=(_b2=currentAlert==null?void 0:currentAlert.alert)==null?void 0:_b2.location;if(currentLoc&¤tLoc.row===cellPos.location.row&¤tLoc.col===cellPos.location.col&¤tLoc.subUnitId===cellPos.location.subUnitId&¤tLoc.unitId===cellPos.location.unitId)return;const validator=cellData.dataValidation.validator,rule=cellData.dataValidation.rule;if(!validator)return;this._cellAlertManagerService.showAlert({type:sheetsUi.CellAlertType.ERROR,title:this._localeService.t("dataValidation.error.title"),message:validator==null?void 0:validator.getRuleFinalError(rule),location:cellPos.location,width:200,height:74,key:ALERT_KEY});return}}this._cellAlertManagerService.removeAlert(ALERT_KEY)}))}_initZenService(){this.disposeWithMe(this._zenZoneService.visible$.subscribe(visible=>{visible&&this._cellAlertManagerService.removeAlert(ALERT_KEY)}))}},__name(_m,"DataValidationAlertController"),_m);DataValidationAlertController=__decorateClass$9([core.OnLifecycle(core.LifecycleStages.Rendered,DataValidationAlertController),__decorateParam$9(0,core.Inject(sheetsUi.HoverManagerService)),__decorateParam$9(1,core.Inject(sheetsUi.CellAlertManagerService)),__decorateParam$9(2,core.IUniverInstanceService),__decorateParam$9(3,core.Inject(core.LocaleService)),__decorateParam$9(4,ui.IZenZoneService)],DataValidationAlertController);var __defProp$8=Object.defineProperty,__getOwnPropDesc$8=Object.getOwnPropertyDescriptor,__decorateClass$8=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$8(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$8(target,key,result),result},"__decorateClass$8"),__decorateParam$8=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$8");let DataValidationCopyPasteController=(_n=class extends core.Disposable{constructor(_sheetClipboardService,_sheetDataValidationModel,_injector){super();__publicField(this,"_copyInfo");this._sheetClipboardService=_sheetClipboardService,this._sheetDataValidationModel=_sheetDataValidationModel,this._injector=_injector,this._initCopyPaste()}_initCopyPaste(){this._sheetClipboardService.addClipboardHook({id:DATA_VALIDATION_PLUGIN_NAME,onBeforeCopy:__name((unitId,subUnitId,range)=>this._collect(unitId,subUnitId,range),"onBeforeCopy"),onPasteCells:__name((pasteFrom,pasteTo,data,payload)=>{const{copyType=sheetsUi.COPY_TYPE.COPY,pasteType}=payload,{range:copyRange}=pasteFrom||{},{range:pastedRange,unitId,subUnitId}=pasteTo;return this._generateMutations(pastedRange,{copyType,pasteType,copyRange,unitId,subUnitId})},"onPasteCells")})}_collect(unitId,subUnitId,range){const matrix=new core.ObjectMatrix;this._copyInfo={unitId,subUnitId,matrix};const discreteRange=this._injector.invoke(accessor=>sheetsUi.rangeToDiscreteRange(range,accessor,unitId,subUnitId));if(!discreteRange)return;const{rows,cols}=discreteRange;rows.forEach((row,rowIndex)=>{cols.forEach((col,colIndex)=>{const ruleId=this._sheetDataValidationModel.getRuleIdByLocation(unitId,subUnitId,row,col);matrix.setValue(rowIndex,colIndex,ruleId!=null?ruleId:"")})})}_generateMutations(pastedRange,copyInfo){if(!this._copyInfo)return{redos:[],undos:[]};if(copyInfo.copyType===sheetsUi.COPY_TYPE.CUT)return this._copyInfo=null,{redos:[],undos:[]};if(!this._copyInfo||!this._copyInfo.matrix.getSizeOf()||!copyInfo.copyRange)return{redos:[],undos:[]};if([sheetsUi.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_COL_WIDTH,sheetsUi.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_VALUE,sheetsUi.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMAT,sheetsUi.PREDEFINED_HOOK_NAME.SPECIAL_PASTE_FORMULA].includes(copyInfo.pasteType))return{redos:[],undos:[]};const{unitId,subUnitId}=this._copyInfo;if(copyInfo.unitId!==unitId||subUnitId!==copyInfo.subUnitId){const ruleMatrix=this._sheetDataValidationModel.getRuleObjectMatrix(copyInfo.unitId,copyInfo.subUnitId).clone(),additionMatrix=new core.ObjectMatrix,addRules=new Set,{ranges:[vCopyRange,vPastedRange],mapFunc}=sheetsUi.virtualizeDiscreteRanges([copyInfo.copyRange,pastedRange]),repeatRange=sheetsUi.getRepeatRange(vCopyRange,vPastedRange,!0),additionRules=new Map;repeatRange.forEach(({startRange})=>{var _a2;(_a2=this._copyInfo)==null||_a2.matrix.forValue((row,col,ruleId)=>{const range=core.Rectangle.getPositionRange({startRow:row,endRow:row,startColumn:col,endColumn:col},startRange),transformedRuleId=`${subUnitId}-${ruleId}`,oldRule=this._sheetDataValidationModel.getRuleById(unitId,subUnitId,ruleId);!this._sheetDataValidationModel.getRuleById(copyInfo.unitId,copyInfo.subUnitId,transformedRuleId)&&oldRule&&additionRules.set(transformedRuleId,{...oldRule,uid:transformedRuleId});const{row:startRow,col:startColumn}=mapFunc(range.startRow,range.startColumn);addRules.add(transformedRuleId),additionMatrix.setValue(startRow,startColumn,transformedRuleId)})});const additions=Array.from(addRules).map(id=>({id,ranges:core.queryObjectMatrix(additionMatrix,value=>value===id)}));ruleMatrix.addRangeRules(additions);const{redoMutations,undoMutations}=getDataValidationDiffMutations(copyInfo.unitId,copyInfo.subUnitId,ruleMatrix.diffWithAddition(this._sheetDataValidationModel.getRules(copyInfo.unitId,copyInfo.subUnitId),additionRules.values()),this._injector,"patched");return{redos:redoMutations,undos:undoMutations}}else{const ruleMatrix=this._sheetDataValidationModel.getRuleObjectMatrix(unitId,subUnitId).clone(),additionMatrix=new core.ObjectMatrix,additionRules=new Set,{ranges:[vCopyRange,vPastedRange],mapFunc}=sheetsUi.virtualizeDiscreteRanges([copyInfo.copyRange,pastedRange]);sheetsUi.getRepeatRange(vCopyRange,vPastedRange,!0).forEach(({startRange})=>{var _a2;(_a2=this._copyInfo)==null||_a2.matrix.forValue((row,col,ruleId)=>{const range=core.Rectangle.getPositionRange({startRow:row,endRow:row,startColumn:col,endColumn:col},startRange),{row:startRow,col:startColumn}=mapFunc(range.startRow,range.startColumn);additionMatrix.setValue(startRow,startColumn,ruleId),additionRules.add(ruleId)})});const additions=Array.from(additionRules).map(id=>({id,ranges:core.queryObjectMatrix(additionMatrix,value=>value===id)}));ruleMatrix.addRangeRules(additions);const{redoMutations,undoMutations}=getDataValidationDiffMutations(unitId,subUnitId,ruleMatrix.diff(this._sheetDataValidationModel.getRules(unitId,subUnitId)),this._injector,"patched");return{redos:redoMutations,undos:undoMutations}}}},__name(_n,"DataValidationCopyPasteController"),_n);DataValidationCopyPasteController=__decorateClass$8([core.OnLifecycle(core.LifecycleStages.Ready,DataValidationCopyPasteController),__decorateParam$8(0,sheetsUi.ISheetClipboardService),__decorateParam$8(1,core.Inject(exports2.SheetDataValidationModel)),__decorateParam$8(2,core.Inject(core.Injector))],DataValidationCopyPasteController);var __defProp$7=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__decorateClass$7=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$7(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$7(target,key,result),result},"__decorateClass$7"),__decorateParam$7=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$7");let DataValidationPermissionController=(_o=class extends core.Disposable{constructor(_localeService,_commandService,_sheetPermissionInterceptorBaseController){super(),this._localeService=_localeService,this._commandService=_commandService,this._sheetPermissionInterceptorBaseController=_sheetPermissionInterceptorBaseController,this._commandExecutedListener()}_commandExecutedListener(){this.disposeWithMe(this._commandService.beforeCommandExecuted(command=>{command.id===AddSheetDataValidationCommand.id&&(this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({workbookTypes:[sheets.WorkbookEditablePermission],rangeTypes:[sheets.RangeProtectionPermissionEditPoint],worksheetTypes:[sheets.WorksheetEditPermission,sheets.WorksheetSetCellStylePermission]})||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.setStyleErr"))),command.id===UpdateSheetDataValidationRangeCommand.id&&(this._sheetPermissionInterceptorBaseController.permissionCheckWithRanges({workbookTypes:[sheets.WorkbookEditablePermission],rangeTypes:[sheets.RangeProtectionPermissionEditPoint],worksheetTypes:[sheets.WorksheetEditPermission,sheets.WorksheetSetCellStylePermission]},command.params.ranges)||this._sheetPermissionInterceptorBaseController.haveNotPermissionHandle(this._localeService.t("permission.dialog.setStyleErr")))}))}},__name(_o,"DataValidationPermissionController"),_o);DataValidationPermissionController=__decorateClass$7([core.OnLifecycle(core.LifecycleStages.Ready,DataValidationPermissionController),__decorateParam$7(0,core.Inject(core.LocaleService)),__decorateParam$7(1,core.ICommandService),__decorateParam$7(2,core.Inject(sheetsUi.SheetPermissionInterceptorBaseController))],DataValidationPermissionController);var __defProp$6=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__decorateClass$6=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$6(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$6(target,key,result),result},"__decorateClass$6"),__decorateParam$6=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$6");let DataValidationRefRangeController=(_p=class extends core.Disposable{constructor(_dataValidationModel,_injector,_refRangeService,_dataValidationCustomFormulaService,_dataValidationFormulaService,_formulaRefRangeService){super();__publicField(this,"_disposableMap",new Map);__publicField(this,"registerRule",__name((unitId,subUnitId,rule)=>{this.register(unitId,subUnitId,rule),this.registerFormula(unitId,subUnitId,rule)},"registerRule"));this._dataValidationModel=_dataValidationModel,this._injector=_injector,this._refRangeService=_refRangeService,this._dataValidationCustomFormulaService=_dataValidationCustomFormulaService,this._dataValidationFormulaService=_dataValidationFormulaService,this._formulaRefRangeService=_formulaRefRangeService,this._initRefRange()}_getIdWithUnitId(unitID,subUnitId,ruleId){return`${unitID}_${subUnitId}_${ruleId}`}registerFormula(unitId,subUnitId,rule){var _a2;const ruleId=rule.uid,id=this._getIdWithUnitId(unitId,subUnitId,ruleId),disposeSet=(_a2=this._disposableMap.get(id))!=null?_a2:new Set,handleFormulaChange=__name((type,formulaString)=>{const oldRule=this._dataValidationModel.getRuleById(unitId,subUnitId,ruleId);if(!oldRule)return{redos:[],undos:[]};const oldFormula=oldRule[type];if(!oldFormula||oldFormula===formulaString)return{redos:[],undos:[]};const redoParams={unitId,subUnitId,ruleId:rule.uid,payload:{type:dataValidation.UpdateRuleType.SETTING,payload:{type:oldRule.type,formula1:oldRule.formula1,formula2:oldRule.formula2,[type]:formulaString}}},undoParams={unitId,subUnitId,ruleId:rule.uid,payload:{type:dataValidation.UpdateRuleType.SETTING,payload:{type:oldRule.type,formula1:oldRule.formula1,formula2:oldRule.formula2}}},redos=[{id:dataValidation.UpdateDataValidationMutation.id,params:redoParams}],undos=[{id:dataValidation.UpdateDataValidationMutation.id,params:undoParams}];return{redos,undos}},"handleFormulaChange");if(rule.type===core.DataValidationType.CUSTOM){const currentFormula=this._dataValidationCustomFormulaService.getRuleFormulaInfo(unitId,subUnitId,ruleId);if(currentFormula){const disposable=this._formulaRefRangeService.registerFormula(currentFormula.formula,newFormulaString=>handleFormulaChange("formula1",newFormulaString));disposeSet.add(()=>disposable.dispose())}}if(rule.type!==core.DataValidationType.CUSTOM){const currentFormula=this._dataValidationFormulaService.getRuleFormulaInfo(unitId,subUnitId,ruleId);if(currentFormula){const[formula1,formula2]=currentFormula;if(formula1){const disposable=this._formulaRefRangeService.registerFormula(formula1.text,newFormulaString=>handleFormulaChange("formula1",newFormulaString));disposeSet.add(()=>disposable.dispose())}if(formula2){const disposable=this._formulaRefRangeService.registerFormula(formula2.text,newFormulaString=>handleFormulaChange("formula2",newFormulaString));disposeSet.add(()=>disposable.dispose())}}}}register(unitId,subUnitId,rule){var _a2;const handleRangeChange=__name(commandInfo=>{const oldRanges=[...rule.ranges],resultRanges=oldRanges.map(range=>sheets.handleCommonDefaultRangeChangeWithEffectRefCommands(range,commandInfo)).filter(range=>!!range).flat();if(core.isRangesEqual(resultRanges,oldRanges))return{redos:[],undos:[]};if(resultRanges.length){const redoParams={unitId,subUnitId,ruleId:rule.uid,payload:{type:dataValidation.UpdateRuleType.RANGE,payload:resultRanges},source:"patched"},redos=[{id:dataValidation.UpdateDataValidationMutation.id,params:redoParams}],undos=[{id:dataValidation.UpdateDataValidationMutation.id,params:{unitId,subUnitId,ruleId:rule.uid,payload:{type:dataValidation.UpdateRuleType.RANGE,payload:oldRanges},source:"patched"}}];return{redos,undos}}else{const redoParams={unitId,subUnitId,ruleId:rule.uid},redos=[{id:dataValidation.RemoveDataValidationMutation.id,params:redoParams}],undos=removeDataValidationUndoFactory(this._injector,redoParams);return{redos,undos}}},"handleRangeChange"),disposeList=[];rule.ranges.forEach(range=>{const disposable=this._refRangeService.registerRefRange(range,handleRangeChange,unitId,subUnitId);disposeList.push(()=>disposable.dispose())});const id=this._getIdWithUnitId(unitId,subUnitId,rule.uid),current=(_a2=this._disposableMap.get(id))!=null?_a2:new Set;current.add(()=>disposeList.forEach(dispose=>dispose())),this._disposableMap.set(id,current)}_initRefRange(){const allRules=this._dataValidationModel.getAll();for(const[unitId,subUnitMap]of allRules)for(const[subUnitId,rules]of subUnitMap)for(const rule of rules)this.registerRule(unitId,subUnitId,rule);this.disposeWithMe(this._dataValidationModel.ruleChange$.subscribe(option=>{const{unitId,subUnitId,rule}=option;switch(option.type){case"add":{const rule2=option.rule;this.registerRule(option.unitId,option.subUnitId,rule2);break}case"remove":{const disposeSet=this._disposableMap.get(this._getIdWithUnitId(unitId,subUnitId,rule.uid));disposeSet&&disposeSet.forEach(dispose=>dispose());break}case"update":{const rule2=option.rule,disposeSet=this._disposableMap.get(this._getIdWithUnitId(unitId,subUnitId,rule2.uid));disposeSet&&disposeSet.forEach(dispose=>dispose()),this.registerRule(option.unitId,option.subUnitId,rule2);break}}})),this.disposeWithMe(core.toDisposable(()=>{this._disposableMap.forEach(item=>{item.forEach(dispose=>dispose())}),this._disposableMap.clear()}))}},__name(_p,"DataValidationRefRangeController"),_p);DataValidationRefRangeController=__decorateClass$6([core.OnLifecycle(core.LifecycleStages.Starting,DataValidationRefRangeController),__decorateParam$6(0,core.Inject(exports2.SheetDataValidationModel)),__decorateParam$6(1,core.Inject(core.Injector)),__decorateParam$6(2,core.Inject(sheets.RefRangeService)),__decorateParam$6(3,core.Inject(exports2.DataValidationCustomFormulaService)),__decorateParam$6(4,core.Inject(exports2.DataValidationFormulaService)),__decorateParam$6(5,core.Inject(sheetsFormula.FormulaRefRangeService))],DataValidationRefRangeController);const menuSchema={[ui.RibbonStartGroup.FORMULAS_INSERT]:{[DATA_VALIDATION_MENU_ID]:{order:9,menuItemFactory:dataValidationMenuFactory,[OpenValidationPanelOperation.id]:{order:0,menuItemFactory:openDataValidationMenuFactory},[AddSheetDataValidationAndOpenCommand.id]:{order:1,menuItemFactory:addDataValidationMenuFactory}}}};var __defProp$5=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__decorateClass$5=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$5(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$5(target,key,result),result},"__decorateClass$5"),__decorateParam$5=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$5");const INVALID_MARK={tr:{size:6,color:"#fe4b4b"}};let SheetsDataValidationRenderController=(_q=class extends core.RxDisposable{constructor(_commandService,_menuManagerService,_renderManagerService,_univerInstanceService,_autoHeightController,_dropdownManagerService,_sheetDataValidationModel,_dataValidatorRegistryService,_sheetInterceptorService,_editorBridgeService){super(),this._commandService=_commandService,this._menuManagerService=_menuManagerService,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._autoHeightController=_autoHeightController,this._dropdownManagerService=_dropdownManagerService,this._sheetDataValidationModel=_sheetDataValidationModel,this._dataValidatorRegistryService=_dataValidatorRegistryService,this._sheetInterceptorService=_sheetInterceptorService,this._editorBridgeService=_editorBridgeService,this._initMenu(),this._initSkeletonChange(),this._initDropdown(),this._initViewModelIntercept(),this._initAutoHeight()}_initMenu(){this._menuManagerService.mergeMenu(menuSchema)}_initDropdown(){this._editorBridgeService&&this.disposeWithMe(this._editorBridgeService.visible$.subscribe(visible=>{var _a2;if(!visible.visible){((_a2=this._dropdownManagerService.activeDropdown)==null?void 0:_a2.trigger)==="editor-bridge"&&this._dropdownManagerService.hideDropdown();return}const state=this._editorBridgeService.getEditCellState();if(state){const{unitId,sheetId,row,column}=state,workbook=this._univerInstanceService.getUniverSheetInstance(unitId);if(!workbook)return;const rule=this._sheetDataValidationModel.getRuleByLocation(unitId,sheetId,row,column);if(!rule)return;const validator=this._dataValidatorRegistryService.getValidatorItem(rule.type);if(!(validator!=null&&validator.dropdown))return;const worksheet=workbook.getActiveSheet();if(!worksheet)return;const activeDropdown=this._dropdownManagerService.activeDropdown,currLoc=activeDropdown==null?void 0:activeDropdown.location;if(currLoc&&currLoc.unitId===unitId&&currLoc.subUnitId===sheetId&&currLoc.row===row&&currLoc.col===column)return;this._dropdownManagerService.showDropdown({location:{unitId,subUnitId:sheetId,row,col:column,workbook,worksheet},componentKey:validator.dropdown,onHide:__name(()=>{},"onHide"),trigger:"editor-bridge"},!1)}}))}_initSkeletonChange(){const markSkeletonDirty=__name(()=>{var _a2,_b2,_c2;const workbook=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET);if(!workbook)return;const unitId=workbook.getUnitId(),subUnitId=(_a2=workbook.getActiveSheet())==null?void 0:_a2.getSheetId();if(!subUnitId)return;const skeleton=(_c2=(_b2=this._renderManagerService.getRenderById(unitId))==null?void 0:_b2.with(sheetsUi.SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId))==null?void 0:_c2.skeleton,currentRender=this._renderManagerService.getRenderById(unitId);skeleton==null||skeleton.makeDirty(!0),skeleton==null||skeleton.calculate(),currentRender&¤tRender.mainComponent.makeForceDirty()},"markSkeletonDirty");this.disposeWithMe(this._sheetDataValidationModel.ruleChange$.pipe(rxjs.debounceTime(16)).subscribe(()=>markSkeletonDirty())),this.disposeWithMe(this._sheetDataValidationModel.validStatusChange$.pipe(rxjs.debounceTime(16)).subscribe(()=>markSkeletonDirty()))}_initViewModelIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(sheets.INTERCEPTOR_POINT.CELL_CONTENT,{effect:core.InterceptorEffectEnum.Style,priority:sheets.InterceptCellContentPriority.DATA_VALIDATION,handler:__name((cell,pos,next)=>{var _a2,_b2,_c2,_d2;const{row,col,unitId,subUnitId,workbook,worksheet}=pos,ruleId=this._sheetDataValidationModel.getRuleIdByLocation(unitId,subUnitId,row,col);if(!ruleId)return next(cell);const rule=this._sheetDataValidationModel.getRuleById(unitId,subUnitId,ruleId);if(!rule)return next(cell);const validStatus=this._sheetDataValidationModel.validator(cell,rule,pos),validator=this._dataValidatorRegistryService.getValidatorItem(rule.type),cellOrigin=pos.rawData;let cache;const cellValue={get value(){var _a3;return cache!==void 0||(cache=(_a3=getCellValueOrigin(cellOrigin))!=null?_a3:null),cache}},valueStr={get value(){var _a3;return`${(_a3=cellValue.value)!=null?_a3:""}`}};return next({...cell,dataValidation:{ruleId,validStatus,rule,validator},markers:{...cell==null?void 0:cell.markers,...validStatus===core.DataValidationStatus.INVALID?INVALID_MARK:null},customRender:[...(_a2=cell==null?void 0:cell.customRender)!=null?_a2:[],...validator!=null&&validator.canvasRender?[validator.canvasRender]:[]],fontRenderExtension:{...cell==null?void 0:cell.fontRenderExtension,isSkip:((_b2=cell==null?void 0:cell.fontRenderExtension)==null?void 0:_b2.isSkip)||((_c2=validator==null?void 0:validator.skipDefaultFontRender)==null?void 0:_c2.call(validator,rule,cellValue.value,pos))},interceptorStyle:{...cell==null?void 0:cell.interceptorStyle,...validator==null?void 0:validator.getExtraStyle(rule,valueStr.value,{get style(){const styleMap=workbook.getStyles();return(typeof(cell==null?void 0:cell.s)=="string"?styleMap.get(cell==null?void 0:cell.s):cell==null?void 0:cell.s)||{}}})},interceptorAutoHeight:__name(()=>{var _a3,_b3,_c3,_d3,_e2,_f2;const skeleton=(_b3=(_a3=this._renderManagerService.getRenderById(unitId))==null?void 0:_a3.with(sheetsUi.SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId))==null?void 0:_b3.skeleton;if(!skeleton)return;const mergeCell=skeleton.worksheet.getMergedCell(row,col),info={data:{...cell,dataValidation:{ruleId,validStatus,rule,validator}},style:skeleton.getsStyles().getStyleByCell(cell),primaryWithCoord:skeleton.getCellByIndex((_c3=mergeCell==null?void 0:mergeCell.startRow)!=null?_c3:row,(_d3=mergeCell==null?void 0:mergeCell.startColumn)!=null?_d3:col),unitId,subUnitId,row,col,workbook,worksheet};return(_f2=(_e2=validator==null?void 0:validator.canvasRender)==null?void 0:_e2.calcCellAutoHeight)==null?void 0:_f2.call(_e2,info)},"interceptorAutoHeight"),coverable:((_d2=cell==null?void 0:cell.coverable)!=null?_d2:!0)&&!(rule.type===core.DataValidationType.LIST||rule.type===core.DataValidationType.LIST_MULTIPLE)})},"handler")}))}_initAutoHeight(){this._sheetDataValidationModel.ruleChange$.pipe(rxjs.filter(change=>change.source==="command"),rxjs.bufferTime(16)).subscribe(infos=>{const ranges=[];if(infos.forEach(info=>{var _a2;(_a2=info.rule)!=null&&_a2.ranges&&ranges.push(...info.rule.ranges)}),ranges.length){const mutations=this._autoHeightController.getUndoRedoParamsOfAutoHeight(ranges);core.sequenceExecute(mutations.redos,this._commandService)}})}},__name(_q,"SheetsDataValidationRenderController"),_q);SheetsDataValidationRenderController=__decorateClass$5([core.OnLifecycle(core.LifecycleStages.Rendered,SheetsDataValidationRenderController),__decorateParam$5(0,core.ICommandService),__decorateParam$5(1,ui.IMenuManagerService),__decorateParam$5(2,engineRender.IRenderManagerService),__decorateParam$5(3,core.IUniverInstanceService),__decorateParam$5(4,core.Inject(sheetsUi.AutoHeightController)),__decorateParam$5(5,core.Inject(DataValidationDropdownManagerService)),__decorateParam$5(6,core.Inject(exports2.SheetDataValidationModel)),__decorateParam$5(7,core.Inject(dataValidation.DataValidatorRegistryService)),__decorateParam$5(8,core.Inject(sheets.SheetInterceptorService)),__decorateParam$5(9,core.Optional(sheetsUi.IEditorBridgeService))],SheetsDataValidationRenderController);let SheetsDataValidationMobileRenderController=(_r=class extends core.RxDisposable{constructor(_commandService,_renderManagerService,_univerInstanceService,_autoHeightController,_dataValidatorRegistryService,_sheetInterceptorService,_sheetDataValidationModel){super(),this._commandService=_commandService,this._renderManagerService=_renderManagerService,this._univerInstanceService=_univerInstanceService,this._autoHeightController=_autoHeightController,this._dataValidatorRegistryService=_dataValidatorRegistryService,this._sheetInterceptorService=_sheetInterceptorService,this._sheetDataValidationModel=_sheetDataValidationModel,this._initSkeletonChange(),this._initViewModelIntercept(),this._initAutoHeight()}_initSkeletonChange(){const markSkeletonDirty=__name(()=>{var _a2,_b2,_c2;const workbook=this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET);if(!workbook)return;const unitId=workbook.getUnitId(),subUnitId=(_a2=workbook.getActiveSheet())==null?void 0:_a2.getSheetId();if(!subUnitId)return;const skeleton=(_c2=(_b2=this._renderManagerService.getRenderById(unitId))==null?void 0:_b2.with(sheetsUi.SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId))==null?void 0:_c2.skeleton,currentRender=this._renderManagerService.getRenderById(unitId);skeleton==null||skeleton.makeDirty(!0),skeleton==null||skeleton.calculate(),currentRender&¤tRender.mainComponent.makeForceDirty()},"markSkeletonDirty");this.disposeWithMe(this._sheetDataValidationModel.ruleChange$.pipe(rxjs.debounceTime(16)).subscribe(()=>markSkeletonDirty())),this.disposeWithMe(this._sheetDataValidationModel.validStatusChange$.pipe(rxjs.debounceTime(16)).subscribe(()=>markSkeletonDirty()))}_initViewModelIntercept(){this.disposeWithMe(this._sheetInterceptorService.intercept(sheets.INTERCEPTOR_POINT.CELL_CONTENT,{effect:core.InterceptorEffectEnum.Style,priority:sheets.InterceptCellContentPriority.DATA_VALIDATION,handler:__name((cell,pos,next)=>{var _a2,_b2,_c2,_d2;const{row,col,unitId,subUnitId,workbook,worksheet}=pos,ruleId=this._sheetDataValidationModel.getRuleIdByLocation(unitId,subUnitId,row,col);if(!ruleId)return next(cell);const rule=this._sheetDataValidationModel.getRuleById(unitId,subUnitId,ruleId);if(!rule)return next(cell);const validStatus=this._sheetDataValidationModel.validator(cell,rule,pos),validator=this._dataValidatorRegistryService.getValidatorItem(rule.type),cellOrigin=worksheet.getCellRaw(row,col),cellValue=getCellValueOrigin(cellOrigin),valueStr=`${cellValue!=null?cellValue:""}`;return next({...cell,dataValidation:{ruleId,validStatus,rule,validator},markers:{...cell==null?void 0:cell.markers,...validStatus===core.DataValidationStatus.INVALID?INVALID_MARK:null},customRender:[...(_a2=cell==null?void 0:cell.customRender)!=null?_a2:[],...validator!=null&&validator.canvasRender?[validator.canvasRender]:[]],fontRenderExtension:{...cell==null?void 0:cell.fontRenderExtension,isSkip:((_b2=cell==null?void 0:cell.fontRenderExtension)==null?void 0:_b2.isSkip)||((_c2=validator==null?void 0:validator.skipDefaultFontRender)==null?void 0:_c2.call(validator,rule,cellValue,pos))},interceptorStyle:{...cell==null?void 0:cell.interceptorStyle,...validator==null?void 0:validator.getExtraStyle(rule,valueStr,{get style(){const styleMap=workbook.getStyles();return(typeof(cell==null?void 0:cell.s)=="string"?styleMap.get(cell==null?void 0:cell.s):cell==null?void 0:cell.s)||{}}})},interceptorAutoHeight:__name(()=>{var _a3,_b3,_c3,_d3,_e2,_f2;const skeleton=(_b3=(_a3=this._renderManagerService.getRenderById(unitId))==null?void 0:_a3.with(sheetsUi.SheetSkeletonManagerService).getWorksheetSkeleton(subUnitId))==null?void 0:_b3.skeleton;if(!skeleton)return;const mergeCell=skeleton.worksheet.getMergedCell(row,col),info={data:{...cell,dataValidation:{ruleId,validStatus,rule,validator}},style:skeleton.getsStyles().getStyleByCell(cell),primaryWithCoord:skeleton.getCellByIndex((_c3=mergeCell==null?void 0:mergeCell.startRow)!=null?_c3:row,(_d3=mergeCell==null?void 0:mergeCell.startColumn)!=null?_d3:col),unitId,subUnitId,row,col,workbook,worksheet};return(_f2=(_e2=validator==null?void 0:validator.canvasRender)==null?void 0:_e2.calcCellAutoHeight)==null?void 0:_f2.call(_e2,info)},"interceptorAutoHeight"),coverable:((_d2=cell==null?void 0:cell.coverable)!=null?_d2:!0)&&!(rule.type===core.DataValidationType.LIST||rule.type===core.DataValidationType.LIST_MULTIPLE)})},"handler")}))}_initAutoHeight(){this._sheetDataValidationModel.ruleChange$.pipe(rxjs.filter(change=>change.source==="command"),rxjs.bufferTime(16)).subscribe(infos=>{const ranges=[];if(infos.forEach(info=>{var _a2;(_a2=info.rule)!=null&&_a2.ranges&&ranges.push(...info.rule.ranges)}),ranges.length){const mutations=this._autoHeightController.getUndoRedoParamsOfAutoHeight(ranges);core.sequenceExecute(mutations.redos,this._commandService)}})}},__name(_r,"SheetsDataValidationMobileRenderController"),_r);SheetsDataValidationMobileRenderController=__decorateClass$5([core.OnLifecycle(core.LifecycleStages.Rendered,SheetsDataValidationMobileRenderController),__decorateParam$5(0,core.ICommandService),__decorateParam$5(1,engineRender.IRenderManagerService),__decorateParam$5(2,core.IUniverInstanceService),__decorateParam$5(3,core.Inject(sheetsUi.AutoHeightController)),__decorateParam$5(4,core.Inject(dataValidation.DataValidatorRegistryService)),__decorateParam$5(5,core.Inject(sheets.SheetInterceptorService)),__decorateParam$5(6,core.Inject(exports2.SheetDataValidationModel))],SheetsDataValidationMobileRenderController);var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$4");exports2.SheetsDataValidationValidatorService=(_s=class{constructor(_univerInstanceService,_sheetDataValidationModel,_dataValidationCacheService){this._univerInstanceService=_univerInstanceService,this._sheetDataValidationModel=_sheetDataValidationModel,this._dataValidationCacheService=_dataValidationCacheService}async validatorCell(unitId,subUnitId,row,col){const workbook=this._univerInstanceService.getUnit(unitId,core.UniverInstanceType.UNIVER_SHEET);if(!workbook)throw new Error(`cannot find current workbook, unitId: ${unitId}`);const worksheet=workbook.getSheetBySheetId(subUnitId);if(!worksheet)throw new Error(`cannot find current worksheet, sheetId: ${subUnitId}`);if(!core.Tools.isDefine(row)||!core.Tools.isDefine(col))throw new Error(`row or col is not defined, row: ${row}, col: ${col}`);const cell=worksheet.getCell(row,col),rule=this._sheetDataValidationModel.getRuleByLocation(unitId,subUnitId,row,col);return rule?new Promise(resolve=>{this._sheetDataValidationModel.validator(cell,rule,{unitId,subUnitId,row,col,worksheet,workbook},resolve)}):core.DataValidationStatus.VALID}validatorRanges(unitId,subUnitId,ranges){return Promise.all(ranges.map(range=>{const promises=[];return core.Range.foreach(range,(row,col)=>{promises.push(this.validatorCell(unitId,subUnitId,row,col))}),promises}))}async validatorWorksheet(unitId,subUnitId){const rules=this._sheetDataValidationModel.getRules(unitId,subUnitId);return await Promise.all(rules.map(rule=>Promise.all(rule.ranges.map(range=>{const promises=[];return core.Range.foreach(range,(row,col)=>{promises.push(this.validatorCell(unitId,subUnitId,row,col))}),promises})))),this._dataValidationCacheService.ensureCache(unitId,subUnitId)}async validatorWorkbook(unitId){const sheetIds=this._sheetDataValidationModel.getSubUnitIds(unitId),results=await Promise.all(sheetIds.map(id=>this.validatorWorksheet(unitId,id))),map={};return results.forEach((result,i)=>{map[sheetIds[i]]=result}),map}getDataValidations(unitId,subUnitId,ranges){const ruleMatrix=this._sheetDataValidationModel.getRuleObjectMatrix(unitId,subUnitId),ruleIdSet=new Set;return ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const ruleId=ruleMatrix.getValue(row,col);ruleId&&ruleIdSet.add(ruleId)})}),Array.from(ruleIdSet).map(id=>this._sheetDataValidationModel.getRuleById(unitId,subUnitId,id)).filter(Boolean)}getDataValidation(unitId,subUnitId,ranges){return this.getDataValidations(unitId,subUnitId,ranges)[0]}},__name(_s,"SheetsDataValidationValidatorService"),_s),exports2.SheetsDataValidationValidatorService=__decorateClass$4([__decorateParam$4(0,core.IUniverInstanceService),__decorateParam$4(1,core.Inject(exports2.SheetDataValidationModel)),__decorateParam$4(2,core.Inject(DataValidationCacheService))],exports2.SheetsDataValidationValidatorService);var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__defNormalProp$1=__name((obj,key,value)=>key in obj?__defProp$3(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp$1"),__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3"),__publicField$1=__name((obj,key,value)=>__defNormalProp$1(obj,typeof key!="symbol"?key+"":key,value),"__publicField$1");exports2.UniverSheetsDataValidationMobilePlugin=(_t=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_commandService,_configService){super(),this._config=_config,this._injector=_injector,this._commandService=_commandService,this._configService=_configService;const{menu,...rest}=this._config;menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){[[DataValidationPanelService],[DataValidationCacheService],[exports2.DataValidationFormulaService],[exports2.DataValidationCustomFormulaService],[DataValidationDropdownManagerService],[exports2.SheetsDataValidationValidatorService],[exports2.SheetDataValidationModel],[DataValidationController],[SheetsDataValidationMobileRenderController],[DataValidationAlertController],[DataValidationRefRangeController],[DataValidationPermissionController],[DataValidationCopyPasteController],[DataValidationFormulaController]].forEach(dep=>{this._injector.add(dep)}),[AddSheetDataValidationCommand,AddSheetDataValidationAndOpenCommand,UpdateSheetDataValidationRangeCommand,UpdateSheetDataValidationSettingCommand,UpdateSheetDataValidationOptionsCommand,RemoveSheetDataValidationCommand,RemoveSheetAllDataValidationCommand,ClearRangeDataValidationCommand,ShowDataValidationDropdown,HideDataValidationDropdown,CloseValidationPanelOperation,OpenValidationPanelOperation,ToggleValidationPanelOperation].forEach(command=>{this._commandService.registerCommand(command)})}},__name(_t,"UniverSheetsDataValidationMobilePlugin"),_t),__publicField$1(exports2.UniverSheetsDataValidationMobilePlugin,"pluginName",DATA_VALIDATION_PLUGIN_NAME),__publicField$1(exports2.UniverSheetsDataValidationMobilePlugin,"type",core.UniverInstanceType.UNIVER_SHEET),exports2.UniverSheetsDataValidationMobilePlugin=__decorateClass$3([core.DependentOn(dataValidation.UniverDataValidationPlugin,sheets.UniverSheetsPlugin,sheetsUi.UniverSheetsUIPlugin),__decorateParam$3(1,core.Inject(core.Injector)),__decorateParam$3(2,core.ICommandService),__decorateParam$3(3,core.IConfigService)],exports2.UniverSheetsDataValidationMobilePlugin);var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2");let DataValidationAutoFillController=(_u=class extends core.Disposable{constructor(_autoFillService,_dataValidationModel,_injector){super(),this._autoFillService=_autoFillService,this._dataValidationModel=_dataValidationModel,this._injector=_injector,this._initAutoFill()}_initAutoFill(){const noopReturnFunc=__name(()=>({redos:[],undos:[]}),"noopReturnFunc"),generalApplyFunc=__name((location,applyType)=>{const{source:sourceRange,target:targetRange,unitId,subUnitId}=location,ruleMatrixCopy=this._dataValidationModel.getRuleObjectMatrix(unitId,subUnitId).clone(),virtualRange=sheetsUi.virtualizeDiscreteRanges([sourceRange,targetRange]),[vSourceRange,vTargetRange]=virtualRange.ranges,{mapFunc}=virtualRange,sourceStartCell={row:vSourceRange.startRow,col:vSourceRange.startColumn},repeats=sheetsUi.getAutoFillRepeatRange(vSourceRange,vTargetRange),additionMatrix=new core.ObjectMatrix,additionRules=new Set;repeats.forEach(repeat=>{const targetStartCell=repeat.repeatStartCell,relativeRange=repeat.relativeRange,sourceRange2={startRow:sourceStartCell.row,startColumn:sourceStartCell.col,endColumn:sourceStartCell.col,endRow:sourceStartCell.row},targetRange2={startRow:targetStartCell.row,startColumn:targetStartCell.col,endColumn:targetStartCell.col,endRow:targetStartCell.row};core.Range.foreach(relativeRange,(row,col)=>{const sourcePositionRange=core.Rectangle.getPositionRange({startRow:row,startColumn:col,endColumn:col,endRow:row},sourceRange2),{row:sourceRow,col:sourceCol}=mapFunc(sourcePositionRange.startRow,sourcePositionRange.startColumn),ruleId=this._dataValidationModel.getRuleIdByLocation(unitId,subUnitId,sourceRow,sourceCol);if(ruleId){const targetPositionRange=core.Rectangle.getPositionRange({startRow:row,startColumn:col,endColumn:col,endRow:row},targetRange2),{row:targetRow,col:targetCol}=mapFunc(targetPositionRange.startRow,targetPositionRange.startColumn);additionMatrix.setValue(targetRow,targetCol,ruleId),additionRules.add(ruleId)}})});const additions=Array.from(additionRules).map(id=>({id,ranges:core.queryObjectMatrix(additionMatrix,value=>value===id)}));ruleMatrixCopy.addRangeRules(additions);const diffs=ruleMatrixCopy.diff(this._dataValidationModel.getRules(unitId,subUnitId)),{redoMutations,undoMutations}=getDataValidationDiffMutations(unitId,subUnitId,diffs,this._injector,"patched",applyType===sheetsUi.APPLY_TYPE.ONLY_FORMAT);return{undos:undoMutations,redos:redoMutations}},"generalApplyFunc"),disabledDataVallation=[core.DataValidationType.CHECKBOX],hook={id:DATA_VALIDATION_PLUGIN_NAME,onBeforeFillData:__name(location=>{const{source:sourceRange,unitId,subUnitId}=location;for(const row of sourceRange.rows)for(const col of sourceRange.cols){const dv=this._dataValidationModel.getRuleByLocation(unitId,subUnitId,row,col);if(dv&&disabledDataVallation.indexOf(dv.type)>-1){this._autoFillService.setDisableApplyType(sheetsUi.APPLY_TYPE.SERIES,!0);return}}},"onBeforeFillData"),onFillData:__name((location,direction,applyType)=>applyType===sheetsUi.APPLY_TYPE.COPY||applyType===sheetsUi.APPLY_TYPE.ONLY_FORMAT||applyType===sheetsUi.APPLY_TYPE.SERIES?generalApplyFunc(location,applyType):noopReturnFunc(),"onFillData"),onAfterFillData:__name(()=>{},"onAfterFillData")};this.disposeWithMe(this._autoFillService.addHook(hook))}},__name(_u,"DataValidationAutoFillController"),_u);DataValidationAutoFillController=__decorateClass$2([core.OnLifecycle(core.LifecycleStages.Ready,DataValidationAutoFillController),__decorateParam$2(0,sheetsUi.IAutoFillService),__decorateParam$2(1,core.Inject(exports2.SheetDataValidationModel)),__decorateParam$2(2,core.Inject(core.Injector))],DataValidationAutoFillController);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1");let SheetDataValidationSheetController=(_v=class extends core.Disposable{constructor(_sheetInterceptorService,_univerInstanceService,_sheetDataValidationModel){super(),this._sheetInterceptorService=_sheetInterceptorService,this._univerInstanceService=_univerInstanceService,this._sheetDataValidationModel=_sheetDataValidationModel,this._initSheetChange()}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:__name(commandInfo=>{var _a2;if(commandInfo.id===sheets.RemoveSheetCommand.id){const params=commandInfo.params,unitId=params.unitId||this._univerInstanceService.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET).getUnitId(),workbook=this._univerInstanceService.getUniverSheetInstance(unitId);if(!workbook)return{redos:[],undos:[]};const subUnitId=params.subUnitId||((_a2=workbook.getActiveSheet())==null?void 0:_a2.getSheetId());if(!subUnitId)return{redos:[],undos:[]};const rules=this._sheetDataValidationModel.getRules(unitId,subUnitId),ids=rules.map(i=>i.uid),redoParams={unitId,subUnitId,ruleId:ids,source:"patched"},undoParams={unitId,subUnitId,rule:[...rules],source:"patched"};return{redos:[{id:dataValidation.RemoveDataValidationMutation.id,params:redoParams}],undos:[{id:dataValidation.AddDataValidationMutation.id,params:undoParams}]}}return{redos:[],undos:[]}},"getMutations")}))}},__name(_v,"SheetDataValidationSheetController"),_v);SheetDataValidationSheetController=__decorateClass$1([core.OnLifecycle(core.LifecycleStages.Ready,SheetDataValidationSheetController),__decorateParam$1(0,core.Inject(sheets.SheetInterceptorService)),__decorateParam$1(1,core.Inject(core.IUniverInstanceService)),__decorateParam$1(2,core.Inject(exports2.SheetDataValidationModel))],SheetDataValidationSheetController);var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__defNormalProp2=__name((obj,key,value)=>key in obj?__defProp2(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value,"__defNormalProp"),__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam"),__publicField2=__name((obj,key,value)=>__defNormalProp2(obj,typeof key!="symbol"?key+"":key,value),"__publicField");exports2.UniverSheetsDataValidationPlugin=(_w=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_commandService,_configService){super(),this._config=_config,this._injector=_injector,this._commandService=_commandService,this._configService=_configService;const{menu,...rest}=this._config;menu&&this._configService.setConfig("menu",menu,{merge:!0}),this._configService.setConfig(PLUGIN_CONFIG_KEY,rest)}onStarting(){[[DataValidationPanelService],[DataValidationCacheService],[exports2.DataValidationFormulaService],[exports2.DataValidationCustomFormulaService],[DataValidationDropdownManagerService],[exports2.SheetsDataValidationValidatorService],[exports2.SheetDataValidationModel],[DataValidationController],[SheetsDataValidationRenderController],[DataValidationAlertController],[DataValidationRefRangeController],[DataValidationPermissionController],[DataValidationAutoFillController],[DataValidationCopyPasteController],[DataValidationFormulaController],[DataValidationRejectInputController],[SheetDataValidationSheetController]].forEach(dep=>{this._injector.add(dep)}),[AddSheetDataValidationCommand,AddSheetDataValidationAndOpenCommand,UpdateSheetDataValidationRangeCommand,UpdateSheetDataValidationSettingCommand,UpdateSheetDataValidationOptionsCommand,RemoveSheetDataValidationCommand,RemoveSheetAllDataValidationCommand,ClearRangeDataValidationCommand,ShowDataValidationDropdown,HideDataValidationDropdown,CloseValidationPanelOperation,OpenValidationPanelOperation,ToggleValidationPanelOperation].forEach(command=>{this._commandService.registerCommand(command)})}},__name(_w,"UniverSheetsDataValidationPlugin"),_w),__publicField2(exports2.UniverSheetsDataValidationPlugin,"pluginName",DATA_VALIDATION_PLUGIN_NAME),__publicField2(exports2.UniverSheetsDataValidationPlugin,"type",core.UniverInstanceType.UNIVER_SHEET),exports2.UniverSheetsDataValidationPlugin=__decorateClass([core.DependentOn(sheetsNumfmt.UniverSheetsNumfmtPlugin,dataValidation.UniverDataValidationPlugin,sheetsUi.UniverSheetsUIPlugin),__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.ICommandService),__decorateParam(3,core.IConfigService)],exports2.UniverSheetsDataValidationPlugin),Object.defineProperty(exports2,"DataValidationModel",{enumerable:!0,get:__name(()=>dataValidation.DataValidationModel,"get")}),exports2.AddSheetDataValidationAndOpenCommand=AddSheetDataValidationAndOpenCommand,exports2.AddSheetDataValidationCommand=AddSheetDataValidationCommand,exports2.ClearRangeDataValidationCommand=ClearRangeDataValidationCommand,exports2.CloseValidationPanelOperation=CloseValidationPanelOperation,exports2.DATA_VALIDATION_PLUGIN_NAME=DATA_VALIDATION_PLUGIN_NAME,exports2.DATE_DROPDOWN_KEY=DATE_DROPDOWN_KEY,exports2.DataValidationCacheService=DataValidationCacheService,exports2.HideDataValidationDropdown=HideDataValidationDropdown,exports2.LIST_DROPDOWN_KEY=LIST_DROPDOWN_KEY,exports2.OpenValidationPanelOperation=OpenValidationPanelOperation,exports2.RemoveSheetAllDataValidationCommand=RemoveSheetAllDataValidationCommand,exports2.RemoveSheetDataValidationCommand=RemoveSheetDataValidationCommand,exports2.ShowDataValidationDropdown=ShowDataValidationDropdown,exports2.ToggleValidationPanelOperation=ToggleValidationPanelOperation,exports2.UpdateSheetDataValidationOptionsCommand=UpdateSheetDataValidationOptionsCommand,exports2.UpdateSheetDataValidationRangeCommand=UpdateSheetDataValidationRangeCommand,exports2.UpdateSheetDataValidationSettingCommand=UpdateSheetDataValidationSettingCommand,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
function _0x52b2(){const _0x1df96a=['_ruleFormulaMap','LIST','EditExtraObject','some','serializeListOptions','oldRule','Subject','includes','_value_less_than','_sheetDataValidationModel','endRow','registerRefRange','_getIdWithUnitId','getUnit','formulaService','title','pushUndoRedo','Inject','DataValidationController','ERROR_TYPE_SET','DataValidatorRegistryService','UniverSheetsDataValidation','__decorateParam$8','showTime','injector','normalizeFormula','getList','Copy','__decorateParam','constructor','toStringTag','_registerFormula','History','Injector','4RhlKhg','payload','_unitId','getSheetCommandTarget','length','sheet.command.remove-all-data-validation','_dataValidationCacheService','ObjectMatrix','temp','transform','_ensureRuleMatrix','remove','diff','merge','titleStr','_initCommandInterceptor','dataValidation.date.operators.between','isFormulaString','low','__decorateClass$5','Tools','_customFormulaService','NaN','WRAP','dataValidation.date.errorMsg.notEqual','__decorateClass$1','EQUAL','name','formulaId','disposeWithMe','DataValidationModel','map','dataValidation.date.title','InsertColumn','IUniverInstanceService','_deleteRange','ViewFilter','next','_ruleChange$','UniverSheets','every','853208ZyZQHB','ViemRwHgtClWdt','SetRangeValuesMutation','deserializeListOptions','CUSTOM','100','Print','tree_successor','_formulaCellMap','uid','label','transformRange','_dirty','ARROW','unshift','endColumn','tree_search_interval','addRangeRules','extra','dataValidation.date.operators.equal','DeleteWorksheet','clone','dataValidation.validFail.number','formula2','parent','result','toDisposable','testRedBlackProperty','dataValidation.validFail.primitive','WrapStrategy','update_max','dataValidation.date.errorMsg.lessThanOrEqual','ruleId','2467102CqbxFK','isRuleIntersects','getRuleFormulaInfo','pattern','CHECKBOX','dataValidation.date.ruleName.equal','45MfPwnu','dataValidation.validFail.listInvalid','_sheetInterceptorService','intersects','workbook','success','3137183SDlJLC','getOwnPropertyDescriptor','rxjs','dataValidation.decimal.title','operator','CellValueType','parseFormula','parseDate','36dhscEQ','_removeRule','dataValidation.custom.error','getCellRaw','_injector','replace','forEach','__decorateClass$6','DeleteSheet','isDefine','validatorIsBetween','originFormula2','handleCommonDefaultRangeChangeWithEffectRefCommands','dateFromSerial','WholeValidator','setValue','interceptCommand','SetRangeValuesUndoMutationFactory','isValidType','getUnitRules','LESS_THAN','ManageCollaborator','_addRuleSideEffect','has','IUndoRedoService','{FORMULA1}','FUNCTION','getDataValidations','onCompete','__decorateClass$2','_value_equal','registerCommand','RenameSheet','testBlackHeightProperty','sheets.command.update-data-validation-setting','text','dataValidation.date.operators.greaterThan','_instanceSrv','sheet.command.addDataValidation','onReady','sheet','CopySheet','dataValidation.date.operators.notBetween','sheetName','skipDefaultFontRender','dataValidation.validFail.value','getRuleIndex','SetRowStyle','subtractMulti','startRow','DateValidator','GREATER_THAN','DataValidationFormulaService','LexerTreeBuilder','UpdateSheetDataValidationSettingCommand','ICommandService','getRuleFormulaResult','RemoveSheetAllDataValidationCommand','_permissionService','getRules','dataValidation.date.errorMsg.greaterThan','_registerValidators','dataStream','RecoverHistory','DataValidationStatus','Red-black\x20height\x20property\x20violated','_selectionManagerService','transformFormula','_isFormulaOrNumber','InsertRow','iterate','UpdateSheetDataValidationOptionsCommand','string','dataValidation.validFail.formula','dataValidation.date.ruleName.greaterThanOrEqual','pluginName','ranges','FloatImg','startsWith','getRuleFormulaResultSync','slice','status','diffWithAddition','indirect','updateRuleFormula','_refRangeService','worksheet','DataValidationType','DATE','DataValidationFormulaController','isValidListFormula','isRangesEqual','getOriginCellValue','complete','dataValidation.date.ruleName.lessThanOrEqual','from','_validatorSingleFormula','MoveWorksheet','startColumn','ListMultipleValidator','_logService','validatorIsLessThanOrEqual','_dataValidationCustomFormulaService','getUniverSheetInstance','body','tree_search_nearest_forward','onStarting','__decorateParam$7','_dataValidatorRegistryService','deserializeRangeWithSheet','Export','__decorateClass$3','dayjs','output','indexOf','getCurrentUnitForType','_subUnitId','updateRuleFormulaText','getCurrentSelections','removeDataValidationUndoFactory','root','DataValidationOperator','_disposableMap','selectionProtection','search','defineProperty','getName','equals','YYYY-MM-DD\x20HH:mm:ss','unitId','params','deleteUnitRules','CommandType','nil_node','_formulaMap','_updateRule','sheet.command.remove-data-validation-rule','getRuleSetting','CheckboxValidator','SheetsSelectionsService','getCellValueNumber','transformCheckboxValue','_dataValidationModel','_lexerTreeBuilder','isNaN','true','UpdateSheetDataValidationRangeCommand','SelectUnProtectedCells','RemoveDataValidationMutation','isBlankCell','_registerOtherFormulaService','formula1','token','recalc_max','not_intersect_right_subtree','getValue','onRendered','number','flat','FormulaRefRangeService','isInteger','formulaResult$','copy_data','getSubUnitIds','comparable_less_than','error','UpdateDataValidationMutation','removeRule','_parseNumber','_debonceBuildTree','values','_ensureCache','UniverSheetsNumfmt','key','CLIP','_ruleMatrixMap','foreach','BETWEEN','ViewHistory','column','SheetInterceptorService','getAll','__decorateClass$8','CHECKBOX_FORMULA_2','high','getRuleFormulaResultSet','register','symbol','HideSheet','getUnitId','local_minimum','TextLengthValidator','_initSheetChange','UpdateRuleType','6aGnYcH','dataValidation.checkbox.error','not_intersect_left_subtree','renderMode','all','DeleteRow','less_than','isBlank','getListAsync','item','asObservable','getValidator','DecimalValidator','ILogService','LESS_THAN_OR_EQUAL','getRuleById','getListWithColor','registerFormula','_init','_dataValidationFormulaService','row\x20or\x20col\x20is\x20not\x20defined,\x20row:\x20','isEmpty','_lexer','createInstance','OPTIONS','Interval','trim','getSheetBySheetId','DECIMAL','boolean','getRuleObjectMatrix','BaseDataValidator','_ensureRuleFormulaMap',',\x20col:\x20','PivotTable','scopes','rotate_right','updateRange','_formulaRuleMap','getUnitType','2994120TdiWcl','parseCellValue','getFailMessage','tree_find_any_interval','CreateSheet','dataValidation.date.errorMsg.lessThan','type','getData','subUnitId','right','then','GREATER_THAN_OR_EQUAL','delete','_cacheMatrix','Comment','@univerjs/engine-formula','_instanceService','_addFormulaByRange','Share','_validStatusChange$','InsertHyperlink','SetWorksheetStyle','@univerjs/sheets-formula','exports','insert','validator','DeleteColumn','SetCellStyle','228785olcxoU','tree_search','split','max','dispose','tree_delete','exist','dataValidation.date.errorMsg.notBetween','DependentOn','dataValidation.date.operators.lessThanOrEqual','dataValidation.date.ruleName.notEqual','UniverSheetsNumfmtPlugin','SheetDataValidationModel','resolve','delete_fixup','dataValidation.date.ruleName.notBetween','SetColumnStyle','getExtraStyle','getCellValueOrigin','validatorIsGreaterThan','validatorFormula','left','SheetsDataValidationValidatorService','__decorateClass$7','value','generateRuleErrorMessage','deleteByRuleId','dataValidation.date.ruleName.greaterThan','handleRangeChange','_isValidFormula','getRuleByLocation','getDataValidationDiffMutations','intersect','UniverEngineFormula','_formulaRefRangeService','removeRange','toString','validatorIsLessThan','dataValidation.checkbox.title','WorksheetViewPermission','push','sheets.command.update-data-validation-options','command','parseFormulaSync','_formulaService','_initFormulaResultHandler','ensureCache','_worksheet','CustomFormulaValidator','moveFormulaRefOffset','Node','interceptValue','validatorWorksheet','validatorCell','debounce','executeCommand','not_intersect','SETTING','getValidatorItem','EditWorksheetCell','min','DataValidationCustomFormulaService','formula','UniverInstanceType','Sort','RuleMatrix','@univerjs/core','{FORMULA2}','UniverSheetsDataValidationPlugin','filter','dataValidation.validFail.listIntersects','@univerjs/sheets','tree_walk','__defNormalProp','View','sheet.command.updateDataValidationRuleRange','__decorateParam$1','set','get','VALID','updatePayload','markRangeDirty','_disableTree','update','AddDataValidationMutation','cannot\x20find\x20current\x20worksheet,\x20sheetId:\x20','validatorIsNotEqual','getStringCellValue','IPermissionService','entries','DataValidationRefRangeController','DataValidationRenderMode','NOT_BETWEEN','@univerjs/data-validation','UNRECOGNIZED','_initRefRange','127492ErXdUz','tree_insert','validatorIsGreaterThanOrEqual','_commandService','comparable_max','dataValidation.date.ruleName.between','object','isTransformable','getRuleIdByLocation','dataValidation.validFail.date','getSheetBySheetName','SelectProtectedCells','sequenceExecute','TEXT','size','rule','dataValidation.date.operators.notEqual','getResult','operators','ruleChange$','_tree','index','SheetDataValidationSheetController','UniverDataValidation','__publicField','isNil','RefRangeService','WHOLE','DataValidationCacheService','RANGE','_univerInstanceService','realDeleteValue','color','add','toLowerCase','patched','row','equal_to','validatorIsEqual','89767eahhbl','getFormulaResult','getDataValidationCellValue','sequenceExecuteAsync','__decorateParam$3','format','DATA_VALIDATION_PLUGIN_NAME','getFormulaValue','deepClone','rotate_left','COMMAND','updateRuleRanges','getCellFormulaValue','cannot\x20find\x20current\x20workbook,\x20unitId:\x20','markCellDirty','getRuleOptions','offset','__decorateClass','ClearSelectionAllCommand','getPermissionPoint','sequenceNodesBuilder','join','isArray','@univerjs/sheets-numfmt','ListValidator','_map','_isFormulaOrInt','range','No\x20active\x20sheet\x20found','ClearRangeDataValidationCommand','_addRule','numfmt','dataValidation.whole.title','MoveSheet','UniverSheetsFormula','__decorateParam$6','subscribe','validatorIsNotBetween','_initUniverInstanceListener','intersect_any','dataValidation.validFail.checkboxEqual','registerRule','deleteFormula','newRanges','Filter','OVERFLOW','setRangesDefaultValue','dataValidation.date.operators.lessThan','RenameWorksheet','dataValidation.list.name','Disposable','getFormulaCellData','getMutations','_ensureMaps','getActiveSheet','UNIVER_SHEET','createDefaultNewRule','YYYY-MM-DD','Rectangle','addRule','RwHgtClWdt','normlizeSingleFormula','UniverCore','dataValidation.date.operators.greaterThanOrEqual','handleFormulaChange','localeService','Delete','dataValidation.validFail.list','Range','getSheetId','NOT_EQUAL','SetCellValue','getListWithColorMap','_buildTree','RegisterOtherFormulaService','clear'];_0x52b2=function(){return _0x1df96a;};return _0x52b2();}function _0x56ed(_0xa5cbda,_0x410583){const _0x52b262=_0x52b2();return _0x56ed=function(_0x56ed03,_0x4140fe){_0x56ed03=_0x56ed03-0x1a5;let _0x45e152=_0x52b262[_0x56ed03];return _0x45e152;},_0x56ed(_0xa5cbda,_0x410583);}(function(_0x16b3ae,_0x2a2b12){const _0x244ea7=_0x56ed,_0x11ab8e=_0x16b3ae();while(!![]){try{const _0x2e17b2=parseInt(_0x244ea7(0x236))/0x1*(parseInt(_0x244ea7(0x2a4))/0x2)+-parseInt(_0x244ea7(0x2f4))/0x3*(parseInt(_0x244ea7(0x20f))/0x4)+parseInt(_0x244ea7(0x1af))/0x5+-parseInt(_0x244ea7(0x3c4))/0x6*(parseInt(_0x244ea7(0x2fa))/0x7)+parseInt(_0x244ea7(0x2cd))/0x8*(parseInt(_0x244ea7(0x302))/0x9)+parseInt(_0x244ea7(0x3ec))/0xa+parseInt(_0x244ea7(0x2ee))/0xb;if(_0x2e17b2===_0x2a2b12)break;else _0x11ab8e['push'](_0x11ab8e['shift']());}catch(_0x3b412b){_0x11ab8e['push'](_0x11ab8e['shift']());}}}(_0x52b2,0x3cded),function(_0x3368c8,_0x31ad44){const _0x2b7867=_0x56ed;typeof exports==_0x2b7867(0x215)&&typeof module<'u'?_0x31ad44(exports,require('@univerjs/core'),require(_0x2b7867(0x20c)),require(_0x2b7867(0x1f6)),require(_0x2b7867(0x2fc)),require(_0x2b7867(0x3fb)),require('@univerjs/sheets-formula'),require(_0x2b7867(0x24d)),require(_0x2b7867(0x372))):typeof define=='function'&&define['amd']?define([_0x2b7867(0x1aa),_0x2b7867(0x1f1),_0x2b7867(0x20c),'@univerjs/sheets',_0x2b7867(0x2fc),_0x2b7867(0x3fb),_0x2b7867(0x1a9),'@univerjs/sheets-numfmt',_0x2b7867(0x372)],_0x31ad44):(_0x3368c8=typeof globalThis<'u'?globalThis:_0x3368c8||self,_0x31ad44(_0x3368c8[_0x2b7867(0x297)]={},_0x3368c8[_0x2b7867(0x274)],_0x3368c8[_0x2b7867(0x226)],_0x3368c8[_0x2b7867(0x2cb)],_0x3368c8[_0x2b7867(0x2fc)],_0x3368c8[_0x2b7867(0x1d0)],_0x3368c8[_0x2b7867(0x258)],_0x3368c8[_0x2b7867(0x3ae)],_0x3368c8[_0x2b7867(0x372)]));}(this,function(_0x2812de,_0x36392d,_0x2b67f4,_0x3d419a,_0x13654e,_0x5dfce5,_0x4968f9,_0x543dc3,_0x5fb5e){'use strict';const _0x42f095=_0x56ed;var _0x2f35b0=Object['defineProperty'],_0x3d611a=(_0x56a350,_0x208698,_0x29fd76)=>_0x208698 in _0x56a350?_0x2f35b0(_0x56a350,_0x208698,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x29fd76}):_0x56a350[_0x208698]=_0x29fd76,_0x2019d3=(_0x3316c6,_0x109b0e)=>_0x2f35b0(_0x3316c6,_0x42f095(0x2bf),{'value':_0x109b0e,'configurable':!0x0}),_0x4f5171=(_0xdcaffc,_0xd0cd2f,_0x339e48)=>_0x3d611a(_0xdcaffc,typeof _0xd0cd2f!='symbol'?_0xd0cd2f+'':_0xd0cd2f,_0x339e48),_0x3f537e,_0xcebea3,_0x3d6c88,_0x5c8bc4,_0x642081,_0x102ffe,_0x16b9c4,_0xa11e77,_0x35300,_0x2c2e89;const _0x427de5='SHEET_DATA_VALIDATION_PLUGIN',_0x23612b=class _0x254f50{constructor(){const _0x43c5c6=_0x42f095;_0x4f5171(this,_0x43c5c6(0x3f9),new Map());}[_0x42f095(0x3ad)](_0x28c8e2,_0x33ed58){const _0x385f8e=_0x42f095;let _0x5ada6d=this[_0x385f8e(0x3f9)][_0x385f8e(0x1fd)](_0x28c8e2);_0x5ada6d||(_0x5ada6d=new Map(),this[_0x385f8e(0x3f9)][_0x385f8e(0x1fc)](_0x28c8e2,_0x5ada6d));let _0x2c2dc4=_0x5ada6d[_0x385f8e(0x1fd)](_0x33ed58);return _0x2c2dc4||(_0x2c2dc4=new _0x36392d[(_0x385f8e(0x2ab))](),_0x5ada6d[_0x385f8e(0x1fc)](_0x33ed58,_0x2c2dc4)),_0x2c2dc4;}[_0x42f095(0x1dd)](_0x188d37,_0xd61173){const _0x388b46=_0x42f095;return this[_0x388b46(0x3ad)](_0x188d37,_0xd61173);}[_0x42f095(0x271)](_0x49aeb5,_0xcd181f,_0x20aafc){const _0x17d89=_0x42f095;this[_0x17d89(0x200)](_0x49aeb5,_0xcd181f,_0x20aafc[_0x17d89(0x34e)]);}[_0x42f095(0x3a9)](_0x24cea7,_0x5d316d,_0x45b0ca){const _0x6d7c32=_0x42f095;this[_0x6d7c32(0x2c7)](_0x24cea7,_0x5d316d,_0x45b0ca[_0x6d7c32(0x34e)]);}[_0x42f095(0x241)](_0x1433c2,_0x1a2962,_0x4da262,_0x389021,_0x13150c){const _0x401e05=_0x42f095,_0xdc6011=this[_0x401e05(0x3ad)](_0x1433c2,_0x1a2962);_0x13150c['forEach'](_0x228ca8=>{const _0x282656=_0x401e05;_0x36392d[_0x282656(0x27a)]['foreach'](_0x228ca8,(_0x56481c,_0x162373)=>{const _0x24255=_0x282656,_0x46f0bd=_0xdc6011[_0x24255(0x39d)](_0x56481c,_0x162373);_0x46f0bd&&(_0x46f0bd['temp']=!0x0);});}),_0x389021[_0x401e05(0x308)](_0x103f3e=>{const _0x1626b1=_0x401e05;_0x36392d[_0x1626b1(0x27a)][_0x1626b1(0x3b2)](_0x103f3e,(_0x51e73b,_0x3e3171)=>{const _0x36fa21=_0x1626b1,_0x4b4de7=_0xdc6011[_0x36fa21(0x39d)](_0x51e73b,_0x3e3171);_0x4b4de7&&_0x4b4de7['ruleId']===_0x4da262?_0x4b4de7[_0x36fa21(0x2ac)]=!0x1:_0xdc6011[_0x36fa21(0x311)](_0x51e73b,_0x3e3171,void 0x0);});}),_0x13150c['forEach'](_0x5189d2=>{const _0x2b1cae=_0x401e05;_0x36392d[_0x2b1cae(0x27a)]['foreach'](_0x5189d2,(_0x28a101,_0x233e04)=>{const _0x1ece1e=_0x2b1cae,_0x2a7943=_0xdc6011[_0x1ece1e(0x39d)](_0x28a101,_0x233e04);_0x2a7943&&_0x2a7943[_0x1ece1e(0x2ac)]===!0x0&&_0xdc6011[_0x1ece1e(0x22e)](_0x28a101,_0x233e04);});});}[_0x42f095(0x200)](_0x575e0c,_0x43367b,_0x1aaeb1){const _0x49a753=_0x42f095,_0x41e919=this['_ensureCache'](_0x575e0c,_0x43367b);_0x1aaeb1[_0x49a753(0x308)](_0x816406=>{const _0x283e66=_0x49a753;_0x36392d[_0x283e66(0x27a)][_0x283e66(0x3b2)](_0x816406,(_0xabdb69,_0xd2f9b6)=>{const _0x5026d4=_0x283e66;_0x41e919[_0x5026d4(0x311)](_0xabdb69,_0xd2f9b6,void 0x0);});});}['markCellDirty'](_0x18255f,_0x7c60bd,_0x1978a2,_0xae4daf){const _0x260a81=_0x42f095;this[_0x260a81(0x3ad)](_0x18255f,_0x7c60bd)[_0x260a81(0x311)](_0x1978a2,_0xae4daf,void 0x0);}[_0x42f095(0x2c7)](_0x3203bd,_0x4594cd,_0x17aec6){const _0x25df3c=_0x42f095,_0x2f7213=this[_0x25df3c(0x3ad)](_0x3203bd,_0x4594cd);_0x17aec6['forEach'](_0x5f49fd=>{const _0x12d1a9=_0x25df3c;_0x36392d[_0x12d1a9(0x27a)][_0x12d1a9(0x3b2)](_0x5f49fd,(_0x2c92b8,_0x2997e1)=>{_0x2f7213['realDeleteValue'](_0x2c92b8,_0x2997e1);});});}[_0x42f095(0x39d)](_0x585316,_0x60ea9f,_0x260e0b,_0x1a042a){const _0x2e0bbe=_0x42f095;return this[_0x2e0bbe(0x3ad)](_0x585316,_0x60ea9f)[_0x2e0bbe(0x39d)](_0x260e0b,_0x1a042a);}['setValue'](_0x4c7bb1,_0xbb12c9,_0x4aadab,_0x525c87,_0x208f6e){const _0x231849=_0x42f095;return this[_0x231849(0x3ad)](_0x4c7bb1,_0xbb12c9)['setValue'](_0x4aadab,_0x525c87,_0x208f6e);}};_0x2019d3(_0x23612b,_0x42f095(0x22b));let _0x3a08aa=_0x23612b;var _0x4dacde=Object[_0x42f095(0x37f)],_0x18f0fc=Object[_0x42f095(0x2fb)],_0x3e7f51=_0x2019d3((_0x4f6097,_0x1b8ef1,_0x3bf933,_0x4f0d88)=>{const _0x502a0a=_0x42f095;for(var _0x25be85=_0x4f0d88>0x1?void 0x0:_0x4f0d88?_0x18f0fc(_0x1b8ef1,_0x3bf933):_0x1b8ef1,_0x1de638=_0x4f6097[_0x502a0a(0x2a8)]-0x1,_0x2984e9;_0x1de638>=0x0;_0x1de638--)(_0x2984e9=_0x4f6097[_0x1de638])&&(_0x25be85=(_0x4f0d88?_0x2984e9(_0x1b8ef1,_0x3bf933,_0x25be85):_0x2984e9(_0x25be85))||_0x25be85);return _0x4f0d88&&_0x25be85&&_0x4dacde(_0x1b8ef1,_0x3bf933,_0x25be85),_0x25be85;},_0x42f095(0x3b8)),_0x295367=_0x2019d3((_0x4a2034,_0x3cb3a7)=>(_0x391306,_0xde5ada)=>_0x3cb3a7(_0x391306,_0xde5ada,_0x4a2034),_0x42f095(0x298));function _0x2e73b2(_0x5f3594,_0x2e7682,_0x222e80,_0x22e17a,_0x8bbea4,_0x5ea0a1){const _0x3b9a82=_0x42f095;return _0x5f3594[_0x3b9a82(0x1e0)](_0x2e7682,_0x5ea0a1-_0x22e17a,_0x8bbea4-_0x222e80);}_0x2019d3(_0x2e73b2,_0x42f095(0x345)),_0x2812de[_0x42f095(0x1ec)]=(_0x3f537e=class extends _0x36392d[_0x42f095(0x268)]{constructor(_0xed5f95,_0x56ba4a,_0x4ac986,_0x1a5d6e,_0xb0f7b7,_0x4b9bdd){const _0x51b984=_0x42f095;super(),_0x4f5171(this,_0x51b984(0x388),new Map()),_0x4f5171(this,'_ruleFormulaMap',new Map()),_0x4f5171(this,_0x51b984(0x2d5),new Map()),(this['_instanceSrv']=_0xed5f95,this[_0x51b984(0x398)]=_0x56ba4a,this['_lexerTreeBuilder']=_0x4ac986,this[_0x51b984(0x390)]=_0x1a5d6e,this[_0x51b984(0x2aa)]=_0xb0f7b7,this[_0x51b984(0x366)]=_0x4b9bdd,this[_0x51b984(0x1dc)]());}[_0x42f095(0x1dc)](){const _0xe74a42=_0x42f095;this[_0xe74a42(0x2c1)](this[_0xe74a42(0x398)][_0xe74a42(0x3a3)][_0xe74a42(0x25a)](_0x121774=>{const _0x4e8660=_0xe74a42;for(const _0x37cf40 in _0x121774){const _0x5d9b47=_0x121774[_0x37cf40];if(this[_0x4e8660(0x327)][_0x4e8660(0x3eb)](_0x37cf40)===_0x36392d[_0x4e8660(0x1ee)][_0x4e8660(0x26d)])for(const _0x2ba85b in _0x5d9b47){const _0x3a33fa=_0x5d9b47[_0x2ba85b],{formulaCellMap:_0x3e3caf,ruleFormulaMap:_0x473553}=this['_ensureMaps'](_0x37cf40,_0x2ba85b);_0x3a33fa[_0x4e8660(0x308)](_0x41b2e4=>{const _0x4345a3=_0x4e8660;var _0x25c948,_0x176d38;const _0xe349f5=_0x473553[_0x4345a3(0x1fd)]((_0x25c948=_0x41b2e4[_0x4345a3(0x2df)])==null?void 0x0:_0x25c948[_0x4345a3(0x2ed)]),_0x246690=_0x3e3caf[_0x4345a3(0x1fd)](_0x41b2e4[_0x4345a3(0x2c0)]),_0x5c72aa=this[_0x4345a3(0x390)][_0x4345a3(0x3d3)](_0x37cf40,_0x2ba85b,(_0x176d38=_0x41b2e4['extra'])==null?void 0x0:_0x176d38[_0x4345a3(0x2ed)]);_0x5c72aa&&_0xe349f5&&!_0xe349f5[_0x4345a3(0x216)]&&this[_0x4345a3(0x2aa)]['markRangeDirty'](_0x37cf40,_0x2ba85b,_0x5c72aa[_0x4345a3(0x34e)]),_0x246690&&this[_0x4345a3(0x2aa)][_0x4345a3(0x244)](_0x37cf40,_0x2ba85b,_0x246690[_0x4345a3(0x233)],_0x246690[_0x4345a3(0x3b5)]);});}}}));}[_0x42f095(0x26b)](_0x3282e8,_0x22d844){const _0x4035e3=_0x42f095;let _0x5d88bf=this['_formulaMap'][_0x4035e3(0x1fd)](_0x3282e8),_0x514b38=this[_0x4035e3(0x282)]['get'](_0x3282e8),_0x4c2f44=this[_0x4035e3(0x2d5)][_0x4035e3(0x1fd)](_0x3282e8);(!_0x5d88bf||!_0x514b38||!_0x4c2f44)&&(_0x5d88bf=new Map(),_0x514b38=new Map(),_0x4c2f44=new Map(),this[_0x4035e3(0x388)]['set'](_0x3282e8,_0x5d88bf),this[_0x4035e3(0x282)]['set'](_0x3282e8,_0x514b38),this[_0x4035e3(0x2d5)][_0x4035e3(0x1fc)](_0x3282e8,_0x4c2f44));let _0x4113f9=_0x5d88bf['get'](_0x22d844),_0xf8e264=_0x514b38[_0x4035e3(0x1fd)](_0x22d844),_0x45db05=_0x4c2f44[_0x4035e3(0x1fd)](_0x22d844);return(!_0x4113f9||!_0xf8e264||!_0x45db05)&&(_0x4113f9=new _0x36392d[(_0x4035e3(0x2ab))](),_0x5d88bf['set'](_0x22d844,_0x4113f9),_0xf8e264=new Map(),_0x514b38[_0x4035e3(0x1fc)](_0x22d844,_0xf8e264),_0x45db05=new Map(),_0x4c2f44[_0x4035e3(0x1fc)](_0x22d844,_0x45db05)),{'formulaMap':_0x4113f9,'ruleFormulaMap':_0xf8e264,'formulaCellMap':_0x45db05};}[_0x42f095(0x2a1)](_0x29f623,_0x9c614f,_0x54049e,_0x3cddac){const _0x237054=_0x42f095;return this[_0x237054(0x398)]['registerFormula'](_0x29f623,_0x9c614f,_0x3cddac,{'ruleId':_0x54049e});}[_0x42f095(0x1c9)](_0x249185,_0x4c4e7c,_0x36b6e6){const _0x249917=_0x42f095,{formulaMap:_0x8bdf2b,formulaCellMap:_0x4b6634,ruleFormulaMap:_0x2a8059}=this['_ensureMaps'](_0x249185,_0x4c4e7c),_0x404f99=this[_0x249917(0x390)]['getRuleById'](_0x249185,_0x4c4e7c,_0x36b6e6),_0x43efc0=new Set(),_0x54472d=_0x2a8059['get'](_0x36b6e6);!_0x404f99||!_0x54472d||(_0x2a8059['delete'](_0x36b6e6),_0x404f99['ranges'][_0x249917(0x308)](_0x5cf82c=>{const _0x4c65d9=_0x249917;_0x36392d[_0x4c65d9(0x27a)][_0x4c65d9(0x3b2)](_0x5cf82c,(_0x42c24f,_0x1a80ec)=>{const _0x2a8b99=_0x4c65d9,_0x433853=_0x8bdf2b['getValue'](_0x42c24f,_0x1a80ec);if(_0x433853&&_0x433853[_0x2a8b99(0x2ed)]===_0x36b6e6){const {formulaId:_0x4b79f6}=_0x433853;_0x8bdf2b[_0x2a8b99(0x22e)](_0x42c24f,_0x1a80ec),_0x43efc0[_0x2a8b99(0x230)](_0x4b79f6),_0x4b6634[_0x2a8b99(0x3f8)](_0x4b79f6);}});}),this[_0x249917(0x398)][_0x249917(0x260)](_0x249185,_0x4c4e7c,Array[_0x249917(0x361)](_0x43efc0['values']())));}['_addFormulaByRange'](_0x41b1ae,_0x16b5c5,_0x3daad7,_0x170542,_0x3b925f){const _0x1dd192=_0x42f095,{formulaMap:_0x494a67,ruleFormulaMap:_0x1239c9,formulaCellMap:_0x2625eb}=this[_0x1dd192(0x26b)](_0x41b1ae,_0x16b5c5);if(!_0x170542)return;const _0x477c3d=_0x3b925f[0x0][_0x1dd192(0x333)],_0x430ca3=_0x3b925f[0x0]['startColumn'];let _0x1e79cf;_0x3b925f[_0x1dd192(0x308)](_0x4e6753=>{const _0x2a0df2=_0x1dd192;_0x36392d[_0x2a0df2(0x27a)][_0x2a0df2(0x3b2)](_0x4e6753,(_0x56ab39,_0x28eb52)=>{const _0x5c234e=_0x2a0df2,_0x19930a=_0x2e73b2(this[_0x5c234e(0x391)],_0x170542,_0x477c3d,_0x430ca3,_0x56ab39,_0x28eb52),_0xd5cbb3=this[_0x5c234e(0x2a1)](_0x41b1ae,_0x16b5c5,_0x3daad7,_0x19930a);_0x494a67[_0x5c234e(0x311)](_0x56ab39,_0x28eb52,{'formulaId':_0xd5cbb3,'ruleId':_0x3daad7}),_0x2625eb['set'](_0xd5cbb3,{'row':_0x56ab39,'column':_0x28eb52});});}),_0x1239c9[_0x1dd192(0x1fc)](_0x3daad7,{'formula':_0x170542,'originCol':_0x430ca3,'originRow':_0x477c3d,'formulaId':_0x1e79cf,'isTransformable':!0x0});}[_0x42f095(0x271)](_0x9afb81,_0x374e62,_0x57eb28){const _0x16bfd8=_0x42f095,{ranges:_0x404583,formula1:_0x5aa6a2,uid:_0x724dd5,type:_0x1ef919}=_0x57eb28;_0x1ef919!==_0x36392d[_0x16bfd8(0x359)][_0x16bfd8(0x2d1)]||!_0x5aa6a2||!_0x36392d[_0x16bfd8(0x2b5)](_0x5aa6a2)||this['_addFormulaByRange'](_0x9afb81,_0x374e62,_0x724dd5,_0x5aa6a2,_0x404583);}[_0x42f095(0x241)](_0x5cd574,_0x36eacb,_0x26de2c,_0x4b8b17,_0x1571d0){const _0xc0f25a=_0x42f095,{formulaMap:_0x3478ce,ruleFormulaMap:_0x5ec736,formulaCellMap:_0x34a9a8}=this[_0xc0f25a(0x26b)](_0x5cd574,_0x36eacb),_0x42b614=_0x5ec736['get'](_0x26de2c);if(!_0x42b614)return;const {formula:_0x39a8db,originCol:_0x1c0509,originRow:_0x4a6c0e,isTransformable:_0x1eeeaf,formulaId:_0x27f663}=_0x42b614,_0x3c24be=new Set();_0x4b8b17[_0xc0f25a(0x308)](_0x1e92fe=>{const _0x4071d5=_0xc0f25a;_0x36392d['Range'][_0x4071d5(0x3b2)](_0x1e92fe,(_0xe84f43,_0x565dc3)=>{const _0x3c27dc=_0x4071d5,_0x7ce585=_0x3478ce[_0x3c27dc(0x39d)](_0xe84f43,_0x565dc3);_0x7ce585&&_0x7ce585[_0x3c27dc(0x2ed)]===_0x26de2c&&(_0x7ce585[_0x3c27dc(0x2ac)]=!0x0);});}),_0x1571d0[_0xc0f25a(0x308)](_0x82e17f=>{const _0x24b19d=_0xc0f25a;_0x36392d[_0x24b19d(0x27a)][_0x24b19d(0x3b2)](_0x82e17f,(_0xb4f6ef,_0x22f987)=>{const _0x24b6d6=_0x24b19d;var _0xebf954;const _0x5c3efa=(_0xebf954=_0x3478ce[_0x24b6d6(0x39d)](_0xb4f6ef,_0x22f987))!=null?_0xebf954:{};if(_0x5c3efa[_0x24b6d6(0x2ed)]!==_0x26de2c){const _0x15f92c=_0x5ec736[_0x24b6d6(0x1fd)](_0x5c3efa[_0x24b6d6(0x2ed)]);if(_0x15f92c!=null&&_0x15f92c[_0x24b6d6(0x216)]&&_0x3c24be['add'](_0x5c3efa[_0x24b6d6(0x2c0)]),_0x1eeeaf){const _0x197ecd=_0x2e73b2(this[_0x24b6d6(0x391)],_0x39a8db,_0x4a6c0e,_0x1c0509,_0xb4f6ef,_0x22f987),_0x56598f=this[_0x24b6d6(0x2a1)](_0x5cd574,_0x36eacb,_0x26de2c,_0x197ecd);_0x3478ce['setValue'](_0xb4f6ef,_0x22f987,{'ruleId':_0x26de2c,'formulaId':_0x56598f}),_0x34a9a8[_0x24b6d6(0x1fc)](_0x56598f,{'row':_0xb4f6ef,'column':_0x22f987});}else _0x3478ce[_0x24b6d6(0x311)](_0xb4f6ef,_0x22f987,{'ruleId':_0x26de2c,'formulaId':_0x27f663});}else _0x5c3efa[_0x24b6d6(0x2ac)]=!0x1;});}),_0x4b8b17[_0xc0f25a(0x308)](_0x3c5442=>{const _0x542582=_0xc0f25a;_0x36392d[_0x542582(0x27a)][_0x542582(0x3b2)](_0x3c5442,(_0x362580,_0x21ae32)=>{const _0x156106=_0x542582,_0x2bf3ba=_0x3478ce[_0x156106(0x39d)](_0x362580,_0x21ae32);_0x2bf3ba&&_0x2bf3ba[_0x156106(0x2ed)]===_0x26de2c&&_0x2bf3ba[_0x156106(0x2ac)]===!0x0&&(_0x3478ce[_0x156106(0x22e)](_0x362580,_0x21ae32),_0x1eeeaf&&_0x3c24be[_0x156106(0x230)](_0x2bf3ba[_0x156106(0x2c0)]));});}),_0x3c24be[_0xc0f25a(0x308)](_0x58a802=>{_0x34a9a8['delete'](_0x58a802);}),this[_0xc0f25a(0x398)]['deleteFormula'](_0x5cd574,_0x36eacb,Array[_0xc0f25a(0x361)](_0x3c24be[_0xc0f25a(0x3ac)]()));}[_0x42f095(0x356)](_0x333a90,_0x34078a,_0x5422c9,_0x1d66fc,_0xfbb1f7){const _0x1e8bae=_0x42f095,{ruleFormulaMap:_0x3b76bf}=this[_0x1e8bae(0x26b)](_0x333a90,_0x34078a),_0x59b07c=_0x3b76bf[_0x1e8bae(0x1fd)](_0x5422c9);(!_0x59b07c||_0x59b07c[_0x1e8bae(0x1ed)]!==_0xfbb1f7)&&this[_0x1e8bae(0x3fd)](_0x333a90,_0x34078a,_0x5422c9,_0xfbb1f7,_0x1d66fc);}[_0x42f095(0x242)](_0x18ece2,_0x3b75a1,_0x3fa5b3,_0x43f3c2){const _0x49fc9a=_0x42f095,{formulaMap:_0x142e08}=this[_0x49fc9a(0x26b)](_0x18ece2,_0x3b75a1),_0x16da56=_0x142e08[_0x49fc9a(0x39d)](_0x3fa5b3,_0x43f3c2);return _0x16da56?this['_registerOtherFormulaService'][_0x49fc9a(0x23d)](_0x18ece2,_0x3b75a1,_0x16da56['formulaId']):Promise[_0x49fc9a(0x1bc)](void 0x0);}[_0x42f095(0x2f0)](_0x5b889d,_0x2fdca8,_0x47518d){const _0xa28c26=_0x42f095,{ruleFormulaMap:_0x2b9622}=this['_ensureMaps'](_0x5b889d,_0x2fdca8);return _0x2b9622[_0xa28c26(0x1fd)](_0x47518d);}},_0x2019d3(_0x3f537e,_0x42f095(0x1ec)),_0x3f537e),_0x2812de[_0x42f095(0x1ec)]=_0x3e7f51([_0x295367(0x0,_0x36392d[_0x42f095(0x2c6)]),_0x295367(0x1,_0x36392d['Inject'](_0x4968f9[_0x42f095(0x280)])),_0x295367(0x2,_0x36392d[_0x42f095(0x293)](_0x5dfce5['LexerTreeBuilder'])),_0x295367(0x3,_0x36392d[_0x42f095(0x293)](_0x2b67f4[_0x42f095(0x2c2)])),_0x295367(0x4,_0x36392d[_0x42f095(0x293)](_0x3a08aa)),_0x295367(0x5,_0x36392d[_0x42f095(0x3d1)])],_0x2812de[_0x42f095(0x1ec)]);var _0x20a1fa=Object[_0x42f095(0x37f)],_0x4522a8=Object[_0x42f095(0x2fb)],_0x276919=_0x2019d3((_0x48b8f4,_0x13ff2f,_0x21460f,_0x1a3b90)=>{const _0x1ebdc5=_0x42f095;for(var _0x3bb9c4=_0x1a3b90>0x1?void 0x0:_0x1a3b90?_0x4522a8(_0x13ff2f,_0x21460f):_0x13ff2f,_0x35c793=_0x48b8f4[_0x1ebdc5(0x2a8)]-0x1,_0x2a03c5;_0x35c793>=0x0;_0x35c793--)(_0x2a03c5=_0x48b8f4[_0x35c793])&&(_0x3bb9c4=(_0x1a3b90?_0x2a03c5(_0x13ff2f,_0x21460f,_0x3bb9c4):_0x2a03c5(_0x3bb9c4))||_0x3bb9c4);return _0x1a3b90&&_0x3bb9c4&&_0x20a1fa(_0x13ff2f,_0x21460f,_0x3bb9c4),_0x3bb9c4;},_0x42f095(0x1c6)),_0x5e2732=_0x2019d3((_0x1f33ad,_0x3aefd4)=>(_0x5c2a03,_0x35182)=>_0x3aefd4(_0x5c2a03,_0x35182,_0x1f33ad),_0x42f095(0x36d));_0x2812de[_0x42f095(0x336)]=(_0xcebea3=class extends _0x36392d[_0x42f095(0x268)]{constructor(_0x3b48ee,_0xf99921,_0x309438,_0x536301){const _0x2ffce7=_0x42f095;super(),_0x4f5171(this,_0x2ffce7(0x3ea),new Map()),(this[_0x2ffce7(0x3fc)]=_0x3b48ee,this[_0x2ffce7(0x398)]=_0xf99921,this[_0x2ffce7(0x2aa)]=_0x309438,this[_0x2ffce7(0x390)]=_0x536301,this[_0x2ffce7(0x1dc)]());}[_0x42f095(0x1dc)](){const _0xb51606=_0x42f095;this[_0xb51606(0x2c1)](this['_registerOtherFormulaService'][_0xb51606(0x3a3)]['subscribe'](_0x221174=>{const _0x208481=_0xb51606;for(const _0x381806 in _0x221174){const _0x2e5742=_0x221174[_0x381806];if(this[_0x208481(0x3fc)][_0x208481(0x3eb)](_0x381806)===_0x36392d[_0x208481(0x1ee)][_0x208481(0x26d)])for(const _0x303fcb in _0x2e5742){const _0x1011ec=_0x2e5742[_0x303fcb],_0x50a5bd=this[_0x208481(0x3e4)](_0x381806,_0x303fcb);_0x1011ec[_0x208481(0x308)](_0x30dd77=>{const _0x1a5c7e=_0x208481;var _0x139f96,_0x2ca529;if(_0x50a5bd['get']((_0x139f96=_0x30dd77[_0x1a5c7e(0x2df)])==null?void 0x0:_0x139f96[_0x1a5c7e(0x2ed)])){const _0x94ab32=this[_0x1a5c7e(0x390)]['getRuleById'](_0x381806,_0x303fcb,(_0x2ca529=_0x30dd77['extra'])==null?void 0x0:_0x2ca529[_0x1a5c7e(0x2ed)]);_0x94ab32&&this[_0x1a5c7e(0x2aa)]['markRangeDirty'](_0x381806,_0x303fcb,_0x94ab32['ranges']);}});}}}));}[_0x42f095(0x3e4)](_0x4dee35,_0x4b40cc){const _0x1e4f2a=_0x42f095;let _0x7dff46=this[_0x1e4f2a(0x3ea)]['get'](_0x4dee35);_0x7dff46||(_0x7dff46=new Map(),this['_formulaRuleMap']['set'](_0x4dee35,_0x7dff46));let _0x3334d1=_0x7dff46['get'](_0x4b40cc);return _0x3334d1||(_0x3334d1=new Map(),_0x7dff46[_0x1e4f2a(0x1fc)](_0x4b40cc,_0x3334d1)),_0x3334d1;}[_0x42f095(0x271)](_0x2934ff,_0x13a000,_0x42909f,_0x23f684,_0x427963){const _0x507c06=_0x42f095,_0x162d84=_0x36392d['isFormulaString'](_0x23f684),_0x5c9b73=_0x36392d[_0x507c06(0x2b5)](_0x427963);if(!_0x162d84&&!_0x5c9b73)return;const _0x3fb535=this['_ensureRuleFormulaMap'](_0x2934ff,_0x13a000),_0x3b0e13=[void 0x0,void 0x0];if(_0x162d84){const _0x4ee8be=this[_0x507c06(0x398)]['registerFormula'](_0x2934ff,_0x13a000,_0x23f684,{'ruleId':_0x42909f});_0x3b0e13[0x0]={'id':_0x4ee8be,'text':_0x23f684};}if(_0x5c9b73){const _0x1ad7da=this['_registerOtherFormulaService'][_0x507c06(0x3d5)](_0x2934ff,_0x13a000,_0x427963,{'ruleId':_0x42909f});_0x3b0e13[0x1]={'id':_0x1ad7da,'text':_0x427963};}_0x3fb535['set'](_0x42909f,_0x3b0e13);}[_0x42f095(0x3a9)](_0x2dbf0e,_0xa42965,_0xac8df0){const _0x4c40d9=_0x42f095,_0x571e19=this[_0x4c40d9(0x3e4)](_0x2dbf0e,_0xa42965)[_0x4c40d9(0x1fd)](_0xac8df0);if(!_0x571e19)return;const [_0x2299af,_0x160f69]=_0x571e19,_0x4c420e=[_0x2299af==null?void 0x0:_0x2299af['id'],_0x160f69==null?void 0x0:_0x160f69['id']]['filter'](Boolean);_0x4c420e[_0x4c40d9(0x2a8)]&&this[_0x4c40d9(0x398)]['deleteFormula'](_0x2dbf0e,_0xa42965,_0x4c420e);}[_0x42f095(0x377)](_0x295cda,_0x1b0f0d,_0x323426,_0x4e2950,_0x3e4a63){const _0x27d680=_0x42f095,_0x119ade=this[_0x27d680(0x3e4)](_0x295cda,_0x1b0f0d)[_0x27d680(0x1fd)](_0x323426);if(!_0x119ade){this['addRule'](_0x295cda,_0x1b0f0d,_0x323426,_0x4e2950,_0x3e4a63);return;}const [_0x405792,_0x2ce863]=_0x119ade;if((_0x405792==null?void 0x0:_0x405792[_0x27d680(0x325)])!==_0x4e2950){if(_0x405792&&this[_0x27d680(0x398)]['deleteFormula'](_0x295cda,_0x1b0f0d,[_0x405792['id']]),_0x36392d[_0x27d680(0x2b5)](_0x4e2950)){const _0x5857db=this['_registerOtherFormulaService']['registerFormula'](_0x295cda,_0x1b0f0d,_0x4e2950,{'ruleId':_0x323426});_0x119ade[0x0]={'text':_0x4e2950,'id':_0x5857db};}else _0x119ade[0x0]=void 0x0;}if((_0x2ce863==null?void 0x0:_0x2ce863[_0x27d680(0x325)])!==_0x3e4a63){if(_0x2ce863&&this[_0x27d680(0x398)]['deleteFormula'](_0x295cda,_0x1b0f0d,[_0x2ce863['id']]),_0x36392d[_0x27d680(0x2b5)](_0x3e4a63)){const _0x51960c=this['_registerOtherFormulaService'][_0x27d680(0x3d5)](_0x295cda,_0x1b0f0d,_0x3e4a63,{'ruleId':_0x323426});_0x119ade[0x1]={'text':_0x3e4a63,'id':_0x51960c};}else _0x119ade[0x1]=void 0x0;}}[_0x42f095(0x33a)](_0x4164b2,_0x3af750,_0x3edbdf){const _0x590e8a=_0x42f095,_0x5bf574=this[_0x590e8a(0x3e4)](_0x4164b2,_0x3af750)['get'](_0x3edbdf);if(!_0x5bf574)return Promise[_0x590e8a(0x1bc)](null);const _0x269d76=_0x2019d3(async _0x52960e=>_0x52960e&&this[_0x590e8a(0x398)][_0x590e8a(0x23d)](_0x4164b2,_0x3af750,_0x52960e['id']),_0x590e8a(0x220));return Promise[_0x590e8a(0x3c8)]([_0x269d76(_0x5bf574[0x0]),_0x269d76(_0x5bf574[0x1])]);}['getRuleFormulaResultSync'](_0x2ec73c,_0x218d43,_0x5d3ba9){const _0x3b4013=_0x42f095,_0x50f334=this['_ensureRuleFormulaMap'](_0x2ec73c,_0x218d43)[_0x3b4013(0x1fd)](_0x5d3ba9);if(_0x50f334)return _0x50f334[_0x3b4013(0x2c3)](_0x147600=>{const _0x2dd9de=_0x3b4013;if(_0x147600)return this[_0x2dd9de(0x398)]['getFormulaValueSync'](_0x2ec73c,_0x218d43,_0x147600['id']);});}[_0x42f095(0x2f0)](_0xde76cf,_0x374ddc,_0x42ad59){const _0x5a5068=_0x42f095;return this[_0x5a5068(0x3e4)](_0xde76cf,_0x374ddc)[_0x5a5068(0x1fd)](_0x42ad59);}},_0x2019d3(_0xcebea3,_0x42f095(0x336)),_0xcebea3),_0x2812de[_0x42f095(0x336)]=_0x276919([_0x5e2732(0x0,_0x36392d[_0x42f095(0x2c6)]),_0x5e2732(0x1,_0x36392d[_0x42f095(0x293)](_0x4968f9[_0x42f095(0x280)])),_0x5e2732(0x2,_0x36392d['Inject'](_0x3a08aa)),_0x5e2732(0x3,_0x36392d[_0x42f095(0x293)](_0x2b67f4['DataValidationModel']))],_0x2812de[_0x42f095(0x336)]);function _0xabc37a(_0x2e4fd5){const _0x5c579b=_0x42f095;return _0x36392d[_0x5c579b(0x35e)](_0x2e4fd5);}_0x2019d3(_0xabc37a,_0x42f095(0x1c1));function _0x511b75(_0x42c0c9){var _0xa70bc8;return String((_0xa70bc8=_0xabc37a(_0x42c0c9))!=null?_0xa70bc8:'');}_0x2019d3(_0x511b75,_0x42f095(0x206));const _0x3f6ffb=(_0x3d6c88=class{constructor(_0x492329,_0x44b3be){const _0x210b5c=_0x42f095;this['low']=_0x492329,this[_0x210b5c(0x3ba)]=_0x44b3be;}['clone'](){const _0x44dc02=_0x42f095;return new _0x3d6c88(this[_0x44dc02(0x2b6)],this[_0x44dc02(0x3ba)]);}get[_0x42f095(0x1b2)](){return this['clone']();}[_0x42f095(0x3ca)](_0x30cec0){const _0x73c71e=_0x42f095;return this[_0x73c71e(0x2b6)]<_0x30cec0[_0x73c71e(0x2b6)]||this[_0x73c71e(0x2b6)]===_0x30cec0[_0x73c71e(0x2b6)]&&this[_0x73c71e(0x3ba)]<_0x30cec0[_0x73c71e(0x3ba)];}[_0x42f095(0x234)](_0x302bd0){const _0x11b37f=_0x42f095;return this[_0x11b37f(0x2b6)]===_0x302bd0[_0x11b37f(0x2b6)]&&this['high']===_0x302bd0[_0x11b37f(0x3ba)];}['intersect'](_0x38d5d0){const _0x258560=_0x42f095;return!this[_0x258560(0x1e7)](_0x38d5d0);}['not_intersect'](_0x2476e0){const _0x3d81c1=_0x42f095;return this[_0x3d81c1(0x3ba)]<_0x2476e0['low']||_0x2476e0[_0x3d81c1(0x3ba)]<this[_0x3d81c1(0x2b6)];}[_0x42f095(0x2b1)](_0x1f79c6){const _0x40632e=_0x42f095;return new _0x3d6c88(this['low']===void 0x0?_0x1f79c6[_0x40632e(0x2b6)]:this[_0x40632e(0x2b6)]<_0x1f79c6[_0x40632e(0x2b6)]?this[_0x40632e(0x2b6)]:_0x1f79c6[_0x40632e(0x2b6)],this['high']===void 0x0?_0x1f79c6[_0x40632e(0x3ba)]:this[_0x40632e(0x3ba)]>_0x1f79c6[_0x40632e(0x3ba)]?this['high']:_0x1f79c6['high']);}['output'](){const _0x343c55=_0x42f095;return[this[_0x343c55(0x2b6)],this[_0x343c55(0x3ba)]];}static[_0x42f095(0x213)](_0x55f348,_0x581d73){const _0x15d49f=_0x42f095;return _0x55f348[_0x15d49f(0x2b1)](_0x581d73);}static[_0x42f095(0x3a6)](_0x4ccc1c,_0x4399ba){return _0x4ccc1c<_0x4399ba;}},_0x2019d3(_0x3d6c88,_0x42f095(0x3dd)),_0x3d6c88),_0x2ee48f=0x0,_0x4e344e=0x1,_0x94599b=class _0x26216f{constructor(_0x255033=void 0x0,_0x122129=void 0x0,_0xbb9e3a=null,_0xdf2426=null,_0xd85558=null,_0x84fc7c=_0x4e344e){const _0x45ca87=_0x42f095;if(this[_0x45ca87(0x1c4)]=_0xbb9e3a,this[_0x45ca87(0x3f5)]=_0xdf2426,this[_0x45ca87(0x2e5)]=_0xd85558,this[_0x45ca87(0x22f)]=_0x84fc7c,this[_0x45ca87(0x3cd)]={'key':_0x255033,'value':_0x122129},_0x255033&&_0x255033 instanceof Array&&_0x255033[_0x45ca87(0x2a8)]===0x2&&!Number[_0x45ca87(0x392)](_0x255033[0x0])&&!Number['isNaN'](_0x255033[0x1])){let [_0xaadbca,_0x3e7de3]=_0x255033;_0xaadbca>_0x3e7de3&&([_0xaadbca,_0x3e7de3]=[_0x3e7de3,_0xaadbca]),this[_0x45ca87(0x3cd)]['key']=new _0x3f6ffb(_0xaadbca,_0x3e7de3);}this[_0x45ca87(0x1b2)]=this[_0x45ca87(0x3cd)][_0x45ca87(0x3af)]?this[_0x45ca87(0x3cd)]['key']['max']:void 0x0;}[_0x42f095(0x228)](){const _0x37e0f5=_0x42f095;return this[_0x37e0f5(0x3cd)][_0x37e0f5(0x3af)]===void 0x0&&this[_0x37e0f5(0x3cd)][_0x37e0f5(0x1c7)]===void 0x0&&this[_0x37e0f5(0x1c4)]===null&&this[_0x37e0f5(0x3f5)]===null&&this[_0x37e0f5(0x22f)]===_0x4e344e;}[_0x42f095(0x28a)](_0x45afe5){const _0xef564b=_0x42f095;return this['item'][_0xef564b(0x1c7)]&&_0x45afe5[_0xef564b(0x3cd)][_0xef564b(0x1c7)]&&this[_0xef564b(0x3cd)][_0xef564b(0x1c7)]['less_than']?this[_0xef564b(0x3cd)]['value'][_0xef564b(0x3ca)](_0x45afe5[_0xef564b(0x3cd)][_0xef564b(0x1c7)]):this[_0xef564b(0x3cd)][_0xef564b(0x1c7)]<_0x45afe5[_0xef564b(0x3cd)][_0xef564b(0x1c7)];}['less_than'](_0x1a5cfd){const _0x91ce4a=_0x42f095;return this[_0x91ce4a(0x3cd)][_0x91ce4a(0x1c7)]===this['item'][_0x91ce4a(0x3af)]&&_0x1a5cfd[_0x91ce4a(0x3cd)][_0x91ce4a(0x1c7)]===_0x1a5cfd[_0x91ce4a(0x3cd)][_0x91ce4a(0x3af)]?this['item'][_0x91ce4a(0x3af)]['less_than'](_0x1a5cfd['item'][_0x91ce4a(0x3af)]):this[_0x91ce4a(0x3cd)][_0x91ce4a(0x3af)]['less_than'](_0x1a5cfd[_0x91ce4a(0x3cd)]['key'])||this['item']['key'][_0x91ce4a(0x234)](_0x1a5cfd[_0x91ce4a(0x3cd)][_0x91ce4a(0x3af)])&&this[_0x91ce4a(0x28a)](_0x1a5cfd);}['_value_equal'](_0x496f6d){const _0x836617=_0x42f095;return this[_0x836617(0x3cd)][_0x836617(0x1c7)]&&_0x496f6d['item'][_0x836617(0x1c7)]&&this[_0x836617(0x3cd)][_0x836617(0x1c7)][_0x836617(0x234)]?this[_0x836617(0x3cd)][_0x836617(0x1c7)]['equal_to'](_0x496f6d[_0x836617(0x3cd)][_0x836617(0x1c7)]):this[_0x836617(0x3cd)][_0x836617(0x1c7)]===_0x496f6d['item'][_0x836617(0x1c7)];}[_0x42f095(0x234)](_0x3e1de2){const _0x3bfcf3=_0x42f095;return this[_0x3bfcf3(0x3cd)][_0x3bfcf3(0x1c7)]===this[_0x3bfcf3(0x3cd)]['key']&&_0x3e1de2[_0x3bfcf3(0x3cd)]['value']===_0x3e1de2[_0x3bfcf3(0x3cd)]['key']?this['item'][_0x3bfcf3(0x3af)]['equal_to'](_0x3e1de2['item'][_0x3bfcf3(0x3af)]):this['item'][_0x3bfcf3(0x3af)][_0x3bfcf3(0x234)](_0x3e1de2[_0x3bfcf3(0x3cd)]['key'])&&this[_0x3bfcf3(0x320)](_0x3e1de2);}[_0x42f095(0x1cf)](_0x2208a3){const _0x5483bd=_0x42f095;return this[_0x5483bd(0x3cd)][_0x5483bd(0x3af)][_0x5483bd(0x1cf)](_0x2208a3['item'][_0x5483bd(0x3af)]);}['copy_data'](_0xc8dd3a){const _0x232fd4=_0x42f095;this[_0x232fd4(0x3cd)][_0x232fd4(0x3af)]=_0xc8dd3a[_0x232fd4(0x3cd)]['key'],this[_0x232fd4(0x3cd)][_0x232fd4(0x1c7)]=_0xc8dd3a['item']['value'];}[_0x42f095(0x2eb)](){const _0x26ee91=_0x42f095;if(this[_0x26ee91(0x1b2)]=this[_0x26ee91(0x3cd)][_0x26ee91(0x3af)]?this['item'][_0x26ee91(0x3af)][_0x26ee91(0x1b2)]:void 0x0,this['right']&&this['right']['max']){const _0x372190=this[_0x26ee91(0x3cd)]['key'][_0x26ee91(0x29f)]['comparable_max'];this[_0x26ee91(0x1b2)]=_0x372190(this['max'],this[_0x26ee91(0x3f5)][_0x26ee91(0x1b2)]);}if(this[_0x26ee91(0x1c4)]&&this[_0x26ee91(0x1c4)]['max']){const _0xb24fab=this[_0x26ee91(0x3cd)][_0x26ee91(0x3af)][_0x26ee91(0x29f)][_0x26ee91(0x213)];this[_0x26ee91(0x1b2)]=_0xb24fab(this['max'],this[_0x26ee91(0x1c4)][_0x26ee91(0x1b2)]);}}[_0x42f095(0x3c6)](_0x37bb27){const _0x1a7b74=_0x42f095,_0x4bf99e=this[_0x1a7b74(0x3cd)][_0x1a7b74(0x3af)]['constructor'][_0x1a7b74(0x3a6)];let _0x225d9f=this[_0x1a7b74(0x1c4)][_0x1a7b74(0x1b2)][_0x1a7b74(0x3ba)]!==void 0x0?this[_0x1a7b74(0x1c4)][_0x1a7b74(0x1b2)][_0x1a7b74(0x3ba)]:this[_0x1a7b74(0x1c4)][_0x1a7b74(0x1b2)];return _0x4bf99e(_0x225d9f,_0x37bb27[_0x1a7b74(0x3cd)]['key'][_0x1a7b74(0x2b6)]);}[_0x42f095(0x39c)](_0x2e8915){const _0x105db8=_0x42f095,_0x7ceee7=this[_0x105db8(0x3cd)]['key'][_0x105db8(0x29f)][_0x105db8(0x3a6)];let _0x76210f=this['right'][_0x105db8(0x1b2)][_0x105db8(0x2b6)]!==void 0x0?this[_0x105db8(0x3f5)][_0x105db8(0x1b2)][_0x105db8(0x2b6)]:this[_0x105db8(0x3f5)]['item'][_0x105db8(0x3af)]['low'];return _0x7ceee7(_0x2e8915['item'][_0x105db8(0x3af)][_0x105db8(0x3ba)],_0x76210f);}};_0x2019d3(_0x94599b,_0x42f095(0x1e1));let _0x32f889=_0x94599b;const _0x5657c0=class _0x377ada{constructor(){const _0x2d21c8=_0x42f095;this['root']=null,this[_0x2d21c8(0x387)]=new _0x32f889();}get[_0x42f095(0x21d)](){const _0xc216ec=_0x42f095;let _0x45ec8c=0x0;return this['tree_walk'](this[_0xc216ec(0x37a)],()=>_0x45ec8c++),_0x45ec8c;}get['keys'](){const _0x28b39b=_0x42f095;let _0x25173c=[];return this[_0x28b39b(0x1f7)](this['root'],_0x5656a1=>_0x25173c[_0x28b39b(0x1d7)](_0x5656a1[_0x28b39b(0x3cd)]['key'][_0x28b39b(0x373)]?_0x5656a1[_0x28b39b(0x3cd)][_0x28b39b(0x3af)][_0x28b39b(0x373)]():_0x5656a1[_0x28b39b(0x3cd)]['key'])),_0x25173c;}get[_0x42f095(0x3ac)](){const _0x4f1bbc=_0x42f095;let _0x23202f=[];return this['tree_walk'](this[_0x4f1bbc(0x37a)],_0x1a0b89=>_0x23202f[_0x4f1bbc(0x1d7)](_0x1a0b89[_0x4f1bbc(0x3cd)]['value'])),_0x23202f;}get['items'](){const _0x59772b=_0x42f095;let _0x55573a=[];return this[_0x59772b(0x1f7)](this['root'],_0x4e3053=>_0x55573a['push']({'key':_0x4e3053[_0x59772b(0x3cd)][_0x59772b(0x3af)][_0x59772b(0x373)]?_0x4e3053[_0x59772b(0x3cd)][_0x59772b(0x3af)]['output']():_0x4e3053[_0x59772b(0x3cd)]['key'],'value':_0x4e3053[_0x59772b(0x3cd)]['value']})),_0x55573a;}[_0x42f095(0x3d9)](){const _0x464522=_0x42f095;return this['root']==null||this[_0x464522(0x37a)]===this[_0x464522(0x387)];}[_0x42f095(0x281)](){const _0x479454=_0x42f095;this[_0x479454(0x37a)]=null;}['insert'](_0x6f9644,_0x3a575d=_0x6f9644){const _0x92d1c6=_0x42f095;if(_0x6f9644===void 0x0)return;let _0x514caa=new _0x32f889(_0x6f9644,_0x3a575d,this[_0x92d1c6(0x387)],this['nil_node'],null,_0x2ee48f);return this[_0x92d1c6(0x210)](_0x514caa),this[_0x92d1c6(0x39b)](_0x514caa),_0x514caa;}[_0x42f095(0x1b5)](_0x3bfba6,_0x2d3756=_0x3bfba6){const _0x3a1233=_0x42f095;let _0x5ab657=new _0x32f889(_0x3bfba6,_0x2d3756);return!!this[_0x3a1233(0x1b0)](this[_0x3a1233(0x37a)],_0x5ab657);}['remove'](_0x7216f9,_0x4ea958=_0x7216f9){const _0x23238e=_0x42f095;let _0x39eab4=new _0x32f889(_0x7216f9,_0x4ea958),_0x235425=this[_0x23238e(0x1b0)](this[_0x23238e(0x37a)],_0x39eab4);return _0x235425&&this[_0x23238e(0x1b4)](_0x235425),_0x235425;}['search'](_0x5dc7bc,_0x21b46a=(_0x50acc9,_0x40673a)=>_0x50acc9===_0x40673a?_0x40673a['output']():_0x50acc9){const _0x1d970d=_0x42f095;let _0x84e945=new _0x32f889(_0x5dc7bc),_0x4b501f=[];return this[_0x1d970d(0x2dd)](this[_0x1d970d(0x37a)],_0x84e945,_0x4b501f),_0x4b501f[_0x1d970d(0x2c3)](_0x2e9fd5=>_0x21b46a(_0x2e9fd5[_0x1d970d(0x3cd)]['value'],_0x2e9fd5['item']['key']));}[_0x42f095(0x25d)](_0x5600fd){const _0x34bea8=_0x42f095;let _0x185acd=new _0x32f889(_0x5600fd);return this[_0x34bea8(0x3ef)](this[_0x34bea8(0x37a)],_0x185acd);}[_0x42f095(0x308)](_0x20a983){const _0x20d082=_0x42f095;this[_0x20d082(0x1f7)](this[_0x20d082(0x37a)],_0x17068c=>_0x20a983(_0x17068c[_0x20d082(0x3cd)][_0x20d082(0x3af)],_0x17068c['item']['value']));}[_0x42f095(0x2c3)](_0x5c6d7e){const _0x2f517b=_0x42f095,_0x3ad1e6=new _0x377ada();return this[_0x2f517b(0x1f7)](this['root'],_0x25d563=>_0x3ad1e6[_0x2f517b(0x1ab)](_0x25d563[_0x2f517b(0x3cd)][_0x2f517b(0x3af)],_0x5c6d7e(_0x25d563['item'][_0x2f517b(0x1c7)],_0x25d563[_0x2f517b(0x3cd)][_0x2f517b(0x3af)]))),_0x3ad1e6;}*[_0x42f095(0x348)](_0x599394,_0x4c0b75=(_0x20e759,_0x40893c)=>_0x20e759===_0x40893c?_0x40893c[_0x42f095(0x373)]():_0x20e759){const _0x204bdf=_0x42f095;let _0x4e7593;for(_0x599394?_0x4e7593=this[_0x204bdf(0x36b)](this['root'],new _0x32f889(_0x599394)):this[_0x204bdf(0x37a)]&&(_0x4e7593=this[_0x204bdf(0x3c0)](this['root']));_0x4e7593;)yield _0x4c0b75(_0x4e7593[_0x204bdf(0x3cd)][_0x204bdf(0x1c7)],_0x4e7593[_0x204bdf(0x3cd)][_0x204bdf(0x3af)]),_0x4e7593=this[_0x204bdf(0x2d4)](_0x4e7593);}[_0x42f095(0x39b)](_0x159b82){const _0x59b860=_0x42f095;let _0x5e6965=_0x159b82;for(;_0x5e6965[_0x59b860(0x2e5)]!=null;)_0x5e6965[_0x59b860(0x2e5)][_0x59b860(0x2eb)](),_0x5e6965=_0x5e6965[_0x59b860(0x2e5)];}['tree_insert'](_0x35830c){const _0x1bd087=_0x42f095;let _0x3c6aa6=this[_0x1bd087(0x37a)],_0x4f0264=null;if(this[_0x1bd087(0x37a)]==null||this[_0x1bd087(0x37a)]===this['nil_node'])this[_0x1bd087(0x37a)]=_0x35830c;else{for(;_0x3c6aa6!==this[_0x1bd087(0x387)];)_0x4f0264=_0x3c6aa6,_0x35830c[_0x1bd087(0x3ca)](_0x3c6aa6)?_0x3c6aa6=_0x3c6aa6[_0x1bd087(0x1c4)]:_0x3c6aa6=_0x3c6aa6['right'];_0x35830c['parent']=_0x4f0264,_0x35830c[_0x1bd087(0x3ca)](_0x4f0264)?_0x4f0264[_0x1bd087(0x1c4)]=_0x35830c:_0x4f0264[_0x1bd087(0x3f5)]=_0x35830c;}this['insert_fixup'](_0x35830c);}['insert_fixup'](_0x324052){const _0x6b9ca5=_0x42f095;let _0x21d2f8,_0x21ecb2;for(_0x21d2f8=_0x324052;_0x21d2f8!==this['root']&&_0x21d2f8['parent'][_0x6b9ca5(0x22f)]===_0x2ee48f;)_0x21d2f8[_0x6b9ca5(0x2e5)]===_0x21d2f8[_0x6b9ca5(0x2e5)]['parent'][_0x6b9ca5(0x1c4)]?(_0x21ecb2=_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x2e5)][_0x6b9ca5(0x3f5)],_0x21ecb2['color']===_0x2ee48f?(_0x21d2f8['parent']['color']=_0x4e344e,_0x21ecb2[_0x6b9ca5(0x22f)]=_0x4e344e,_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x2e5)][_0x6b9ca5(0x22f)]=_0x2ee48f,_0x21d2f8=_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x2e5)]):(_0x21d2f8===_0x21d2f8[_0x6b9ca5(0x2e5)]['right']&&(_0x21d2f8=_0x21d2f8[_0x6b9ca5(0x2e5)],this[_0x6b9ca5(0x23f)](_0x21d2f8)),_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x22f)]=_0x4e344e,_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x2e5)]['color']=_0x2ee48f,this[_0x6b9ca5(0x3e8)](_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x2e5)]))):(_0x21ecb2=_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x2e5)][_0x6b9ca5(0x1c4)],_0x21ecb2['color']===_0x2ee48f?(_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x22f)]=_0x4e344e,_0x21ecb2[_0x6b9ca5(0x22f)]=_0x4e344e,_0x21d2f8[_0x6b9ca5(0x2e5)]['parent'][_0x6b9ca5(0x22f)]=_0x2ee48f,_0x21d2f8=_0x21d2f8['parent'][_0x6b9ca5(0x2e5)]):(_0x21d2f8===_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x1c4)]&&(_0x21d2f8=_0x21d2f8[_0x6b9ca5(0x2e5)],this[_0x6b9ca5(0x3e8)](_0x21d2f8)),_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x22f)]=_0x4e344e,_0x21d2f8['parent'][_0x6b9ca5(0x2e5)][_0x6b9ca5(0x22f)]=_0x2ee48f,this[_0x6b9ca5(0x23f)](_0x21d2f8[_0x6b9ca5(0x2e5)][_0x6b9ca5(0x2e5)])));this['root'][_0x6b9ca5(0x22f)]=_0x4e344e;}[_0x42f095(0x1b4)](_0x535bdb){const _0x107fde=_0x42f095;let _0x419013,_0x4d15db;_0x535bdb['left']===this[_0x107fde(0x387)]||_0x535bdb[_0x107fde(0x3f5)]===this[_0x107fde(0x387)]?_0x419013=_0x535bdb:_0x419013=this['tree_successor'](_0x535bdb),_0x419013['left']!==this[_0x107fde(0x387)]?_0x4d15db=_0x419013[_0x107fde(0x1c4)]:_0x4d15db=_0x419013[_0x107fde(0x3f5)],_0x4d15db[_0x107fde(0x2e5)]=_0x419013[_0x107fde(0x2e5)],_0x419013===this[_0x107fde(0x37a)]?this['root']=_0x4d15db:(_0x419013===_0x419013[_0x107fde(0x2e5)]['left']?_0x419013[_0x107fde(0x2e5)]['left']=_0x4d15db:_0x419013['parent'][_0x107fde(0x3f5)]=_0x4d15db,_0x419013['parent']['update_max']()),this[_0x107fde(0x39b)](_0x4d15db),_0x419013!==_0x535bdb&&(_0x535bdb[_0x107fde(0x3a4)](_0x419013),_0x535bdb['update_max'](),this['recalc_max'](_0x535bdb)),_0x419013['color']===_0x4e344e&&this[_0x107fde(0x1bd)](_0x4d15db);}['delete_fixup'](_0x352efc){const _0x445819=_0x42f095;let _0x175c2b=_0x352efc,_0x48ad18;for(;_0x175c2b!==this[_0x445819(0x37a)]&&_0x175c2b[_0x445819(0x2e5)]!=null&&_0x175c2b[_0x445819(0x22f)]===_0x4e344e;)_0x175c2b===_0x175c2b[_0x445819(0x2e5)][_0x445819(0x1c4)]?(_0x48ad18=_0x175c2b[_0x445819(0x2e5)]['right'],_0x48ad18[_0x445819(0x22f)]===_0x2ee48f&&(_0x48ad18['color']=_0x4e344e,_0x175c2b[_0x445819(0x2e5)][_0x445819(0x22f)]=_0x2ee48f,this['rotate_left'](_0x175c2b[_0x445819(0x2e5)]),_0x48ad18=_0x175c2b[_0x445819(0x2e5)][_0x445819(0x3f5)]),_0x48ad18[_0x445819(0x1c4)][_0x445819(0x22f)]===_0x4e344e&&_0x48ad18[_0x445819(0x3f5)]['color']===_0x4e344e?(_0x48ad18['color']=_0x2ee48f,_0x175c2b=_0x175c2b[_0x445819(0x2e5)]):(_0x48ad18['right'][_0x445819(0x22f)]===_0x4e344e&&(_0x48ad18[_0x445819(0x22f)]=_0x2ee48f,_0x48ad18[_0x445819(0x1c4)]['color']=_0x4e344e,this[_0x445819(0x3e8)](_0x48ad18),_0x48ad18=_0x175c2b['parent'][_0x445819(0x3f5)]),_0x48ad18[_0x445819(0x22f)]=_0x175c2b[_0x445819(0x2e5)][_0x445819(0x22f)],_0x175c2b[_0x445819(0x2e5)][_0x445819(0x22f)]=_0x4e344e,_0x48ad18['right'][_0x445819(0x22f)]=_0x4e344e,this[_0x445819(0x23f)](_0x175c2b[_0x445819(0x2e5)]),_0x175c2b=this[_0x445819(0x37a)])):(_0x48ad18=_0x175c2b[_0x445819(0x2e5)][_0x445819(0x1c4)],_0x48ad18[_0x445819(0x22f)]===_0x2ee48f&&(_0x48ad18[_0x445819(0x22f)]=_0x4e344e,_0x175c2b[_0x445819(0x2e5)][_0x445819(0x22f)]=_0x2ee48f,this[_0x445819(0x3e8)](_0x175c2b[_0x445819(0x2e5)]),_0x48ad18=_0x175c2b[_0x445819(0x2e5)][_0x445819(0x1c4)]),_0x48ad18[_0x445819(0x1c4)][_0x445819(0x22f)]===_0x4e344e&&_0x48ad18[_0x445819(0x3f5)][_0x445819(0x22f)]===_0x4e344e?(_0x48ad18[_0x445819(0x22f)]=_0x2ee48f,_0x175c2b=_0x175c2b[_0x445819(0x2e5)]):(_0x48ad18[_0x445819(0x1c4)][_0x445819(0x22f)]===_0x4e344e&&(_0x48ad18['color']=_0x2ee48f,_0x48ad18[_0x445819(0x3f5)][_0x445819(0x22f)]=_0x4e344e,this[_0x445819(0x23f)](_0x48ad18),_0x48ad18=_0x175c2b[_0x445819(0x2e5)][_0x445819(0x1c4)]),_0x48ad18['color']=_0x175c2b[_0x445819(0x2e5)][_0x445819(0x22f)],_0x175c2b[_0x445819(0x2e5)][_0x445819(0x22f)]=_0x4e344e,_0x48ad18[_0x445819(0x1c4)]['color']=_0x4e344e,this['rotate_right'](_0x175c2b[_0x445819(0x2e5)]),_0x175c2b=this['root']));_0x175c2b[_0x445819(0x22f)]=_0x4e344e;}[_0x42f095(0x1b0)](_0x759379,_0x28a374){const _0x33a7a3=_0x42f095;if(!(_0x759379==null||_0x759379===this[_0x33a7a3(0x387)]))return _0x28a374[_0x33a7a3(0x234)](_0x759379)?_0x759379:_0x28a374['less_than'](_0x759379)?this[_0x33a7a3(0x1b0)](_0x759379['left'],_0x28a374):this['tree_search'](_0x759379[_0x33a7a3(0x3f5)],_0x28a374);}[_0x42f095(0x36b)](_0x462fd9,_0xe444c2){const _0x35327a=_0x42f095;let _0x57422f,_0x29a4dd=_0x462fd9;for(;_0x29a4dd&&_0x29a4dd!==this[_0x35327a(0x387)];)_0x29a4dd[_0x35327a(0x3ca)](_0xe444c2)?_0x29a4dd[_0x35327a(0x1cf)](_0xe444c2)?(_0x57422f=_0x29a4dd,_0x29a4dd=_0x29a4dd[_0x35327a(0x1c4)]):_0x29a4dd=_0x29a4dd[_0x35327a(0x3f5)]:((!_0x57422f||_0x29a4dd[_0x35327a(0x3ca)](_0x57422f))&&(_0x57422f=_0x29a4dd),_0x29a4dd=_0x29a4dd[_0x35327a(0x1c4)]);return _0x57422f||null;}[_0x42f095(0x2dd)](_0x2a9051,_0x90c21d,_0x4f6ac0){const _0x16ad9b=_0x42f095;_0x2a9051!=null&&_0x2a9051!==this[_0x16ad9b(0x387)]&&(_0x2a9051[_0x16ad9b(0x1c4)]!==this[_0x16ad9b(0x387)]&&!_0x2a9051['not_intersect_left_subtree'](_0x90c21d)&&this[_0x16ad9b(0x2dd)](_0x2a9051[_0x16ad9b(0x1c4)],_0x90c21d,_0x4f6ac0),_0x2a9051[_0x16ad9b(0x1cf)](_0x90c21d)&&_0x4f6ac0[_0x16ad9b(0x1d7)](_0x2a9051),_0x2a9051['right']!==this['nil_node']&&!_0x2a9051[_0x16ad9b(0x39c)](_0x90c21d)&&this['tree_search_interval'](_0x2a9051['right'],_0x90c21d,_0x4f6ac0));}['tree_find_any_interval'](_0x199def,_0x35b3ee){const _0x4af3ca=_0x42f095;let _0x45b077=!0x1;return _0x199def!=null&&_0x199def!==this[_0x4af3ca(0x387)]&&(_0x199def[_0x4af3ca(0x1c4)]!==this[_0x4af3ca(0x387)]&&!_0x199def[_0x4af3ca(0x3c6)](_0x35b3ee)&&(_0x45b077=this['tree_find_any_interval'](_0x199def[_0x4af3ca(0x1c4)],_0x35b3ee)),_0x45b077||(_0x45b077=_0x199def[_0x4af3ca(0x1cf)](_0x35b3ee)),!_0x45b077&&_0x199def[_0x4af3ca(0x3f5)]!==this['nil_node']&&!_0x199def[_0x4af3ca(0x39c)](_0x35b3ee)&&(_0x45b077=this[_0x4af3ca(0x3ef)](_0x199def[_0x4af3ca(0x3f5)],_0x35b3ee))),_0x45b077;}[_0x42f095(0x3c0)](_0xf5f657){const _0x960730=_0x42f095;let _0x3b2542=_0xf5f657;for(;_0x3b2542[_0x960730(0x1c4)]!=null&&_0x3b2542[_0x960730(0x1c4)]!==this['nil_node'];)_0x3b2542=_0x3b2542[_0x960730(0x1c4)];return _0x3b2542;}['local_maximum'](_0x306a02){const _0x5b1124=_0x42f095;let _0x34e897=_0x306a02;for(;_0x34e897[_0x5b1124(0x3f5)]!=null&&_0x34e897[_0x5b1124(0x3f5)]!==this[_0x5b1124(0x387)];)_0x34e897=_0x34e897['right'];return _0x34e897;}[_0x42f095(0x2d4)](_0x51070a){const _0x130b13=_0x42f095;let _0x44253a,_0x13182b,_0x2c59ad;if(_0x51070a[_0x130b13(0x3f5)]!==this['nil_node'])_0x44253a=this[_0x130b13(0x3c0)](_0x51070a[_0x130b13(0x3f5)]);else{for(_0x13182b=_0x51070a,_0x2c59ad=_0x51070a[_0x130b13(0x2e5)];_0x2c59ad!=null&&_0x2c59ad[_0x130b13(0x3f5)]===_0x13182b;)_0x13182b=_0x2c59ad,_0x2c59ad=_0x2c59ad['parent'];_0x44253a=_0x2c59ad;}return _0x44253a;}[_0x42f095(0x23f)](_0x108565){const _0x14d5d6=_0x42f095;let _0x535550=_0x108565[_0x14d5d6(0x3f5)];_0x108565[_0x14d5d6(0x3f5)]=_0x535550['left'],_0x535550[_0x14d5d6(0x1c4)]!==this[_0x14d5d6(0x387)]&&(_0x535550['left'][_0x14d5d6(0x2e5)]=_0x108565),_0x535550['parent']=_0x108565[_0x14d5d6(0x2e5)],_0x108565===this[_0x14d5d6(0x37a)]?this['root']=_0x535550:_0x108565===_0x108565[_0x14d5d6(0x2e5)][_0x14d5d6(0x1c4)]?_0x108565[_0x14d5d6(0x2e5)][_0x14d5d6(0x1c4)]=_0x535550:_0x108565[_0x14d5d6(0x2e5)]['right']=_0x535550,_0x535550[_0x14d5d6(0x1c4)]=_0x108565,_0x108565[_0x14d5d6(0x2e5)]=_0x535550,_0x108565!=null&&_0x108565!==this[_0x14d5d6(0x387)]&&_0x108565[_0x14d5d6(0x2eb)](),_0x535550=_0x108565[_0x14d5d6(0x2e5)],_0x535550!=null&&_0x535550!==this['nil_node']&&_0x535550[_0x14d5d6(0x2eb)]();}['rotate_right'](_0x3d3fbe){const _0x16ab9d=_0x42f095;let _0x1b71ca=_0x3d3fbe[_0x16ab9d(0x1c4)];_0x3d3fbe[_0x16ab9d(0x1c4)]=_0x1b71ca[_0x16ab9d(0x3f5)],_0x1b71ca[_0x16ab9d(0x3f5)]!==this[_0x16ab9d(0x387)]&&(_0x1b71ca[_0x16ab9d(0x3f5)][_0x16ab9d(0x2e5)]=_0x3d3fbe),_0x1b71ca[_0x16ab9d(0x2e5)]=_0x3d3fbe['parent'],_0x3d3fbe===this[_0x16ab9d(0x37a)]?this['root']=_0x1b71ca:_0x3d3fbe===_0x3d3fbe['parent'][_0x16ab9d(0x1c4)]?_0x3d3fbe['parent']['left']=_0x1b71ca:_0x3d3fbe[_0x16ab9d(0x2e5)][_0x16ab9d(0x3f5)]=_0x1b71ca,_0x1b71ca[_0x16ab9d(0x3f5)]=_0x3d3fbe,_0x3d3fbe['parent']=_0x1b71ca,_0x3d3fbe!==null&&_0x3d3fbe!==this[_0x16ab9d(0x387)]&&_0x3d3fbe[_0x16ab9d(0x2eb)](),_0x1b71ca=_0x3d3fbe[_0x16ab9d(0x2e5)],_0x1b71ca!=null&&_0x1b71ca!==this[_0x16ab9d(0x387)]&&_0x1b71ca['update_max']();}[_0x42f095(0x1f7)](_0x179256,_0x49607d){const _0x42692c=_0x42f095;_0x179256!=null&&_0x179256!==this['nil_node']&&(this[_0x42692c(0x1f7)](_0x179256[_0x42692c(0x1c4)],_0x49607d),_0x49607d(_0x179256),this[_0x42692c(0x1f7)](_0x179256[_0x42692c(0x3f5)],_0x49607d));}[_0x42f095(0x2e8)](){const _0x2eef29=_0x42f095;let _0x58d925=!0x0;return this[_0x2eef29(0x1f7)](this[_0x2eef29(0x37a)],function(_0x263b96){const _0x4dfd74=_0x2eef29;_0x263b96['color']===_0x2ee48f&&(_0x263b96['left'][_0x4dfd74(0x22f)]===_0x4e344e&&_0x263b96[_0x4dfd74(0x3f5)][_0x4dfd74(0x22f)]===_0x4e344e||(_0x58d925=!0x1));}),_0x58d925;}[_0x42f095(0x323)](_0xd29778){const _0x28e2a1=_0x42f095;let _0x533e03=0x0,_0x538cd1=0x0,_0x346214=0x0;if(_0xd29778[_0x28e2a1(0x22f)]===_0x4e344e&&_0x533e03++,_0xd29778[_0x28e2a1(0x1c4)]!==this['nil_node']?_0x538cd1=this[_0x28e2a1(0x323)](_0xd29778[_0x28e2a1(0x1c4)]):_0x538cd1=0x1,_0xd29778[_0x28e2a1(0x3f5)]!==this['nil_node']?_0x346214=this['testBlackHeightProperty'](_0xd29778['right']):_0x346214=0x1,_0x538cd1!==_0x346214)throw new Error(_0x28e2a1(0x343));return _0x533e03+=_0x538cd1,_0x533e03;}};_0x2019d3(_0x5657c0,'IntervalTree');let _0x25dc3e=_0x5657c0;const _0x8fa2a0=class _0x410c34{constructor(_0x29df0a,_0x1d4afc,_0x4785cf,_0x5bbfd0,_0x372f85=!0x1){const _0x3312ac=_0x42f095;_0x4f5171(this,_0x3312ac(0x24f)),_0x4f5171(this,_0x3312ac(0x223),new Map()),_0x4f5171(this,'_dirty',!0x0),_0x4f5171(this,_0x3312ac(0x27f),_0x2019d3(()=>{const _0xa232d1=_0x3312ac;if(!this[_0xa232d1(0x2d9)]||this[_0xa232d1(0x201)])return;const _0x57cba6=new Map();this[_0xa232d1(0x24f)][_0xa232d1(0x308)]((_0x148569,_0x2f5313)=>{_0x148569['forEach'](_0x183150=>{const _0x157a9a=_0x56ed;for(let _0x2ac87d=_0x183150[_0x157a9a(0x364)];_0x2ac87d<=_0x183150[_0x157a9a(0x2dc)];_0x2ac87d++){let _0x21bd14=_0x57cba6['get'](_0x2ac87d);_0x21bd14||(_0x21bd14=[],_0x57cba6[_0x157a9a(0x1fc)](_0x2ac87d,_0x21bd14)),_0x21bd14[_0x157a9a(0x1d7)]({'startRow':_0x183150[_0x157a9a(0x333)],'endRow':_0x183150[_0x157a9a(0x28c)],'ruleId':_0x2f5313});}});});const _0x3c4f2b=new Map();_0x57cba6['forEach']((_0x21f7d5,_0x502ca6)=>{const _0x3cd394=_0xa232d1,_0xde4452=new _0x25dc3e();_0x21f7d5[_0x3cd394(0x308)](_0x47da62=>{const _0x50b78b=_0x3cd394;_0xde4452[_0x50b78b(0x1ab)]([_0x47da62[_0x50b78b(0x333)],_0x47da62[_0x50b78b(0x28c)]],_0x47da62[_0x50b78b(0x2ed)]);}),_0x3c4f2b[_0x3cd394(0x1fc)](_0x502ca6,_0xde4452);}),this['_tree']=_0x3c4f2b,this['_dirty']=!0x1;},_0x3312ac(0x27f))),_0x4f5171(this,_0x3312ac(0x3ab),_0x36392d[_0x3312ac(0x1e5)](this[_0x3312ac(0x27f)],0x0)),(this[_0x3312ac(0x2a6)]=_0x1d4afc,this['_subUnitId']=_0x4785cf,this[_0x3312ac(0x22d)]=_0x5bbfd0,this[_0x3312ac(0x201)]=_0x372f85,this[_0x3312ac(0x24f)]=_0x29df0a,this[_0x3312ac(0x27f)]());}get[_0x42f095(0x1de)](){const _0x2de87a=_0x42f095;var _0x2d3823;return(_0x2d3823=this['_univerInstanceService'][_0x2de87a(0x28f)](this[_0x2de87a(0x2a6)],_0x36392d[_0x2de87a(0x1ee)][_0x2de87a(0x26d)]))==null?void 0x0:_0x2d3823[_0x2de87a(0x3df)](this[_0x2de87a(0x376)]);}[_0x42f095(0x271)](_0x1cd9cb){const _0x28fcec=_0x42f095;if(!this['_worksheet'])return;const _0x595595=_0x1cd9cb[_0x28fcec(0x2d6)],_0x36fb16=_0x1cd9cb[_0x28fcec(0x34e)]['map'](_0x398864=>_0x36392d['Range'][_0x28fcec(0x2d8)](_0x398864,this[_0x28fcec(0x1de)]));this['_map']['forEach']((_0x596014,_0x149776)=>{const _0x38af36=_0x28fcec,_0x326eea=_0x36392d[_0x38af36(0x270)]['subtractMulti'](_0x596014,_0x36fb16);_0x326eea['length']===0x0?this['_map'][_0x38af36(0x3f8)](_0x149776):this['_map'][_0x38af36(0x1fc)](_0x149776,_0x326eea);}),this[_0x28fcec(0x2d9)]=!0x0,this['_map']['set'](_0x595595,_0x36fb16),this[_0x28fcec(0x3ab)]();}['removeRange'](_0x53e0b1){const _0x1043d1=_0x42f095;if(!this[_0x1043d1(0x1de)])return;const _0x58ff72=_0x53e0b1[_0x1043d1(0x2c3)](_0x1ec9bd=>_0x36392d[_0x1043d1(0x27a)]['transformRange'](_0x1ec9bd,this['_worksheet']));this['_map'][_0x1043d1(0x308)]((_0x30c976,_0x4397f5)=>{const _0x2ac846=_0x1043d1,_0x14e055=_0x36392d['Rectangle'][_0x2ac846(0x332)](_0x30c976,_0x58ff72);_0x14e055[_0x2ac846(0x2a8)]===0x0?this['_map'][_0x2ac846(0x3f8)](_0x4397f5):this[_0x2ac846(0x24f)][_0x2ac846(0x1fc)](_0x4397f5,_0x14e055);}),this[_0x1043d1(0x2d9)]=!0x0,this[_0x1043d1(0x3ab)]();}[_0x42f095(0x3a9)](_0x5214a4){const _0xe77cd3=_0x42f095;this['_map'][_0xe77cd3(0x3f8)](_0x5214a4[_0xe77cd3(0x2d6)]),this[_0xe77cd3(0x2d9)]=!0x0,this[_0xe77cd3(0x3ab)]();}[_0x42f095(0x3e9)](_0x400f6f,_0xf06922){const _0x1274ff=_0x42f095;if(!this[_0x1274ff(0x1de)])return;this['_map'][_0x1274ff(0x3f8)](_0x400f6f);const _0x4effc8=_0xf06922[_0x1274ff(0x2c3)](_0x245627=>_0x36392d['Range'][_0x1274ff(0x2d8)](_0x245627,this[_0x1274ff(0x1de)]));this[_0x1274ff(0x24f)]['forEach']((_0xc869c,_0x1d7820)=>{const _0x356502=_0x1274ff,_0x56b32e=_0x36392d[_0x356502(0x270)][_0x356502(0x332)](_0xc869c,_0x4effc8);_0x56b32e['length']===0x0?this['_map'][_0x356502(0x3f8)](_0x1d7820):this[_0x356502(0x24f)][_0x356502(0x1fc)](_0x1d7820,_0x56b32e);}),this[_0x1274ff(0x24f)][_0x1274ff(0x1fc)](_0x400f6f,_0x4effc8),this['_dirty']=!0x0,this['_debonceBuildTree']();}[_0x42f095(0x2de)](_0x2082f9){const _0x417921=_0x42f095;_0x2082f9[_0x417921(0x308)](({id:_0x2e0144,ranges:_0x3deef4})=>{const _0xbfbc15=_0x417921;if(!_0x3deef4['length'])return;let _0x599fab=this[_0xbfbc15(0x24f)][_0xbfbc15(0x1fd)](_0x2e0144);_0x599fab?(this['_map'][_0xbfbc15(0x1fc)](_0x2e0144,_0x36392d[_0xbfbc15(0x270)]['mergeRanges']([..._0x599fab,..._0x3deef4])),_0x599fab=this[_0xbfbc15(0x24f)][_0xbfbc15(0x1fd)](_0x2e0144)):(_0x599fab=_0x3deef4,this['_map'][_0xbfbc15(0x1fc)](_0x2e0144,_0x599fab)),this[_0xbfbc15(0x24f)][_0xbfbc15(0x308)]((_0x37de2f,_0x19e0ef)=>{const _0x5b055a=_0xbfbc15;if(_0x19e0ef===_0x2e0144)return;const _0x3eed74=_0x36392d[_0x5b055a(0x270)][_0x5b055a(0x332)](_0x37de2f,_0x3deef4);_0x3eed74[_0x5b055a(0x2a8)]===0x0?this['_map']['delete'](_0x19e0ef):this['_map'][_0x5b055a(0x1fc)](_0x19e0ef,_0x3eed74);});}),this[_0x417921(0x2d9)]=!0x0,this[_0x417921(0x3ab)]();}[_0x42f095(0x2b0)](_0x1300ce){const _0x29e2ea=[];let _0x31feb2=0x0;return _0x1300ce['forEach']((_0x86243e,_0x245363)=>{const _0x404910=_0x56ed;var _0x393666;const _0x524fe6=(_0x393666=this['_map'][_0x404910(0x1fd)](_0x86243e[_0x404910(0x2d6)]))!=null?_0x393666:[],_0xe85810=_0x86243e[_0x404910(0x34e)];_0x524fe6['length']!==0x0&&(_0x524fe6[_0x404910(0x2a8)]!==_0xe85810['length']||_0x524fe6[_0x404910(0x285)]((_0x430877,_0x56aa4e)=>!_0x36392d[_0x404910(0x270)][_0x404910(0x381)](_0x430877,_0xe85810[_0x56aa4e])))&&_0x29e2ea['push']({'type':_0x404910(0x202),'ruleId':_0x86243e['uid'],'oldRanges':_0xe85810,'newRanges':_0x524fe6}),_0x524fe6[_0x404910(0x2a8)]===0x0&&(_0x29e2ea[_0x404910(0x1d7)]({'type':_0x404910(0x3f8),'rule':_0x86243e,'index':_0x245363-_0x31feb2}),_0x31feb2++);}),_0x29e2ea;}[_0x42f095(0x354)](_0x536dea,_0x4347ec){const _0x186fdc=_0x42f095,_0xdc7938=[];let _0x34422f=0x0;return _0x536dea[_0x186fdc(0x308)]((_0x292fad,_0x38d57b)=>{const _0x2d6122=_0x186fdc;var _0x43eeed;const _0x1fa3b4=(_0x43eeed=this[_0x2d6122(0x24f)][_0x2d6122(0x1fd)](_0x292fad[_0x2d6122(0x2d6)]))!=null?_0x43eeed:[],_0x48e0ea=_0x292fad[_0x2d6122(0x34e)];_0x1fa3b4[_0x2d6122(0x2a8)]!==0x0&&(_0x1fa3b4['length']!==_0x48e0ea[_0x2d6122(0x2a8)]||_0x1fa3b4[_0x2d6122(0x285)]((_0x1f32c9,_0x4300a0)=>!_0x36392d[_0x2d6122(0x270)]['equals'](_0x1f32c9,_0x48e0ea[_0x4300a0])))&&_0xdc7938[_0x2d6122(0x1d7)]({'type':_0x2d6122(0x202),'ruleId':_0x292fad[_0x2d6122(0x2d6)],'oldRanges':_0x48e0ea,'newRanges':_0x1fa3b4}),_0x1fa3b4[_0x2d6122(0x2a8)]===0x0&&(_0xdc7938[_0x2d6122(0x1d7)]({'type':_0x2d6122(0x3f8),'rule':_0x292fad,'index':_0x38d57b-_0x34422f}),_0x34422f++);}),Array['from'](_0x4347ec)[_0x186fdc(0x308)](_0x3021e2=>{const _0x589857=_0x186fdc;var _0x1a21d2;const _0x462c1c=(_0x1a21d2=this['_map']['get'](_0x3021e2[_0x589857(0x2d6)]))!=null?_0x1a21d2:[];_0xdc7938[_0x589857(0x1d7)]({'type':'add','rule':{..._0x3021e2,'ranges':_0x462c1c}});}),_0xdc7938;}[_0x42f095(0x2e2)](){const _0x3bc060=_0x42f095;return new _0x410c34(new Map(_0x36392d[_0x3bc060(0x2b8)][_0x3bc060(0x23e)](Array[_0x3bc060(0x361)](this[_0x3bc060(0x24f)][_0x3bc060(0x208)]()))),this[_0x3bc060(0x2a6)],this[_0x3bc060(0x376)],this['_univerInstanceService'],!0x0);}[_0x42f095(0x39d)](_0x536e17,_0x504480){const _0x17ee40=_0x42f095;this[_0x17ee40(0x2d9)]&&this['_buildTree']();const _0x30a12f=this[_0x17ee40(0x223)]['get'](_0x504480);if(!_0x30a12f)return;const _0x2ab39e=_0x30a12f[_0x17ee40(0x37e)]([_0x536e17,_0x536e17]);return _0x2ab39e[_0x17ee40(0x2a8)]>0x0?_0x2ab39e[0x0]:void 0x0;}};_0x2019d3(_0x8fa2a0,_0x42f095(0x1f0));let _0x2c487f=_0x8fa2a0;var _0x57bb4b=Object['defineProperty'],_0x50b208=Object[_0x42f095(0x2fb)],_0x49ca64=_0x2019d3((_0x2129c9,_0x383b93,_0xba4705,_0x155847)=>{const _0x5f2075=_0x42f095;for(var _0x2f700a=_0x155847>0x1?void 0x0:_0x155847?_0x50b208(_0x383b93,_0xba4705):_0x383b93,_0x54d16c=_0x2129c9[_0x5f2075(0x2a8)]-0x1,_0x381cbd;_0x54d16c>=0x0;_0x54d16c--)(_0x381cbd=_0x2129c9[_0x54d16c])&&(_0x2f700a=(_0x155847?_0x381cbd(_0x383b93,_0xba4705,_0x2f700a):_0x381cbd(_0x2f700a))||_0x2f700a);return _0x155847&&_0x2f700a&&_0x57bb4b(_0x383b93,_0xba4705,_0x2f700a),_0x2f700a;},_0x42f095(0x309)),_0x55ce8f=_0x2019d3((_0x309f28,_0x2dadf8)=>(_0x44d8e4,_0xfdada0)=>_0x2dadf8(_0x44d8e4,_0xfdada0,_0x309f28),_0x42f095(0x259));_0x2812de[_0x42f095(0x1bb)]=(_0x5c8bc4=class extends _0x36392d['Disposable']{constructor(_0x35e474,_0x372f8e,_0x143c63,_0x557e95,_0x1006c3,_0x2832a3,_0x11d721){const _0x55d6f3=_0x42f095;super(),_0x4f5171(this,_0x55d6f3(0x3b1),new Map()),_0x4f5171(this,_0x55d6f3(0x1a6),new _0x13654e['Subject']()),_0x4f5171(this,_0x55d6f3(0x2ca),new _0x13654e[(_0x55d6f3(0x288))]()),_0x4f5171(this,_0x55d6f3(0x222),this['_ruleChange$'][_0x55d6f3(0x3ce)]()),_0x4f5171(this,'validStatusChange$',this['_validStatusChange$'][_0x55d6f3(0x3ce)]()),(this[_0x55d6f3(0x390)]=_0x35e474,this[_0x55d6f3(0x22d)]=_0x372f8e,this[_0x55d6f3(0x36e)]=_0x143c63,this[_0x55d6f3(0x2aa)]=_0x557e95,this[_0x55d6f3(0x3d7)]=_0x1006c3,this['_dataValidationCustomFormulaService']=_0x2832a3,this[_0x55d6f3(0x212)]=_0x11d721,this['_initRuleUpdateListener'](),this[_0x55d6f3(0x2c1)](()=>{const _0x3208be=_0x55d6f3;this[_0x3208be(0x2ca)][_0x3208be(0x35f)](),this[_0x3208be(0x1a6)][_0x3208be(0x35f)]();}),this[_0x55d6f3(0x25c)]());}[_0x42f095(0x25c)](){const _0x9ca6a1=_0x42f095;this[_0x9ca6a1(0x2c1)](this['_univerInstanceService']['unitDisposed$']['subscribe'](_0xb99419=>{const _0x5c1e5b=_0x9ca6a1;this['_ruleMatrixMap'][_0x5c1e5b(0x3f8)](_0xb99419[_0x5c1e5b(0x3bf)]());})),this[_0x9ca6a1(0x2c1)](this[_0x9ca6a1(0x212)]['onCommandExecuted'](_0x5c6aa3=>{const _0x5c1b64=_0x9ca6a1;if(_0x5c6aa3['id']===_0x3d419a['RemoveSheetMutation']['id']){const {unitId:_0x5b64d3,subUnitId:_0x51edb0}=_0x5c6aa3[_0x5c1b64(0x384)],_0x55eafd=this[_0x5c1b64(0x3b1)][_0x5c1b64(0x1fd)](_0x5b64d3);_0x55eafd&&_0x55eafd[_0x5c1b64(0x3f8)](_0x51edb0);}}));}['_initRuleUpdateListener'](){const _0x5691e6=_0x42f095,_0x43e885=this['_dataValidationModel'][_0x5691e6(0x3b7)]();for(const [_0x3e94ab,_0x30e5a3]of _0x43e885)for(const [_0x24dd47,_0x57a25a]of _0x30e5a3)for(const _0x8facf8 of _0x57a25a)this[_0x5691e6(0x2ca)]['next']({'type':_0x5691e6(0x230),'unitId':_0x3e94ab,'subUnitId':_0x24dd47,'rule':_0x8facf8,'source':_0x5691e6(0x232)}),this[_0x5691e6(0x254)](_0x3e94ab,_0x24dd47,_0x8facf8);this[_0x5691e6(0x2c1)](this[_0x5691e6(0x390)][_0x5691e6(0x222)][_0x5691e6(0x25a)](_0x455d50=>{const _0x498d82=_0x5691e6;switch(this['_ruleChange$'][_0x498d82(0x2c9)](_0x455d50),_0x455d50[_0x498d82(0x3f2)]){case _0x498d82(0x230):this[_0x498d82(0x254)](_0x455d50[_0x498d82(0x383)],_0x455d50[_0x498d82(0x3f4)],_0x455d50[_0x498d82(0x21e)]);break;case _0x498d82(0x202):this[_0x498d82(0x389)](_0x455d50[_0x498d82(0x383)],_0x455d50[_0x498d82(0x3f4)],_0x455d50[_0x498d82(0x21e)][_0x498d82(0x2d6)],_0x455d50[_0x498d82(0x287)],_0x455d50[_0x498d82(0x1ff)]);break;case _0x498d82(0x2af):this['_removeRule'](_0x455d50[_0x498d82(0x383)],_0x455d50['subUnitId'],_0x455d50[_0x498d82(0x21e)]);break;}}));}[_0x42f095(0x2ae)](_0x2f7b21,_0x2120e1){const _0x494507=_0x42f095;let _0x327a73=this[_0x494507(0x3b1)][_0x494507(0x1fd)](_0x2f7b21);_0x327a73||(_0x327a73=new Map(),this[_0x494507(0x3b1)][_0x494507(0x1fc)](_0x2f7b21,_0x327a73));let _0x50bca0=_0x327a73[_0x494507(0x1fd)](_0x2120e1);return _0x50bca0||(_0x50bca0=new _0x2c487f(new Map(),_0x2f7b21,_0x2120e1,this[_0x494507(0x22d)]),_0x327a73['set'](_0x2120e1,_0x50bca0)),_0x50bca0;}[_0x42f095(0x318)](_0x14fd24,_0x24aff5,_0x1328c0){const _0x342968=_0x42f095;this['_ensureRuleMatrix'](_0x14fd24,_0x24aff5)[_0x342968(0x271)](_0x1328c0),this[_0x342968(0x2aa)][_0x342968(0x271)](_0x14fd24,_0x24aff5,_0x1328c0),this[_0x342968(0x3d7)][_0x342968(0x271)](_0x14fd24,_0x24aff5,_0x1328c0[_0x342968(0x2d6)],_0x1328c0['formula1'],_0x1328c0[_0x342968(0x2e4)]),this[_0x342968(0x368)][_0x342968(0x271)](_0x14fd24,_0x24aff5,_0x1328c0);}[_0x42f095(0x254)](_0x2caea3,_0xec35a5,_0x40189a){const _0xc25a61=_0x42f095;(Array[_0xc25a61(0x24c)](_0x40189a)?_0x40189a:[_0x40189a])['forEach'](_0x2388e5=>{const _0x4c3514=_0xc25a61;this[_0x4c3514(0x318)](_0x2caea3,_0xec35a5,_0x2388e5);});}[_0x42f095(0x389)](_0xb63eaa,_0x182cee,_0x2f522e,_0xa913af,_0x2b7f77){const _0x384829=_0x42f095,_0x3af3a0=this[_0x384829(0x2ae)](_0xb63eaa,_0x182cee);_0x2b7f77[_0x384829(0x3f2)]===_0x2b67f4[_0x384829(0x3c3)][_0x384829(0x22c)]?(_0x3af3a0[_0x384829(0x3e9)](_0x2f522e,_0x2b7f77['payload']),this[_0x384829(0x2aa)][_0x384829(0x241)](_0xb63eaa,_0x182cee,_0x2f522e,_0x2b7f77[_0x384829(0x2a5)],_0xa913af[_0x384829(0x34e)]),this[_0x384829(0x368)][_0x384829(0x241)](_0xb63eaa,_0x182cee,_0x2f522e,_0xa913af[_0x384829(0x34e)],_0x2b7f77[_0x384829(0x2a5)])):_0x2b7f77[_0x384829(0x3f2)]===_0x2b67f4[_0x384829(0x3c3)][_0x384829(0x1e8)]&&(this['_dataValidationCacheService'][_0x384829(0x200)](_0xb63eaa,_0x182cee,_0xa913af[_0x384829(0x34e)]),this[_0x384829(0x3d7)][_0x384829(0x377)](_0xb63eaa,_0x182cee,_0x2f522e,_0x2b7f77[_0x384829(0x2a5)][_0x384829(0x399)],_0x2b7f77['payload'][_0x384829(0x2e4)]),this[_0x384829(0x368)][_0x384829(0x356)](_0xb63eaa,_0x182cee,_0x2f522e,_0xa913af[_0x384829(0x34e)],_0x2b7f77[_0x384829(0x2a5)][_0x384829(0x399)]));}[_0x42f095(0x303)](_0x3c7567,_0x28d282,_0x625640){const _0x508b12=_0x42f095;this[_0x508b12(0x2ae)](_0x3c7567,_0x28d282)['removeRule'](_0x625640),this['_dataValidationCacheService']['removeRule'](_0x3c7567,_0x28d282,_0x625640);}[_0x42f095(0x3cf)](_0x2ea49c){const _0x55826e=_0x42f095;return this[_0x55826e(0x36e)][_0x55826e(0x1e9)](_0x2ea49c);}['getRuleIdByLocation'](_0x510682,_0x14fbd1,_0x3ac055,_0x41d871){const _0x57545b=_0x42f095;return this[_0x57545b(0x2ae)](_0x510682,_0x14fbd1)[_0x57545b(0x39d)](_0x3ac055,_0x41d871);}[_0x42f095(0x1cd)](_0x1d1b73,_0x1665c0,_0x252428,_0x3670c0){const _0x19235b=_0x42f095,_0x4d25cf=this[_0x19235b(0x217)](_0x1d1b73,_0x1665c0,_0x252428,_0x3670c0);if(_0x4d25cf)return this[_0x19235b(0x390)][_0x19235b(0x3d3)](_0x1d1b73,_0x1665c0,_0x4d25cf);}[_0x42f095(0x1ac)](_0x66c9cf,_0xdd46ea,_0x33f209,_0x17517b){const _0x4b805f=_0x42f095,{col:_0x5a7d35,row:_0x578ff8,unitId:_0x14aabf,subUnitId:_0x5ab75e,worksheet:_0x211aff}=_0x33f209,_0xff0d4f=_0xdd46ea['uid'],_0xd8868e=_0x2019d3((_0x30f3d7,_0x503052)=>{const _0x3dff67=_0x56ed;_0x17517b&&_0x17517b(_0x30f3d7,_0x503052),_0x503052&&this[_0x3dff67(0x1a6)][_0x3dff67(0x2c9)]({'unitId':_0x14aabf,'subUnitId':_0x5ab75e,'ruleId':_0xdd46ea[_0x3dff67(0x2d6)],'status':_0x30f3d7});},_0x4b805f(0x31e)),_0x1cf3a4=this['getValidator'](_0xdd46ea[_0x4b805f(0x3f2)]),_0x44db24=_0x211aff['getCellRaw'](_0x578ff8,_0x5a7d35),_0x2a379c=_0xabc37a(_0x44db24),_0x172934=_0xabc37a(_0x66c9cf);if(_0x1cf3a4){const _0x1604b8=this[_0x4b805f(0x2aa)]['ensureCache'](_0x14aabf,_0x5ab75e),_0x46f87d=_0x1604b8[_0x4b805f(0x39d)](_0x578ff8,_0x5a7d35);return!_0x46f87d||_0x46f87d[_0x4b805f(0x1c7)]!==_0x2a379c||_0x46f87d[_0x4b805f(0x1e2)]!==_0x172934||_0x46f87d[_0x4b805f(0x2ed)]!==_0xff0d4f?(_0x1604b8[_0x4b805f(0x311)](_0x578ff8,_0x5a7d35,{'value':_0x2a379c,'interceptValue':_0x172934,'status':_0x36392d[_0x4b805f(0x342)]['VALIDATING'],'ruleId':_0xff0d4f}),_0x1cf3a4[_0x4b805f(0x1ac)]({'value':_0x2a379c,'unitId':_0x14aabf,'subUnitId':_0x5ab75e,'row':_0x578ff8,'column':_0x5a7d35,'worksheet':_0x33f209[_0x4b805f(0x358)],'workbook':_0x33f209[_0x4b805f(0x2f8)],'interceptValue':_0xabc37a(_0x66c9cf),'t':_0x44db24==null?void 0x0:_0x44db24['t']},_0xdd46ea)[_0x4b805f(0x3f6)](_0x1273bc=>{const _0x28cbe9=_0x4b805f,_0x7733f9=_0x1273bc?_0x36392d[_0x28cbe9(0x342)][_0x28cbe9(0x1fe)]:_0x36392d['DataValidationStatus']['INVALID'];_0x1604b8[_0x28cbe9(0x311)](_0x578ff8,_0x5a7d35,{'value':_0x2a379c,'status':_0x7733f9,'ruleId':_0xff0d4f,'interceptValue':_0x172934}),_0xd8868e(_0x7733f9,!0x0);}),_0x36392d['DataValidationStatus']['VALIDATING']):(_0xd8868e(_0x46f87d[_0x4b805f(0x353)],!0x1),_0x46f87d[_0x4b805f(0x353)]);}else return _0xd8868e(_0x36392d[_0x4b805f(0x342)][_0x4b805f(0x1fe)],!0x1),_0x36392d[_0x4b805f(0x342)][_0x4b805f(0x1fe)];}['getRuleErrorMsg'](_0x2956b0,_0x9006a1,_0xa31a7d){const _0x537dd5=_0x42f095,_0x44b1e7=this['_dataValidationModel'][_0x537dd5(0x3d3)](_0x2956b0,_0x9006a1,_0xa31a7d);if(!_0x44b1e7)return'';const _0x3af151=this[_0x537dd5(0x36e)][_0x537dd5(0x1e9)](_0x44b1e7[_0x537dd5(0x3f2)]);return _0x44b1e7[_0x537dd5(0x3a7)]?_0x44b1e7['error']:_0x3af151?_0x3af151['getRuleFinalError'](_0x44b1e7):'';}['getRuleObjectMatrix'](_0x5e795a,_0x2f19d6){const _0x4e694f=_0x42f095;return this[_0x4e694f(0x2ae)](_0x5e795a,_0x2f19d6);}[_0x42f095(0x3d3)](_0x5805c7,_0x402c3e,_0x8495dd){const _0x1b8720=_0x42f095;return this['_dataValidationModel'][_0x1b8720(0x3d3)](_0x5805c7,_0x402c3e,_0x8495dd);}[_0x42f095(0x330)](_0x5f3145,_0x352662,_0x40806d){const _0x416fd0=_0x42f095;return this[_0x416fd0(0x390)][_0x416fd0(0x330)](_0x5f3145,_0x352662,_0x40806d);}[_0x42f095(0x33d)](_0x25f764,_0x2ca1f1){const _0x3df1c3=_0x42f095;return[...this['_dataValidationModel'][_0x3df1c3(0x33d)](_0x25f764,_0x2ca1f1)];}[_0x42f095(0x315)](_0x3fafc3){const _0x2f7974=_0x42f095;return this[_0x2f7974(0x390)]['getUnitRules'](_0x3fafc3);}[_0x42f095(0x385)](_0x21c62c){const _0x43fc6d=_0x42f095;return this[_0x43fc6d(0x390)][_0x43fc6d(0x385)](_0x21c62c);}['getSubUnitIds'](_0x465d32){const _0xca9e93=_0x42f095;return this['_dataValidationModel'][_0xca9e93(0x3a5)](_0x465d32);}['getAll'](){const _0x30c7ce=_0x42f095;return this[_0x30c7ce(0x390)][_0x30c7ce(0x3b7)]();}},_0x2019d3(_0x5c8bc4,'SheetDataValidationModel'),_0x5c8bc4),_0x2812de[_0x42f095(0x1bb)]=_0x49ca64([_0x55ce8f(0x0,_0x36392d['Inject'](_0x2b67f4['DataValidationModel'])),_0x55ce8f(0x1,_0x36392d[_0x42f095(0x2c6)]),_0x55ce8f(0x2,_0x36392d[_0x42f095(0x293)](_0x2b67f4[_0x42f095(0x296)])),_0x55ce8f(0x3,_0x36392d[_0x42f095(0x293)](_0x3a08aa)),_0x55ce8f(0x4,_0x36392d[_0x42f095(0x293)](_0x2812de[_0x42f095(0x336)])),_0x55ce8f(0x5,_0x36392d['Inject'](_0x2812de['DataValidationCustomFormulaService'])),_0x55ce8f(0x6,_0x36392d[_0x42f095(0x339)])],_0x2812de['SheetDataValidationModel']);function _0x43181d(_0x3f3c74){var _0x579b0a,_0xf86f21;return(_0xf86f21=(_0x579b0a=_0x3f3c74==null?void 0x0:_0x3f3c74[0x0])==null?void 0x0:_0x579b0a[0x0])==null?void 0x0:_0xf86f21['v'];}_0x2019d3(_0x43181d,_0x42f095(0x237));function _0x358e89(_0x1a8903){var _0x48cc67;return(_0x48cc67=_0x1a8903==null?void 0x0:_0x1a8903[0x0])==null?void 0x0:_0x48cc67[0x0];}_0x2019d3(_0x358e89,_0x42f095(0x269));const _0x2c4c27=0x1,_0x1c8864=0x0;function _0x27c536(_0x4f1d05,_0x2da423){const _0x534440=_0x42f095;return _0x36392d[_0x534440(0x2b8)][_0x534440(0x3cb)](_0x4f1d05)?_0x2da423['t'](_0x534440(0x32f)):_0x36392d[_0x534440(0x2b5)](_0x4f1d05)?_0x2da423['t'](_0x534440(0x2e9)):'';}_0x2019d3(_0x27c536,_0x42f095(0x3ee));const _0x3bd61c=_0x2019d3(_0x21d0f3=>_0x36392d[_0x42f095(0x2b8)][_0x42f095(0x30b)](_0x21d0f3)&&String(_0x21d0f3)[_0x42f095(0x231)]()===_0x42f095(0x393)?'1':String(_0x21d0f3)['toLowerCase']()==='false'?'0':_0x21d0f3,_0x42f095(0x38f)),_0x4cd04a=class _0x16d39e extends _0x2b67f4[_0x42f095(0x3e3)]{constructor(){const _0x48c131=_0x42f095;super(...arguments),_0x4f5171(this,'id',_0x36392d[_0x48c131(0x359)][_0x48c131(0x2f2)]),_0x4f5171(this,_0x48c131(0x291),_0x48c131(0x1d5)),_0x4f5171(this,_0x48c131(0x221),[]),_0x4f5171(this,_0x48c131(0x3e7),[_0x48c131(0x32a)]),_0x4f5171(this,_0x48c131(0x1db),this['injector']['get'](_0x2812de[_0x48c131(0x336)])),_0x4f5171(this,_0x48c131(0x32e),_0x2019d3((_0x39c6f4,_0xc4443,_0x18e666)=>{const _0x3b1799=_0x48c131,{formula1:_0x58d422,formula2:_0x2dfdae}=this['parseFormulaSync'](_0x39c6f4,_0x18e666['unitId'],_0x18e666[_0x3b1799(0x3f4)]),_0x2eb362=''+(_0xc4443!=null?_0xc4443:'');return!_0x2eb362||_0x2eb362===''+_0x58d422||_0x2eb362===''+_0x2dfdae;},'skipDefaultFontRender'));}[_0x42f095(0x1c3)](_0x442a10,_0x260a92,_0xa2b2df){const _0xb1037e=_0x42f095,{formula1:_0x17353d,formula2:_0x1f587c}=_0x442a10,_0x506391=_0x17353d===_0x1f587c;if(_0x36392d[_0xb1037e(0x2b8)][_0xb1037e(0x3cb)](_0x17353d)&&_0x36392d[_0xb1037e(0x2b8)][_0xb1037e(0x3cb)](_0x1f587c))return{'success':!0x0};if(_0x506391)return{'success':!0x1,'formula1':this[_0xb1037e(0x277)]['t'](_0xb1037e(0x25e)),'formula2':this['localeService']['t']('dataValidation.validFail.checkboxEqual')};const _0x1621d8=_0x27c536(_0x17353d,this[_0xb1037e(0x277)]),_0x5dab7c=_0x27c536(_0x1f587c,this[_0xb1037e(0x277)]);return{'success':!_0x1621d8&&!_0x5dab7c,'formula1':_0x1621d8,'formula2':_0x5dab7c};}async[_0x42f095(0x300)](_0x52f273,_0x2492bc,_0x3f946f){const _0x55afa5=_0x42f095;var _0x5efefc,_0x3d1208;const {formula1:formula1=_0x2c4c27,formula2:formula2=_0x1c8864}=_0x52f273,_0x497ee2=await this['_formulaService']['getRuleFormulaResult'](_0x2492bc,_0x3f946f,_0x52f273['uid']),_0x461580=_0x36392d[_0x55afa5(0x2b5)](formula1)?_0x43181d((_0x5efefc=_0x497ee2==null?void 0x0:_0x497ee2[0x0])==null?void 0x0:_0x5efefc[_0x55afa5(0x2e6)]):formula1,_0x2b4d67=_0x36392d[_0x55afa5(0x2b5)](formula2)?_0x43181d((_0x3d1208=_0x497ee2==null?void 0x0:_0x497ee2[0x1])==null?void 0x0:_0x3d1208[_0x55afa5(0x2e6)]):formula2;return{'formula1':_0x3bd61c(_0x461580),'formula2':_0x3bd61c(_0x2b4d67),'originFormula1':_0x461580,'originFormula2':_0x2b4d67};}[_0x42f095(0x1c0)](_0x5e9967,_0x580bb3){const _0x4c991a=_0x42f095;return{'tb':_0x36392d[_0x4c991a(0x2ea)]['CLIP']};}['parseFormulaSync'](_0x16aad3,_0xd09af8,_0x13948d){const _0x1c1be7=_0x42f095;var _0x4e0286,_0x27b583;const {formula1:formula1=_0x2c4c27,formula2:formula2=_0x1c8864}=_0x16aad3,_0xd657ad=this[_0x1c1be7(0x1db)][_0x1c1be7(0x351)](_0xd09af8,_0x13948d,_0x16aad3[_0x1c1be7(0x2d6)]),_0x24646f=_0x36392d['isFormulaString'](formula1)?_0x43181d((_0x4e0286=_0xd657ad==null?void 0x0:_0xd657ad[0x0])==null?void 0x0:_0x4e0286[_0x1c1be7(0x2e6)]):formula1,_0x55c630=_0x36392d[_0x1c1be7(0x2b5)](formula2)?_0x43181d((_0x27b583=_0xd657ad==null?void 0x0:_0xd657ad[0x1])==null?void 0x0:_0x27b583[_0x1c1be7(0x2e6)]):formula2;return{'formula1':_0x3bd61c(_0x24646f),'formula2':_0x3bd61c(_0x55c630),'originFormula1':_0x24646f,'originFormula2':_0x55c630};}async[_0x42f095(0x314)](_0x30ddbd,_0x29b750,_0x4d2ed2){const _0x25d865=_0x42f095,{value:_0x5a85bc,unitId:_0x56dba5,subUnitId:_0x4183e1}=_0x30ddbd,{formula1:_0x565125,formula2:_0x430b26,originFormula1:_0xdf975b,originFormula2:_0x19d5bd}=await this['parseFormula'](_0x4d2ed2,_0x56dba5,_0x4183e1);return!_0x36392d[_0x25d865(0x2b8)][_0x25d865(0x30b)](_0x565125)||!_0x36392d[_0x25d865(0x2b8)]['isDefine'](_0x430b26)?!0x0:_0x36392d[_0x25d865(0x2b8)]['isDefine'](_0x5a85bc)&&(String(_0x5a85bc)===String(_0x565125)||String(_0x5a85bc)===String(_0x430b26)||String(_0x5a85bc)===String(_0xdf975b!=null?_0xdf975b:'')||String(_0x5a85bc)===String(_0x19d5bd!=null?_0x19d5bd:''));}['generateRuleErrorMessage'](_0x14fe52){const _0x39c4fc=_0x42f095;return this['localeService']['t'](_0x39c4fc(0x3c5));}};_0x2019d3(_0x4cd04a,_0x42f095(0x38c));let _0x2fa0c9=_0x4cd04a;const _0x564db7={[_0x36392d[_0x42f095(0x37b)][_0x42f095(0x3b3)]]:_0x42f095(0x2b4),[_0x36392d[_0x42f095(0x37b)]['EQUAL']]:_0x42f095(0x2e0),[_0x36392d[_0x42f095(0x37b)][_0x42f095(0x335)]]:_0x42f095(0x326),[_0x36392d[_0x42f095(0x37b)]['GREATER_THAN_OR_EQUAL']]:_0x42f095(0x275),[_0x36392d[_0x42f095(0x37b)][_0x42f095(0x316)]]:_0x42f095(0x265),[_0x36392d[_0x42f095(0x37b)]['LESS_THAN_OR_EQUAL']]:_0x42f095(0x1b8),[_0x36392d['DataValidationOperator']['NOT_BETWEEN']]:_0x42f095(0x32c),[_0x36392d[_0x42f095(0x37b)]['NOT_EQUAL']]:_0x42f095(0x21f)};_0x36392d[_0x42f095(0x37b)][_0x42f095(0x3b3)]+'',_0x36392d['DataValidationOperator']['EQUAL']+'',_0x36392d[_0x42f095(0x37b)][_0x42f095(0x335)]+'',_0x36392d['DataValidationOperator'][_0x42f095(0x3f7)]+'',_0x36392d[_0x42f095(0x37b)]['LESS_THAN']+'',_0x36392d[_0x42f095(0x37b)][_0x42f095(0x3d2)]+'',_0x36392d[_0x42f095(0x37b)][_0x42f095(0x20b)]+'',_0x36392d[_0x42f095(0x37b)]['NOT_EQUAL']+'';const _0x10e90a={[_0x36392d[_0x42f095(0x37b)][_0x42f095(0x3b3)]]:_0x42f095(0x214),[_0x36392d['DataValidationOperator']['EQUAL']]:_0x42f095(0x2f3),[_0x36392d[_0x42f095(0x37b)][_0x42f095(0x335)]]:_0x42f095(0x1ca),[_0x36392d[_0x42f095(0x37b)][_0x42f095(0x3f7)]]:_0x42f095(0x34c),[_0x36392d['DataValidationOperator'][_0x42f095(0x316)]]:'dataValidation.date.ruleName.lessThan',[_0x36392d['DataValidationOperator']['LESS_THAN_OR_EQUAL']]:_0x42f095(0x360),[_0x36392d[_0x42f095(0x37b)]['NOT_BETWEEN']]:_0x42f095(0x1be),[_0x36392d['DataValidationOperator'][_0x42f095(0x27c)]]:_0x42f095(0x1b9)},_0x589b73={[_0x36392d[_0x42f095(0x37b)]['BETWEEN']]:'dataValidation.date.errorMsg.between',[_0x36392d[_0x42f095(0x37b)][_0x42f095(0x2be)]]:'dataValidation.date.errorMsg.equal',[_0x36392d[_0x42f095(0x37b)]['GREATER_THAN']]:_0x42f095(0x33e),[_0x36392d[_0x42f095(0x37b)]['GREATER_THAN_OR_EQUAL']]:'dataValidation.date.errorMsg.greaterThanOrEqual',[_0x36392d[_0x42f095(0x37b)][_0x42f095(0x316)]]:_0x42f095(0x3f1),[_0x36392d['DataValidationOperator']['LESS_THAN_OR_EQUAL']]:_0x42f095(0x2ec),[_0x36392d[_0x42f095(0x37b)][_0x42f095(0x20b)]]:_0x42f095(0x1b6),[_0x36392d['DataValidationOperator'][_0x42f095(0x27c)]]:_0x42f095(0x2bc)},_0x4cee6b=[_0x36392d['DataValidationOperator'][_0x42f095(0x3b3)],_0x36392d[_0x42f095(0x37b)][_0x42f095(0x20b)]],_0x1ede11=_0x42f095(0x31b),_0x538d9e=_0x42f095(0x1f2),_0x3e8552=_0x2019d3(_0x28597e=>{const _0x361272=_0x42f095;var _0x313fbe,_0x24337b;if(_0x28597e==null||typeof _0x28597e=='boolean')return;if(typeof _0x28597e==_0x361272(0x39f)||!Number['isNaN'](+_0x28597e))return+_0x28597e;const _0x250d35=(_0x313fbe=_0x36392d[_0x361272(0x255)]['parseDate'](_0x28597e))==null?void 0x0:_0x313fbe['v'];return _0x36392d[_0x361272(0x2b8)]['isDefine'](_0x250d35)?_0x250d35:(_0x24337b=_0x36392d[_0x361272(0x255)]['parseDate'](_0x5fb5e(_0x28597e)[_0x361272(0x23b)]('YYYY-MM-DD\x20HH:mm:ss')))==null?void 0x0:_0x24337b['v'];},'transformDate2SerialNumber'),_0x4b4403=class _0x4315d3 extends _0x2b67f4[_0x42f095(0x3e3)]{constructor(){const _0x2455d6=_0x42f095;super(...arguments),_0x4f5171(this,'id',_0x36392d[_0x2455d6(0x359)][_0x2455d6(0x35a)]),_0x4f5171(this,_0x2455d6(0x291),_0x2455d6(0x2c4)),_0x4f5171(this,_0x2455d6(0x221),[_0x36392d[_0x2455d6(0x37b)]['BETWEEN'],_0x36392d[_0x2455d6(0x37b)][_0x2455d6(0x2be)],_0x36392d[_0x2455d6(0x37b)][_0x2455d6(0x335)],_0x36392d[_0x2455d6(0x37b)][_0x2455d6(0x3f7)],_0x36392d[_0x2455d6(0x37b)][_0x2455d6(0x316)],_0x36392d['DataValidationOperator'][_0x2455d6(0x3d2)],_0x36392d[_0x2455d6(0x37b)]['NOT_BETWEEN'],_0x36392d[_0x2455d6(0x37b)][_0x2455d6(0x27c)]]),_0x4f5171(this,_0x2455d6(0x3e7),[_0x2455d6(0x32a)]),_0x4f5171(this,_0x2455d6(0x1db),this[_0x2455d6(0x29a)][_0x2455d6(0x1fd)](_0x2812de[_0x2455d6(0x336)]));}async[_0x42f095(0x300)](_0x1498a1,_0x4e31d3,_0x2f7855){const _0x404a00=_0x42f095;var _0x445f24,_0x3c291c;const _0x359e8d=await this[_0x404a00(0x1db)][_0x404a00(0x33a)](_0x4e31d3,_0x2f7855,_0x1498a1['uid']),{formula1:_0x1ea210,formula2:_0x3366c3}=_0x1498a1;return{'formula1':_0x3e8552(_0x36392d[_0x404a00(0x2b5)](_0x1ea210)?_0x43181d((_0x445f24=_0x359e8d==null?void 0x0:_0x359e8d[0x0])==null?void 0x0:_0x445f24[_0x404a00(0x2e6)]):_0x1ea210),'formula2':_0x3e8552(_0x36392d[_0x404a00(0x2b5)](_0x3366c3)?_0x43181d((_0x3c291c=_0x359e8d==null?void 0x0:_0x359e8d[0x1])==null?void 0x0:_0x3c291c[_0x404a00(0x2e6)]):_0x3366c3)};}[_0x42f095(0x1da)](_0x162df4,_0x4e8b79,_0x1c45ef){const _0x2178bf=_0x42f095;var _0x4ffa9a,_0x30fe2f;const _0x1ffe50=this[_0x2178bf(0x1db)][_0x2178bf(0x351)](_0x4e8b79,_0x1c45ef,_0x162df4[_0x2178bf(0x2d6)]),{formula1:_0x5b3ba5,formula2:_0x190e5e}=_0x162df4;return{'formula1':_0x3e8552(_0x36392d[_0x2178bf(0x2b5)](_0x5b3ba5)?_0x43181d((_0x4ffa9a=_0x1ffe50==null?void 0x0:_0x1ffe50[0x0])==null?void 0x0:_0x4ffa9a[_0x2178bf(0x2e6)]):_0x5b3ba5),'formula2':_0x3e8552(_0x36392d[_0x2178bf(0x2b5)](_0x190e5e)?_0x43181d((_0x30fe2f=_0x1ffe50==null?void 0x0:_0x1ffe50[0x1])==null?void 0x0:_0x30fe2f[_0x2178bf(0x2e6)]):_0x190e5e)};}async[_0x42f095(0x314)](_0x5a5dee){const _0x1b78e3=_0x42f095,{interceptValue:_0x577fa0,value:_0x3d1c19}=_0x5a5dee;return typeof _0x3d1c19==_0x1b78e3(0x39f)&&typeof _0x577fa0==_0x1b78e3(0x34a)?!0x0:typeof _0x577fa0==_0x1b78e3(0x34a)?!!_0x36392d[_0x1b78e3(0x255)][_0x1b78e3(0x301)](_0x577fa0):!0x1;}['_validatorSingleFormula'](_0x246db9){const _0x284690=_0x42f095;return!_0x36392d[_0x284690(0x2b8)]['isBlank'](_0x246db9)&&(_0x36392d['isFormulaString'](_0x246db9)||!Number[_0x284690(0x392)](+_0x246db9)||!!(_0x246db9&&_0x36392d[_0x284690(0x255)][_0x284690(0x301)](_0x246db9)));}[_0x42f095(0x1c3)](_0x45afed,_0x626ba9,_0x1dbcfa){const _0x11b65b=_0x42f095,_0x5a19e4=_0x45afed['operator'];if(!_0x5a19e4)return{'success':!0x1};const _0x57ed0c=this['_validatorSingleFormula'](_0x45afed['formula1']),_0x4a4986=this[_0x11b65b(0x277)]['t'](_0x11b65b(0x218));if(_0x4cee6b[_0x11b65b(0x289)](_0x5a19e4)){const _0x2fc9f1=this[_0x11b65b(0x362)](_0x45afed[_0x11b65b(0x2e4)]);return{'success':_0x57ed0c&&_0x2fc9f1,'formula1':_0x57ed0c?void 0x0:_0x4a4986,'formula2':_0x2fc9f1?void 0x0:_0x4a4986};}return{'success':_0x57ed0c,'formula1':_0x57ed0c?void 0x0:_0x4a4986};}[_0x42f095(0x29b)](_0x3114b5,_0x9c4183,_0x22602c){const _0x433998=_0x42f095,{formula1:_0x1494dd,formula2:_0xeac337,bizInfo:_0x25a7c1}=_0x3114b5,_0x3c3119=_0x2019d3(_0x4befd0=>{const _0x2ebf32=_0x56ed;var _0x598f01;if(!_0x4befd0)return _0x4befd0;let _0x30e3d1;if(!Number[_0x2ebf32(0x392)](+_0x4befd0))_0x30e3d1=_0x36392d[_0x2ebf32(0x255)][_0x2ebf32(0x30f)](+_0x4befd0);else{const _0x4e3558=(_0x598f01=_0x36392d[_0x2ebf32(0x255)][_0x2ebf32(0x301)](_0x4befd0))==null?void 0x0:_0x598f01['v'];if(_0x4e3558==null)return'';_0x30e3d1=_0x36392d[_0x2ebf32(0x255)][_0x2ebf32(0x30f)](_0x4e3558);}return _0x5fb5e(_0x30e3d1[0x0]+'/'+_0x30e3d1[0x1]+'/'+_0x30e3d1[0x2]+'\x20'+_0x30e3d1[0x3]+':'+_0x30e3d1[0x4]+':'+_0x30e3d1[0x5])[_0x2ebf32(0x23b)](_0x25a7c1!=null&&_0x25a7c1[_0x2ebf32(0x299)]?_0x2ebf32(0x382):_0x2ebf32(0x26f));},_0x433998(0x273));return{'formula1':_0x36392d[_0x433998(0x2b5)](_0x1494dd)?_0x1494dd:_0x3c3119(''+_0x1494dd),'formula2':_0x36392d['isFormulaString'](_0xeac337)?_0xeac337:_0x3c3119(''+_0xeac337)};}['transform'](_0x386046,_0x280eac,_0x2a517c){const {value:_0x5025f2}=_0x386046;return{..._0x386046,'value':_0x3e8552(_0x5025f2)};}async[_0x42f095(0x235)](_0x565e91,_0x581351,_0x2cd763){const _0x580ab1=_0x42f095,{formula1:_0x168066}=_0x581351,{value:_0x284eaa}=_0x565e91;return Number[_0x580ab1(0x392)](_0x168066)?!0x0:_0x284eaa===_0x168066;}async['validatorIsNotEqual'](_0x5e9948,_0x10a978,_0x1d6489){const _0x9a2af3=_0x42f095,{formula1:_0x29a9d2}=_0x10a978;return Number[_0x9a2af3(0x392)](_0x29a9d2)?!0x0:_0x5e9948[_0x9a2af3(0x1c7)]!==_0x29a9d2;}async[_0x42f095(0x30c)](_0x3ae38a,_0x52281f,_0x466df0){const _0x25e32b=_0x42f095,{formula1:_0x493990,formula2:_0x4cdd7b}=_0x52281f;if(Number['isNaN'](_0x493990)||Number[_0x25e32b(0x392)](_0x4cdd7b))return!0x0;const _0x1774ea=Math[_0x25e32b(0x1eb)](_0x493990,_0x4cdd7b),_0x2b79af=Math[_0x25e32b(0x1b2)](_0x493990,_0x4cdd7b);return _0x3ae38a[_0x25e32b(0x1c7)]>=_0x1774ea&&_0x3ae38a['value']<=_0x2b79af;}async[_0x42f095(0x25b)](_0xbe516c,_0x106a7f,_0x51c766){const _0x38ed84=_0x42f095,{formula1:_0x175415,formula2:_0x3f42f6}=_0x106a7f;if(Number['isNaN'](_0x175415)||Number[_0x38ed84(0x392)](_0x3f42f6))return!0x0;const _0xe93fb6=Math[_0x38ed84(0x1eb)](_0x175415,_0x3f42f6),_0x4ceadc=Math[_0x38ed84(0x1b2)](_0x175415,_0x3f42f6);return _0xbe516c[_0x38ed84(0x1c7)]<_0xe93fb6||_0xbe516c[_0x38ed84(0x1c7)]>_0x4ceadc;}async[_0x42f095(0x1c2)](_0x2fdc2d,_0x47ac82,_0x3bec68){const _0x513a27=_0x42f095,{formula1:_0x28eea3}=_0x47ac82;return Number[_0x513a27(0x392)](_0x28eea3)?!0x0:_0x2fdc2d[_0x513a27(0x1c7)]>_0x28eea3;}async[_0x42f095(0x211)](_0x10f88b,_0x1dc372,_0x222571){const _0x34c407=_0x42f095,{formula1:_0x27a330}=_0x1dc372;return Number['isNaN'](_0x27a330)?!0x0:_0x10f88b[_0x34c407(0x1c7)]>=_0x27a330;}async[_0x42f095(0x1d4)](_0x4097ff,_0xc87f82,_0x50a7a3){const _0x14f186=_0x42f095,{formula1:_0x2e4d17}=_0xc87f82;return Number[_0x14f186(0x392)](_0x2e4d17)?!0x0:_0x4097ff[_0x14f186(0x1c7)]<_0x2e4d17;}async[_0x42f095(0x367)](_0x3eab41,_0xcc7700,_0x1c70b3){const _0xc5c9=_0x42f095,{formula1:_0x411990}=_0xcc7700;return Number['isNaN'](_0x411990)?!0x0:_0x3eab41[_0xc5c9(0x1c7)]<=_0x411990;}get['operatorNames'](){return this['operators']['map'](_0x51e1b8=>this['localeService']['t'](_0x564db7[_0x51e1b8]));}['generateRuleName'](_0x4caf83){const _0xc4a498=_0x42f095;var _0x1f108f,_0xa4322e;if(!_0x4caf83[_0xc4a498(0x2fe)])return this[_0xc4a498(0x2b2)];const _0x1037f3=this[_0xc4a498(0x277)]['t'](_0x10e90a[_0x4caf83[_0xc4a498(0x2fe)]])[_0xc4a498(0x307)](_0x1ede11,(_0x1f108f=_0x4caf83['formula1'])!=null?_0x1f108f:'')[_0xc4a498(0x307)](_0x538d9e,(_0xa4322e=_0x4caf83[_0xc4a498(0x2e4)])!=null?_0xa4322e:'');return this[_0xc4a498(0x2b2)]+'\x20'+_0x1037f3;}['generateRuleErrorMessage'](_0x3a6b2b){const _0x872f30=_0x42f095;var _0x4e53e3,_0x83951f;return _0x3a6b2b[_0x872f30(0x2fe)]?''+this[_0x872f30(0x277)]['t'](_0x589b73[_0x3a6b2b['operator']])[_0x872f30(0x307)](_0x1ede11,(_0x4e53e3=_0x3a6b2b[_0x872f30(0x399)])!=null?_0x4e53e3:'')[_0x872f30(0x307)](_0x538d9e,(_0x83951f=_0x3a6b2b['formula2'])!=null?_0x83951f:''):this[_0x872f30(0x2b2)];}};_0x2019d3(_0x4b4403,'DateValidator');let _0x4223cb=_0x4b4403;function _0x4bc031(_0x33b2df){const _0x1e1770=_0x42f095;let _0x4ca48b=_0x33b2df;return typeof _0x33b2df==_0x1e1770(0x34a)?((_0x33b2df[_0x1e1770(0x350)]('¥')||_0x33b2df[_0x1e1770(0x350)]('$'))&&(_0x4ca48b=_0x33b2df['slice'](0x1)),+_0x4ca48b):+_0x33b2df;}_0x2019d3(_0x4bc031,_0x42f095(0x38e));const _0x3ce106=class _0x3e4801 extends _0x2b67f4[_0x42f095(0x3e3)]{constructor(){const _0x2be18e=_0x42f095;super(...arguments),_0x4f5171(this,_0x2be18e(0x1db),this[_0x2be18e(0x29a)][_0x2be18e(0x1fd)](_0x2812de[_0x2be18e(0x336)])),_0x4f5171(this,'id',_0x36392d[_0x2be18e(0x359)][_0x2be18e(0x3e0)]),_0x4f5171(this,_0x2be18e(0x291),_0x2be18e(0x2fd)),_0x4f5171(this,_0x2be18e(0x221),[_0x36392d[_0x2be18e(0x37b)]['BETWEEN'],_0x36392d[_0x2be18e(0x37b)]['EQUAL'],_0x36392d[_0x2be18e(0x37b)]['GREATER_THAN'],_0x36392d['DataValidationOperator']['GREATER_THAN_OR_EQUAL'],_0x36392d[_0x2be18e(0x37b)][_0x2be18e(0x316)],_0x36392d[_0x2be18e(0x37b)]['LESS_THAN_OR_EQUAL'],_0x36392d['DataValidationOperator'][_0x2be18e(0x20b)],_0x36392d[_0x2be18e(0x37b)][_0x2be18e(0x27c)]]),_0x4f5171(this,'scopes',['sheet']);}[_0x42f095(0x346)](_0x446dfa){const _0x2564ac=_0x42f095;return!_0x36392d[_0x2564ac(0x2b8)][_0x2564ac(0x3cb)](_0x446dfa)&&(_0x36392d['isFormulaString'](_0x446dfa)||!Number[_0x2564ac(0x392)](+_0x446dfa));}async['isValidType'](_0x1186e5,_0x37e132,_0x2eaa01){const _0x1be226=_0x42f095,{value:_0x5eb9ad}=_0x1186e5;return!Number[_0x1be226(0x392)](_0x4bc031(_0x5eb9ad));}[_0x42f095(0x2ad)](_0x2c1058,_0x300719,_0x481028){const {value:_0x34e042}=_0x2c1058;return{..._0x2c1058,'value':_0x4bc031(_0x34e042)};}[_0x42f095(0x3aa)](_0x46f545){const _0x1a24d6=_0x42f095;return _0x46f545==null?Number[_0x1a24d6(0x2ba)]:+_0x46f545;}async[_0x42f095(0x300)](_0x468a97,_0x19eef0,_0x26820b){const _0x5a0ba1=_0x42f095;var _0x2daa52,_0xbfa665,_0x3cd313,_0x2bc7fd,_0x2c74a2,_0x2ca0a9,_0x12e599,_0x2d560f;const _0x5052c2=await this['_formulaService'][_0x5a0ba1(0x33a)](_0x19eef0,_0x26820b,_0x468a97[_0x5a0ba1(0x2d6)]),{formula1:_0x595831,formula2:_0x4ee503}=_0x468a97;return{'formula1':this[_0x5a0ba1(0x3aa)](_0x36392d[_0x5a0ba1(0x2b5)](_0x595831)?(_0x2bc7fd=(_0x3cd313=(_0xbfa665=(_0x2daa52=_0x5052c2==null?void 0x0:_0x5052c2[0x0])==null?void 0x0:_0x2daa52['result'])==null?void 0x0:_0xbfa665[0x0])==null?void 0x0:_0x3cd313[0x0])==null?void 0x0:_0x2bc7fd['v']:_0x595831),'formula2':this['_parseNumber'](_0x36392d['isFormulaString'](_0x4ee503)?(_0x2d560f=(_0x12e599=(_0x2ca0a9=(_0x2c74a2=_0x5052c2==null?void 0x0:_0x5052c2[0x1])==null?void 0x0:_0x2c74a2[_0x5a0ba1(0x2e6)])==null?void 0x0:_0x2ca0a9[0x0])==null?void 0x0:_0x12e599[0x0])==null?void 0x0:_0x2d560f['v']:_0x4ee503)};}['validatorFormula'](_0x531915,_0x90529c,_0x2caa92){const _0x1ce9a3=_0x42f095,_0x5956e3=_0x531915['operator'];if(!_0x5956e3)return{'success':!0x1};const _0x39dd9f=_0x36392d[_0x1ce9a3(0x2b8)][_0x1ce9a3(0x30b)](_0x531915[_0x1ce9a3(0x399)])&&this[_0x1ce9a3(0x346)](_0x531915[_0x1ce9a3(0x399)]),_0x40c94a=_0x36392d['Tools'][_0x1ce9a3(0x30b)](_0x531915[_0x1ce9a3(0x2e4)])&&this[_0x1ce9a3(0x346)](_0x531915['formula2']),_0x204de2=_0x4cee6b[_0x1ce9a3(0x289)](_0x5956e3),_0x48c1c9=this[_0x1ce9a3(0x277)]['t'](_0x1ce9a3(0x2e3));return _0x204de2?{'success':_0x39dd9f&&_0x40c94a,'formula1':_0x39dd9f?void 0x0:_0x48c1c9,'formula2':_0x40c94a?void 0x0:_0x48c1c9}:{'success':_0x39dd9f,'formula1':_0x39dd9f?'':_0x48c1c9};}async[_0x42f095(0x235)](_0x4826db,_0xa36489,_0x5d12ba){const _0x399532=_0x42f095,{formula1:_0x8f46ef}=_0xa36489,{value:_0x328228}=_0x4826db;return Number[_0x399532(0x392)](_0x8f46ef)?!0x0:_0x328228===_0x8f46ef;}async[_0x42f095(0x205)](_0x4e904f,_0x27ce78,_0x180800){const _0x3d1ebf=_0x42f095,{formula1:_0x3d0b6b}=_0x27ce78;return Number[_0x3d1ebf(0x392)](_0x3d0b6b)?!0x0:_0x4e904f[_0x3d1ebf(0x1c7)]!==_0x3d0b6b;}async[_0x42f095(0x30c)](_0x4a54b3,_0x19123a,_0x4c38ff){const _0x1664d7=_0x42f095,{formula1:_0x1de778,formula2:_0x833d3c}=_0x19123a;if(Number['isNaN'](_0x1de778)||Number[_0x1664d7(0x392)](_0x833d3c))return!0x0;const _0x25fc7f=Math[_0x1664d7(0x1eb)](_0x1de778,_0x833d3c),_0xb8e9d3=Math[_0x1664d7(0x1b2)](_0x1de778,_0x833d3c);return _0x4a54b3['value']>=_0x25fc7f&&_0x4a54b3[_0x1664d7(0x1c7)]<=_0xb8e9d3;}async['validatorIsNotBetween'](_0x49626e,_0x44eb65,_0x5480bf){const _0x59dbbd=_0x42f095,{formula1:_0x1503ef,formula2:_0x5ddbb9}=_0x44eb65;if(Number[_0x59dbbd(0x392)](_0x1503ef)||Number[_0x59dbbd(0x392)](_0x5ddbb9))return!0x0;const _0x4ca53a=Math[_0x59dbbd(0x1eb)](_0x1503ef,_0x5ddbb9),_0x19bf07=Math[_0x59dbbd(0x1b2)](_0x1503ef,_0x5ddbb9);return _0x49626e['value']<_0x4ca53a||_0x49626e[_0x59dbbd(0x1c7)]>_0x19bf07;}async['validatorIsGreaterThan'](_0x1d83ec,_0x18aeab,_0x2e9c9c){const {formula1:_0x21734f}=_0x18aeab;return Number['isNaN'](_0x21734f)?!0x0:_0x1d83ec['value']>_0x21734f;}async[_0x42f095(0x211)](_0x6f09fa,_0x14389a,_0x5557d3){const _0xff8828=_0x42f095,{formula1:_0x5329e3}=_0x14389a;return Number[_0xff8828(0x392)](_0x5329e3)?!0x0:_0x6f09fa[_0xff8828(0x1c7)]>=_0x5329e3;}async[_0x42f095(0x1d4)](_0x14d87f,_0xbdeb2f,_0x3a6b82){const _0x207fe8=_0x42f095,{formula1:_0x56ef9b}=_0xbdeb2f;return Number[_0x207fe8(0x392)](_0x56ef9b)?!0x0:_0x14d87f[_0x207fe8(0x1c7)]<_0x56ef9b;}async['validatorIsLessThanOrEqual'](_0x36311d,_0x191f5e,_0x671889){const _0x473025=_0x42f095,{formula1:_0x506a4a}=_0x191f5e;return Number[_0x473025(0x392)](_0x506a4a)?!0x0:_0x36311d[_0x473025(0x1c7)]<=_0x506a4a;}};_0x2019d3(_0x3ce106,_0x42f095(0x3d0));let _0x29ba61=_0x3ce106;function _0x103dd5(_0xb6c5b8){const _0x482dfc=_0x42f095;return _0xb6c5b8[_0x482dfc(0x1f4)](Boolean)[_0x482dfc(0x24b)](',');}_0x2019d3(_0x103dd5,_0x42f095(0x286));function _0x3bea69(_0x2112d1){const _0x49f6fe=_0x42f095;return _0x2112d1[_0x49f6fe(0x1b1)](',')[_0x49f6fe(0x1f4)](Boolean);}_0x2019d3(_0x3bea69,_0x42f095(0x2d0));function _0x25608f(_0x36d266){const _0x31c1ec=_0xabc37a(_0x36d266);return _0x31c1ec==null?'':_0x31c1ec['toString']();}_0x2019d3(_0x25608f,'getDataValidationCellValue');function _0x44cdcc(_0x2a1636){if(!_0x2a1636)return[];const _0x23ee42=new Set();return _0x2a1636['forEach'](_0x56eefb=>{const _0x31db79=_0x56ed;_0x56eefb[_0x31db79(0x308)](_0x5d2272=>{const _0x196b20=_0x31db79;var _0x584956,_0x5a87c0;const _0x58d860=_0xabc37a(_0x5d2272);if(_0x58d860!=null){if(typeof _0x58d860!=_0x196b20(0x34a)&&typeof(_0x5d2272==null?void 0x0:_0x5d2272['s'])=='object'&&((_0x5a87c0=(_0x584956=_0x5d2272['s'])==null?void 0x0:_0x584956['n'])!=null&&_0x5a87c0[_0x196b20(0x2f1)])){_0x23ee42[_0x196b20(0x230)](_0x36392d[_0x196b20(0x255)][_0x196b20(0x23b)](_0x5d2272['s']['n'][_0x196b20(0x2f1)],_0x58d860,{'throws':!0x1}));return;}_0x23ee42[_0x196b20(0x230)](_0x58d860['toString']());}});}),[..._0x23ee42];}_0x2019d3(_0x44cdcc,_0x42f095(0x3bb));const _0x80d93a=['if',_0x42f095(0x355),'choose',_0x42f095(0x246)];function _0x9cafed(_0x55329a,_0x483be9){const _0x3e83b1=_0x42f095;if(!_0x36392d['isFormulaString'](_0x55329a)||_0x5dfce5['isReferenceString'](_0x55329a[_0x3e83b1(0x352)](0x1)))return!0x0;const _0x35e522=_0x483be9['sequenceNodesBuilder'](_0x55329a);return _0x35e522&&_0x35e522[_0x3e83b1(0x285)](_0x41a756=>typeof _0x41a756==_0x3e83b1(0x215)&&_0x41a756['nodeType']===_0x5dfce5['sequenceNodeType'][_0x3e83b1(0x31c)]&&_0x80d93a[_0x3e83b1(0x374)](_0x41a756[_0x3e83b1(0x39a)][_0x3e83b1(0x231)]())>-0x1);}_0x2019d3(_0x9cafed,_0x42f095(0x35c));function _0x587deb(_0x9bc3c4,_0x5be0f7){const _0x1886c1=_0x42f095,{formula1:formula1='',ranges:_0x138576}=_0x9bc3c4;if(_0x5dfce5['isReferenceString'](formula1[_0x1886c1(0x352)](0x1))){const _0x31a535=_0x5dfce5[_0x1886c1(0x36f)](formula1[_0x1886c1(0x352)](0x1));if((!_0x31a535[_0x1886c1(0x32d)]||_0x31a535[_0x1886c1(0x32d)]===_0x5be0f7)&&_0x138576[_0x1886c1(0x285)](_0x22696e=>_0x36392d[_0x1886c1(0x270)][_0x1886c1(0x2f7)](_0x22696e,_0x31a535[_0x1886c1(0x251)])))return!0x0;}return!0x1;}_0x2019d3(_0x587deb,_0x42f095(0x2ef));const _0x1c5619=class _0x278844 extends _0x2b67f4[_0x42f095(0x3e3)]{constructor(){const _0x208eda=_0x42f095;super(...arguments),_0x4f5171(this,_0x208eda(0x290),this[_0x208eda(0x29a)]['get'](_0x2812de[_0x208eda(0x336)])),_0x4f5171(this,_0x208eda(0x3da),this['injector'][_0x208eda(0x1fd)](_0x5dfce5['LexerTreeBuilder'])),_0x4f5171(this,'_univerInstanceService',this[_0x208eda(0x29a)]['get'](_0x36392d[_0x208eda(0x2c6)])),_0x4f5171(this,'id',_0x36392d['DataValidationType'][_0x208eda(0x283)]),_0x4f5171(this,'title','dataValidation.list.title'),_0x4f5171(this,_0x208eda(0x221),[]),_0x4f5171(this,_0x208eda(0x3e7),['sheet']),_0x4f5171(this,_0x208eda(0x32e),_0x2019d3(_0x1b5df2=>_0x1b5df2[_0x208eda(0x3c7)]!==_0x36392d[_0x208eda(0x20a)][_0x208eda(0x21c)],'skipDefaultFontRender'));}[_0x42f095(0x1c3)](_0x53f44b,_0x448e96,_0x231a44){const _0x5a0db3=_0x42f095;var _0x4c9c7d,_0x4e5980,_0x48918e;const _0x35b2ff=!_0x36392d[_0x5a0db3(0x2b8)]['isBlank'](_0x53f44b[_0x5a0db3(0x399)]),_0x4501be=_0x9cafed((_0x4c9c7d=_0x53f44b[_0x5a0db3(0x399)])!=null?_0x4c9c7d:'',this[_0x5a0db3(0x3da)]),_0x271d32=(_0x48918e=(_0x4e5980=this[_0x5a0db3(0x22d)]['getUnit'](_0x448e96,_0x36392d[_0x5a0db3(0x1ee)][_0x5a0db3(0x26d)]))==null?void 0x0:_0x4e5980[_0x5a0db3(0x3df)](_0x231a44))==null?void 0x0:_0x48918e[_0x5a0db3(0x380)](),_0x430ac5=_0x587deb(_0x53f44b,_0x271d32!=null?_0x271d32:'');return{'success':!!(_0x35b2ff&&_0x4501be&&!_0x430ac5),'formula1':_0x35b2ff?_0x4501be?_0x430ac5?this[_0x5a0db3(0x277)]['t'](_0x5a0db3(0x1f5)):void 0x0:this[_0x5a0db3(0x277)]['t'](_0x5a0db3(0x2f5)):this['localeService']['t'](_0x5a0db3(0x279))};}[_0x42f095(0x1c0)](_0x222eca,_0x4a3efc,{style:_0x2ee56c}){const _0x4faf27=_0x42f095;var _0xa683f4;const _0xbf5361=(_0xa683f4=_0x2ee56c['tb']!==_0x36392d[_0x4faf27(0x2ea)][_0x4faf27(0x263)]?_0x2ee56c['tb']:_0x36392d[_0x4faf27(0x2ea)][_0x4faf27(0x3b0)])!=null?_0xa683f4:_0x36392d[_0x4faf27(0x2ea)][_0x4faf27(0x2bb)];if(_0x222eca['type']===_0x36392d['DataValidationType'][_0x4faf27(0x283)]&&(_0x222eca[_0x4faf27(0x3c7)]===_0x36392d[_0x4faf27(0x20a)][_0x4faf27(0x2da)]||_0x222eca[_0x4faf27(0x3c7)]===_0x36392d[_0x4faf27(0x20a)][_0x4faf27(0x21c)])){const _0xd0f05b=this[_0x4faf27(0x27e)](_0x222eca),_0x302e79=''+(_0x4a3efc!=null?_0x4a3efc:''),_0x472604=_0xd0f05b[_0x302e79];if(_0x472604)return{'bg':{'rgb':_0x472604},'tb':_0xbf5361};}return{'tb':_0xbf5361};}[_0x42f095(0x3ed)](_0x38be9c){const _0xe80976=_0x42f095,_0x5f4490=_0x38be9c[_0xe80976(0x1d3)]();return _0x3bea69(_0x5f4490);}async['parseFormula'](_0x30b6ef,_0x2ac317,_0x170896){const _0x3ac796=_0x42f095;var _0x57adc2;const {formula1:formula1=''}=_0x30b6ef,_0x49016d=await this[_0x3ac796(0x290)][_0x3ac796(0x33a)](_0x2ac317,_0x170896,_0x30b6ef[_0x3ac796(0x2d6)]);return{'formula1':_0x36392d[_0x3ac796(0x2b5)](formula1)?_0x44cdcc((_0x57adc2=_0x49016d==null?void 0x0:_0x49016d[0x0])==null?void 0x0:_0x57adc2[_0x3ac796(0x2e6)]):_0x3bea69(formula1),'formula2':void 0x0};}async['isValidType'](_0x3ebf35,_0x3d30c6,_0x5a0dce){const _0x54074d=_0x42f095,{value:_0x221466}=_0x3ebf35,{formula1:formula1=[]}=_0x3d30c6;return this['parseCellValue'](_0x221466)[_0x54074d(0x2cc)](_0x50b479=>formula1[_0x54074d(0x289)](_0x50b479));}['generateRuleName'](){const _0x1b19da=_0x42f095;return this[_0x1b19da(0x277)]['t'](_0x1b19da(0x267));}[_0x42f095(0x1c8)](){const _0x5ee71c=_0x42f095;return this[_0x5ee71c(0x277)]['t']('dataValidation.list.error');}[_0x42f095(0x29c)](_0x212186,_0x1a66e9,_0x5f5713){const _0x30b3a6=_0x42f095;var _0x3b2e93,_0x24a69b,_0x2bc14f;const {formula1:formula1=''}=_0x212186,_0x55d94d=this[_0x30b3a6(0x29a)][_0x30b3a6(0x1fd)](_0x36392d[_0x30b3a6(0x2c6)]),_0x5bb4fd=(_0x3b2e93=_0x1a66e9?_0x55d94d[_0x30b3a6(0x369)](_0x1a66e9):void 0x0)!=null?_0x3b2e93:_0x55d94d[_0x30b3a6(0x375)](_0x36392d[_0x30b3a6(0x1ee)][_0x30b3a6(0x26d)]);if(!_0x5bb4fd)return[];const _0x39d930=(_0x24a69b=_0x5f5713?_0x5bb4fd['getSheetBySheetId'](_0x5f5713):void 0x0)!=null?_0x24a69b:_0x5bb4fd[_0x30b3a6(0x26c)]();if(!_0x39d930)return[];const _0x1f2efb=_0x5bb4fd[_0x30b3a6(0x3bf)](),_0x1a4489=_0x39d930[_0x30b3a6(0x27b)](),_0x13814b=this[_0x30b3a6(0x290)]['getRuleFormulaResultSync'](_0x1f2efb,_0x1a4489,_0x212186[_0x30b3a6(0x2d6)]);return _0x36392d['isFormulaString'](formula1)?_0x44cdcc((_0x2bc14f=_0x13814b==null?void 0x0:_0x13814b[0x0])==null?void 0x0:_0x2bc14f[_0x30b3a6(0x2e6)]):_0x3bea69(formula1);}async[_0x42f095(0x3cc)](_0x59ef07,_0x1c2dbb,_0xc0ace8){const _0x58561b=_0x42f095;var _0x32ee26,_0x1c3c66,_0xd412ac;const {formula1:formula1=''}=_0x59ef07,_0x2556f1=this[_0x58561b(0x29a)][_0x58561b(0x1fd)](_0x36392d[_0x58561b(0x2c6)]),_0x25a6a6=(_0x32ee26=_0x1c2dbb?_0x2556f1[_0x58561b(0x369)](_0x1c2dbb):void 0x0)!=null?_0x32ee26:_0x2556f1['getCurrentUnitForType'](_0x36392d[_0x58561b(0x1ee)][_0x58561b(0x26d)]);if(!_0x25a6a6)return[];const _0x9d495c=(_0x1c3c66=_0xc0ace8?_0x25a6a6[_0x58561b(0x3df)](_0xc0ace8):void 0x0)!=null?_0x1c3c66:_0x25a6a6['getActiveSheet']();if(!_0x9d495c)return[];const _0x46db1c=_0x25a6a6[_0x58561b(0x3bf)](),_0xafe2ee=_0x9d495c[_0x58561b(0x27b)](),_0x2f1b1b=await this['formulaService'][_0x58561b(0x33a)](_0x46db1c,_0xafe2ee,_0x59ef07[_0x58561b(0x2d6)]);return _0x36392d[_0x58561b(0x2b5)](formula1)?_0x44cdcc((_0xd412ac=_0x2f1b1b==null?void 0x0:_0x2f1b1b[0x0])==null?void 0x0:_0xd412ac[_0x58561b(0x2e6)]):_0x3bea69(formula1);}[_0x42f095(0x3d4)](_0x669a6c,_0x54e44e,_0x414076){const _0x52e6f5=_0x42f095,_0x592255=this['getList'](_0x669a6c,_0x54e44e,_0x414076),_0x5d5ff9=(_0x669a6c[_0x52e6f5(0x2e4)]||'')[_0x52e6f5(0x1b1)](',');return _0x592255[_0x52e6f5(0x2c3)]((_0x171cea,_0xf8c71)=>({'label':_0x171cea,'color':_0x5d5ff9[_0xf8c71]}));}['getListWithColorMap'](_0x49fbfc,_0x41d65c,_0x250880){const _0x376b9e=_0x42f095,_0xa40875=this[_0x376b9e(0x3d4)](_0x49fbfc,_0x41d65c,_0x250880),_0x146c71={};return _0xa40875[_0x376b9e(0x308)](_0xf7c4f2=>{const _0x2e6ab3=_0x376b9e;_0xf7c4f2[_0x2e6ab3(0x22f)]&&(_0x146c71[_0xf7c4f2[_0x2e6ab3(0x2d7)]]=_0xf7c4f2[_0x2e6ab3(0x22f)]);}),_0x146c71;}};_0x2019d3(_0x1c5619,_0x42f095(0x24e));let _0x40699a=_0x1c5619;const _0xa3920a=_0x42f095(0x31b),_0x49d081=_0x42f095(0x1f2),_0x4d42cb=class _0x37dd99 extends _0x2b67f4[_0x42f095(0x3e3)]{constructor(){const _0x150036=_0x42f095;super(...arguments),_0x4f5171(this,'id',_0x36392d[_0x150036(0x359)]['TEXT_LENGTH']),_0x4f5171(this,'title','dataValidation.textLength.title'),_0x4f5171(this,_0x150036(0x221),[_0x36392d[_0x150036(0x37b)][_0x150036(0x3b3)],_0x36392d['DataValidationOperator']['EQUAL'],_0x36392d[_0x150036(0x37b)][_0x150036(0x335)],_0x36392d[_0x150036(0x37b)][_0x150036(0x3f7)],_0x36392d[_0x150036(0x37b)][_0x150036(0x316)],_0x36392d[_0x150036(0x37b)][_0x150036(0x3d2)],_0x36392d['DataValidationOperator'][_0x150036(0x20b)],_0x36392d[_0x150036(0x37b)]['NOT_EQUAL']]),_0x4f5171(this,_0x150036(0x3e7),[_0x150036(0x32a)]),_0x4f5171(this,_0x150036(0x1db),this['injector'][_0x150036(0x1fd)](_0x2812de[_0x150036(0x336)]));}[_0x42f095(0x250)](_0x2a65b4){const _0x1ae65c=_0x42f095;return!_0x36392d[_0x1ae65c(0x2b8)][_0x1ae65c(0x3cb)](_0x2a65b4)&&(_0x36392d[_0x1ae65c(0x2b5)](_0x2a65b4)||!Number[_0x1ae65c(0x392)](+_0x2a65b4)&&Number[_0x1ae65c(0x3a2)](+_0x2a65b4));}[_0x42f095(0x1c3)](_0x1051dc,_0x3a920b,_0x484e48){const _0x20481c=_0x42f095,_0x7ddd79=_0x1051dc[_0x20481c(0x2fe)];if(!_0x7ddd79)return{'success':!0x1};const _0x248853=_0x36392d[_0x20481c(0x2b8)]['isDefine'](_0x1051dc[_0x20481c(0x399)])&&this['_isFormulaOrInt'](_0x1051dc[_0x20481c(0x399)]),_0x5c2527=_0x36392d['Tools'][_0x20481c(0x30b)](_0x1051dc[_0x20481c(0x2e4)])&&this[_0x20481c(0x250)](_0x1051dc['formula2']),_0x1b51c0=_0x4cee6b[_0x20481c(0x289)](_0x7ddd79),_0x76b5c2=this[_0x20481c(0x277)]['t']('dataValidation.validFail.number');return _0x1b51c0?{'success':_0x248853&&_0x5c2527,'formula1':_0x248853?void 0x0:_0x76b5c2,'formula2':_0x5c2527?void 0x0:_0x76b5c2}:{'success':_0x248853,'formula1':_0x76b5c2};}['_parseNumber'](_0x78916d){const _0x14b2d9=_0x42f095;return _0x78916d==null?Number[_0x14b2d9(0x2ba)]:+_0x78916d;}[_0x42f095(0x1cc)](_0x4315a6){return!Number['isNaN'](_0x4315a6);}async[_0x42f095(0x300)](_0x26f85,_0x1b6963,_0x358857){const _0xfbd047=_0x42f095;var _0x4a8e76,_0x19e5b7,_0x26fe80,_0x19405f,_0x4a0de8,_0x146e84,_0x5c0f53,_0x53c86f;const _0x1b1fbe=await this['_formulaService'][_0xfbd047(0x33a)](_0x1b6963,_0x358857,_0x26f85[_0xfbd047(0x2d6)]),{formula1:_0xfbe799,formula2:_0x6e790f}=_0x26f85;return{'formula1':this[_0xfbd047(0x3aa)](_0x36392d['isFormulaString'](_0xfbe799)?(_0x19405f=(_0x26fe80=(_0x19e5b7=(_0x4a8e76=_0x1b1fbe==null?void 0x0:_0x1b1fbe[0x0])==null?void 0x0:_0x4a8e76['result'])==null?void 0x0:_0x19e5b7[0x0])==null?void 0x0:_0x26fe80[0x0])==null?void 0x0:_0x19405f['v']:_0xfbe799),'formula2':this[_0xfbd047(0x3aa)](_0x36392d['isFormulaString'](_0x6e790f)?(_0x53c86f=(_0x5c0f53=(_0x146e84=(_0x4a0de8=_0x1b1fbe==null?void 0x0:_0x1b1fbe[0x1])==null?void 0x0:_0x4a0de8[_0xfbd047(0x2e6)])==null?void 0x0:_0x146e84[0x0])==null?void 0x0:_0x5c0f53[0x0])==null?void 0x0:_0x53c86f['v']:_0x6e790f)};}[_0x42f095(0x2ad)](_0x8a97a6,_0x975ae5,_0x1e0128){const _0x11ddea=_0x42f095;return{..._0x8a97a6,'value':_0x8a97a6[_0x11ddea(0x1c7)]['toString']()[_0x11ddea(0x2a8)]};}async[_0x42f095(0x314)](_0x6064b7,_0x6bad80,_0x3b20cd){const _0x2b76d1=_0x42f095,{value:_0x231489}=_0x6064b7;return typeof _0x231489=='string'||typeof _0x231489==_0x2b76d1(0x39f);}async['validatorIsEqual'](_0x37366b,_0x28972e,_0x314c94){const _0x1a6107=_0x42f095,{formula1:_0x5cfc8a}=_0x28972e;return _0x36392d['Tools'][_0x1a6107(0x30b)](_0x5cfc8a)?_0x37366b[_0x1a6107(0x1c7)]===_0x5cfc8a:!0x1;}async[_0x42f095(0x205)](_0x1445c1,_0x17aa90,_0x149968){const _0x35980e=_0x42f095,{formula1:_0x9830ab}=_0x17aa90;return _0x36392d[_0x35980e(0x2b8)]['isDefine'](_0x9830ab)?_0x1445c1['value']!==_0x9830ab:!0x1;}async[_0x42f095(0x30c)](_0xbb3b0e,_0x3985a5,_0x2e859d){const {formula1:_0x582182,formula2:_0x524a71}=_0x3985a5,{value:_0x34f9a4}=_0xbb3b0e;if(!this['_isValidFormula'](_0x582182)||!this['_isValidFormula'](_0x524a71))return!0x1;const _0x116f94=Math['max'](_0x582182,_0x524a71),_0x8ba4d2=Math['min'](_0x582182,_0x524a71);return _0x34f9a4>=_0x8ba4d2&&_0x34f9a4<=_0x116f94;}async['validatorIsNotBetween'](_0x3fb066,_0x13308d,_0x3bb7cf){const _0xbf8c85=_0x42f095,{formula1:_0x35f8a4,formula2:_0x1028b6}=_0x13308d,{value:_0x281fe4}=_0x3fb066;if(!this[_0xbf8c85(0x1cc)](_0x35f8a4)||!this[_0xbf8c85(0x1cc)](_0x1028b6))return!0x1;const _0x25e989=Math['max'](_0x35f8a4,_0x1028b6),_0x20aeef=Math['min'](_0x35f8a4,_0x1028b6);return _0x281fe4<_0x20aeef||_0x281fe4>_0x25e989;}async[_0x42f095(0x1c2)](_0x5e30cc,_0xc5a8c8,_0x499e14){const {formula1:_0x2143d3}=_0xc5a8c8,{value:_0x294184}=_0x5e30cc;return this['_isValidFormula'](_0x2143d3)?_0x294184>_0x2143d3:!0x1;}async[_0x42f095(0x211)](_0x56eae7,_0x1bbcaa,_0x5986c8){const _0x25b2e0=_0x42f095,{formula1:_0x3db44f}=_0x1bbcaa,{value:_0x270b60}=_0x56eae7;return this[_0x25b2e0(0x1cc)](_0x3db44f)?_0x270b60>=_0x3db44f:!0x1;}async[_0x42f095(0x1d4)](_0x432569,_0x19f38d,_0x1cb6af){const _0x5cb0ba=_0x42f095,{formula1:_0x3543db}=_0x19f38d,{value:_0x22f244}=_0x432569;return this[_0x5cb0ba(0x1cc)](_0x3543db)?_0x22f244<_0x3543db:!0x1;}async[_0x42f095(0x367)](_0x58393e,_0x5a2c9b,_0x2b37c4){const {formula1:_0x250d70}=_0x5a2c9b,{value:_0x4069e1}=_0x58393e;return this['_isValidFormula'](_0x250d70)?_0x4069e1<=_0x250d70:!0x1;}[_0x42f095(0x1c8)](_0xe3fa2){const _0x3d3a33=_0x42f095;var _0x1a5d43,_0xb470de;return _0xe3fa2['operator']?''+this[_0x3d3a33(0x277)]['t'](_0x2b67f4['TextLengthErrorTitleMap'][_0xe3fa2[_0x3d3a33(0x2fe)]])[_0x3d3a33(0x307)](_0xa3920a,(_0x1a5d43=_0xe3fa2[_0x3d3a33(0x399)])!=null?_0x1a5d43:'')[_0x3d3a33(0x307)](_0x49d081,(_0xb470de=_0xe3fa2[_0x3d3a33(0x2e4)])!=null?_0xb470de:''):this[_0x3d3a33(0x2b2)];}};_0x2019d3(_0x4d42cb,_0x42f095(0x3c1));let _0x3901e0=_0x4d42cb;function _0x2487e9(_0x4e4cf1){const _0x4e264e=_0x42f095;var _0x117c13,_0x2a5f18;return _0x4e4cf1?_0x4e4cf1['p']?!((_0x2a5f18=(_0x117c13=_0x4e4cf1['p'][_0x4e264e(0x36a)])==null?void 0x0:_0x117c13[_0x4e264e(0x340)])!=null?_0x2a5f18:'')[_0x4e264e(0x352)](0x0,-0x2)[_0x4e264e(0x3de)]():_0x36392d[_0x4e264e(0x2b8)]['isBlank'](_0x4e4cf1['v']):!0x0;}_0x2019d3(_0x2487e9,_0x42f095(0x397));function _0x22234a(_0x109cc5,_0x26ca5d,_0x52abf6,_0x458683,_0x15c520=_0x42f095(0x1d9),_0x261d67=!0x0){const _0x5d6d4d=_0x42f095,_0x440974=[],_0x3768e7=[],_0xcf5407=_0x458683[_0x5d6d4d(0x1fd)](_0x2812de[_0x5d6d4d(0x1bb)]),_0x52c842=_0x458683['get'](_0x36392d[_0x5d6d4d(0x2c6)]),_0x394a64=_0x3d419a['getSheetCommandTarget'](_0x52c842,{'unitId':_0x109cc5,'subUnitId':_0x26ca5d});if(!_0x394a64)return{'redoMutations':_0x440974,'undoMutations':_0x3768e7};const {worksheet:_0x3894fc}=_0x394a64,_0x126566=new _0x36392d[(_0x5d6d4d(0x2ab))]();function _0xb8f790(_0x269974,_0x310216){_0x261d67&&_0x269974['forEach'](_0x5a1008=>{_0x36392d['Range']['foreach'](_0x5a1008,(_0x3d4de5,_0x3fdb4c)=>{const _0x5eeb7b=_0x56ed,_0x2b6ef4=_0x3894fc['getCellRaw'](_0x3d4de5,_0x3fdb4c),_0x5386a8=_0x511b75(_0x2b6ef4);(_0x2487e9(_0x2b6ef4)||_0x5386a8===_0x310216)&&_0x126566[_0x5eeb7b(0x311)](_0x3d4de5,_0x3fdb4c,{'v':_0x310216,'p':null});});});}_0x2019d3(_0xb8f790,_0x5d6d4d(0x264)),_0x52abf6[_0x5d6d4d(0x308)](_0xd72749=>{const _0x13b20a=_0x5d6d4d;switch(_0xd72749[_0x13b20a(0x3f2)]){case _0x13b20a(0x3f8):_0x440974['push']({'id':_0x2b67f4[_0x13b20a(0x396)]['id'],'params':{'unitId':_0x109cc5,'subUnitId':_0x26ca5d,'ruleId':_0xd72749['rule'][_0x13b20a(0x2d6)],'source':_0x15c520}}),_0x3768e7[_0x13b20a(0x2db)]({'id':_0x2b67f4[_0x13b20a(0x203)]['id'],'params':{'unitId':_0x109cc5,'subUnitId':_0x26ca5d,'rule':_0xd72749[_0x13b20a(0x21e)],'index':_0xd72749[_0x13b20a(0x224)],'source':_0x15c520}});break;case _0x13b20a(0x202):{_0x440974['push']({'id':_0x2b67f4[_0x13b20a(0x3a8)]['id'],'params':{'unitId':_0x109cc5,'subUnitId':_0x26ca5d,'ruleId':_0xd72749['ruleId'],'payload':{'type':_0x2b67f4[_0x13b20a(0x3c3)][_0x13b20a(0x22c)],'payload':_0xd72749[_0x13b20a(0x261)]},'source':_0x15c520}}),_0x3768e7[_0x13b20a(0x2db)]({'id':_0x2b67f4[_0x13b20a(0x3a8)]['id'],'params':{'unitId':_0x109cc5,'subUnitId':_0x26ca5d,'ruleId':_0xd72749[_0x13b20a(0x2ed)],'payload':{'type':_0x2b67f4[_0x13b20a(0x3c3)][_0x13b20a(0x22c)],'payload':_0xd72749['oldRanges']},'source':_0x15c520}});const _0x3f034f=_0xcf5407[_0x13b20a(0x3d3)](_0x109cc5,_0x26ca5d,_0xd72749[_0x13b20a(0x2ed)]);if(_0x3f034f&&_0x3f034f[_0x13b20a(0x3f2)]===_0x36392d[_0x13b20a(0x359)][_0x13b20a(0x2f2)]){const _0x1ade76=_0xcf5407[_0x13b20a(0x3cf)](_0x36392d[_0x13b20a(0x359)][_0x13b20a(0x2f2)])[_0x13b20a(0x1da)](_0x3f034f,_0x109cc5,_0x26ca5d);_0xb8f790(_0xd72749[_0x13b20a(0x261)],_0x1ade76[_0x13b20a(0x2e4)]);}break;}case'add':{if(_0x440974[_0x13b20a(0x1d7)]({'id':_0x2b67f4['AddDataValidationMutation']['id'],'params':{'unitId':_0x109cc5,'subUnitId':_0x26ca5d,'rule':_0xd72749[_0x13b20a(0x21e)],'source':_0x15c520}}),_0x3768e7[_0x13b20a(0x2db)]({'id':_0x2b67f4[_0x13b20a(0x396)]['id'],'params':{'unitId':_0x109cc5,'subUnitId':_0x26ca5d,'ruleId':_0xd72749['rule'][_0x13b20a(0x2d6)],'source':_0x15c520}}),_0xd72749[_0x13b20a(0x21e)][_0x13b20a(0x3f2)]===_0x36392d[_0x13b20a(0x359)][_0x13b20a(0x2f2)]){const _0x45d906=_0xcf5407[_0x13b20a(0x3cf)](_0x36392d['DataValidationType'][_0x13b20a(0x2f2)])[_0x13b20a(0x1da)](_0xd72749[_0x13b20a(0x21e)],_0x109cc5,_0x26ca5d);_0xb8f790(_0xd72749[_0x13b20a(0x21e)][_0x13b20a(0x34e)],_0x45d906[_0x13b20a(0x30d)]);}break;}}});const _0x3e0254={'id':_0x3d419a['SetRangeValuesMutation']['id'],'params':{'unitId':_0x109cc5,'subUnitId':_0x26ca5d,'cellValue':_0x126566[_0x5d6d4d(0x3f3)]()}},_0x5ebc4a={'id':_0x3d419a['SetRangeValuesMutation']['id'],'params':_0x3d419a[_0x5d6d4d(0x313)](_0x458683,_0x3e0254[_0x5d6d4d(0x384)])};return _0x440974[_0x5d6d4d(0x1d7)](_0x3e0254),_0x3768e7[_0x5d6d4d(0x1d7)](_0x5ebc4a),{'redoMutations':_0x440974,'undoMutations':_0x3768e7};}_0x2019d3(_0x22234a,_0x42f095(0x1ce));const _0x514d32={'type':_0x36392d['CommandType'][_0x42f095(0x240)],'id':_0x42f095(0x1fa),async 'handler'(_0x221a19,_0x3cc9eb){const _0x2ddb53=_0x42f095;if(!_0x3cc9eb)return!0x1;const {unitId:_0x3b16ca,subUnitId:_0x11a0da,ranges:_0x24f3c6,ruleId:_0x4d7eaf}=_0x3cc9eb,_0x2877b3=_0x221a19[_0x2ddb53(0x1fd)](_0x2812de[_0x2ddb53(0x1bb)]),_0x21d178=_0x221a19[_0x2ddb53(0x1fd)](_0x36392d['ICommandService']),_0x1b3011=_0x221a19['get'](_0x36392d[_0x2ddb53(0x31a)]);if(!_0x2877b3[_0x2ddb53(0x3d3)](_0x3b16ca,_0x11a0da,_0x4d7eaf))return!0x1;const _0x4c4409=_0x2877b3[_0x2ddb53(0x3e2)](_0x3b16ca,_0x11a0da)['clone']();_0x4c4409[_0x2ddb53(0x3e9)](_0x4d7eaf,_0x24f3c6);const _0x45a275=_0x4c4409[_0x2ddb53(0x2b0)](_0x2877b3[_0x2ddb53(0x33d)](_0x3b16ca,_0x11a0da)),{redoMutations:_0x40d165,undoMutations:_0x6671e0}=_0x22234a(_0x3b16ca,_0x11a0da,_0x45a275,_0x221a19);return _0x1b3011[_0x2ddb53(0x292)]({'undoMutations':_0x6671e0,'redoMutations':_0x40d165,'unitID':_0x3b16ca}),await _0x36392d[_0x2ddb53(0x239)](_0x40d165,_0x21d178),!0x0;}},_0x3522c6={'type':_0x36392d[_0x42f095(0x386)][_0x42f095(0x240)],'id':_0x42f095(0x328),async 'handler'(_0x11cb17,_0x1d0383){const _0x1bae8c=_0x42f095;if(!_0x1d0383)return!0x1;const {unitId:_0x2c0412,subUnitId:_0x509571,rule:_0xbba3a4}=_0x1d0383,_0x405363=_0x11cb17['get'](_0x2812de[_0x1bae8c(0x1bb)]),_0x1ed615=_0x11cb17[_0x1bae8c(0x1fd)](_0x36392d[_0x1bae8c(0x339)]),_0x339527=_0x11cb17[_0x1bae8c(0x1fd)](_0x36392d['IUndoRedoService']),_0x163833=_0x405363[_0x1bae8c(0x3e2)](_0x2c0412,_0x509571)[_0x1bae8c(0x2e2)]();_0x163833[_0x1bae8c(0x271)](_0xbba3a4);const _0x506446=_0x163833[_0x1bae8c(0x2b0)](_0x405363['getRules'](_0x2c0412,_0x509571)),_0x441268={'unitId':_0x2c0412,'subUnitId':_0x509571,'rule':_0xbba3a4},{redoMutations:_0x3753a8,undoMutations:_0x467b21}=_0x22234a(_0x2c0412,_0x509571,_0x506446,_0x11cb17);return _0x3753a8[_0x1bae8c(0x1d7)]({'id':_0x2b67f4[_0x1bae8c(0x203)]['id'],'params':_0x441268}),_0x467b21[_0x1bae8c(0x2db)]({'id':_0x2b67f4[_0x1bae8c(0x396)]['id'],'params':{'unitId':_0x2c0412,'subUnitId':_0x509571,'ruleId':_0xbba3a4[_0x1bae8c(0x2d6)]}}),_0x339527[_0x1bae8c(0x292)]({'unitID':_0x2c0412,'redoMutations':_0x3753a8,'undoMutations':_0x467b21}),await _0x36392d[_0x1bae8c(0x239)](_0x3753a8,_0x1ed615),!0x0;}},_0x5b45d7={'type':_0x36392d['CommandType'][_0x42f095(0x240)],'id':_0x42f095(0x324),'handler'(_0x5970a1,_0x135c3e){const _0x53c04f=_0x42f095;if(!_0x135c3e)return!0x1;const _0x18c088=_0x5970a1[_0x53c04f(0x1fd)](_0x36392d[_0x53c04f(0x339)]),_0x41f459=_0x5970a1['get'](_0x36392d[_0x53c04f(0x31a)]),_0x1c29f4=_0x5970a1[_0x53c04f(0x1fd)](_0x2812de['SheetDataValidationModel']),_0x3c966a=_0x5970a1[_0x53c04f(0x1fd)](_0x2b67f4[_0x53c04f(0x296)]),{unitId:_0x44d127,subUnitId:_0x480794,ruleId:_0x4adc2a,setting:_0x1b21ce}=_0x135c3e,_0x292db6=_0x3c966a[_0x53c04f(0x1e9)](_0x1b21ce[_0x53c04f(0x3f2)]);if(!_0x292db6)return!0x1;const _0x1b1e27=_0x1c29f4[_0x53c04f(0x3d3)](_0x44d127,_0x480794,_0x4adc2a);if(!_0x1b1e27)return!0x1;const _0x4fa561={..._0x1b1e27,..._0x1b21ce};if(!_0x292db6['validatorFormula'](_0x4fa561,_0x44d127,_0x480794)[_0x53c04f(0x2f9)])return!0x1;const _0x3a9141={'unitId':_0x44d127,'subUnitId':_0x480794,'ruleId':_0x4adc2a,'payload':{'type':_0x2b67f4['UpdateRuleType'][_0x53c04f(0x1e8)],'payload':{..._0x1b21ce,..._0x292db6[_0x53c04f(0x29b)](_0x4fa561,_0x44d127,_0x480794)}}},_0x1c6e02=[{'id':_0x2b67f4[_0x53c04f(0x3a8)]['id'],'params':_0x3a9141}],_0x349c90={'unitId':_0x44d127,'subUnitId':_0x480794,'ruleId':_0x4adc2a,'payload':{'type':_0x2b67f4[_0x53c04f(0x3c3)][_0x53c04f(0x1e8)],'payload':_0x2b67f4[_0x53c04f(0x38b)](_0x1b1e27)}},_0x5bca72=[{'id':_0x2b67f4[_0x53c04f(0x3a8)]['id'],'params':_0x349c90}];if(_0x1b21ce[_0x53c04f(0x3f2)]===_0x36392d[_0x53c04f(0x359)][_0x53c04f(0x2f2)]){const _0x59028f=_0x1b1e27[_0x53c04f(0x34e)],_0x15d4c0=_0x5970a1[_0x53c04f(0x1fd)](_0x36392d['IUniverInstanceService']),_0x338af1=_0x3d419a['getSheetCommandTarget'](_0x15d4c0,{'unitId':_0x44d127,'subUnitId':_0x480794});if(_0x338af1){const _0x2a5d8=new _0x36392d['ObjectMatrix'](),{worksheet:_0x49371f}=_0x338af1,{formula2:_0x4b5849=_0x1c8864,formula1:_0x557cbb=_0x2c4c27}=_0x1b1e27,{formula2:formula2=_0x1c8864,formula1:formula1=_0x2c4c27}=_0x1b21ce;_0x59028f[_0x53c04f(0x308)](_0x2489ed=>{const _0x42eee3=_0x53c04f;_0x36392d['Range'][_0x42eee3(0x3b2)](_0x2489ed,(_0x51df69,_0x2f3b7e)=>{const _0x104380=_0x42eee3,_0x2f791f=_0x49371f[_0x104380(0x305)](_0x51df69,_0x2f3b7e),_0x346f9c=_0x511b75(_0x2f791f);_0x2487e9(_0x2f791f)||_0x346f9c===String(_0x4b5849)?_0x2a5d8[_0x104380(0x311)](_0x51df69,_0x2f3b7e,{'v':formula2,'p':null}):_0x346f9c===String(_0x557cbb)&&_0x2a5d8[_0x104380(0x311)](_0x51df69,_0x2f3b7e,{'v':formula1,'p':null});});});const _0x48d353={'id':_0x3d419a[_0x53c04f(0x2cf)]['id'],'params':{'unitId':_0x44d127,'subUnitId':_0x480794,'cellValue':_0x2a5d8[_0x53c04f(0x3f3)]()}},_0x517707={'id':_0x3d419a[_0x53c04f(0x2cf)]['id'],'params':_0x3d419a[_0x53c04f(0x313)](_0x5970a1,_0x48d353[_0x53c04f(0x384)])};_0x1c6e02[_0x53c04f(0x1d7)](_0x48d353),_0x5bca72[_0x53c04f(0x1d7)](_0x517707);}}return _0x36392d[_0x53c04f(0x21b)](_0x1c6e02,_0x18c088)[_0x53c04f(0x2e6)]?(_0x41f459[_0x53c04f(0x292)]({'unitID':_0x44d127,'redoMutations':_0x1c6e02,'undoMutations':_0x5bca72}),!0x0):!0x1;}},_0x56ae4d={'type':_0x36392d[_0x42f095(0x386)][_0x42f095(0x240)],'id':_0x42f095(0x1d8),'handler'(_0x1c5eff,_0xdb10af){const _0x13081a=_0x42f095;if(!_0xdb10af)return!0x1;const _0x259b94=_0x1c5eff['get'](_0x36392d[_0x13081a(0x339)]),_0x38fdd6=_0x1c5eff[_0x13081a(0x1fd)](_0x36392d[_0x13081a(0x31a)]),_0xaaba6=_0x1c5eff[_0x13081a(0x1fd)](_0x2812de[_0x13081a(0x1bb)]),{unitId:_0x287083,subUnitId:_0x501957,ruleId:_0x218d08,options:_0x4b8450}=_0xdb10af,_0x2e17c1=_0xaaba6[_0x13081a(0x3d3)](_0x287083,_0x501957,_0x218d08);if(!_0x2e17c1)return!0x1;const _0x402922={'unitId':_0x287083,'subUnitId':_0x501957,'ruleId':_0x218d08,'payload':{'type':_0x2b67f4['UpdateRuleType'][_0x13081a(0x3dc)],'payload':_0x4b8450}},_0xbafe0=[{'id':_0x2b67f4[_0x13081a(0x3a8)]['id'],'params':_0x402922}],_0x2ad41f={'unitId':_0x287083,'subUnitId':_0x501957,'ruleId':_0x218d08,'payload':{'type':_0x2b67f4[_0x13081a(0x3c3)][_0x13081a(0x3dc)],'payload':_0x2b67f4[_0x13081a(0x245)](_0x2e17c1)}},_0x5d9608=[{'id':_0x2b67f4['UpdateDataValidationMutation']['id'],'params':_0x2ad41f}];return _0x38fdd6[_0x13081a(0x292)]({'unitID':_0x287083,'redoMutations':_0xbafe0,'undoMutations':_0x5d9608}),_0x259b94['executeCommand'](_0x2b67f4[_0x13081a(0x3a8)]['id'],_0x402922),!0x0;}},_0x1e7c45={'type':_0x36392d[_0x42f095(0x386)][_0x42f095(0x240)],'id':'sheets.command.clear-range-data-validation','handler'(_0x17eb81,_0x43ba49){const _0x360779=_0x42f095;if(!_0x43ba49)return!0x1;const {unitId:_0x42064f,subUnitId:_0x490ebb,ranges:_0x4c1469}=_0x43ba49,_0x577dee=_0x17eb81[_0x360779(0x1fd)](_0x36392d[_0x360779(0x339)]),_0x1c08ab=_0x17eb81[_0x360779(0x1fd)](_0x36392d[_0x360779(0x2c6)]),_0x21b9c1=_0x3d419a[_0x360779(0x2a7)](_0x1c08ab,{'unitId':_0x42064f,'subUnitId':_0x490ebb}),_0x4c0c7e=_0x17eb81[_0x360779(0x1fd)](_0x2812de[_0x360779(0x1bb)]);if(!_0x21b9c1)return!0x1;const _0x90b733=_0x17eb81[_0x360779(0x1fd)](_0x36392d[_0x360779(0x31a)]),_0x47de37=_0x4c0c7e[_0x360779(0x3e2)](_0x42064f,_0x490ebb)[_0x360779(0x2e2)]();_0x47de37['removeRange'](_0x4c1469);const _0x197b21=_0x47de37['diff'](_0x4c0c7e[_0x360779(0x33d)](_0x42064f,_0x490ebb)),{redoMutations:_0x4d228f,undoMutations:_0x2ca4cb}=_0x22234a(_0x42064f,_0x490ebb,_0x197b21,_0x17eb81);return _0x90b733[_0x360779(0x292)]({'unitID':_0x42064f,'redoMutations':_0x4d228f,'undoMutations':_0x2ca4cb}),_0x36392d[_0x360779(0x21b)](_0x4d228f,_0x577dee)[_0x360779(0x2e6)];}},_0x2a552c={'type':_0x36392d[_0x42f095(0x386)][_0x42f095(0x240)],'id':_0x42f095(0x2a9),'handler'(_0x531c78,_0x14b8d6){const _0x1a0dcf=_0x42f095;if(!_0x14b8d6)return!0x1;const {unitId:_0x4dc2b0,subUnitId:_0x3fd777}=_0x14b8d6,_0x4799d6=_0x531c78[_0x1a0dcf(0x1fd)](_0x36392d['ICommandService']),_0x31213b=_0x531c78[_0x1a0dcf(0x1fd)](_0x2812de[_0x1a0dcf(0x1bb)]),_0x341c55=_0x531c78[_0x1a0dcf(0x1fd)](_0x36392d[_0x1a0dcf(0x31a)]),_0x5d2a31=[..._0x31213b[_0x1a0dcf(0x33d)](_0x4dc2b0,_0x3fd777)],_0x356a35={'unitId':_0x4dc2b0,'subUnitId':_0x3fd777,'ruleId':_0x5d2a31[_0x1a0dcf(0x2c3)](_0x137dcb=>_0x137dcb[_0x1a0dcf(0x2d6)])},_0x3a3f75=[{'id':_0x2b67f4[_0x1a0dcf(0x396)]['id'],'params':_0x356a35}],_0x998141=[{'id':_0x2b67f4[_0x1a0dcf(0x203)]['id'],'params':{'unitId':_0x4dc2b0,'subUnitId':_0x3fd777,'rule':_0x5d2a31}}];return _0x341c55['pushUndoRedo']({'redoMutations':_0x3a3f75,'undoMutations':_0x998141,'unitID':_0x4dc2b0}),_0x4799d6[_0x1a0dcf(0x1e6)](_0x2b67f4[_0x1a0dcf(0x396)]['id'],_0x356a35),!0x0;}},_0x34bdf9=_0x2019d3((_0x4447ce,_0x582bc7)=>{const _0x247c15=_0x42f095,_0x322c09=_0x4447ce[_0x247c15(0x1fd)](_0x2812de[_0x247c15(0x1bb)]),{unitId:_0x235d3f,subUnitId:_0x3f51ef,ruleId:_0x2595a0,source:_0x21a73d}=_0x582bc7;if(Array[_0x247c15(0x24c)](_0x2595a0)){const _0x6472a0=_0x2595a0[_0x247c15(0x2c3)](_0x410c26=>_0x322c09[_0x247c15(0x3d3)](_0x235d3f,_0x3f51ef,_0x410c26))[_0x247c15(0x1f4)](Boolean);return[{'id':_0x2b67f4[_0x247c15(0x203)]['id'],'params':{'unitId':_0x235d3f,'subUnitId':_0x3f51ef,'rule':_0x6472a0,'source':_0x21a73d}}];}return[{'id':_0x2b67f4[_0x247c15(0x203)]['id'],'params':{'unitId':_0x235d3f,'subUnitId':_0x3f51ef,'rule':{..._0x322c09[_0x247c15(0x3d3)](_0x235d3f,_0x3f51ef,_0x2595a0)},'index':_0x322c09[_0x247c15(0x330)](_0x235d3f,_0x3f51ef,_0x2595a0)}}];},_0x42f095(0x379)),_0x1b2653={'type':_0x36392d[_0x42f095(0x386)]['COMMAND'],'id':_0x42f095(0x38a),'handler'(_0x3cec7e,_0x57cdcf){const _0x58e52f=_0x42f095;if(!_0x57cdcf)return!0x1;const {unitId:_0x1d4f2e,subUnitId:_0x55c620,ruleId:_0x5ce69f}=_0x57cdcf,_0x18a0b7=_0x3cec7e[_0x58e52f(0x1fd)](_0x36392d[_0x58e52f(0x339)]),_0x21f830=_0x3cec7e['get'](_0x36392d[_0x58e52f(0x31a)]),_0x4c5a86=_0x3cec7e['get'](_0x2812de[_0x58e52f(0x1bb)]),_0x16ae60=[{'id':_0x2b67f4[_0x58e52f(0x396)]['id'],'params':_0x57cdcf}],_0x2ad60b=[{'id':_0x2b67f4[_0x58e52f(0x203)]['id'],'params':{'unitId':_0x1d4f2e,'subUnitId':_0x55c620,'rule':{..._0x4c5a86[_0x58e52f(0x3d3)](_0x1d4f2e,_0x55c620,_0x5ce69f)},'index':_0x4c5a86[_0x58e52f(0x330)](_0x1d4f2e,_0x55c620,_0x5ce69f)}}];return _0x21f830[_0x58e52f(0x292)]({'undoMutations':_0x2ad60b,'redoMutations':_0x16ae60,'unitID':_0x57cdcf['unitId']}),_0x18a0b7['executeCommand'](_0x2b67f4[_0x58e52f(0x396)]['id'],_0x57cdcf),!0x0;}};function _0x31b065(_0x3a3650){const _0xfb8624=_0x42f095;return!_0x5dfce5[_0xfb8624(0x295)][_0xfb8624(0x319)](_0x3a3650);}_0x2019d3(_0x31b065,'isLegalFormulaResult');const _0x59eef9=class _0x1fd668 extends _0x2b67f4[_0x42f095(0x3e3)]{constructor(){const _0x1a3052=_0x42f095;super(...arguments),_0x4f5171(this,'id',_0x36392d[_0x1a3052(0x359)]['CUSTOM']),_0x4f5171(this,_0x1a3052(0x291),'dataValidation.custom.title'),_0x4f5171(this,_0x1a3052(0x221),[]),_0x4f5171(this,_0x1a3052(0x3e7),[_0x1a3052(0x32a)]),_0x4f5171(this,'_customFormulaService',this[_0x1a3052(0x29a)][_0x1a3052(0x1fd)](_0x2812de['DataValidationCustomFormulaService']));}['validatorFormula'](_0x3fa432,_0x129a47,_0x111fcc){const _0x129a9e=_0x42f095,_0x29f6cf=_0x36392d[_0x129a9e(0x2b5)](_0x3fa432[_0x129a9e(0x399)]);return{'success':_0x29f6cf,'formula1':_0x29f6cf?'':this[_0x129a9e(0x277)]['t'](_0x129a9e(0x34b))};}async[_0x42f095(0x300)](_0x311e8b,_0x1ba551,_0x137d17){return{'formula1':void 0x0,'formula2':void 0x0};}async[_0x42f095(0x314)](_0x2d818d,_0x601037,_0x4287bc){const _0xb8edd0=_0x42f095,{column:_0x52323b,row:_0x226e4a,unitId:_0x2d81d2,subUnitId:_0x2ee723}=_0x2d818d,_0x15c004=await this[_0xb8edd0(0x2b9)][_0xb8edd0(0x242)](_0x2d81d2,_0x2ee723,_0x226e4a,_0x52323b),_0x30dc75=_0x358e89(_0x15c004==null?void 0x0:_0x15c004[_0xb8edd0(0x2e6)]),_0x5a9ff4=_0x30dc75==null?void 0x0:_0x30dc75['v'];return _0x36392d[_0xb8edd0(0x2b8)][_0xb8edd0(0x30b)](_0x5a9ff4)&&_0x5a9ff4!==''?_0x30dc75['t']===_0x36392d[_0xb8edd0(0x2ff)]['BOOLEAN']?!!_0x5a9ff4:typeof _0x5a9ff4==_0xb8edd0(0x3e1)?_0x5a9ff4:typeof _0x5a9ff4==_0xb8edd0(0x39f)?!!_0x5a9ff4:typeof _0x5a9ff4=='string'?_0x31b065(_0x5a9ff4):!!_0x5a9ff4:!0x1;}['generateRuleErrorMessage'](_0x4093da){const _0x50a47c=_0x42f095;return this[_0x50a47c(0x277)]['t'](_0x50a47c(0x304));}};_0x2019d3(_0x59eef9,_0x42f095(0x1df));let _0x29fe7d=_0x59eef9;const _0x456d33=class _0x117de0 extends _0x40699a{constructor(){const _0x5b0cc9=_0x42f095;super(...arguments),_0x4f5171(this,'id',_0x36392d[_0x5b0cc9(0x359)]['LIST_MULTIPLE']),_0x4f5171(this,_0x5b0cc9(0x291),'dataValidation.listMultiple.title'),_0x4f5171(this,_0x5b0cc9(0x32e),_0x2019d3(()=>!0x0,_0x5b0cc9(0x32e)));}};_0x2019d3(_0x456d33,_0x42f095(0x365));let _0xde4bfc=_0x456d33;const _0x3247fc=class _0x1628d5 extends _0x2b67f4['BaseDataValidator']{constructor(){const _0x2a3417=_0x42f095;super(...arguments),_0x4f5171(this,_0x2a3417(0x1db),this[_0x2a3417(0x29a)]['get'](_0x2812de[_0x2a3417(0x336)])),_0x4f5171(this,'id',_0x36392d[_0x2a3417(0x359)][_0x2a3417(0x22a)]),_0x4f5171(this,_0x2a3417(0x291),_0x2a3417(0x256)),_0x4f5171(this,_0x2a3417(0x221),[_0x36392d['DataValidationOperator'][_0x2a3417(0x3b3)],_0x36392d[_0x2a3417(0x37b)][_0x2a3417(0x2be)],_0x36392d[_0x2a3417(0x37b)]['GREATER_THAN'],_0x36392d[_0x2a3417(0x37b)]['GREATER_THAN_OR_EQUAL'],_0x36392d[_0x2a3417(0x37b)][_0x2a3417(0x316)],_0x36392d[_0x2a3417(0x37b)]['LESS_THAN_OR_EQUAL'],_0x36392d[_0x2a3417(0x37b)]['NOT_BETWEEN'],_0x36392d[_0x2a3417(0x37b)][_0x2a3417(0x27c)]]),_0x4f5171(this,_0x2a3417(0x3e7),['sheet']);}[_0x42f095(0x250)](_0x22d986){const _0x1625f1=_0x42f095;return!_0x36392d[_0x1625f1(0x2b8)][_0x1625f1(0x3cb)](_0x22d986)&&(_0x36392d['isFormulaString'](_0x22d986)||!Number[_0x1625f1(0x392)](+_0x22d986)&&Number[_0x1625f1(0x3a2)](+_0x22d986));}async[_0x42f095(0x314)](_0x367d53,_0x1eb751,_0x3117ad){const _0x413239=_0x42f095,{value:_0x2ede7f}=_0x367d53,_0x3790a7=_0x4bc031(_0x2ede7f);return!Number['isNaN'](_0x3790a7)&&Number[_0x413239(0x3a2)](_0x3790a7);}[_0x42f095(0x2ad)](_0x237d7a,_0x2b6a94,_0x33f10c){const {value:_0x2aaf4a}=_0x237d7a;return{..._0x237d7a,'value':_0x4bc031(_0x2aaf4a)};}[_0x42f095(0x3aa)](_0x619cb6){return _0x619cb6==null?Number['NaN']:+_0x619cb6;}async[_0x42f095(0x300)](_0x562ab7,_0x401acf,_0x56b353){const _0x505988=_0x42f095;var _0x1cefef,_0x2883d6,_0x420b60,_0x38a66d,_0x43470a,_0x261f94,_0x4b9dbe,_0x4b09cf;const _0x434593=await this[_0x505988(0x1db)][_0x505988(0x33a)](_0x401acf,_0x56b353,_0x562ab7[_0x505988(0x2d6)]),{formula1:_0x387c7e,formula2:_0x29aa9a}=_0x562ab7;return{'formula1':this[_0x505988(0x3aa)](_0x36392d[_0x505988(0x2b5)](_0x387c7e)?(_0x38a66d=(_0x420b60=(_0x2883d6=(_0x1cefef=_0x434593==null?void 0x0:_0x434593[0x0])==null?void 0x0:_0x1cefef['result'])==null?void 0x0:_0x2883d6[0x0])==null?void 0x0:_0x420b60[0x0])==null?void 0x0:_0x38a66d['v']:_0x387c7e),'formula2':this[_0x505988(0x3aa)](_0x36392d[_0x505988(0x2b5)](_0x29aa9a)?(_0x4b09cf=(_0x4b9dbe=(_0x261f94=(_0x43470a=_0x434593==null?void 0x0:_0x434593[0x1])==null?void 0x0:_0x43470a[_0x505988(0x2e6)])==null?void 0x0:_0x261f94[0x0])==null?void 0x0:_0x4b9dbe[0x0])==null?void 0x0:_0x4b09cf['v']:_0x29aa9a)};}['validatorFormula'](_0x532aac,_0x35c828,_0x30c736){const _0x40e6c7=_0x42f095,_0x39b9a2=_0x532aac[_0x40e6c7(0x2fe)];if(!_0x39b9a2)return{'success':!0x1};const _0x100c51=_0x36392d[_0x40e6c7(0x2b8)][_0x40e6c7(0x30b)](_0x532aac[_0x40e6c7(0x399)])&&this[_0x40e6c7(0x250)](_0x532aac[_0x40e6c7(0x399)]),_0x30b8b4=_0x36392d[_0x40e6c7(0x2b8)][_0x40e6c7(0x30b)](_0x532aac['formula2'])&&this['_isFormulaOrInt'](_0x532aac[_0x40e6c7(0x2e4)]),_0x1c6036=_0x4cee6b[_0x40e6c7(0x289)](_0x39b9a2),_0x3e27e7=this[_0x40e6c7(0x277)]['t']('dataValidation.validFail.number');return _0x1c6036?{'success':_0x100c51&&_0x30b8b4,'formula1':_0x100c51?void 0x0:_0x3e27e7,'formula2':_0x30b8b4?void 0x0:_0x3e27e7}:{'success':_0x100c51,'formula1':_0x3e27e7};}async[_0x42f095(0x235)](_0x11c78a,_0x375ff1,_0x768911){const _0x9ac4c6=_0x42f095,{formula1:_0x276952}=_0x375ff1,{value:_0x41935d}=_0x11c78a;return Number[_0x9ac4c6(0x392)](_0x276952)?!0x0:_0x41935d===_0x276952;}async[_0x42f095(0x205)](_0x2debfd,_0x57ac54,_0x52733f){const _0x2f9e1a=_0x42f095,{formula1:_0x246208}=_0x57ac54;return Number[_0x2f9e1a(0x392)](_0x246208)?!0x0:_0x2debfd[_0x2f9e1a(0x1c7)]!==_0x246208;}async[_0x42f095(0x30c)](_0x41852c,_0x360c75,_0x4f8f88){const _0x152c76=_0x42f095,{formula1:_0x38f404,formula2:_0x1984d8}=_0x360c75;if(Number[_0x152c76(0x392)](_0x38f404)||Number[_0x152c76(0x392)](_0x1984d8))return!0x0;const _0x5e1335=Math[_0x152c76(0x1eb)](_0x38f404,_0x1984d8),_0x232ff5=Math[_0x152c76(0x1b2)](_0x38f404,_0x1984d8);return _0x41852c[_0x152c76(0x1c7)]>=_0x5e1335&&_0x41852c[_0x152c76(0x1c7)]<=_0x232ff5;}async[_0x42f095(0x25b)](_0x22fdd6,_0x507da3,_0x44fdbd){const _0x1daf8a=_0x42f095,{formula1:_0xc02722,formula2:_0x1759be}=_0x507da3;if(Number[_0x1daf8a(0x392)](_0xc02722)||Number[_0x1daf8a(0x392)](_0x1759be))return!0x0;const _0x4209f6=Math[_0x1daf8a(0x1eb)](_0xc02722,_0x1759be),_0x1e9007=Math[_0x1daf8a(0x1b2)](_0xc02722,_0x1759be);return _0x22fdd6[_0x1daf8a(0x1c7)]<_0x4209f6||_0x22fdd6[_0x1daf8a(0x1c7)]>_0x1e9007;}async[_0x42f095(0x1c2)](_0x5ebffa,_0x48a2ee,_0x310f8d){const _0x53d45f=_0x42f095,{formula1:_0x1ee1d9}=_0x48a2ee;return Number['isNaN'](_0x1ee1d9)?!0x0:_0x5ebffa[_0x53d45f(0x1c7)]>_0x1ee1d9;}async[_0x42f095(0x211)](_0x34705b,_0x13401d,_0x13154f){const _0x2d5b6a=_0x42f095,{formula1:_0x5dd1b5}=_0x13401d;return Number[_0x2d5b6a(0x392)](_0x5dd1b5)?!0x0:_0x34705b[_0x2d5b6a(0x1c7)]>=_0x5dd1b5;}async[_0x42f095(0x1d4)](_0xf32f50,_0x7b1850,_0x75710e){const _0x281b10=_0x42f095,{formula1:_0x177934}=_0x7b1850;return Number['isNaN'](_0x177934)?!0x0:_0xf32f50[_0x281b10(0x1c7)]<_0x177934;}async[_0x42f095(0x367)](_0x4718a1,_0x443223,_0x21613c){const _0x493e94=_0x42f095,{formula1:_0x5cd5a3}=_0x443223;return Number[_0x493e94(0x392)](_0x5cd5a3)?!0x0:_0x4718a1[_0x493e94(0x1c7)]<=_0x5cd5a3;}};_0x2019d3(_0x3247fc,_0x42f095(0x310));let _0x3671bf=_0x3247fc;var _0x4ab5c1=Object[_0x42f095(0x37f)],_0x4f1a89=Object['getOwnPropertyDescriptor'],_0x1a2730=_0x2019d3((_0x417cbb,_0x56ecbf,_0x4d3cf7,_0x92f221)=>{const _0x17e407=_0x42f095;for(var _0x300f91=_0x92f221>0x1?void 0x0:_0x92f221?_0x4f1a89(_0x56ecbf,_0x4d3cf7):_0x56ecbf,_0x2b7d92=_0x417cbb[_0x17e407(0x2a8)]-0x1,_0x2c964c;_0x2b7d92>=0x0;_0x2b7d92--)(_0x2c964c=_0x417cbb[_0x2b7d92])&&(_0x300f91=(_0x92f221?_0x2c964c(_0x56ecbf,_0x4d3cf7,_0x300f91):_0x2c964c(_0x300f91))||_0x300f91);return _0x92f221&&_0x300f91&&_0x4ab5c1(_0x56ecbf,_0x4d3cf7,_0x300f91),_0x300f91;},_0x42f095(0x2b7)),_0x57c644=_0x2019d3((_0x15ea3c,_0x5b8d2)=>(_0x575711,_0x14482d)=>_0x5b8d2(_0x575711,_0x14482d,_0x15ea3c),'__decorateParam$5');let _0x5eceff=(_0x642081=class extends _0x36392d['RxDisposable']{constructor(_0x17dc1f,_0xe322b4,_0x1939f9,_0x11dd0a,_0x2de816,_0x3bb092){const _0x27d2a0=_0x42f095;super(),this[_0x27d2a0(0x22d)]=_0x17dc1f,this[_0x27d2a0(0x36e)]=_0xe322b4,this[_0x27d2a0(0x306)]=_0x1939f9,this[_0x27d2a0(0x344)]=_0x11dd0a,this[_0x27d2a0(0x2f6)]=_0x2de816,this[_0x27d2a0(0x28b)]=_0x3bb092,this[_0x27d2a0(0x3d6)]();}[_0x42f095(0x3d6)](){const _0x49e6d5=_0x42f095;this[_0x49e6d5(0x33f)](),this[_0x49e6d5(0x2b3)]();}[_0x42f095(0x33f)](){[_0x29ba61,_0x3671bf,_0x3901e0,_0x4223cb,_0x2fa0c9,_0x40699a,_0xde4bfc,_0x29fe7d]['forEach'](_0x41567b=>{const _0x357dd1=_0x56ed,_0x5d0c3e=this[_0x357dd1(0x306)][_0x357dd1(0x3db)](_0x41567b);this['disposeWithMe'](this[_0x357dd1(0x36e)]['register'](_0x5d0c3e)),this['disposeWithMe'](_0x36392d[_0x357dd1(0x2e7)](()=>this['_injector'][_0x357dd1(0x3f8)](_0x41567b)));});}[_0x42f095(0x2b3)](){const _0x2edada=_0x42f095;this[_0x2edada(0x2f6)][_0x2edada(0x312)]({'getMutations':_0x2019d3(_0x8df9b3=>{const _0x2f73ac=_0x2edada;var _0x5c7295;if(_0x8df9b3['id']===_0x3d419a[_0x2f73ac(0x248)]['id']){const _0x4a5127=this[_0x2f73ac(0x22d)][_0x2f73ac(0x375)](_0x36392d['UniverInstanceType'][_0x2f73ac(0x26d)]),_0x3a5a16=_0x4a5127['getUnitId'](),_0x150988=_0x4a5127[_0x2f73ac(0x26c)]();if(!_0x150988)throw new Error(_0x2f73ac(0x252));const _0xbb3362=_0x150988[_0x2f73ac(0x27b)](),_0x2da22a=(_0x5c7295=this[_0x2f73ac(0x344)][_0x2f73ac(0x378)]())==null?void 0x0:_0x5c7295[_0x2f73ac(0x2c3)](_0x572521=>_0x572521[_0x2f73ac(0x251)]),_0x20cfcf=this['_sheetDataValidationModel']['getRuleObjectMatrix'](_0x3a5a16,_0xbb3362)[_0x2f73ac(0x2e2)]();_0x2da22a&&_0x20cfcf[_0x2f73ac(0x1d2)](_0x2da22a);const _0x402775=_0x20cfcf[_0x2f73ac(0x2b0)](this[_0x2f73ac(0x28b)][_0x2f73ac(0x33d)](_0x3a5a16,_0xbb3362)),{redoMutations:_0xb23f04,undoMutations:_0xb13566}=_0x22234a(_0x3a5a16,_0xbb3362,_0x402775,this[_0x2f73ac(0x306)],_0x2f73ac(0x232));return{'undos':_0xb13566,'redos':_0xb23f04};}return{'undos':[],'redos':[]};},_0x2edada(0x26a))});}},_0x2019d3(_0x642081,_0x42f095(0x294)),_0x642081);_0x5eceff=_0x1a2730([_0x57c644(0x0,_0x36392d[_0x42f095(0x2c6)]),_0x57c644(0x1,_0x36392d[_0x42f095(0x293)](_0x2b67f4[_0x42f095(0x296)])),_0x57c644(0x2,_0x36392d['Inject'](_0x36392d['Injector'])),_0x57c644(0x3,_0x36392d[_0x42f095(0x293)](_0x3d419a[_0x42f095(0x38d)])),_0x57c644(0x4,_0x36392d[_0x42f095(0x293)](_0x3d419a['SheetInterceptorService'])),_0x57c644(0x5,_0x36392d['Inject'](_0x2812de[_0x42f095(0x1bb)]))],_0x5eceff);var _0x483979=(_0xa9578c=>(_0xa9578c[_0xa9578c[_0x42f095(0x1f9)]=0x0]='View',_0xa9578c[_0xa9578c['Edit']=0x1]='Edit',_0xa9578c[_0xa9578c[_0x42f095(0x317)]=0x2]='ManageCollaborator',_0xa9578c[_0xa9578c[_0x42f095(0x2d3)]=0x3]='Print',_0xa9578c[_0xa9578c['Duplicate']=0x4]='Duplicate',_0xa9578c[_0xa9578c[_0x42f095(0x3fa)]=0x5]=_0x42f095(0x3fa),_0xa9578c[_0xa9578c[_0x42f095(0x29d)]=0x6]=_0x42f095(0x29d),_0xa9578c[_0xa9578c[_0x42f095(0x1a5)]=0x7]=_0x42f095(0x1a5),_0xa9578c[_0xa9578c['Export']=0x8]=_0x42f095(0x370),_0xa9578c[_0xa9578c[_0x42f095(0x363)]=0x9]=_0x42f095(0x363),_0xa9578c[_0xa9578c[_0x42f095(0x2e1)]=0xa]=_0x42f095(0x2e1),_0xa9578c[_0xa9578c['HideWorksheet']=0xb]='HideWorksheet',_0xa9578c[_0xa9578c[_0x42f095(0x266)]=0xc]='RenameWorksheet',_0xa9578c[_0xa9578c['CreateWorksheet']=0xd]='CreateWorksheet',_0xa9578c[_0xa9578c['SetWorksheetStyle']=0xe]=_0x42f095(0x1a8),_0xa9578c[_0xa9578c[_0x42f095(0x1ea)]=0xf]=_0x42f095(0x1ea),_0xa9578c[_0xa9578c['InsertHyperlink']=0x10]=_0x42f095(0x1a7),_0xa9578c[_0xa9578c[_0x42f095(0x1ef)]=0x11]='Sort',_0xa9578c[_0xa9578c[_0x42f095(0x262)]=0x12]=_0x42f095(0x262),_0xa9578c[_0xa9578c[_0x42f095(0x3e6)]=0x13]=_0x42f095(0x3e6),_0xa9578c[_0xa9578c[_0x42f095(0x34f)]=0x14]=_0x42f095(0x34f),_0xa9578c[_0xa9578c[_0x42f095(0x2a2)]=0x15]=_0x42f095(0x2a2),_0xa9578c[_0xa9578c['RwHgtClWdt']=0x16]=_0x42f095(0x272),_0xa9578c[_0xa9578c[_0x42f095(0x2ce)]=0x17]=_0x42f095(0x2ce),_0xa9578c[_0xa9578c[_0x42f095(0x2c8)]=0x18]=_0x42f095(0x2c8),_0xa9578c[_0xa9578c[_0x42f095(0x257)]=0x19]=_0x42f095(0x257),_0xa9578c[_0xa9578c['DeleteSheet']=0x1a]=_0x42f095(0x30a),_0xa9578c[_0xa9578c['HideSheet']=0x1b]=_0x42f095(0x3be),_0xa9578c[_0xa9578c['CopySheet']=0x1c]=_0x42f095(0x32b),_0xa9578c[_0xa9578c[_0x42f095(0x322)]=0x1d]=_0x42f095(0x322),_0xa9578c[_0xa9578c[_0x42f095(0x3f0)]=0x1e]='CreateSheet',_0xa9578c[_0xa9578c[_0x42f095(0x21a)]=0x1f]=_0x42f095(0x21a),_0xa9578c[_0xa9578c[_0x42f095(0x395)]=0x20]=_0x42f095(0x395),_0xa9578c[_0xa9578c[_0x42f095(0x1ae)]=0x21]=_0x42f095(0x1ae),_0xa9578c[_0xa9578c['SetCellValue']=0x22]=_0x42f095(0x27d),_0xa9578c[_0xa9578c[_0x42f095(0x331)]=0x23]=_0x42f095(0x331),_0xa9578c[_0xa9578c['SetColumnStyle']=0x24]=_0x42f095(0x1bf),_0xa9578c[_0xa9578c[_0x42f095(0x347)]=0x25]=_0x42f095(0x347),_0xa9578c[_0xa9578c[_0x42f095(0x2c5)]=0x26]=_0x42f095(0x2c5),_0xa9578c[_0xa9578c[_0x42f095(0x3c9)]=0x27]=_0x42f095(0x3c9),_0xa9578c[_0xa9578c[_0x42f095(0x1ad)]=0x28]='DeleteColumn',_0xa9578c[_0xa9578c[_0x42f095(0x284)]=0x29]='EditExtraObject',_0xa9578c[_0xa9578c['Delete']=0x2a]=_0x42f095(0x278),_0xa9578c[_0xa9578c[_0x42f095(0x341)]=0x2b]='RecoverHistory',_0xa9578c[_0xa9578c[_0x42f095(0x3b4)]=0x2c]=_0x42f095(0x3b4),_0xa9578c[_0xa9578c[_0x42f095(0x20d)]=-0x1]=_0x42f095(0x20d),_0xa9578c))(_0x483979||{}),_0x4cfa48=Object['defineProperty'],_0x4ce6c6=Object['getOwnPropertyDescriptor'],_0x4d350c=_0x2019d3((_0x2a0088,_0x18ef79,_0x2ea448,_0x3149ec)=>{const _0xa80f85=_0x42f095;for(var _0x138532=_0x3149ec>0x1?void 0x0:_0x3149ec?_0x4ce6c6(_0x18ef79,_0x2ea448):_0x18ef79,_0x123471=_0x2a0088[_0xa80f85(0x2a8)]-0x1,_0x4f9c8e;_0x123471>=0x0;_0x123471--)(_0x4f9c8e=_0x2a0088[_0x123471])&&(_0x138532=(_0x3149ec?_0x4f9c8e(_0x18ef79,_0x2ea448,_0x138532):_0x4f9c8e(_0x138532))||_0x138532);return _0x3149ec&&_0x138532&&_0x4cfa48(_0x18ef79,_0x2ea448,_0x138532),_0x138532;},'__decorateClass$4'),_0x56703b=_0x2019d3((_0x1dc2c9,_0x3debd6)=>(_0x2830f6,_0x4d6fbe)=>_0x3debd6(_0x2830f6,_0x4d6fbe,_0x1dc2c9),'__decorateParam$4');_0x2812de[_0x42f095(0x35b)]=(_0x102ffe=class extends _0x36392d['Disposable']{constructor(_0x37efb7,_0x467a38,_0xe617d){const _0x376b81=_0x42f095;super(),this[_0x376b81(0x22d)]=_0x37efb7,this['_permissionService']=_0x467a38,this[_0x376b81(0x391)]=_0xe617d;}['getFormulaRefCheck'](_0x22148b){const _0x4048ad=_0x42f095;var _0x3d7233,_0x19366f;const _0x3d34cf=this[_0x4048ad(0x391)][_0x4048ad(0x24a)](_0x22148b);if(!_0x3d34cf)return!0x0;for(let _0x39fedf=0x0;_0x39fedf<_0x3d34cf[_0x4048ad(0x2a8)];_0x39fedf++){const _0x141cbb=_0x3d34cf[_0x39fedf];if(typeof _0x141cbb==_0x4048ad(0x34a))continue;const {token:_0x340961}=_0x141cbb,_0x5de188=_0x5dfce5['deserializeRangeWithSheet'](_0x340961),_0x2e2132=this[_0x4048ad(0x22d)][_0x4048ad(0x375)](_0x36392d[_0x4048ad(0x1ee)][_0x4048ad(0x26d)]);let _0x39e459=_0x2e2132[_0x4048ad(0x26c)]();const _0x481226=_0x2e2132[_0x4048ad(0x3bf)]();if(_0x5de188[_0x4048ad(0x32d)]){if(_0x39e459=_0x2e2132[_0x4048ad(0x219)](_0x5de188[_0x4048ad(0x32d)]),!_0x39e459)return!0x1;const _0x5414d4=_0x39e459==null?void 0x0:_0x39e459[_0x4048ad(0x27b)]();if(!this[_0x4048ad(0x33c)][_0x4048ad(0x249)](new _0x3d419a[(_0x4048ad(0x1d6))](_0x481226,_0x5414d4)['id']))return!0x1;}if(!_0x39e459)return!0x1;const {startRow:_0x2aa8c0,endRow:_0x11937a,startColumn:_0xe6edf,endColumn:_0x219d16}=_0x5de188[_0x4048ad(0x251)];for(let _0x369257=_0x2aa8c0;_0x369257<=_0x11937a;_0x369257++)for(let _0x2bf995=_0xe6edf;_0x2bf995<=_0x219d16;_0x2bf995++){const _0x6f9185=(_0x19366f=(_0x3d7233=_0x39e459['getCell'](_0x369257,_0x2bf995))==null?void 0x0:_0x3d7233[_0x4048ad(0x37d)])==null?void 0x0:_0x19366f[0x0];if((_0x6f9185==null?void 0x0:_0x6f9185[_0x483979[_0x4048ad(0x1f9)]])===!0x1)return!0x1;}}return!0x0;}},_0x2019d3(_0x102ffe,_0x42f095(0x35b)),_0x102ffe),_0x2812de['DataValidationFormulaController']=_0x4d350c([_0x56703b(0x0,_0x36392d[_0x42f095(0x2c6)]),_0x56703b(0x1,_0x36392d[_0x42f095(0x207)]),_0x56703b(0x2,_0x36392d['Inject'](_0x5dfce5[_0x42f095(0x337)]))],_0x2812de['DataValidationFormulaController']);var _0x3b7f0d=Object[_0x42f095(0x37f)],_0x3e21df=Object[_0x42f095(0x2fb)],_0x49761d=_0x2019d3((_0x25fca4,_0xa57500,_0x3b6894,_0x356626)=>{const _0xc53a0f=_0x42f095;for(var _0x17cad1=_0x356626>0x1?void 0x0:_0x356626?_0x3e21df(_0xa57500,_0x3b6894):_0xa57500,_0x153280=_0x25fca4[_0xc53a0f(0x2a8)]-0x1,_0x107d63;_0x153280>=0x0;_0x153280--)(_0x107d63=_0x25fca4[_0x153280])&&(_0x17cad1=(_0x356626?_0x107d63(_0xa57500,_0x3b6894,_0x17cad1):_0x107d63(_0x17cad1))||_0x17cad1);return _0x356626&&_0x17cad1&&_0x3b7f0d(_0xa57500,_0x3b6894,_0x17cad1),_0x17cad1;},_0x42f095(0x371)),_0x5ad22f=_0x2019d3((_0x2eda20,_0x2dc86b)=>(_0xc9d49,_0x507f58)=>_0x2dc86b(_0xc9d49,_0x507f58,_0x2eda20),_0x42f095(0x23a));let _0x4ebf59=(_0x16b9c4=class extends _0x36392d[_0x42f095(0x268)]{constructor(_0x31abea,_0x29a9ff,_0x2ec311,_0x239aaf,_0x36ce82,_0x5f3f3b){const _0x23dcdf=_0x42f095;super(),_0x4f5171(this,_0x23dcdf(0x37c),new Map()),_0x4f5171(this,_0x23dcdf(0x25f),_0x2019d3((_0x1ed281,_0x2dc370,_0x3e33d4)=>{const _0x6850da=_0x23dcdf;this[_0x6850da(0x3bc)](_0x1ed281,_0x2dc370,_0x3e33d4),this['registerFormula'](_0x1ed281,_0x2dc370,_0x3e33d4);},_0x23dcdf(0x25f))),(this['_dataValidationModel']=_0x31abea,this['_injector']=_0x29a9ff,this[_0x23dcdf(0x357)]=_0x2ec311,this['_dataValidationCustomFormulaService']=_0x239aaf,this[_0x23dcdf(0x3d7)]=_0x36ce82,this[_0x23dcdf(0x1d1)]=_0x5f3f3b,this['_initRefRange']());}[_0x42f095(0x28e)](_0x3c056e,_0x1ef6d6,_0x2a62a0){return _0x3c056e+'_'+_0x1ef6d6+'_'+_0x2a62a0;}[_0x42f095(0x3d5)](_0x58e2d5,_0x55251e,_0x4d2454){const _0x130d40=_0x42f095;var _0x5878dc;const _0x11d70d=_0x4d2454['uid'],_0x4be36b=this[_0x130d40(0x28e)](_0x58e2d5,_0x55251e,_0x11d70d),_0x4513e3=(_0x5878dc=this['_disposableMap'][_0x130d40(0x1fd)](_0x4be36b))!=null?_0x5878dc:new Set(),_0x741e4=_0x2019d3((_0x93bd22,_0x5b8be7)=>{const _0x58025e=_0x130d40,_0x3066ce=this[_0x58025e(0x390)][_0x58025e(0x3d3)](_0x58e2d5,_0x55251e,_0x11d70d);if(!_0x3066ce)return{'redos':[],'undos':[]};const _0x50c80b=_0x3066ce[_0x93bd22];if(!_0x50c80b||_0x50c80b===_0x5b8be7)return{'redos':[],'undos':[]};const _0xde7da8={'unitId':_0x58e2d5,'subUnitId':_0x55251e,'ruleId':_0x4d2454[_0x58025e(0x2d6)],'payload':{'type':_0x2b67f4[_0x58025e(0x3c3)]['SETTING'],'payload':{'type':_0x3066ce['type'],'formula1':_0x3066ce[_0x58025e(0x399)],'formula2':_0x3066ce['formula2'],[_0x93bd22]:_0x5b8be7}}},_0x5f54fc={'unitId':_0x58e2d5,'subUnitId':_0x55251e,'ruleId':_0x4d2454['uid'],'payload':{'type':_0x2b67f4[_0x58025e(0x3c3)][_0x58025e(0x1e8)],'payload':{'type':_0x3066ce['type'],'formula1':_0x3066ce[_0x58025e(0x399)],'formula2':_0x3066ce[_0x58025e(0x2e4)]}}},_0x26d8ac=[{'id':_0x2b67f4[_0x58025e(0x3a8)]['id'],'params':_0xde7da8}],_0x50e36b=[{'id':_0x2b67f4[_0x58025e(0x3a8)]['id'],'params':_0x5f54fc}];return{'redos':_0x26d8ac,'undos':_0x50e36b};},_0x130d40(0x276));if(_0x4d2454[_0x130d40(0x3f2)]===_0x36392d[_0x130d40(0x359)][_0x130d40(0x2d1)]){const _0x2bde8d=this['_dataValidationCustomFormulaService']['getRuleFormulaInfo'](_0x58e2d5,_0x55251e,_0x11d70d);if(_0x2bde8d){const _0x3dfe75=this[_0x130d40(0x1d1)][_0x130d40(0x3d5)](_0x2bde8d[_0x130d40(0x1ed)],_0x18fadc=>_0x741e4('formula1',_0x18fadc));_0x4513e3['add'](()=>_0x3dfe75[_0x130d40(0x1b3)]());}}if(_0x4d2454[_0x130d40(0x3f2)]!==_0x36392d[_0x130d40(0x359)]['CUSTOM']){const _0x1011f1=this['_dataValidationFormulaService'][_0x130d40(0x2f0)](_0x58e2d5,_0x55251e,_0x11d70d);if(_0x1011f1){const [_0x4d1898,_0xdf8512]=_0x1011f1;if(_0x4d1898){const _0x1c1a21=this[_0x130d40(0x1d1)]['registerFormula'](_0x4d1898[_0x130d40(0x325)],_0x4340ab=>_0x741e4(_0x130d40(0x399),_0x4340ab));_0x4513e3[_0x130d40(0x230)](()=>_0x1c1a21[_0x130d40(0x1b3)]());}if(_0xdf8512){const _0x4ea510=this[_0x130d40(0x1d1)][_0x130d40(0x3d5)](_0xdf8512['text'],_0x127d0b=>_0x741e4(_0x130d40(0x2e4),_0x127d0b));_0x4513e3[_0x130d40(0x230)](()=>_0x4ea510[_0x130d40(0x1b3)]());}}}}[_0x42f095(0x3bc)](_0x38d699,_0x229d01,_0x32654c){const _0x5cb7fe=_0x42f095;var _0x2763f1;const _0x45bd52=_0x2019d3(_0x49a034=>{const _0x40cd39=_0x56ed,_0x6aed97=[..._0x32654c[_0x40cd39(0x34e)]],_0xf01e30=_0x6aed97['map'](_0xf7ec46=>_0x3d419a[_0x40cd39(0x30e)](_0xf7ec46,_0x49a034))['filter'](_0x708ffe=>!!_0x708ffe)[_0x40cd39(0x3a0)]();if(_0x36392d[_0x40cd39(0x35d)](_0xf01e30,_0x6aed97))return{'redos':[],'undos':[]};if(_0xf01e30[_0x40cd39(0x2a8)]){const _0x48d54b={'unitId':_0x38d699,'subUnitId':_0x229d01,'ruleId':_0x32654c[_0x40cd39(0x2d6)],'payload':{'type':_0x2b67f4[_0x40cd39(0x3c3)][_0x40cd39(0x22c)],'payload':_0xf01e30},'source':_0x40cd39(0x232)},_0x4c8672=[{'id':_0x2b67f4[_0x40cd39(0x3a8)]['id'],'params':_0x48d54b}],_0x425323=[{'id':_0x2b67f4[_0x40cd39(0x3a8)]['id'],'params':{'unitId':_0x38d699,'subUnitId':_0x229d01,'ruleId':_0x32654c['uid'],'payload':{'type':_0x2b67f4['UpdateRuleType'][_0x40cd39(0x22c)],'payload':_0x6aed97},'source':'patched'}}];return{'redos':_0x4c8672,'undos':_0x425323};}else{const _0x3171d1={'unitId':_0x38d699,'subUnitId':_0x229d01,'ruleId':_0x32654c[_0x40cd39(0x2d6)]},_0x381d93=[{'id':_0x2b67f4['RemoveDataValidationMutation']['id'],'params':_0x3171d1}],_0x2d1bd8=_0x34bdf9(this[_0x40cd39(0x306)],_0x3171d1);return{'redos':_0x381d93,'undos':_0x2d1bd8};}},_0x5cb7fe(0x1cb)),_0x57e5dd=[];_0x32654c['ranges']['forEach'](_0x46465c=>{const _0x2fd923=_0x5cb7fe,_0x4cf11e=this[_0x2fd923(0x357)][_0x2fd923(0x28d)](_0x46465c,_0x45bd52,_0x38d699,_0x229d01);_0x57e5dd['push'](()=>_0x4cf11e[_0x2fd923(0x1b3)]());});const _0x33da4b=this[_0x5cb7fe(0x28e)](_0x38d699,_0x229d01,_0x32654c['uid']),_0xad8744=(_0x2763f1=this[_0x5cb7fe(0x37c)][_0x5cb7fe(0x1fd)](_0x33da4b))!=null?_0x2763f1:new Set();_0xad8744['add'](()=>_0x57e5dd['forEach'](_0x33bde0=>_0x33bde0())),this[_0x5cb7fe(0x37c)][_0x5cb7fe(0x1fc)](_0x33da4b,_0xad8744);}[_0x42f095(0x20e)](){const _0x17588d=_0x42f095,_0x494427=this['_dataValidationModel'][_0x17588d(0x3b7)]();for(const [_0x41e16f,_0x4435c7]of _0x494427)for(const [_0x5391f9,_0x16bac1]of _0x4435c7)for(const _0x772c59 of _0x16bac1)this[_0x17588d(0x25f)](_0x41e16f,_0x5391f9,_0x772c59);this['disposeWithMe'](this[_0x17588d(0x390)]['ruleChange$']['subscribe'](_0x1081c1=>{const _0x1eff50=_0x17588d,{unitId:_0x3e2388,subUnitId:_0x2f69e5,rule:_0x549e34}=_0x1081c1;switch(_0x1081c1[_0x1eff50(0x3f2)]){case'add':{const _0x47f802=_0x1081c1[_0x1eff50(0x21e)];this[_0x1eff50(0x25f)](_0x1081c1[_0x1eff50(0x383)],_0x1081c1[_0x1eff50(0x3f4)],_0x47f802);break;}case _0x1eff50(0x2af):{const _0x477bf6=this['_disposableMap'][_0x1eff50(0x1fd)](this[_0x1eff50(0x28e)](_0x3e2388,_0x2f69e5,_0x549e34[_0x1eff50(0x2d6)]));_0x477bf6&&_0x477bf6['forEach'](_0x111e9c=>_0x111e9c());break;}case _0x1eff50(0x202):{const _0x5d6631=_0x1081c1[_0x1eff50(0x21e)],_0x2e9e2b=this[_0x1eff50(0x37c)][_0x1eff50(0x1fd)](this[_0x1eff50(0x28e)](_0x3e2388,_0x2f69e5,_0x5d6631['uid']));_0x2e9e2b&&_0x2e9e2b[_0x1eff50(0x308)](_0x446064=>_0x446064()),this['registerRule'](_0x1081c1[_0x1eff50(0x383)],_0x1081c1[_0x1eff50(0x3f4)],_0x5d6631);break;}}})),this['disposeWithMe'](_0x36392d['toDisposable'](()=>{const _0x543f9c=_0x17588d;this[_0x543f9c(0x37c)][_0x543f9c(0x308)](_0x4da4e1=>{_0x4da4e1['forEach'](_0x2b4b63=>_0x2b4b63());}),this[_0x543f9c(0x37c)][_0x543f9c(0x281)]();}));}},_0x2019d3(_0x16b9c4,_0x42f095(0x209)),_0x16b9c4);_0x4ebf59=_0x49761d([_0x5ad22f(0x0,_0x36392d[_0x42f095(0x293)](_0x2812de[_0x42f095(0x1bb)])),_0x5ad22f(0x1,_0x36392d[_0x42f095(0x293)](_0x36392d[_0x42f095(0x2a3)])),_0x5ad22f(0x2,_0x36392d[_0x42f095(0x293)](_0x3d419a[_0x42f095(0x229)])),_0x5ad22f(0x3,_0x36392d[_0x42f095(0x293)](_0x2812de['DataValidationCustomFormulaService'])),_0x5ad22f(0x4,_0x36392d[_0x42f095(0x293)](_0x2812de[_0x42f095(0x336)])),_0x5ad22f(0x5,_0x36392d[_0x42f095(0x293)](_0x4968f9[_0x42f095(0x3a1)]))],_0x4ebf59);var _0xf971ad=Object[_0x42f095(0x37f)],_0x411d5b=Object[_0x42f095(0x2fb)],_0x53d055=_0x2019d3((_0x44c3b3,_0x49196f,_0x8ac77e,_0x3aa323)=>{const _0x3eebc7=_0x42f095;for(var _0x1f75bc=_0x3aa323>0x1?void 0x0:_0x3aa323?_0x411d5b(_0x49196f,_0x8ac77e):_0x49196f,_0x2057d5=_0x44c3b3[_0x3eebc7(0x2a8)]-0x1,_0x587602;_0x2057d5>=0x0;_0x2057d5--)(_0x587602=_0x44c3b3[_0x2057d5])&&(_0x1f75bc=(_0x3aa323?_0x587602(_0x49196f,_0x8ac77e,_0x1f75bc):_0x587602(_0x1f75bc))||_0x1f75bc);return _0x3aa323&&_0x1f75bc&&_0xf971ad(_0x49196f,_0x8ac77e,_0x1f75bc),_0x1f75bc;},_0x42f095(0x31f)),_0x4753b4=_0x2019d3((_0x2f5da1,_0x457d90)=>(_0x203667,_0x1b3be6)=>_0x457d90(_0x203667,_0x1b3be6,_0x2f5da1),'__decorateParam$2');let _0xfa06ab=(_0xa11e77=class extends _0x36392d[_0x42f095(0x268)]{constructor(_0x2b0615,_0x1f380e,_0x2a7da9){const _0x123a92=_0x42f095;super(),this[_0x123a92(0x2f6)]=_0x2b0615,this[_0x123a92(0x22d)]=_0x1f380e,this['_sheetDataValidationModel']=_0x2a7da9,this[_0x123a92(0x3c2)]();}[_0x42f095(0x3c2)](){const _0x47078a=_0x42f095;this['disposeWithMe'](this['_sheetInterceptorService']['interceptCommand']({'getMutations':_0x2019d3(_0x38ff51=>{const _0x2d1bb0=_0x56ed;var _0x520d21;if(_0x38ff51['id']===_0x3d419a['RemoveSheetCommand']['id']){const _0x29e14c=_0x38ff51[_0x2d1bb0(0x384)],_0x313061=_0x29e14c['unitId']||this[_0x2d1bb0(0x22d)][_0x2d1bb0(0x375)](_0x36392d[_0x2d1bb0(0x1ee)][_0x2d1bb0(0x26d)])[_0x2d1bb0(0x3bf)](),_0x587009=this[_0x2d1bb0(0x22d)][_0x2d1bb0(0x369)](_0x313061);if(!_0x587009)return{'redos':[],'undos':[]};const _0x5117f8=_0x29e14c[_0x2d1bb0(0x3f4)]||((_0x520d21=_0x587009['getActiveSheet']())==null?void 0x0:_0x520d21[_0x2d1bb0(0x27b)]());if(!_0x5117f8)return{'redos':[],'undos':[]};const _0x521683=this['_sheetDataValidationModel'][_0x2d1bb0(0x33d)](_0x313061,_0x5117f8);if(_0x521683[_0x2d1bb0(0x2a8)]===0x0)return{'redos':[],'undos':[]};const _0x98aa3f=_0x521683[_0x2d1bb0(0x2c3)](_0x42b0f1=>_0x42b0f1[_0x2d1bb0(0x2d6)]),_0x55d6ab={'unitId':_0x313061,'subUnitId':_0x5117f8,'ruleId':_0x98aa3f,'source':_0x2d1bb0(0x232)},_0x567ee0={'unitId':_0x313061,'subUnitId':_0x5117f8,'rule':[..._0x521683],'source':_0x2d1bb0(0x232)};return{'redos':[{'id':_0x2b67f4[_0x2d1bb0(0x396)]['id'],'params':_0x55d6ab}],'undos':[{'id':_0x2b67f4['AddDataValidationMutation']['id'],'params':_0x567ee0}]};}return{'redos':[],'undos':[]};},_0x47078a(0x26a))}));}},_0x2019d3(_0xa11e77,_0x42f095(0x225)),_0xa11e77);_0xfa06ab=_0x53d055([_0x4753b4(0x0,_0x36392d[_0x42f095(0x293)](_0x3d419a[_0x42f095(0x3b6)])),_0x4753b4(0x1,_0x36392d['Inject'](_0x36392d[_0x42f095(0x2c6)])),_0x4753b4(0x2,_0x36392d[_0x42f095(0x293)](_0x2812de['SheetDataValidationModel']))],_0xfa06ab);var _0x209269=Object[_0x42f095(0x37f)],_0x1c375e=Object[_0x42f095(0x2fb)],_0x52cf68=_0x2019d3((_0x3e44f6,_0x762c9e,_0xefccf9,_0x420889)=>{for(var _0x16e00a=_0x420889>0x1?void 0x0:_0x420889?_0x1c375e(_0x762c9e,_0xefccf9):_0x762c9e,_0x10b613=_0x3e44f6['length']-0x1,_0x4b7adb;_0x10b613>=0x0;_0x10b613--)(_0x4b7adb=_0x3e44f6[_0x10b613])&&(_0x16e00a=(_0x420889?_0x4b7adb(_0x762c9e,_0xefccf9,_0x16e00a):_0x4b7adb(_0x16e00a))||_0x16e00a);return _0x420889&&_0x16e00a&&_0x209269(_0x762c9e,_0xefccf9,_0x16e00a),_0x16e00a;},_0x42f095(0x2bd)),_0x58f190=_0x2019d3((_0x5cb90a,_0x34df73)=>(_0x5bc26f,_0x4426de)=>_0x34df73(_0x5bc26f,_0x4426de,_0x5cb90a),_0x42f095(0x1fb));_0x2812de['SheetsDataValidationValidatorService']=(_0x35300=class{constructor(_0xa7ae49,_0x4f21a9,_0x30664f){const _0x20cb1f=_0x42f095;this['_univerInstanceService']=_0xa7ae49,this[_0x20cb1f(0x28b)]=_0x4f21a9,this['_dataValidationCacheService']=_0x30664f;}async[_0x42f095(0x1e4)](_0x3bb81a,_0x5dac47,_0x21dba0,_0xb34a75){const _0x38839c=_0x42f095,_0x4184fc=this['_univerInstanceService'][_0x38839c(0x28f)](_0x3bb81a,_0x36392d[_0x38839c(0x1ee)][_0x38839c(0x26d)]);if(!_0x4184fc)throw new Error(_0x38839c(0x243)+_0x3bb81a);const _0x121235=_0x4184fc['getSheetBySheetId'](_0x5dac47);if(!_0x121235)throw new Error(_0x38839c(0x204)+_0x5dac47);if(!_0x36392d['Tools'][_0x38839c(0x30b)](_0x21dba0)||!_0x36392d['Tools'][_0x38839c(0x30b)](_0xb34a75))throw new Error(_0x38839c(0x3d8)+_0x21dba0+_0x38839c(0x3e5)+_0xb34a75);const _0x4f56f7=_0x121235['getCell'](_0x21dba0,_0xb34a75),_0x3185c7=this[_0x38839c(0x28b)][_0x38839c(0x1cd)](_0x3bb81a,_0x5dac47,_0x21dba0,_0xb34a75);return _0x3185c7?new Promise(_0x1f12ff=>{const _0x1a0feb=_0x38839c;this[_0x1a0feb(0x28b)][_0x1a0feb(0x1ac)](_0x4f56f7,_0x3185c7,{'unitId':_0x3bb81a,'subUnitId':_0x5dac47,'row':_0x21dba0,'col':_0xb34a75,'worksheet':_0x121235,'workbook':_0x4184fc},_0x1f12ff);}):_0x36392d['DataValidationStatus']['VALID'];}['validatorRanges'](_0x444900,_0x23a170,_0x170faa){const _0x1e3407=_0x42f095;return Promise[_0x1e3407(0x3c8)](_0x170faa[_0x1e3407(0x2c3)](_0x2dbc2f=>{const _0xe73ce9=_0x1e3407,_0x1c85fa=[];return _0x36392d[_0xe73ce9(0x27a)]['foreach'](_0x2dbc2f,(_0x1e24e6,_0x39c9f9)=>{const _0x79f8e9=_0xe73ce9;_0x1c85fa[_0x79f8e9(0x1d7)](this[_0x79f8e9(0x1e4)](_0x444900,_0x23a170,_0x1e24e6,_0x39c9f9));}),_0x1c85fa;}));}async[_0x42f095(0x1e3)](_0x3fb734,_0x3604ef){const _0x3b356d=_0x42f095,_0x4646c9=this[_0x3b356d(0x28b)][_0x3b356d(0x33d)](_0x3fb734,_0x3604ef);return await Promise['all'](_0x4646c9['map'](_0x5c5d95=>Promise[_0x3b356d(0x3c8)](_0x5c5d95[_0x3b356d(0x34e)]['map'](_0xbdb885=>{const _0x3a853e=_0x3b356d,_0x36c6ad=[];return _0x36392d[_0x3a853e(0x27a)][_0x3a853e(0x3b2)](_0xbdb885,(_0x30e354,_0x17d305)=>{const _0x489b51=_0x3a853e;_0x36c6ad[_0x489b51(0x1d7)](this['validatorCell'](_0x3fb734,_0x3604ef,_0x30e354,_0x17d305));}),_0x36c6ad;})))),this[_0x3b356d(0x2aa)]['ensureCache'](_0x3fb734,_0x3604ef);}async['validatorWorkbook'](_0x58942b){const _0x37c1f0=_0x42f095,_0x20f037=this[_0x37c1f0(0x28b)]['getSubUnitIds'](_0x58942b),_0x1977d1=await Promise[_0x37c1f0(0x3c8)](_0x20f037['map'](_0x567f70=>this[_0x37c1f0(0x1e3)](_0x58942b,_0x567f70))),_0x192705={};return _0x1977d1[_0x37c1f0(0x308)]((_0x5c5941,_0x514d3f)=>{_0x192705[_0x20f037[_0x514d3f]]=_0x5c5941;}),_0x192705;}[_0x42f095(0x31d)](_0x42b600,_0x1c7fd6,_0x3fd801){const _0x432b2b=_0x42f095,_0x32a4b8=this[_0x432b2b(0x28b)][_0x432b2b(0x3e2)](_0x42b600,_0x1c7fd6),_0x1a5a46=new Set();return _0x3fd801[_0x432b2b(0x308)](_0x33cac9=>{const _0x3fed43=_0x432b2b;_0x36392d[_0x3fed43(0x27a)][_0x3fed43(0x3b2)](_0x33cac9,(_0x4e4963,_0x52a32a)=>{const _0x1971da=_0x3fed43,_0x12dafc=_0x32a4b8[_0x1971da(0x39d)](_0x4e4963,_0x52a32a);_0x12dafc&&_0x1a5a46['add'](_0x12dafc);});}),Array['from'](_0x1a5a46)[_0x432b2b(0x2c3)](_0x1617e1=>this['_sheetDataValidationModel']['getRuleById'](_0x42b600,_0x1c7fd6,_0x1617e1))['filter'](Boolean);}['getDataValidation'](_0x39c1cd,_0x5a8dc4,_0x14000c){const _0x24e028=_0x42f095;return this[_0x24e028(0x31d)](_0x39c1cd,_0x5a8dc4,_0x14000c)[0x0];}},_0x2019d3(_0x35300,'SheetsDataValidationValidatorService'),_0x35300),_0x2812de[_0x42f095(0x1c5)]=_0x52cf68([_0x58f190(0x0,_0x36392d[_0x42f095(0x2c6)]),_0x58f190(0x1,_0x36392d[_0x42f095(0x293)](_0x2812de[_0x42f095(0x1bb)])),_0x58f190(0x2,_0x36392d[_0x42f095(0x293)](_0x3a08aa))],_0x2812de[_0x42f095(0x1c5)]);var _0x152937=Object[_0x42f095(0x37f)],_0x5c4d36=Object['getOwnPropertyDescriptor'],_0xaed918=_0x2019d3((_0x4809eb,_0x442d5d,_0x3a5219)=>_0x442d5d in _0x4809eb?_0x152937(_0x4809eb,_0x442d5d,{'enumerable':!0x0,'configurable':!0x0,'writable':!0x0,'value':_0x3a5219}):_0x4809eb[_0x442d5d]=_0x3a5219,_0x42f095(0x1f8)),_0xf62a66=_0x2019d3((_0x507f59,_0x4d6641,_0x4a5b07,_0x5ce09f)=>{const _0x2e953a=_0x42f095;for(var _0x15f24a=_0x5ce09f>0x1?void 0x0:_0x5ce09f?_0x5c4d36(_0x4d6641,_0x4a5b07):_0x4d6641,_0x548f2d=_0x507f59[_0x2e953a(0x2a8)]-0x1,_0x35d252;_0x548f2d>=0x0;_0x548f2d--)(_0x35d252=_0x507f59[_0x548f2d])&&(_0x15f24a=(_0x5ce09f?_0x35d252(_0x4d6641,_0x4a5b07,_0x15f24a):_0x35d252(_0x15f24a))||_0x15f24a);return _0x5ce09f&&_0x15f24a&&_0x152937(_0x4d6641,_0x4a5b07,_0x15f24a),_0x15f24a;},_0x42f095(0x247)),_0x147067=_0x2019d3((_0x5635df,_0x2638bc)=>(_0x16cf12,_0x301e61)=>_0x2638bc(_0x16cf12,_0x301e61,_0x5635df),_0x42f095(0x29e)),_0x408d79=_0x2019d3((_0x4d3ddb,_0x22912c,_0x5d2db0)=>_0xaed918(_0x4d3ddb,typeof _0x22912c!=_0x42f095(0x3bd)?_0x22912c+'':_0x22912c,_0x5d2db0),_0x42f095(0x227));_0x2812de[_0x42f095(0x1f3)]=(_0x2c2e89=class extends _0x36392d['Plugin']{constructor(_0x1e3b7c=void 0x0,_0x470e84,_0x615b75){const _0x25b2a5=_0x42f095;super(),this[_0x25b2a5(0x306)]=_0x470e84,this[_0x25b2a5(0x212)]=_0x615b75;}[_0x42f095(0x36c)](){const _0x2f514d=_0x42f095;[[_0x3a08aa],[_0x2812de[_0x2f514d(0x336)]],[_0x2812de['DataValidationCustomFormulaService']],[_0x2812de[_0x2f514d(0x1c5)]],[_0x2812de['SheetDataValidationModel']],[_0x5eceff],[_0x4ebf59],[_0x2812de[_0x2f514d(0x35b)]],[_0xfa06ab]][_0x2f514d(0x308)](_0x13caf9=>{const _0x26ed4b=_0x2f514d;this[_0x26ed4b(0x306)]['add'](_0x13caf9);}),[_0x3522c6,_0x514d32,_0x5b45d7,_0x56ae4d,_0x1b2653,_0x2a552c,_0x1e7c45]['forEach'](_0x233ce2=>{const _0xc01af2=_0x2f514d;this['_commandService'][_0xc01af2(0x321)](_0x233ce2);}),this['_injector']['get'](_0x4ebf59);}[_0x42f095(0x329)](){const _0x5af942=_0x42f095;this['_injector'][_0x5af942(0x1fd)](_0xfa06ab);}[_0x42f095(0x39e)](){const _0x5d65b6=_0x42f095;this[_0x5d65b6(0x306)][_0x5d65b6(0x1fd)](_0x5eceff),this[_0x5d65b6(0x306)]['get'](_0x2812de[_0x5d65b6(0x35b)]);}},_0x2019d3(_0x2c2e89,_0x42f095(0x1f3)),_0x2c2e89),_0x408d79(_0x2812de['UniverSheetsDataValidationPlugin'],_0x42f095(0x34d),_0x427de5),_0x408d79(_0x2812de['UniverSheetsDataValidationPlugin'],_0x42f095(0x3f2),_0x36392d[_0x42f095(0x1ee)][_0x42f095(0x26d)]),_0x2812de[_0x42f095(0x1f3)]=_0xf62a66([_0x36392d[_0x42f095(0x1b7)](_0x543dc3[_0x42f095(0x1ba)],_0x2b67f4['UniverDataValidationPlugin']),_0x147067(0x1,_0x36392d[_0x42f095(0x293)](_0x36392d[_0x42f095(0x2a3)])),_0x147067(0x2,_0x36392d[_0x42f095(0x339)])],_0x2812de[_0x42f095(0x1f3)]);function _0x320905(_0x375235){const _0x2338a3=_0x42f095,_0x282a3b=_0x375235[_0x2338a3(0x1fd)](_0x3d419a['SheetsSelectionsService'])[_0x2338a3(0x378)]()[_0x2338a3(0x2c3)](_0x285149=>_0x285149['range']);return{'uid':_0x36392d['Tools']['generateRandomId'](0x6),'type':_0x36392d[_0x2338a3(0x359)][_0x2338a3(0x3e0)],'operator':_0x36392d[_0x2338a3(0x37b)][_0x2338a3(0x2be)],'formula1':_0x2338a3(0x2d2),'ranges':_0x282a3b!=null?_0x282a3b:[{'startColumn':0x0,'endColumn':0x0,'startRow':0x0,'endRow':0x0}]};}_0x2019d3(_0x320905,'createDefaultNewRule'),Object[_0x42f095(0x37f)](_0x2812de,_0x42f095(0x2c2),{'enumerable':!0x0,'get':_0x2019d3(()=>_0x2b67f4[_0x42f095(0x2c2)],'get')}),_0x2812de['AddSheetDataValidationCommand']=_0x3522c6,_0x2812de['CHECKBOX_FORMULA_1']=_0x2c4c27,_0x2812de[_0x42f095(0x3b9)]=_0x1c8864,_0x2812de[_0x42f095(0x38c)]=_0x2fa0c9,_0x2812de[_0x42f095(0x253)]=_0x1e7c45,_0x2812de[_0x42f095(0x23c)]=_0x427de5,_0x2812de[_0x42f095(0x22b)]=_0x3a08aa,_0x2812de[_0x42f095(0x334)]=_0x4223cb,_0x2812de[_0x42f095(0x365)]=_0xde4bfc,_0x2812de[_0x42f095(0x24e)]=_0x40699a,_0x2812de[_0x42f095(0x33b)]=_0x2a552c,_0x2812de['RemoveSheetDataValidationCommand']=_0x1b2653,_0x2812de[_0x42f095(0x349)]=_0x56ae4d,_0x2812de[_0x42f095(0x394)]=_0x514d32,_0x2812de[_0x42f095(0x338)]=_0x5b45d7,_0x2812de[_0x42f095(0x26e)]=_0x320905,_0x2812de[_0x42f095(0x2d0)]=_0x3bea69,_0x2812de['getCellValueOrigin']=_0xabc37a,_0x2812de[_0x42f095(0x238)]=_0x25608f,_0x2812de['getDataValidationDiffMutations']=_0x22234a,_0x2812de[_0x42f095(0x269)]=_0x358e89,_0x2812de['getFormulaResult']=_0x43181d,_0x2812de[_0x42f095(0x286)]=_0x103dd5,_0x2812de[_0x42f095(0x38f)]=_0x3bd61c,Object['defineProperty'](_0x2812de,Symbol[_0x42f095(0x2a0)],{'value':'Module'});}));
|