@univerjs/sheets-conditional-formatting 0.5.4 → 0.5.5-experimental.20250122-3362a4a

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/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var O2=Object.defineProperty;var U2=(i,s,n)=>s in i?O2(i,s,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[s]=n;var F=(i,s,n)=>U2(i,typeof s!="symbol"?s+"":s,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("@univerjs/core"),G=require("rxjs"),n2=require("rxjs/operators"),k=require("@univerjs/engine-formula"),q=require("@univerjs/engine-render"),I=require("@univerjs/sheets"),C2="SHEET_CONDITIONAL_FORMATTING_PLUGIN";var x=(i=>(i.beginsWith="beginsWith",i.endsWith="endsWith",i.containsText="containsText",i.notContainsText="notContainsText",i.equal="equal",i.notEqual="notEqual",i.containsBlanks="containsBlanks",i.notContainsBlanks="notContainsBlanks",i.containsErrors="containsErrors",i.notContainsErrors="notContainsErrors",i))(x||{}),y=(i=>(i.today="today",i.yesterday="yesterday",i.tomorrow="tomorrow",i.last7Days="last7Days",i.thisMonth="thisMonth",i.lastMonth="lastMonth",i.nextMonth="nextMonth",i.thisWeek="thisWeek",i.lastWeek="lastWeek",i.nextWeek="nextWeek",i))(y||{}),v=(i=>(i.greaterThan="greaterThan",i.greaterThanOrEqual="greaterThanOrEqual",i.lessThan="lessThan",i.lessThanOrEqual="lessThanOrEqual",i.notBetween="notBetween",i.between="between",i.equal="equal",i.notEqual="notEqual",i))(v||{}),_=(i=>(i.highlightCell="highlightCell",i.dataBar="dataBar",i.colorScale="colorScale",i.iconSet="iconSet",i))(_||{}),E=(i=>(i.uniqueValues="uniqueValues",i.duplicateValues="duplicateValues",i.rank="rank",i.text="text",i.timePeriod="timePeriod",i.number="number",i.average="average",i.formula="formula",i))(E||{}),A=(i=>(i.num="num",i.min="min",i.max="max",i.percent="percent",i.percentile="percentile",i.formula="formula",i))(A||{});const P2="#fff",$2="#000000",j2=()=>({cfId:void 0,ranges:[],stopIfTrue:!1,rule:{type:"highlightCell",subType:"text",operator:"containsText"}}),W2=(i,s)=>{switch(i){case"text":{if(["beginsWith","containsText","endsWith","equal","notContainsText","notEqual"].includes(s))return"";break}case"number":return["between","notBetween"].includes(s)?[10,100]:10}return""},q2=(i,s)=>{switch(i){case"formula":return"=";case"max":case"min":return"";case"percent":case"percentile":case"num":return s!==void 0?s:10}return""},N=(i,s,n)=>{if(!s)return null;const e=s.findIndex(t=>n(t)===i.id);if(e<0)return null;switch(i.type){case"after":return e+1;case"before":return e-1;case"self":return e}},w2=(i,s,n,e)=>{if(!n)return null;const t=N(i,n,e);let r=N(s,n,e);if(t===null||r===null||t===r)return;const a=n.splice(t,1)[0];switch(t<r&&(r=N(s,n,e)),s.type){case"before":{n.splice(r+1,0,a);break}case"self":case"after":{n.splice(r,0,a);break}}},v2=(i,s,n,e)=>{if(i.type==="after"&&["after","before"].includes(s.type))return[i,s];const t={...i},r={...s};if(t.type!=="after"){const a=N(t,n,e);if(a===null)return null;if(a-1<0){const o=n[a+1];if(o)t.id=e(o),t.type="before";else return null}else{const o=e(n[a-1]);t.id=o,t.type="after"}}if(!["after","before"].includes(r.type)){const a=N(r,n,e);if(a===null)return null;if(a===0)r.type="before";else if(a-1>=0){const o=e(n[a-1]);r.id=o,r.type="after"}else if(a+1<=n.length-1){const o=e(n[a+1]);r.id=o,r.type="before"}else return null}return t.id===r.id&&t.type===r.type?null:[t,r]},p2=(i,s)=>{if(["after","before"].includes(s.type)){if(i.type==="after")return[s,i];if(i.type==="before")return[s,{...i,type:"self"}]}return null},Z2=(i,s)=>i.id===s.id&&i.type===s.type,E2=()=>`${h.Tools.generateRandomId(8)}`;class b{constructor(){F(this,"_model",new Map);F(this,"_ruleChange$",new G.Subject);F(this,"$ruleChange",this._ruleChange$.asObservable())}_ensureList(s,n){let e=this.getSubunitRules(s,n);if(!e){e=[];let t=this._model.get(s);t||(t=new Map,this._model.set(s,t)),t.set(n,e)}return e}getRule(s,n,e){const t=this.getSubunitRules(s,n);return t?t.find(r=>r.cfId===e):null}getUnitRules(s){return this._model.get(s)||null}getSubunitRules(s,n){var t;return((t=this._model.get(s))==null?void 0:t.get(n))||null}deleteRule(s,n,e){const t=this.getSubunitRules(s,n);if(t){const r=t.findIndex(o=>o.cfId===e),a=t[r];a&&(t.splice(r,1),this._ruleChange$.next({rule:a,subUnitId:n,unitId:s,type:"delete"}))}}setRule(s,n,e,t){const a=this._ensureList(s,n).find(o=>o.cfId===t);if(a){const o=h.Tools.deepClone(a);Object.assign(a,e),this._ruleChange$.next({rule:a,subUnitId:n,unitId:s,type:"set",oldRule:o})}}addRule(s,n,e){const t=this._ensureList(s,n);t.find(a=>a.cfId===e.cfId)||t.unshift(e),this._ruleChange$.next({rule:e,subUnitId:n,unitId:s,type:"add"})}moveRulePriority(s,n,e,t){const r=this._ensureList(s,n),a=N(e,r,l=>l.cfId),o=N(t,r,l=>l.cfId);if(o===null||a===null||o===a)return;const d=r[a];d&&(w2(e,t,r,l=>l.cfId),this._ruleChange$.next({rule:d,subUnitId:n,unitId:s,type:"sort"}))}createCfId(s,n){return E2()}deleteUnitId(s){this._model.delete(s)}}const Z={type:h.CommandType.MUTATION,id:"sheet.mutation.conditional-formatting-formula-mark-dirty",handler(){return!0}};var G2=Object.defineProperty,H2=Object.getOwnPropertyDescriptor,X2=(i,s,n,e)=>{for(var t=e>1?void 0:e?H2(s,n):s,r=i.length-1,a;r>=0;r--)(a=i[r])&&(t=(e?a(s,n,t):a(t))||t);return e&&t&&G2(s,n,t),t},u2=(i,s)=>(n,e)=>s(n,e,i),R=(i=>(i[i.NOT_REGISTER=1]="NOT_REGISTER",i[i.SUCCESS=2]="SUCCESS",i[i.WAIT=3]="WAIT",i[i.ERROR=4]="ERROR",i))(R||{});const Y2=i=>{const s=i&&i[0]&&i[0][0];return(s==null?void 0:s.t)===h.CellValueType.BOOLEAN?s.v===h.BooleanNumber.TRUE||s.v===!0:s?s.v:!1};exports.ConditionalFormattingFormulaService=class extends h.Disposable{constructor(n,e,t){super();F(this,"_formulaMap",new Map);F(this,"_result$",new G.Subject);F(this,"result$",this._result$.asObservable());this._commandService=n,this._activeDirtyManagerService=e,this._conditionalFormattingRuleModel=t,this._initFormulaCalculationResultChange(),this._initRuleChange()}_initRuleChange(){const n=e=>{switch(e.type){case _.colorScale:return e.config.some(t=>t.value.type===A.formula);case _.dataBar:return[e.config.max,e.config.min].some(t=>t.type===A.formula);case _.iconSet:return e.config.some(t=>t.value.type===A.formula)}};this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{const{unitId:t,subUnitId:r,rule:a,oldRule:o}=e;e.type==="delete"&&this._removeFormulaByCfId(t,r,a.cfId),e.type==="set"&&(n(a.rule)||o&&n(o.rule))&&this._removeFormulaByCfId(t,r,a.cfId)}))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===k.SetFormulaCalculationResultMutation.id){const e=n.params;for(const t in e.unitOtherData)for(const r in e.unitOtherData[t])for(const a in e.unitOtherData[t][r]){const o=new h.ObjectMatrix(e.unitOtherData[t][r][a]),d=this._ensureSubunitFormulaMap(t,r).getValue(a,["formulaId"]);if(!d)continue;const l=d.ranges;if(!l)continue;const u=d.result,c=l[0].startRow,g=l[0].startColumn;o.forValue((m,w,p)=>{u.setValue(c+m,g+w,Y2(p))}),d.status=2;const f=this._getAllFormulaResultByCfId(t,r,d.cfId).every(m=>m.status===2);this._result$.next({...d,isAllFinished:f})}}})),this._activeDirtyManagerService.register(Z.id,{commandId:Z.id,getDirtyData(n){return{dirtyUnitOtherFormulaMap:n.params}}})}_ensureSubunitFormulaMap(n,e){let t=this._formulaMap.get(n);t||(t=new Map,this._formulaMap.set(n,t));let r=t.get(e);return r||(r=new h.RefAlias([],["formulaId","id"]),t.set(e,r)),r}getSubUnitFormulaMap(n,e){var t;return(t=this._formulaMap.get(n))==null?void 0:t.get(e)}registerFormulaWithRange(n,e,t,r,a=[{startRow:0,endRow:0,startColumn:0,endColumn:0}]){const o=this._ensureSubunitFormulaMap(n,e),d=this.createCFormulaId(t,r);if(o.getValue(d,["id"]))return;const l=this._createFormulaId(n,e);o.addValue({formulaText:r,unitId:n,subUnitId:e,cfId:t,id:d,ranges:a,formulaId:l,status:3,result:new h.ObjectMatrix});const u={unitId:n,subUnitId:e,formulaMap:{[l]:{f:r,ranges:a}}};this._commandService.executeCommand(k.SetOtherFormulaMutation.id,u,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(Z.id,{[n]:{[e]:{[l]:!0}}},{onlyLocal:!0})})}_removeFormulaByCfId(n,e,t){const a=this.deleteCache(n,e,t).map(o=>o.formulaId);this._commandService.executeCommand(k.RemoveOtherFormulaMutation.id,{unitId:n,subUnitId:e,formulaIdList:a},{onlyLocal:!0})}getFormulaResultWithCoords(n,e,t,r,a=0,o=0){const d=this.getSubUnitFormulaMap(n,e);if(!d)return{status:1};const l=d.getValue(this.createCFormulaId(t,r),["id"]);return l?l.status===2&&l.result?{result:l.result.getValue(a,o),status:2}:l.status===3?{status:3}:{status:4}:{status:1}}getFormulaMatrix(n,e,t,r){const a=this.getSubUnitFormulaMap(n,e);if(!a)return{status:1};const o=a.getValue(this.createCFormulaId(t,r),["id"]);if(!o)return{status:1};if(o.status===2&&o.result)return{result:o.result,status:2}}deleteCache(n,e,t,r){const a=this.getSubUnitFormulaMap(n,e);if(!a)return[];if(r){const o=this.createCFormulaId(t,r);return a.deleteValue(o,["id"]),[]}else{const o=a.getValues().filter(d=>d.cfId===t);return o.forEach(d=>{a.deleteValue(d.formulaId,["formulaId"])}),o}}_getAllFormulaResultByCfId(n,e,t){const r=this.getSubUnitFormulaMap(n,e);return r?r.getValues().filter(o=>o.cfId===t):[]}_createFormulaId(n,e){return`sheet.cf_${n}_${e}_${h.Tools.generateRandomId(8)}`}createCFormulaId(n,e){return`${n}_${e}`}};exports.ConditionalFormattingFormulaService=X2([u2(0,h.Inject(h.ICommandService)),u2(1,h.Inject(k.IActiveDirtyManagerService)),u2(2,h.Inject(b))],exports.ConditionalFormattingFormulaService);var L=(i=>(i.preComputingStart="preComputingStart",i.preComputing="preComputing",i.preComputingEnd="preComputingEnd",i.preComputingError="preComputingError",i))(L||{});class i2{constructor(s){F(this,"_cache");F(this,"_preComputingStatus$",new G.BehaviorSubject("preComputingStart"));F(this,"preComputingStatus$",this._preComputingStatus$.asObservable().pipe(n2.distinctUntilChanged()));F(this,"_preComputingCache");F(this,"_rule");this._context=s,this._cache=new h.LRUMap(s.limit),this._rule=s.rule,this._preComputingCache=null,this._initClearCacheListener()}setCacheLength(s){this._cache.limit=s}clearCache(){this._cache.clear()}resetPreComputingCache(){this._preComputingStatus$.next("preComputingStart"),this._preComputingCache=null}updateRule(s){this._rule=s,this.resetPreComputingCache()}getCell(s,n){const e=this._createKey(s,n);if(this._preComputingStatus$.getValue()==="preComputing")return this._cache.get(e);let t=this.getPreComputingResult(s,n);if(t===null&&(this._preComputingStatus$.next("preComputingStart"),this.preComputing(s,n,this._getContext()),t=this.getPreComputingResult(s,n),t===null))return this._cache.get(e);if(this._preComputingStatus$.next("preComputingEnd"),this._cache.has(e))return this._cache.get(e);const r=this.getCellResult(s,n,t,this._getContext());return r!==null&&this._setCache(s,n,r),r}setPreComputingCache(s){this._preComputingCache=s}getPreComputingResult(s,n){return this._preComputingCache}_createKey(s,n){return`${s}_${n}`}_setCache(s,n,e){const t=this._createKey(s,n);this._cache.set(t,e)}_getContext(){return{...this._context,rule:this._rule}}_initClearCacheListener(){this.preComputingStatus$.subscribe(s=>{s==="preComputingEnd"&&this.clearCache()})}}function H(i,s){return Math.abs(i-s)<Number.EPSILON}const M=i=>[void 0,null].includes(i),B=i=>{var e,t;if(!i)return null;if(i.t===h.CellValueType.BOOLEAN)return i.v===h.BooleanNumber.TRUE?k.BooleanValue.TRUE:k.BooleanValue.FALSE;const s=i.v,n=(t=(e=i.p)==null?void 0:e.body)==null?void 0:t.dataStream.replace(/\r\n$/,"");return M(s)?M(n)?null:n:s},c2=86400;function A2(i,s=!0){if(s&&i>=0){if(i===0)return[1900,1,0];if(i===60)return[1900,2,29];if(i<60)return[1900,i<32?1:2,(i-1)%31+1]}let n=i+68569+2415019;const e=Math.floor(4*n/146097);n=n-Math.floor((146097*e+3)/4);const t=Math.floor(4e3*(n+1)/1461001);n=n-Math.floor(1461*t/4)+31;const r=Math.floor(80*n/2447),a=n-Math.floor(2447*r/80);n=Math.floor(r/11);const o=r+2-12*n;return[100*(e-49)+t+n|0,o|0,a|0]}const _2=i=>{let s=i|0;const n=c2*(i-s);let e=Math.floor(n);n-e>.9999&&(e+=1,e===c2&&(e=0,s+=1));const t=e<0?c2+e:e,[r,a,o]=A2(i,!0),d=Math.floor(t/60/60)%60,l=Math.floor(t/60)%60,u=Math.floor(t)%60;return h.dayjs(`${r}/${a}/${o} ${d}:${l}:${u}`).valueOf()},X=(i,s,n)=>{switch(i.type){case A.max:{let e=0;return s.forValue((t,r,a)=>{a>e&&(e=a)}),{status:R.SUCCESS,result:e}}case A.min:{let e;return s.forValue((t,r,a)=>{e===void 0&&(e=a),a<e&&(e=a)}),{status:R.SUCCESS,result:e}}case A.percent:{let e,t;s.forValue((o,d,l)=>{(e===void 0||t===void 0)&&(e=l,t=l),l>e&&(e=l),l<t&&(t=l)});const r=(e||0)-(t||0),a=Math.max(Math.min(Number(i.value)||0,100),0);return{status:R.SUCCESS,result:r*(a/100)+(t||0)}}case A.percentile:{const e=s.toNativeArray().sort((l,u)=>l-u),t=Math.max(Math.min(Number(i.value)||0,100),0),r=(e.length-1)*t/100,a=Math.floor(r),o=r-a,d=e[a]+(e[Math.min(a+1,e.length-1)]-e[a])*o;return{status:R.SUCCESS,result:d}}case A.formula:{const{accessor:e,unitId:t,subUnitId:r,cfId:a}=n,o=String(i.value),d=e.get(exports.ConditionalFormattingFormulaService);return d.registerFormulaWithRange(t,r,a,o),d.getFormulaResultWithCoords(t,r,a,o)}case A.num:{const e=Number(i.value);return{status:R.SUCCESS,result:Number.isNaN(e)?0:e}}}},K2=(i,s,n,e)=>{const{accessor:t}=e,r=t.get(exports.ConditionalFormattingViewModel),a=new h.ObjectMatrix;return n.ranges.forEach(o=>{h.Range.foreach(o,(d,l)=>{const u=r.getCellCfs(i,s,d,l);if(u){const c=u.find(g=>g.cfId===n.cfId);c!=null&&c.result&&a.setValue(d,l,c.result)}})}),a},W=(i,s)=>{switch(i.operator){case v.between:{if(typeof i.value!="object"||!i.value.length)return;const n=Math.min(...i.value),e=Math.max(...i.value);return s>=n&&s<=e}case v.notBetween:{if(typeof i.value!="object"||!i.value.length)return;const n=Math.min(...i.value),e=Math.max(...i.value);return!(s>=n&&s<=e)}case v.equal:{const n=i.value||0;return H(n,s)}case v.notEqual:{const n=i.value||0;return!H(n,s)}case v.greaterThan:{const n=i.value||0;return s>n}case v.greaterThanOrEqual:{const n=i.value||0;return s>=n}case v.lessThan:{const n=i.value||0;return s<n}case v.lessThanOrEqual:{const n=i.value||0;return s<=n}default:return!1}},x2=i=>{switch(i){case v.greaterThan:return v.lessThanOrEqual;case v.greaterThanOrEqual:return v.lessThan;case v.lessThan:return v.greaterThanOrEqual;case v.lessThanOrEqual:return v.greaterThan}return i},y2=(i,s)=>{const n=r=>r.a!==void 0?r:{...r,a:1},e=i.findIndex(r=>r.value>=s),t=e-1;if(e===0)return i[0].color.toRgbString();if(t>=0){const r=i[t],a=i[e];if(r.color.isValid&&a.color.isValid){const o=n(r.color.toRgb()),d=n(a.color.toRgb()),l=a.value-r.value,u=(s-r.value)/l,c=["r","g","b","a"].reduce((D,f)=>{const m=o[f];return D[f]=(d[f]-m)*u+m,D},{});return new h.ColorKit(c).toRgbString()}}else return i[i.length-1].color.toRgbString()},s2=(i,s,n)=>i.map(e=>{if(e.startColumn>n||e.startRow>s)return null;const t={...e};return t.endRow=Math.min(t.endRow,s),t.endColumn=Math.min(t.endColumn,n),t}).filter(e=>!!e);function J2(i){let s=0;return new h.ObjectMatrix(i).forValue((n,e,t)=>{s=Math.max(Number.isNaN(s)?0:s,Number(t))}),s}class z2 extends i2{preComputing(s,n,e){const t=e.rule,r=e.worksheet,a=new h.ObjectMatrix;!t.rule.config.every(u=>u.value.type===A.num)&&s2(t.ranges,r.getMaxRows()-1,r.getMaxColumns()-1).forEach(c=>{h.Range.foreach(c,(g,D)=>{const f=e.getCellValue(g,D),m=f&&f.v;if(!M(m)&&(f==null?void 0:f.t)===h.CellValueType.NUMBER){const w=Number(m);!Number.isNaN(w)&&a.setValue(g,D,w)}})});const d=[...t.rule.config].sort((u,c)=>u.index-c.index).map(u=>({value:X(u.value,a,{...e,cfId:t.cfId}),color:new h.ColorKit(u.color)}));if(!d.some(u=>q.isObject(u.value)?u.value.status!==R.SUCCESS:!1)){const u=d.map(c=>c.color).reduce((c,g,D)=>(c.result.push({color:g,value:c.sortValue[D]}),c),{result:[],sortValue:d.map(c=>c.value.result).sort((c,g)=>c-g)}).result;this.setPreComputingCache(u),this._preComputingStatus$.next(L.preComputingEnd);return}this._preComputingStatus$.next(L.preComputing)}getCellResult(s,n,e,t){if(!e)return null;const r=t.getCellValue(s,n);if(r.t===h.CellValueType.NUMBER){const a=Number(r.v);if(!Number.isNaN(a))return y2(e,a)}}}const M2="sheet-conditional-rule-data-bar",h2="#ffbe38",g2="#abd91a",R2="#000",Q2=34;class I2 extends q.SheetExtension{constructor(){super(...arguments);F(this,"_paddingRightAndLeft",2);F(this,"_paddingTopAndBottom",2);F(this,"uKey",M2);F(this,"Z_INDEX",Q2);F(this,"_radius",1)}draw(n,e,t,r){const{worksheet:a}=t;if(!a)return!1;n.save(),h.Range.foreach(t.rowColumnSegment,(o,d)=>{if(!a.getRowVisible(o)||!a.getColVisible(d))return;const l=a.getCell(o,d);if(l&&l.dataBar){const{color:u,value:c,startPoint:g,isGradient:D}=l.dataBar,f=t.getCellWithCoordByIndex(o,d,!1);let{isMerged:m,isMergedMainCell:w,mergeInfo:p,startY:S,endY:T,startX:V,endX:K}=f;if(m||(w&&(S=p.startY,T=p.endY,V=p.startX,K=p.endX),!this.isRenderDiffRangesByCell(p,r)))return;const J=K-V,o2=T+q.FIX_ONE_PIXEL_BLUR_OFFSET-S,z=J-this._paddingRightAndLeft*2,m2=o2-this._paddingTopAndBottom*2;if(c>0){const $=Math.max(z*(1-g/100)*c/100,1),O=V+this._paddingRightAndLeft+g/100*z,U=S+this._paddingTopAndBottom;if(D){const P=n.createLinearGradient(O,U,O+$,U);P.addColorStop(0,u),P.addColorStop(1,"rgb(255 255 255)"),n.fillStyle=P,n.strokeStyle=u,n.lineWidth=1}else n.fillStyle=u;this._drawRectWithRoundedCorner(n,O,U,$,m2,!1,!0,!0,!1),D&&n.stroke()}else{const $=Math.max(z*g/100*Math.abs(c)/100,1),O=V+this._paddingRightAndLeft+g/100*z-$,U=S+this._paddingTopAndBottom;if(D){const P=n.createLinearGradient(O,U,O+$,U);P.addColorStop(0,"rgb(255 255 255)"),P.addColorStop(1,u),n.fillStyle=P,n.strokeStyle=u,n.lineWidth=1}else n.fillStyle=u;this._drawRectWithRoundedCorner(n,O,U,$,m2,!0,!1,!1,!0),D&&n.stroke()}}}),n.restore()}_drawRectWithRoundedCorner(n,e,t,r,a,o,d,l,u){const c=this._radius;!a||!r||(n.beginPath(),n.moveTo(e+c,t),n.lineTo(e+r-c,t),d?n.arcTo(e+r,t,e+r,t+c,c):n.lineTo(e+r,t),n.lineTo(e+r,t+a-c),l?n.arcTo(e+r,t+a,e+r-c,t+a,c):n.lineTo(e+r,t+a),n.lineTo(e+c,t+a),u?n.arcTo(e,t+a,e,t+a-c,c):n.lineTo(e,t+a),n.lineTo(e,t+c),o?n.arcTo(e,t,e+c,t,c):n.lineTo(e,t),n.closePath(),n.fill())}}q.SpreadsheetExtensionRegistry.add(I2);const Q=i=>Math.max(Math.min(100,i),0),e0=(i,s,n)=>{const e=n(i,s);if(e&&e.t===h.CellValueType.NUMBER){const t=Number(e.v);return Number.isNaN(t)?null:t}return null};class t0 extends i2{preComputing(s,n,e){const t=e.rule,r=t.rule,a=e.worksheet,o=new h.ObjectMatrix;![t.rule.config.max,t.rule.config.min].every(D=>D.type===A.num)&&s2(t.ranges,a.getMaxRows()-1,a.getMaxColumns()-1).forEach(f=>{h.Range.foreach(f,(m,w)=>{const p=e.getCellValue(m,w),S=p&&p.v;if(!M(S)&&(p==null?void 0:p.t)===h.CellValueType.NUMBER){const T=Number(S);!Number.isNaN(T)&&o.setValue(m,w,T)}})});const l=X(r.config.min,o,{...e,cfId:t.cfId}),u=X(r.config.max,o,{...e,cfId:t.cfId});let c=0,g=0;if(l.status===R.SUCCESS){const D=Number(l.result);c=Number.isNaN(D)?0:D}else{this._preComputingStatus$.next(L.preComputing);return}if(u.status===R.SUCCESS){const D=Number(u.result),f=Number.isNaN(D)?0:D;g=Math.max(f,c),c=Math.min(f,c);let m=50;if(c<0&&g<=0)m=100;else if(c<0&&g>0){const w=Math.abs(g)+Math.abs(c);m=Math.abs(c)/w*100}else c>=0&&g>0&&(m=0);this.setPreComputingCache({min:c,max:g,startPoint:m}),this._preComputingStatus$.next(L.preComputingEnd);return}this._preComputingStatus$.next(L.preComputing)}getCellResult(s,n,e,t){const{min:r,max:a,startPoint:o}=e,l=t.rule.rule,u=l.isShowValue,c=l.config.isGradient,g=e0(s,n,t.getCellValue);if(!(g===null||g<r||r===a||a<r)){if(g===0)return{color:R2,startPoint:o,value:0,isGradient:c,isShowValue:u};if(r<0&&a<=0){const D=a-r,f=Q((a-g)/D*100);return f===0?void 0:{color:l.config.nativeColor||g2,startPoint:o,value:-f,isGradient:c,isShowValue:u}}else if(r<0&&a>0)if(g>0){const D=Q(Math.min(g/a,1)*100);return D===0?void 0:{color:l.config.positiveColor||h2,startPoint:o,value:D,isGradient:c,isShowValue:u}}else{const D=Q(Math.min(Math.abs(g)/Math.abs(r),1)*100);return D===0?void 0:{color:l.config.nativeColor||g2,startPoint:o,value:-D,isGradient:c,isShowValue:u}}else if(r>=0&&a>0){const D=a-r,f=0,m=Q((1-(a-g)/D)*100);return m===0?void 0:{color:l.config.positiveColor||h2,startPoint:f,value:m,isGradient:c,isShowValue:u}}}}}class n0 extends i2{preComputing(s,n,e){const t=e.rule.rule,r=e.rule.ranges,o=(()=>{switch(t.subType){case E.average:{let d=0,l=0;return r.forEach(u=>{h.Range.foreach(u,(c,g)=>{const D=e.getCellValue(c,g),f=B(D||void 0);D&&D.t===h.CellValueType.NUMBER&&f!==void 0&&(d+=Number(f)||0,l++)})}),{value:d/l,type:t.subType}}case E.uniqueValues:case E.duplicateValues:{const d=new Map;return r.forEach(l=>{h.Range.foreach(l,(u,c)=>{const g=e.getCellValue(u,c),D=B(g||void 0);if(D!==void 0){const f=d.get(D);f?d.set(D,f+1):d.set(D,1)}})}),{value:d,type:t.subType}}case E.rank:{const d=[];r.forEach(c=>{h.Range.foreach(c,(g,D)=>{const f=e.getCellValue(g,D),m=B(f||void 0);f&&f.t===h.CellValueType.NUMBER&&m!==void 0&&d.push(Number(m)||0)})}),d.sort((c,g)=>g-c);const l=e.rule.rule,u=l.isPercent?Math.floor(Math.max(Math.min(l.value,100),0)/100*d.length):Math.floor(Math.max(Math.min(l.isBottom?l.value-1:l.value,d.length),0));return l.isBottom?{value:d[d.length-u-1],type:t.subType}:{value:d[Math.max(u-1,0)],type:t.subType}}case E.formula:{const d=t,l=e.accessor.get(exports.ConditionalFormattingFormulaService);l.registerFormulaWithRange(e.unitId,e.subUnitId,e.rule.cfId,d.value,e.rule.ranges);const u=l.getFormulaMatrix(e.unitId,e.subUnitId,e.rule.cfId,d.value);return u&&u.status===R.SUCCESS?(this._preComputingStatus$.next(L.preComputingEnd),{value:u.result,type:t.subType}):(this._preComputingStatus$.next(L.preComputing),null)}case E.timePeriod:switch(t.operator){case y.last7Days:return{value:{start:h.dayjs().subtract(7,"day").valueOf(),end:h.dayjs().valueOf()},type:t.subType};case y.lastMonth:return{value:{start:h.dayjs().startOf("month").subtract(1,"month").valueOf(),end:h.dayjs().endOf("month").subtract(1,"month").valueOf()},type:t.subType};case y.lastWeek:return{value:{start:h.dayjs().startOf("week").subtract(1,"week").valueOf(),end:h.dayjs().endOf("week").subtract(1,"week").valueOf()},type:t.subType};case y.nextMonth:return{value:{start:h.dayjs().startOf("month").add(1,"month").valueOf(),end:h.dayjs().endOf("month").add(1,"month").valueOf()},type:t.subType};case y.nextWeek:return{value:{start:h.dayjs().startOf("week").add(1,"week").valueOf(),end:h.dayjs().endOf("week").add(1,"week").valueOf()},type:t.subType};case y.thisMonth:return{value:{start:h.dayjs().startOf("month").valueOf(),end:h.dayjs().endOf("month").valueOf()},type:t.subType};case y.thisWeek:return{value:{start:h.dayjs().startOf("week").valueOf(),end:h.dayjs().endOf("week").valueOf()},type:t.subType};case y.today:return{value:{start:h.dayjs().startOf("day").valueOf(),end:h.dayjs().endOf("day").valueOf()},type:t.subType};case y.tomorrow:return{value:{start:h.dayjs().startOf("day").add(1,"day").valueOf(),end:h.dayjs().endOf("day").add(1,"day").valueOf()},type:t.subType};case y.yesterday:return{value:{start:h.dayjs().startOf("day").subtract(1,"day").valueOf(),end:h.dayjs().endOf("day").subtract(1,"day").valueOf()},type:t.subType}}}})();this.setPreComputingCache(o)}getCellResult(s,n,e,t){const r=t.getCellValue(s,n),a=t.rule.rule;return(()=>{switch(a.subType){case E.number:{const l=r&&Number(r.v);if(M(l)||Number.isNaN(l)||(r==null?void 0:r.t)!==h.CellValueType.NUMBER)return;const u=a;return W({operator:u.operator,value:u.value||0},l||0)}case E.text:{const l=a,u=B(r),c=u===null?"":String(u),g=l.value||"";switch(l.operator){case x.beginsWith:return c.startsWith(g);case x.containsBlanks:return/^\s*$/.test(c);case x.notContainsBlanks:return!/^\s*$/.test(c);case x.containsErrors:return k.ERROR_TYPE_SET.has(c);case x.notContainsErrors:return!k.ERROR_TYPE_SET.has(c);case x.containsText:return c.indexOf(g)>-1;case x.notContainsText:return c.indexOf(g)===-1;case x.endsWith:return c.endsWith(g);case x.equal:return c===g;case x.notEqual:return c!==g;default:return!1}}case E.timePeriod:{const l=B(r);if(M(l)||Number.isNaN(Number(l))||(r==null?void 0:r.t)!==h.CellValueType.NUMBER||!e)return;const u=_2(Number(l)),{start:c,end:g}=e.value;return u>=c&&u<=g}case E.average:{const l=r&&r.v,u=Number(l);if(M(l)||Number.isNaN(u)||(r==null?void 0:r.t)!==h.CellValueType.NUMBER||!e)return!1;const c=a,g=e.value;switch(c.operator){case v.greaterThan:return u>g;case v.greaterThanOrEqual:return u>=g;case v.lessThan:return u<g;case v.lessThanOrEqual:return u<=g;case v.equal:return H(u,g);case v.notEqual:return!H(u,g);default:return!1}}case E.rank:{const l=B(r),u=Number(l);if(M(l)||Number.isNaN(u)||(r==null?void 0:r.t)!==h.CellValueType.NUMBER||!e)return!1;const c=e.value;return a.isBottom?u<=c:u>=c}case E.uniqueValues:{const l=B(r);return M(l)||!e?!1:e.value.get(l)===1}case E.duplicateValues:{const l=B(r);return M(l)||!e?!1:e.value.get(l)!==1}case E.formula:{const l=e==null?void 0:e.value;return l?l.getValue(s,n)===!0:!1}}})()?a.style:{}}}const r0=(i,s,n)=>{const e=n(i,s);if(e&&e.t===h.CellValueType.NUMBER){const t=Number(e.v);return Number.isNaN(t)?null:t}return null};class i0 extends i2{preComputing(s,n,e){const t=e.rule.rule,r=e.worksheet,a=new h.ObjectMatrix;!t.config.every(u=>u.value.type===A.num)&&s2(e.rule.ranges,r.getMaxRows()-1,r.getMaxColumns()-1).forEach(c=>{h.Range.foreach(c,(g,D)=>{const f=e.getCellValue(g,D),m=f&&f.v;if(!M(m)&&(f==null?void 0:f.t)===h.CellValueType.NUMBER){const w=Number(m);!Number.isNaN(w)&&a.setValue(g,D,w)}})});const d=t.config.map(u=>X(u.value,a,{...e,cfId:e.rule.cfId}));if(!d.some(u=>u.status!==R.SUCCESS)){const u=d.map((c,g)=>({operator:t.config[g].operator,value:Number(c.result)||0})).reduce((c,g,D,f)=>{const m=t.config[D];if(!D||D===f.length-1)c.push({...g,iconId:m.iconId,iconType:m.iconType});else{const w=f[D-1];W(w,g.value)||c.push({...g,iconId:m.iconId,iconType:m.iconType})}return c},[]);this.setPreComputingCache(u),this._preComputingStatus$.next(L.preComputingEnd);return}this._preComputingStatus$.next(L.preComputing)}getCellResult(s,n,e,t){if(!e)return null;const r=r0(s,n,t.getCellValue);if(r===null)return;const a=t.rule.rule,o=a.isShowValue===void 0?!0:!!a.isShowValue;for(let d=0;d<e.length;d++){const l=e[d],u={...l},c={...l},{iconId:g,iconType:D}=l;if(d===0){if(W(l,r))return{iconId:g,iconType:D,isShowValue:o}}else{if(d===e.length-1)return{iconId:g,iconType:D,isShowValue:o};{const f=e[d-1];if(c.operator=x2(f.operator),c.value=f.value,W(u,r)&&W(c,r))return{iconId:g,iconType:D,isShowValue:o}}}}}}var s0=Object.defineProperty,a0=Object.getOwnPropertyDescriptor,l0=(i,s,n,e)=>{for(var t=e>1?void 0:e?a0(s,n):s,r=i.length-1,a;r>=0;r--)(a=i[r])&&(t=(e?a(s,n,t):a(t))||t);return e&&t&&s0(s,n,t),t},e2=(i,s)=>(n,e)=>s(n,e,i);const r2=50*20*3*3;exports.ConditionalFormattingViewModel=class extends h.Disposable{constructor(n,e,t,r){super();F(this,"_calculateUnitManagers",new Map);F(this,"_rTreeManager",new h.RTree);F(this,"_cellCache",new h.LRUMap(r2));F(this,"_markDirty$",new G.Subject);F(this,"markDirty$",this._markDirty$.asObservable());F(this,"_markRuleDirtyAtOnce",(n,e,t,r=!0)=>{if(this._cellCache.clear(),r){const o=this._ensureCalculateUnitManager(n,e).get(t);o&&o.resetPreComputingCache()}this._markDirty$.next({unitId:n,subUnitId:e,cfId:t})});F(this,"markRuleDirty",(()=>{const n=new G.Subject;return this.disposeWithMe(n.pipe(n2.bufferTime(100),n2.filter(e=>!!e.length),n2.map(e=>{const t=new Set,r=[];return e.forEach(a=>{const o=`${a.unitId}_${a.subUnitId}_${a.cfId}`;if(t.has(o)){if(a.isNeedResetPreComputingCache){const d=r.find(l=>l.cfId===a.cfId);d.isNeedResetPreComputingCache=!0}return}t.add(o),r.push({...a})}),r})).subscribe(e=>{e.forEach(t=>{this._markRuleDirtyAtOnce(t.unitId,t.subUnitId,t.cfId,t.isNeedResetPreComputingCache)})})),(e,t,r,a=!0)=>{n.next({unitId:e,subUnitId:t,cfId:r,isNeedResetPreComputingCache:a})}})());this._injector=n,this._conditionalFormattingRuleModel=e,this._conditionalFormattingFormulaService=t,this._univerInstanceService=r,this._initRuleListener(),this._handleCustomFormulasSeparately(),this._initCFFormulaListener()}_initCFFormulaListener(){this.disposeWithMe(this._conditionalFormattingFormulaService.result$.subscribe(({unitId:n,subUnitId:e,cfId:t,isAllFinished:r})=>{r&&this._markRuleDirtyAtOnce(n,e,t,r)}))}getCellCfs(n,e,t,r){const a=this._createCacheKey(n,e,t,r);if(this._cellCache.has(a))return this._cellCache.get(a);const o=this._getCellCfs(n,e,t,r);return o.length&&this._cellCache.set(a,o),o}_getCellCfs(n,e,t,r){var c;const a=(c=this._conditionalFormattingRuleModel.getSubunitRules(n,e))!=null?c:[],o=this._ensureCalculateUnitManager(n,e),d=this._rTreeManager.bulkSearch([{unitId:n,sheetId:e,range:{startColumn:r,endColumn:r,startRow:t,endRow:t}}]),l=a.filter(g=>d.has(g.cfId));return l.length?l.map(g=>{const D=o.get(g.cfId);return D?{cfId:g.cfId,result:D.getCell(t,r)}:null}).filter(g=>!!g).map((g,D)=>({...g,priority:D})):[]}_handleCustomFormulasSeparately(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(n=>{if(n.type==="set"){const{unitId:e,subUnitId:t}=n,r=n.oldRule;r.rule.type===_.highlightCell&&r.rule.subType===E.formula&&this._conditionalFormattingFormulaService.deleteCache(e,t,r.cfId)}}))}_initRuleListener(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(n=>{const{unitId:e,subUnitId:t,rule:r}=n,{cfId:a,ranges:o}=r,d=this._ensureCalculateUnitManager(e,t);switch(this.markRuleDirty(e,t,a),n.type){case"add":{this._rTreeManager.bulkInsert(o.map(u=>({unitId:e,sheetId:t,id:a,range:u})));const l=this._createRuleCalculateUnitInstance(e,t,r);if(!l)return;d.set(r.cfId,l);break}case"delete":{this._rTreeManager.bulkRemove(o.map(l=>({unitId:e,sheetId:t,id:a,range:l}))),d.delete(r.cfId);break}case"set":{const l=n.oldRule;if(this._rTreeManager.bulkRemove(l.ranges.map(u=>({unitId:e,sheetId:t,id:l.cfId,range:u}))),this._rTreeManager.bulkInsert(o.map(u=>({unitId:e,sheetId:t,id:a,range:u}))),l.rule.type!==r.rule.type){const u=this._createRuleCalculateUnitInstance(e,t,r);if(!u)return;d.delete(l.cfId),d.set(r.cfId,u)}else{const u=d.get(l.cfId);if(!u)return;u.updateRule(r)}}}}))}_ensureCalculateUnitManager(n,e){let t=this._calculateUnitManagers.get(n);t||(t=new Map,this._calculateUnitManagers.set(n,t));let r=t.get(e);return r||(r=new Map,t.set(e,r)),r}_createRuleCalculateUnitInstance(n,e,t){const r=this._univerInstanceService.getUnit(n),a=r==null?void 0:r.getSheetBySheetId(e);if(!r||!a)return;const o={workbook:r,worksheet:a,unitId:n,subUnitId:e,accessor:this._injector,rule:t,limit:r2,getCellValue:(d,l)=>a.getCellRaw(d,l)||{}};switch(t.rule.type){case _.colorScale:return new z2(o);case _.dataBar:return new t0(o);case _.highlightCell:return new n0(o);case _.iconSet:return new i0(o)}}_createCacheKey(n,e,t,r){return`${n}_${e}_${t}_${r}`}setCacheLength(n=r2){this._cellCache.limit!==n&&(this._cellCache.limit=n,this._calculateUnitManagers.forEach(e=>{e.forEach(t=>{t.forEach(r=>{r.setCacheLength(n)})})}))}};exports.ConditionalFormattingViewModel=l0([e2(0,h.Inject(h.Injector)),e2(1,h.Inject(b)),e2(2,h.Inject(exports.ConditionalFormattingFormulaService)),e2(3,h.IUniverInstanceService)],exports.ConditionalFormattingViewModel);const o0={mistake:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.87359%206.87332C6.6146%207.13231%206.6146%207.55221%206.87359%207.8112L9.062%209.99961L6.87356%2012.188C6.61457%2012.447%206.61457%2012.8669%206.87356%2013.1259C7.13255%2013.3849%207.55245%2013.3849%207.81144%2013.1259L9.99987%2010.9375L12.1882%2013.1258C12.4472%2013.3848%2012.8671%2013.3848%2013.1261%2013.1258C13.3851%2012.8669%2013.3851%2012.447%2013.1261%2012.188L10.9378%209.99961L13.1261%207.81127C13.3851%207.55228%2013.3851%207.13238%2013.1261%206.87339C12.8671%206.61441%2012.4472%206.61441%2012.1882%206.87339L9.99987%209.06173L7.81147%206.87332C7.55248%206.61433%207.13257%206.61433%206.87359%206.87332Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A",warn:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Cpath%20d%3D%22M9.16817%206.67735C9.16646%206.61745%209.1656%206.5875%209.16653%206.56236C9.18103%206.16817%209.49136%205.84883%209.88497%205.82306C9.91008%205.82141%209.94004%205.82141%209.99996%205.82141V5.82141C10.0599%205.82141%2010.0899%205.82141%2010.115%205.82306C10.5086%205.84883%2010.8189%206.16817%2010.8334%206.56236C10.8343%206.5875%2010.8335%206.61745%2010.8318%206.67735L10.7043%2011.131C10.6934%2011.5121%2010.3812%2011.8154%209.99995%2011.8154V11.8154C9.61866%2011.8154%209.30655%2011.5121%209.29564%2011.131L9.16817%206.67735Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3Crect%20x%3D%229.31488%22%20y%3D%2212.8086%22%20width%3D%221.37006%22%20height%3D%221.37006%22%20rx%3D%220.685032%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A",correct:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M17.037%2010C17.037%2013.8865%2013.8864%2017.0371%209.99999%2017.0371C6.11354%2017.0371%202.96295%2013.8865%202.96295%2010C2.96295%206.1136%206.11354%202.96301%209.99999%202.96301C13.8864%202.96301%2017.037%206.1136%2017.037%2010Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3Cpath%20d%3D%22M13.9239%207.17477C13.6638%206.91472%2013.2422%206.91472%2012.9821%207.17477L8.74433%2011.4126L7.01786%209.6861C6.75781%209.42606%206.33619%209.42606%206.07614%209.6861C5.81609%209.94615%205.81609%2010.3678%206.07614%2010.6278L8.27349%2012.8252C8.53354%2013.0852%208.95516%2013.0852%209.21521%2012.8252L9.2195%2012.8209L13.9239%208.1165C14.1839%207.85645%2014.1839%207.43482%2013.9239%207.17477Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A"},u0={starEmpty:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A",starIncomplete:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_177)%22%3E%0A%3Cmask%20id%3D%22mask0_613_177%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%2210%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2220%22%3E%0A%3Crect%20x%3D%2210.3704%22%20y%3D%220.37037%22%20width%3D%229.25926%22%20height%3D%2219.2593%22%20fill%3D%22%23C4C4C4%22%20stroke%3D%22%23F7D564%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23mask0_613_177)%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fg%3E%0A%3Cmask%20id%3D%22mask1_613_177%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2220%22%3E%0A%3Crect%20width%3D%2210%22%20height%3D%2220%22%20fill%3D%22%23C4C4C4%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23mask1_613_177)%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_177%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A",starFull:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A"},c0={progress0:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress25:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M16.2963%209.99991C16.2963%209.17307%2016.1335%208.35432%2015.8171%207.59042C15.5006%206.82652%2015.0369%206.13242%2014.4522%205.54776C13.8675%204.96309%2013.1734%204.49931%2012.4095%204.18289C11.6456%203.86647%2010.8269%203.70361%2010%203.70361L10%209.99991H16.2963Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress50:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M10%2016.2962C11.6699%2016.2962%2013.2714%2015.6328%2014.4522%2014.4521C15.633%2013.2713%2016.2963%2011.6698%2016.2963%209.99991C16.2963%208.33003%2015.633%206.72854%2014.4522%205.54776C13.2714%204.36697%2011.6699%203.70361%2010%203.70361L10%209.99991L10%2016.2962Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress75:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M3.70374%209.99991C3.70374%2011.2452%204.07301%2012.4625%204.76485%2013.4979C5.4567%2014.5334%206.44005%2015.3404%207.59054%2015.8169C8.74104%2016.2935%2010.007%2016.4182%2011.2284%2016.1752C12.4497%2015.9323%2013.5716%2015.3326%2014.4522%2014.4521C15.3327%2013.5715%2015.9324%2012.4496%2016.1753%2011.2283C16.4183%2010.0069%2016.2936%208.74092%2015.8171%207.59042C15.3405%206.43992%2014.5335%205.45658%2013.4981%204.76473C12.4626%204.07288%2011.2453%203.70361%2010%203.70361L10%209.99991L3.70374%209.99991Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress100:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99991%22%20r%3D%226.2963%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A"},d0={signal0:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal25:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal50:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal75:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal100:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93933%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70447%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A"},h0={guffaw:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.887%2010C16.887%2013.8037%2013.8036%2016.8871%209.99999%2016.8871C6.19638%2016.8871%203.11295%2013.8037%203.11295%2010C3.11295%206.19644%206.19638%203.11301%209.99999%203.11301C13.8036%203.11301%2016.887%206.19644%2016.887%2010Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M12.5355%2013.5821C13.0482%2013.1841%2013.3951%2012.6107%2013.5405%2012.0327C13.5934%2011.8226%2013.5051%2011.6349%2013.3518%2011.5331C13.2036%2011.4346%2013.0031%2011.4203%2012.8265%2011.5131C11.0615%2012.4407%208.94609%2012.4427%207.1828%2011.513C7.00629%2011.4199%206.80602%2011.4343%206.65798%2011.5329C6.50518%2011.6346%206.41701%2011.8217%206.46844%2012.0312C6.61029%2012.609%206.95079%2013.1833%207.46449%2013.5821C8.14361%2014.1093%209.05608%2014.3999%2010%2014.3999C10.9439%2014.3999%2011.8564%2014.1093%2012.5355%2013.5821Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A",smile:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2011.8518C7.03705%2011.8518%207.77779%2013.7037%2010%2013.7037C12.2222%2013.7037%2012.963%2011.8518%2012.963%2011.8518%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",noninductive:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2012.5927C7.03705%2012.5927%208.14816%2012.5927%2010.3704%2012.5927C12.5926%2012.5927%2012.963%2012.5927%2012.963%2012.5927%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",dissatisfied:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2013.7037C7.03705%2013.7037%207.77779%2011.8519%2010%2011.8519C12.2222%2011.8519%2012.963%2013.7037%2012.963%2013.7037%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",impatient:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.47573%2011.731C6.96306%2012.129%206.61613%2012.7024%206.47071%2013.2804C6.41784%2013.4905%206.50617%2013.6782%206.65942%2013.78C6.80761%2013.8785%207.00813%2013.8928%207.18477%2013.8C8.9498%2012.8724%2011.0652%2012.8704%2012.8285%2013.8002C13.005%2013.8932%2013.2052%2013.8788%2013.3533%2013.7802C13.5061%2013.6785%2013.5942%2013.4914%2013.5428%2013.2819C13.401%2012.7041%2013.0605%2012.1298%2012.5468%2011.731C11.8676%2011.2038%2010.9552%2010.9132%2010.0112%2010.9132C9.06732%2010.9132%208.15485%2011.2038%207.47573%2011.731Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A"},g0=JSON.parse('{"down-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","right-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","up-green":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndDown-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndUp-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","down-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","right-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","up-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndDown-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndUp-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A"}'),C0={cross:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223.70374%22%20y%3D%228.14795%22%20width%3D%2212.5926%22%20height%3D%223.7037%22%20rx%3D%220.740741%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A",up:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M9.44533%205.81157C9.74012%205.47858%2010.2598%205.47858%2010.5546%205.81157L16.2868%2012.2867C16.71%2012.7647%2016.3706%2013.5184%2015.7322%2013.5184H4.26776C3.62933%2013.5184%203.28995%2012.7647%203.71313%2012.2867L9.44533%205.81157Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A",down:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.5547%2014.1884C10.2599%2014.5214%209.74019%2014.5214%209.4454%2014.1884L3.71321%207.71335C3.29002%207.23532%203.6294%206.48161%204.26784%206.48161L15.7322%206.48161C16.3707%206.48161%2016.7101%207.23532%2016.2869%207.71335L10.5547%2014.1884Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","rhomboid-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.1415%2011.1984C1.8412%2010.9074%201.8412%2010.4256%202.1415%2010.1346L9.48467%203.01785C9.77196%202.73942%2010.2284%202.73942%2010.5157%203.01786L17.8586%2010.1346C18.1589%2010.4256%2018.1589%2010.9074%2017.8586%2011.1984L10.5157%2018.3151C10.2284%2018.5936%209.77196%2018.5936%209.48467%2018.3152L2.1415%2011.1984Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","rhomboid-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.1415%2011.1984C1.8412%2010.9074%201.8412%2010.4256%202.1415%2010.1346L9.48467%203.01785C9.77196%202.73942%2010.2284%202.73942%2010.5157%203.01786L17.8586%2010.1346C18.1589%2010.4256%2018.1589%2010.9074%2017.8586%2011.1984L10.5157%2018.3151C10.2284%2018.5936%209.77196%2018.5936%209.48467%2018.3152L2.1415%2011.1984Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-greed":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-pink":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FB9D9D%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-black":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E%0A","triangle-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_237)%22%3E%0A%3Cpath%20d%3D%22M9.32308%204.41301C9.58368%203.82623%2010.4164%203.82623%2010.677%204.413L15.9526%2016.2917C16.1701%2016.7815%2015.8115%2017.3331%2015.2756%2017.3331H4.72454C4.18858%2017.3331%203.83002%2016.7815%204.04756%2016.2917L9.32308%204.41301Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_237%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A","indicate-greed":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","indicate-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","indicate-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A"},D0={mistake2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.12194%206.33702C4.1805%206.47839%204.30722%206.6051%204.56066%206.85854L8.36822%2010.6661L4.56062%2014.4737C4.30718%2014.7272%204.18046%2014.8539%204.12191%2014.9952C4.04384%2015.1837%204.04384%2015.3955%204.12191%2015.584C4.18046%2015.7253%204.30718%2015.8521%204.56062%2016.1055C4.81406%2016.3589%204.94078%2016.4857%205.08214%2016.5442C5.27062%2016.6223%205.4824%2016.6223%205.67089%2016.5442C5.81225%2016.4857%205.93897%2016.3589%206.19241%2016.1055L10%2012.2979L13.8074%2016.1053C14.0609%2016.3588%2014.1876%2016.4855%2014.329%2016.544C14.5174%2016.6221%2014.7292%2016.6221%2014.9177%2016.544C15.0591%2016.4855%2015.1858%2016.3588%2015.4392%2016.1053L15.4392%2016.1053C15.6927%2015.8519%2015.8194%2015.7252%2015.8779%2015.5838C15.956%2015.3953%2015.956%2015.1835%2015.8779%2014.9951C15.8194%2014.8537%2015.6927%2014.727%2015.4392%2014.4735L15.4392%2014.4735L11.6318%2010.6661L15.4392%206.85872C15.6926%206.60528%2015.8193%206.47856%2015.8779%206.3372C15.956%206.14871%2015.956%205.93694%2015.8779%205.74845C15.8193%205.60709%2015.6926%205.48037%2015.4392%205.22693C15.1857%204.97349%2015.059%204.84677%2014.9177%204.78822C14.7292%204.71015%2014.5174%204.71015%2014.3289%204.78822C14.1876%204.84677%2014.0608%204.97349%2013.8074%205.22693L10%209.03433L6.19244%205.22676C5.939%204.97332%205.81228%204.8466%205.67092%204.78805C5.48244%204.70997%205.27066%204.70997%205.08218%204.78805C4.94082%204.8466%204.8141%204.97332%204.56066%205.22676L4.56066%205.22676C4.30722%205.4802%204.1805%205.60692%204.12194%205.74828C4.04387%205.93676%204.04387%206.14854%204.12194%206.33702Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A",warn2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8.49778%205.00963C8.48513%204.56774%208.47881%204.3468%208.56086%204.17746C8.63301%204.02856%208.75124%203.90689%208.89802%203.83052C9.06494%203.74365%209.28597%203.74365%209.72805%203.74365H10.272C10.714%203.74365%2010.9351%203.74365%2011.102%203.83052C11.2488%203.9069%2011.367%204.02856%2011.4392%204.17746C11.5212%204.3468%2011.5149%204.56775%2011.5022%205.00964L11.2644%2013.3173C11.2524%2013.737%2011.2464%2013.9468%2011.1609%2014.1065C11.0857%2014.2471%2010.9687%2014.3609%2010.826%2014.432C10.6639%2014.5129%2010.454%2014.5129%2010.0342%2014.5129H9.96582C9.54601%2014.5129%209.33611%2014.5129%209.17397%2014.432C9.0313%2014.3609%208.91426%2014.2471%208.83904%2014.1065C8.75357%2013.9468%208.74756%2013.737%208.73555%2013.3173L8.49778%205.00963Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Crect%20x%3D%228.76917%22%20y%3D%2215.2817%22%20width%3D%222.46154%22%20height%3D%222.46154%22%20rx%3D%220.769231%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A",correct2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_248)%22%3E%0A%3Cpath%20d%3D%22M15.689%205.69723C15.5476%205.75578%2015.4209%205.8825%2015.1675%206.13594L7.82436%2013.4791L4.83279%2010.4875C4.57935%2010.2341%204.45263%2010.1073%204.31127%2010.0488C4.12278%209.97071%203.91101%209.97071%203.72252%2010.0488C3.58116%2010.1073%203.45444%2010.2341%203.201%2010.4875C2.94756%2010.7409%202.82084%2010.8676%202.76229%2011.009C2.68422%2011.1975%202.68422%2011.4093%202.76229%2011.5978C2.82084%2011.7391%202.94756%2011.8658%203.201%2012.1193L7.0085%2015.9268C7.26194%2016.1802%207.38866%2016.3069%207.53002%2016.3655C7.7185%2016.4436%207.93028%2016.4436%208.11876%2016.3655C8.26013%2016.3069%208.38685%2016.1802%208.64028%2015.9268C8.66387%2015.9032%208.68636%2015.8807%208.7078%2015.8592L16.7993%207.76772C17.0527%207.51428%2017.1794%207.38756%2017.238%207.2462C17.3161%207.05772%2017.3161%206.84594%2017.238%206.65746C17.1794%206.5161%2017.0527%206.38938%2016.7993%206.13594C16.5458%205.8825%2016.4191%205.75578%2016.2777%205.69723C16.0893%205.61915%2015.8775%205.61915%2015.689%205.69723Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_248%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A"},f0={"flag-green":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","flag-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","flag-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A"},m0={"cell-0":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-25":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-50":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-75":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-100":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A"},C={feedback:o0,star:u0,progress:c0,signal:d0,feeling:h0,arrow:g0,shape:C0,feedback2:D0,flag:f0,cell:m0},b2=[{title:"sheet.cf.iconSet.direction",group:[{name:"3Arrows",list:[C.arrow["up-green"],C.arrow["right-gold"],C.arrow["down-red"]]},{name:"3ArrowsGray",list:[C.arrow["up-gray"],C.arrow["right-gray"],C.arrow["down-gray"]]},{name:"4Arrows",list:[C.arrow["up-green"],C.arrow["rightAndUp-gold"],C.arrow["rightAndDown-gold"],C.arrow["down-red"]]},{name:"4ArrowsGray",list:[C.arrow["up-gray"],C.arrow["rightAndUp-gray"],C.arrow["rightAndDown-gray"],C.arrow["down-gray"]]},{name:"5Arrows",list:[C.arrow["up-green"],C.arrow["rightAndUp-gold"],C.arrow["right-gold"],C.arrow["rightAndDown-gold"],C.arrow["down-red"]]},{name:"5ArrowsGray",list:[C.arrow["up-gray"],C.arrow["rightAndUp-gray"],C.arrow["right-gray"],C.arrow["rightAndDown-gray"],C.arrow["down-gray"]]},{name:"3Triangles",list:[C.shape.up,C.shape.cross,C.shape.down]}]},{title:"sheet.cf.iconSet.shape",group:[{name:"3TrafficLights1",list:[C.shape["roundness-greed"],C.shape["roundness-gold"],C.shape["roundness-red"]]},{name:"3Signs",list:[C.shape["roundness-greed"],C.shape["triangle-gold"],C.shape["rhomboid-red"]]},{name:"3TrafficLights2",list:[C.shape["indicate-greed"],C.shape["indicate-gold"],C.shape["indicate-red"]]},{name:"4RedToBlack",list:[C.shape["roundness-red"],C.shape["roundness-pink"],C.shape["roundness-gray"],C.shape["roundness-black"]]},{name:"4TrafficLights",list:[C.shape["roundness-greed"],C.shape["roundness-gold"],C.shape["roundness-red"],C.shape["roundness-black"]]}]},{title:"sheet.cf.iconSet.mark",group:[{name:"3Symbols",list:[C.feedback.correct,C.feedback.warn,C.feedback.mistake]},{name:"3Symbols2",list:[C.feedback2.correct2,C.feedback2.warn2,C.feedback2.mistake2]},{name:"3Flags",list:[C.flag["flag-green"],C.flag["flag-gold"],C.flag["flag-red"]]}]},{title:"sheet.cf.iconSet.rank",group:[{name:"4Rating",list:[C.signal.signal25,C.signal.signal50,C.signal.signal75,C.signal.signal100]},{name:"5Rating",list:[C.signal.signal0,C.signal.signal25,C.signal.signal50,C.signal.signal75,C.signal.signal100]},{name:"5Quarters",list:[C.progress.progress100,C.progress.progress75,C.progress.progress50,C.progress.progress25,C.progress.progress0]},{name:"_5Felling",list:[C.feeling.guffaw,C.feeling.smile,C.feeling.noninductive,C.feeling.dissatisfied,C.feeling.impatient]},{name:"5Boxes",list:[C.cell["cell-100"],C.cell["cell-75"],C.cell["cell-50"],C.cell["cell-25"],C.cell["cell-0"]]},{name:"3Stars",list:[C.star.starFull,C.star.starIncomplete,C.star.starEmpty]}]}],Y=b2.reduce((i,s)=>{const{group:n}=s;for(const e of n)i[e.name]=e.list;return i},{});for(const i in Y){const s=Y[i];Object.freeze(s)}const S2="EMPTY_ICON_TYPE",a2={type:h.CommandType.MUTATION,id:"sheet.mutation.move-conditional-rule",handler(i,s){if(!s)return!1;const{unitId:n,subUnitId:e,start:t,end:r}=s;return i.get(b).moveRulePriority(n,e,t,r),!0}},F0=i=>{const{unitId:s,subUnitId:n}=i,e=p2(i.start,i.end);if(!e)return[];const[t,r]=e;return[{id:a2.id,params:{unitId:s,subUnitId:n,start:t,end:r}}]},L2=(i,s)=>{const n=i.get(b),{unitId:e,subUnitId:t,cfId:r}=s,a=[...n.getSubunitRules(e,t)||[]],o=a.findIndex(l=>l.cfId===r),d=a[o-1];if(o>-1){const l=a[o],u=[{id:D2.id,params:{unitId:e,subUnitId:t,rule:h.Tools.deepClone(l)}}];if(a.splice(o,1),o!==0){const c=a[0];if(c){const g=v2({id:c.cfId,type:"before"},{id:d.cfId,type:"after"},a,w=>w.cfId);if(!g)return u;const[D,f]=g,m={unitId:e,subUnitId:t,start:D,end:f};u.push({id:a2.id,params:m})}}return u}return[]},l2={type:h.CommandType.MUTATION,id:"sheet.mutation.delete-conditional-rule",handler(i,s){if(!s)return!1;const{unitId:n,subUnitId:e,cfId:t}=s;return i.get(b).deleteRule(n,e,t),!0}},w0=(i,s)=>({id:l2.id,params:{unitId:s.unitId,subUnitId:s.subUnitId,cfId:s.rule.cfId}}),D2={type:h.CommandType.MUTATION,id:"sheet.mutation.add-conditional-rule",handler(i,s){if(!s)return!1;const{unitId:n,subUnitId:e,rule:t}=s;return i.get(b).addRule(n,e,t),!0}},f2={type:h.CommandType.MUTATION,id:"sheet.mutation.set-conditional-rule",handler(i,s){if(!s)return!1;const{unitId:n,subUnitId:e,rule:t}=s,r=s.cfId||s.rule.cfId;return i.get(b).setRule(n,e,t,r),!0}},v0=(i,s)=>{const n=i.get(b),{unitId:e,subUnitId:t}=s,r=s.cfId||s.rule.cfId,a=n.getRule(e,t,r);return a?[{id:f2.id,params:{unitId:e,subUnitId:t,cfId:r,rule:h.Tools.deepClone(a)}}]:[]},p0="ssheets-conditional-formatting.config",F2={};var E0=Object.defineProperty,A0=Object.getOwnPropertyDescriptor,_0=(i,s,n,e)=>{for(var t=e>1?void 0:e?A0(s,n):s,r=i.length-1,a;r>=0;r--)(a=i[r])&&(t=(e?a(s,n,t):a(t))||t);return e&&t&&E0(s,n,t),t},j=(i,s)=>(n,e)=>s(n,e,i);exports.ConditionalFormattingService=class extends h.Disposable{constructor(s,n,e,t,r,a){super(),this._conditionalFormattingRuleModel=s,this._injector=n,this._univerInstanceService=e,this._resourceManagerService=t,this._sheetInterceptorService=r,this._commandService=a,this._initCellChange(),this._initSnapshot(),this._initSheetChange()}get _conditionalFormattingViewModelV2(){return this._injector.get(exports.ConditionalFormattingViewModel)}composeStyle(s,n,e,t){const r=this._conditionalFormattingViewModelV2.getCellCfs(s,n,e,t);if(r&&(r!=null&&r.length)){const a=r.map(l=>this._conditionalFormattingRuleModel.getRule(s,n,l.cfId)).filter(l=>!!l).reverse(),o=a.findIndex(l=>l==null?void 0:l.stopIfTrue);return o>-1&&a.splice(o+1),a.reduce((l,u)=>{var D;const c=u.rule.type,g=r.find(f=>f.cfId===u.cfId);if(c===_.highlightCell)g.result&&h.Tools.deepMerge(l,{style:g.result});else if(c===_.colorScale){const f=g==null?void 0:g.result;f&&typeof f=="string"&&(l.style={...(D=l.style)!=null?D:{},bg:{rgb:f}})}else if(c===_.dataBar){const f=g==null?void 0:g.result;f&&(l.dataBar=f,l.isShowValue=f.isShowValue)}else if(c===_.iconSet){const f=g==null?void 0:g.result;f&&(l.iconSet=f,l.isShowValue=f.isShowValue)}return l},{})}return null}_initSnapshot(){const s=e=>{const t=this._conditionalFormattingRuleModel.getUnitRules(e),r={};return t?(t.forEach((a,o)=>{r[o]=a}),JSON.stringify(r)):""},n=e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:C2,businesses:[h.UniverInstanceType.UNIVER_SHEET],toJson:e=>s(e),parseJson:e=>n(e),onUnLoad:e=>{this._conditionalFormattingRuleModel.deleteUnitId(e)},onLoad:(e,t)=>{Object.keys(t).forEach(r=>{[...t[r]].reverse().forEach(o=>{this._conditionalFormattingRuleModel.addRule(e,r,o)})})}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:s=>{if(s.id===I.RemoveSheetCommand.id){const n=s.params,e=n.unitId||x0(this._univerInstanceService),t=n.subUnitId||y0(this._univerInstanceService);if(!t)return{redos:[],undos:[]};const r=this._conditionalFormattingRuleModel.getSubunitRules(e,t);if(!r)return{redos:[],undos:[]};const a=[],o=[];return r.forEach(d=>{const l={unitId:e,subUnitId:t,cfId:d.cfId};a.push({id:l2.id,params:l}),o.push(...L2(this._injector,l))}),{redos:a,undos:o}}return{redos:[],undos:[]}}}))}_initCellChange(){this.disposeWithMe(this._commandService.onCommandExecuted(s=>{const n=(e,t,r)=>{const a=new Set;return r.forEach(([o,d])=>{const l=this._conditionalFormattingViewModelV2.getCellCfs(e,t,o,d);l==null||l.forEach(u=>a.add(u.cfId))}),[...a].map(o=>this._conditionalFormattingRuleModel.getRule(e,t,o)).filter(o=>!!o)};switch(s.id){case I.SetRangeValuesMutation.id:{const e=s.params,{subUnitId:t,unitId:r,cellValue:a}=e,o=[];new h.ObjectMatrix(a).forValue((l,u,c)=>{c&&Object.keys(c).some(D=>["p","v"].includes(D))&&o.push([l,u])}),n(r,t,o).forEach(l=>{this._conditionalFormattingViewModelV2.markRuleDirty(r,t,l.cfId)});break}case I.InsertColMutation.id:case I.RemoveColMutation.id:{const{range:e,unitId:t,subUnitId:r}=s.params,a=this._conditionalFormattingRuleModel.getSubunitRules(t,r),o={...e,endColumn:Number.MAX_SAFE_INTEGER};a&&a.filter(l=>l.ranges.some(u=>h.Rectangle.intersects(u,o))).forEach(l=>{this._conditionalFormattingViewModelV2.markRuleDirty(t,r,l.cfId)});break}case I.RemoveRowMutation.id:case I.InsertRowMutation.id:{const{range:e,unitId:t,subUnitId:r}=s.params,a=this._conditionalFormattingRuleModel.getSubunitRules(t,r),o={...e,endRow:Number.MAX_SAFE_INTEGER};a&&a.filter(l=>l.ranges.some(u=>h.Rectangle.intersects(u,o))).forEach(l=>{this._conditionalFormattingViewModelV2.markRuleDirty(t,r,l.cfId)});break}case I.MoveRowsMutation.id:{const{sourceRange:e,targetRange:t,unitId:r,subUnitId:a}=s.params,o=this._conditionalFormattingRuleModel.getSubunitRules(r,a),d={startRow:Math.min(e.startRow,t.startRow),endRow:Number.MAX_SAFE_INTEGER,startColumn:0,endColumn:Number.MAX_SAFE_INTEGER};o&&o.filter(u=>u.ranges.some(c=>h.Rectangle.intersects(c,d))).forEach(u=>{this._conditionalFormattingViewModelV2.markRuleDirty(r,a,u.cfId)});break}case I.MoveColsMutation.id:{const{sourceRange:e,targetRange:t,unitId:r,subUnitId:a}=s.params,o=this._conditionalFormattingRuleModel.getSubunitRules(r,a),d={startRow:0,endRow:Number.MAX_SAFE_INTEGER,startColumn:Math.min(e.startColumn,t.startColumn),endColumn:Number.MAX_SAFE_INTEGER};o&&o.filter(u=>u.ranges.some(c=>h.Rectangle.intersects(c,d))).forEach(u=>{this._conditionalFormattingViewModelV2.markRuleDirty(r,a,u.cfId)});break}case I.MoveRangeMutation.id:{const{unitId:e,to:t,from:r}=s.params,a=o=>{const d=[];new h.ObjectMatrix(o.value).forValue((u,c)=>{d.push([u,c])}),n(e,o.subUnitId,d).forEach(u=>{this._conditionalFormattingViewModelV2.markRuleDirty(e,o.subUnitId,u.cfId)})};a(t),a(r);break}case I.ReorderRangeMutation.id:{const{range:e,unitId:t,subUnitId:r}=s.params,a=this._conditionalFormattingRuleModel.getSubunitRules(t,r);a&&a.filter(d=>d.ranges.some(l=>h.Rectangle.intersects(l,e))).forEach(d=>{this._conditionalFormattingViewModelV2.markRuleDirty(t,r,d.cfId)});break}}}))}};exports.ConditionalFormattingService=_0([j(0,h.Inject(b)),j(1,h.Inject(h.Injector)),j(2,h.Inject(h.IUniverInstanceService)),j(3,h.Inject(h.IResourceManagerService)),j(4,h.Inject(I.SheetInterceptorService)),j(5,h.Inject(h.ICommandService))],exports.ConditionalFormattingService);const x0=i=>i.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SHEET).getUnitId(),y0=i=>{var s;return(s=i.getCurrentUnitForType(h.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:s.getSheetId()};var M0=Object.defineProperty,R0=Object.getOwnPropertyDescriptor,I0=(i,s,n,e)=>{for(var t=e>1?void 0:e?R0(s,n):s,r=i.length-1,a;r>=0;r--)(a=i[r])&&(t=(e?a(s,n,t):a(t))||t);return e&&t&&M0(s,n,t),t},d2=(i,s)=>(n,e)=>s(n,e,i),t2;exports.UniverSheetsConditionalFormattingPlugin=(t2=class extends h.Plugin{constructor(s=F2,n,e,t){super(),this._config=s,this._injector=n,this._commandService=e,this._configService=t;const{...r}=h.merge({},F2,this._config);this._configService.setConfig(p0,r),[[exports.ConditionalFormattingService],[exports.ConditionalFormattingFormulaService],[b],[exports.ConditionalFormattingViewModel]].forEach(a=>{this._injector.add(a)}),[D2,l2,f2,a2,Z].forEach(a=>{this._commandService.registerCommand(a)})}onStarting(){this._injector.get(exports.ConditionalFormattingService),h.touchDependencies(this._injector,[[exports.ConditionalFormattingService],[exports.ConditionalFormattingViewModel]])}},F(t2,"pluginName",C2),F(t2,"type",h.UniverInstanceType.UNIVER_SHEET),t2);exports.UniverSheetsConditionalFormattingPlugin=I0([d2(1,h.Inject(h.Injector)),d2(2,h.Inject(h.ICommandService)),d2(3,h.IConfigService)],exports.UniverSheetsConditionalFormattingPlugin);const T2="sheet-conditional-rule-icon",b0=35,B2=15,k2=2;class N2 extends q.SheetExtension{constructor(){super();F(this,"_paddingRightAndLeft",k2);F(this,"_width",B2);F(this,"_imageMap",new Map);F(this,"uKey",T2);F(this,"Z_INDEX",b0);F(this,"_radius",1);this._init()}draw(n,e,t,r){const{worksheet:a}=t;if(!a)return!1;n.save(),h.Range.foreach(t.rowColumnSegment,(o,d)=>{if(!a.getRowVisible(o)||!a.getColVisible(d))return;const l=a.getCell(o,d);if(l!=null&&l.iconSet){const{iconType:u,iconId:c}=l.iconSet;if(u===S2)return;const g=this._imageMap.get(this._createKey(u,c));if(!g)return;const D=t.getCellWithCoordByIndex(o,d,!1);let{isMerged:f,isMergedMainCell:m,mergeInfo:w,startY:p,endY:S,startX:T,endX:V}=D;if(f||(m&&(p=w.startY,S=w.endY,T=w.startX,V=w.endX),!this.isRenderDiffRangesByCell(w,r)))return;const K=V-T,J=S-p;if(this._width>J||this._width>K+this._paddingRightAndLeft*2)return;const o2=(J-this._width)/2+p;n.drawImage(g,T+this._paddingRightAndLeft,o2,this._width,this._width)}}),n.restore()}_init(){for(const n in Y)Y[n].forEach((t,r)=>{const a=this._createKey(n,String(r)),o=new Image;o.onload=()=>{this._imageMap.set(a,o)},o.src=t})}_createKey(n,e){return`${n}_${e}`}}q.SpreadsheetExtensionRegistry.add(N2);function V2(i){if(typeof i!="object"||i===null)return i;const s={};for(const n in i)if(i.hasOwnProperty(n)){const e=V2(i[n]);e!==void 0&&(s[n]=e)}return s}Object.defineProperty(exports,"isRangesEqual",{enumerable:!0,get:()=>h.isRangesEqual});exports.AddConditionalRuleMutation=D2;exports.AddConditionalRuleMutationUndoFactory=w0;exports.CFNumberOperator=v;exports.CFRuleType=_;exports.CFSubRuleType=E;exports.CFTextOperator=x;exports.CFTimePeriodOperator=y;exports.CFValueType=A;exports.CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH=r2;exports.ConditionalFormattingFormulaMarkDirty=Z;exports.ConditionalFormattingIcon=N2;exports.ConditionalFormattingRuleModel=b;exports.DEFAULT_BG_COLOR=P2;exports.DEFAULT_FONT_COLOR=$2;exports.DEFAULT_PADDING=k2;exports.DEFAULT_WIDTH=B2;exports.DataBar=I2;exports.DeleteConditionalRuleMutation=l2;exports.DeleteConditionalRuleMutationUndoFactory=L2;exports.EMPTY_ICON_TYPE=S2;exports.FormulaResultStatus=R;exports.IconUKey=T2;exports.MoveConditionalRuleMutation=a2;exports.MoveConditionalRuleMutationUndoFactory=F0;exports.SHEET_CONDITIONAL_FORMATTING_PLUGIN=C2;exports.SetConditionalRuleMutation=f2;exports.anchorUndoFactory=p2;exports.compareWithNumber=W;exports.createCfId=E2;exports.createDefaultRule=j2;exports.createDefaultValue=W2;exports.createDefaultValueByValueType=q2;exports.dataBarUKey=M2;exports.defaultDataBarNativeColor=g2;exports.defaultDataBarPositiveColor=h2;exports.defaultPlaceholderColor=R2;exports.filterRange=s2;exports.findIndexByAnchor=N;exports.getCacheStyleMatrix=K2;exports.getCellValue=B;exports.getColorScaleFromValue=y2;exports.getMaxInFormulaResult=J2;exports.getOppositeOperator=x2;exports.getValueByType=X;exports.iconGroup=b2;exports.iconMap=Y;exports.isAnchorEqual=Z2;exports.isFloatsEqual=H;exports.isNullable=M;exports.moveByAnchor=w2;exports.removeUndefinedAttr=V2;exports.serialTimeToTimestamp=_2;exports.setConditionalRuleMutationUndoFactory=v0;exports.toYMD_1900=A2;exports.transformSupportSymmetryAnchor=v2;
1
+ "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);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),rxjs=require("rxjs"),operators=require("rxjs/operators"),engineFormula=require("@univerjs/engine-formula"),engineRender=require("@univerjs/engine-render"),sheets=require("@univerjs/sheets"),SHEET_CONDITIONAL_FORMATTING_PLUGIN="SHEET_CONDITIONAL_FORMATTING_PLUGIN";var CFTextOperator=(CFTextOperator2=>(CFTextOperator2.beginsWith="beginsWith",CFTextOperator2.endsWith="endsWith",CFTextOperator2.containsText="containsText",CFTextOperator2.notContainsText="notContainsText",CFTextOperator2.equal="equal",CFTextOperator2.notEqual="notEqual",CFTextOperator2.containsBlanks="containsBlanks",CFTextOperator2.notContainsBlanks="notContainsBlanks",CFTextOperator2.containsErrors="containsErrors",CFTextOperator2.notContainsErrors="notContainsErrors",CFTextOperator2))(CFTextOperator||{}),CFTimePeriodOperator=(CFTimePeriodOperator2=>(CFTimePeriodOperator2.today="today",CFTimePeriodOperator2.yesterday="yesterday",CFTimePeriodOperator2.tomorrow="tomorrow",CFTimePeriodOperator2.last7Days="last7Days",CFTimePeriodOperator2.thisMonth="thisMonth",CFTimePeriodOperator2.lastMonth="lastMonth",CFTimePeriodOperator2.nextMonth="nextMonth",CFTimePeriodOperator2.thisWeek="thisWeek",CFTimePeriodOperator2.lastWeek="lastWeek",CFTimePeriodOperator2.nextWeek="nextWeek",CFTimePeriodOperator2))(CFTimePeriodOperator||{}),CFNumberOperator=(CFNumberOperator2=>(CFNumberOperator2.greaterThan="greaterThan",CFNumberOperator2.greaterThanOrEqual="greaterThanOrEqual",CFNumberOperator2.lessThan="lessThan",CFNumberOperator2.lessThanOrEqual="lessThanOrEqual",CFNumberOperator2.notBetween="notBetween",CFNumberOperator2.between="between",CFNumberOperator2.equal="equal",CFNumberOperator2.notEqual="notEqual",CFNumberOperator2))(CFNumberOperator||{}),CFRuleType=(CFRuleType2=>(CFRuleType2.highlightCell="highlightCell",CFRuleType2.dataBar="dataBar",CFRuleType2.colorScale="colorScale",CFRuleType2.iconSet="iconSet",CFRuleType2))(CFRuleType||{}),CFSubRuleType=(CFSubRuleType2=>(CFSubRuleType2.uniqueValues="uniqueValues",CFSubRuleType2.duplicateValues="duplicateValues",CFSubRuleType2.rank="rank",CFSubRuleType2.text="text",CFSubRuleType2.timePeriod="timePeriod",CFSubRuleType2.number="number",CFSubRuleType2.average="average",CFSubRuleType2.formula="formula",CFSubRuleType2))(CFSubRuleType||{}),CFValueType=(CFValueType2=>(CFValueType2.num="num",CFValueType2.min="min",CFValueType2.max="max",CFValueType2.percent="percent",CFValueType2.percentile="percentile",CFValueType2.formula="formula",CFValueType2))(CFValueType||{});const DEFAULT_BG_COLOR="#fff",DEFAULT_FONT_COLOR="#000000",createDefaultRule=__name(()=>({cfId:void 0,ranges:[],stopIfTrue:!1,rule:{type:"highlightCell",subType:"text",operator:"containsText"}}),"createDefaultRule"),createDefaultValue=__name((subType,operator)=>{switch(subType){case"text":{if(["beginsWith","containsText","endsWith","equal","notContainsText","notEqual"].includes(operator))return"";break}case"number":return["between","notBetween"].includes(operator)?[10,100]:10}return""},"createDefaultValue"),createDefaultValueByValueType=__name((type,defaultValue)=>{switch(type){case"formula":return"=";case"max":case"min":return"";case"percent":case"percentile":case"num":return defaultValue!==void 0?defaultValue:10}return""},"createDefaultValueByValueType"),findIndexByAnchor=__name((anchor,ruleList,get)=>{if(!ruleList)return null;const anchorIndex=ruleList.findIndex(rule=>get(rule)===anchor.id);if(anchorIndex<0)return null;switch(anchor.type){case"after":return anchorIndex+1;case"before":return anchorIndex-1;case"self":return anchorIndex}},"findIndexByAnchor"),moveByAnchor=__name((start,end,ruleList,get)=>{if(!ruleList)return null;const startIndex=findIndexByAnchor(start,ruleList,get);let endIndex=findIndexByAnchor(end,ruleList,get);if(startIndex===null||endIndex===null||startIndex===endIndex)return;const rule=ruleList.splice(startIndex,1)[0];switch(startIndex<endIndex&&(endIndex=findIndexByAnchor(end,ruleList,get)),end.type){case"before":{ruleList.splice(endIndex+1,0,rule);break}case"self":case"after":{ruleList.splice(endIndex,0,rule);break}}},"moveByAnchor"),transformSupportSymmetryAnchor=__name((start,end,ruleList,get)=>{if(start.type==="after"&&["after","before"].includes(end.type))return[start,end];const _start={...start},_end={...end};if(_start.type!=="after"){const index=findIndexByAnchor(_start,ruleList,get);if(index===null)return null;if(index-1<0){const nextItem=ruleList[index+1];if(nextItem)_start.id=get(nextItem),_start.type="before";else return null}else{const id=get(ruleList[index-1]);_start.id=id,_start.type="after"}}if(!["after","before"].includes(_end.type)){const index=findIndexByAnchor(_end,ruleList,get);if(index===null)return null;if(index===0)_end.type="before";else if(index-1>=0){const id=get(ruleList[index-1]);_end.id=id,_end.type="after"}else if(index+1<=ruleList.length-1){const id=get(ruleList[index+1]);_end.id=id,_end.type="before"}else return null}return _start.id===_end.id&&_start.type===_end.type?null:[_start,_end]},"transformSupportSymmetryAnchor"),anchorUndoFactory=__name((start,end)=>{if(["after","before"].includes(end.type)){if(start.type==="after")return[end,start];if(start.type==="before")return[end,{...start,type:"self"}]}return null},"anchorUndoFactory"),isAnchorEqual=__name((anchor1,anchor2)=>anchor1.id===anchor2.id&&anchor1.type===anchor2.type,"isAnchorEqual"),createCfId=__name(()=>`${core.Tools.generateRandomId(8)}`,"createCfId"),_ConditionalFormattingRuleModel=class _ConditionalFormattingRuleModel{constructor(){__publicField(this,"_model",new Map);__publicField(this,"_ruleChange$",new rxjs.Subject);__publicField(this,"$ruleChange",this._ruleChange$.asObservable())}_ensureList(unitId,subUnitId){let list=this.getSubunitRules(unitId,subUnitId);if(!list){list=[];let unitMap=this._model.get(unitId);unitMap||(unitMap=new Map,this._model.set(unitId,unitMap)),unitMap.set(subUnitId,list)}return list}getRule(unitId,subUnitId,cfId){const list=this.getSubunitRules(unitId,subUnitId);return list?list.find(item=>item.cfId===cfId):null}getUnitRules(unitId){return this._model.get(unitId)||null}getSubunitRules(unitId,subUnitId){var _a5;return((_a5=this._model.get(unitId))==null?void 0:_a5.get(subUnitId))||null}deleteRule(unitId,subUnitId,cfId){const list=this.getSubunitRules(unitId,subUnitId);if(list){const index=list.findIndex(e=>e.cfId===cfId),rule=list[index];rule&&(list.splice(index,1),this._ruleChange$.next({rule,subUnitId,unitId,type:"delete"}))}}setRule(unitId,subUnitId,rule,oldCfId){const oldRule=this._ensureList(unitId,subUnitId).find(item=>item.cfId===oldCfId);if(oldRule){const cloneRule=core.Tools.deepClone(oldRule);Object.assign(oldRule,rule),this._ruleChange$.next({rule:oldRule,subUnitId,unitId,type:"set",oldRule:cloneRule})}}addRule(unitId,subUnitId,rule){const list=this._ensureList(unitId,subUnitId);list.find(item2=>item2.cfId===rule.cfId)||list.unshift(rule),this._ruleChange$.next({rule,subUnitId,unitId,type:"add"})}moveRulePriority(unitId,subUnitId,start,end){const list=this._ensureList(unitId,subUnitId),curIndex=findIndexByAnchor(start,list,rule2=>rule2.cfId),targetCfIndex=findIndexByAnchor(end,list,rule2=>rule2.cfId);if(targetCfIndex===null||curIndex===null||targetCfIndex===curIndex)return;const rule=list[curIndex];rule&&(moveByAnchor(start,end,list,rule2=>rule2.cfId),this._ruleChange$.next({rule,subUnitId,unitId,type:"sort"}))}createCfId(_unitId,_subUnitId){return createCfId()}deleteUnitId(unitId){this._model.delete(unitId)}};__name(_ConditionalFormattingRuleModel,"ConditionalFormattingRuleModel");let ConditionalFormattingRuleModel=_ConditionalFormattingRuleModel;const ConditionalFormattingFormulaMarkDirty={type:core.CommandType.MUTATION,id:"sheet.mutation.conditional-formatting-formula-mark-dirty",handler(){return!0}};var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__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"),FormulaResultStatus=(FormulaResultStatus2=>(FormulaResultStatus2[FormulaResultStatus2.NOT_REGISTER=1]="NOT_REGISTER",FormulaResultStatus2[FormulaResultStatus2.SUCCESS=2]="SUCCESS",FormulaResultStatus2[FormulaResultStatus2.WAIT=3]="WAIT",FormulaResultStatus2[FormulaResultStatus2.ERROR=4]="ERROR",FormulaResultStatus2))(FormulaResultStatus||{});const getResultFromFormula=__name(formulaResult=>{const v=formulaResult&&formulaResult[0]&&formulaResult[0][0];return(v==null?void 0:v.t)===core.CellValueType.BOOLEAN?v.v===core.BooleanNumber.TRUE||v.v===!0:v?v.v:!1},"getResultFromFormula");var _a;exports.ConditionalFormattingFormulaService=(_a=class extends core.Disposable{constructor(_commandService,_activeDirtyManagerService,_conditionalFormattingRuleModel){super();__publicField(this,"_formulaMap",new Map);__publicField(this,"_result$",new rxjs.Subject);__publicField(this,"result$",this._result$.asObservable());this._commandService=_commandService,this._activeDirtyManagerService=_activeDirtyManagerService,this._conditionalFormattingRuleModel=_conditionalFormattingRuleModel,this._initFormulaCalculationResultChange(),this._initRuleChange()}_initRuleChange(){const isNeedMarkFormulaDirty=__name(rule=>{switch(rule.type){case CFRuleType.colorScale:return rule.config.some(item=>item.value.type===CFValueType.formula);case CFRuleType.dataBar:return[rule.config.max,rule.config.min].some(item=>item.type===CFValueType.formula);case CFRuleType.iconSet:return rule.config.some(item=>item.value.type===CFValueType.formula)}},"isNeedMarkFormulaDirty");this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(option=>{const{unitId,subUnitId,rule,oldRule}=option;option.type==="delete"&&this._removeFormulaByCfId(unitId,subUnitId,rule.cfId),option.type==="set"&&(isNeedMarkFormulaDirty(rule.rule)||oldRule&&isNeedMarkFormulaDirty(oldRule.rule))&&this._removeFormulaByCfId(unitId,subUnitId,rule.cfId)}))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(commandInfo=>{if(commandInfo.id===engineFormula.SetFormulaCalculationResultMutation.id){const params=commandInfo.params;for(const unitId in params.unitOtherData)for(const subUnitId in params.unitOtherData[unitId])for(const formulaId in params.unitOtherData[unitId][subUnitId]){const resultMatrix=new core.ObjectMatrix(params.unitOtherData[unitId][subUnitId][formulaId]),formulaMapAlias=this._ensureSubunitFormulaMap(unitId,subUnitId).getValue(formulaId,["formulaId"]);if(!formulaMapAlias)continue;const ranges=formulaMapAlias.ranges;if(!ranges)continue;const resultObject=formulaMapAlias.result,startRow=ranges[0].startRow,startCol=ranges[0].startColumn;resultMatrix.forValue((row,col,value)=>{resultObject.setValue(startRow+row,startCol+col,getResultFromFormula(value))}),formulaMapAlias.status=2;const isAllFinished=this._getAllFormulaResultByCfId(unitId,subUnitId,formulaMapAlias.cfId).every(item=>item.status===2);this._result$.next({...formulaMapAlias,isAllFinished})}}})),this._activeDirtyManagerService.register(ConditionalFormattingFormulaMarkDirty.id,{commandId:ConditionalFormattingFormulaMarkDirty.id,getDirtyData(commandInfo){return{dirtyUnitOtherFormulaMap:commandInfo.params}}})}_ensureSubunitFormulaMap(unitId,subUnitId){let unitMap=this._formulaMap.get(unitId);unitMap||(unitMap=new Map,this._formulaMap.set(unitId,unitMap));let subUnitMap=unitMap.get(subUnitId);return subUnitMap||(subUnitMap=new core.RefAlias([],["formulaId","id"]),unitMap.set(subUnitId,subUnitMap)),subUnitMap}getSubUnitFormulaMap(unitId,subUnitId){var _a5;return(_a5=this._formulaMap.get(unitId))==null?void 0:_a5.get(subUnitId)}registerFormulaWithRange(unitId,subUnitId,cfId,formulaText,ranges=[{startRow:0,endRow:0,startColumn:0,endColumn:0}]){const formulaMap=this._ensureSubunitFormulaMap(unitId,subUnitId),cfFormulaId=this.createCFormulaId(cfId,formulaText);if(formulaMap.getValue(cfFormulaId,["id"]))return;const formulaId=this._createFormulaId(unitId,subUnitId);formulaMap.addValue({formulaText,unitId,subUnitId,cfId,id:cfFormulaId,ranges,formulaId,status:3,result:new core.ObjectMatrix});const params={unitId,subUnitId,formulaMap:{[formulaId]:{f:formulaText,ranges}}};this._commandService.executeCommand(engineFormula.SetOtherFormulaMutation.id,params,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(ConditionalFormattingFormulaMarkDirty.id,{[unitId]:{[subUnitId]:{[formulaId]:!0}}},{onlyLocal:!0})})}_removeFormulaByCfId(unitId,subUnitId,cfId){const formulaIdList=this.deleteCache(unitId,subUnitId,cfId).map(item=>item.formulaId);this._commandService.executeCommand(engineFormula.RemoveOtherFormulaMutation.id,{unitId,subUnitId,formulaIdList},{onlyLocal:!0})}getFormulaResultWithCoords(unitId,subUnitId,cfId,formulaText,row=0,col=0){const map=this.getSubUnitFormulaMap(unitId,subUnitId);if(!map)return{status:1};const item=map.getValue(this.createCFormulaId(cfId,formulaText),["id"]);return item?item.status===2&&item.result?{result:item.result.getValue(row,col),status:2}:item.status===3?{status:3}:{status:4}:{status:1}}getFormulaMatrix(unitId,subUnitId,cfId,formulaText){const map=this.getSubUnitFormulaMap(unitId,subUnitId);if(!map)return{status:1};const item=map.getValue(this.createCFormulaId(cfId,formulaText),["id"]);if(!item)return{status:1};if(item.status===2&&item.result)return{result:item.result,status:2}}deleteCache(unitId,subUnitId,cfId,formulaText){const map=this.getSubUnitFormulaMap(unitId,subUnitId);if(!map)return[];if(formulaText){const key=this.createCFormulaId(cfId,formulaText);return map.deleteValue(key,["id"]),[]}else{const values=map.getValues().filter(v=>v.cfId===cfId);return values.forEach(e=>{map.deleteValue(e.formulaId,["formulaId"])}),values}}_getAllFormulaResultByCfId(unitId,subUnitId,cfId){const map=this.getSubUnitFormulaMap(unitId,subUnitId);return map?map.getValues().filter(v=>v.cfId===cfId):[]}_createFormulaId(unitId,subUnitId){return`sheet.cf_${unitId}_${subUnitId}_${core.Tools.generateRandomId(8)}`}createCFormulaId(cfId,formulaText){return`${cfId}_${formulaText}`}},__name(_a,"ConditionalFormattingFormulaService"),_a);exports.ConditionalFormattingFormulaService=__decorateClass$3([__decorateParam$3(0,core.Inject(core.ICommandService)),__decorateParam$3(1,core.Inject(engineFormula.IActiveDirtyManagerService)),__decorateParam$3(2,core.Inject(ConditionalFormattingRuleModel))],exports.ConditionalFormattingFormulaService);var CalculateEmitStatus=(CalculateEmitStatus2=>(CalculateEmitStatus2.preComputingStart="preComputingStart",CalculateEmitStatus2.preComputing="preComputing",CalculateEmitStatus2.preComputingEnd="preComputingEnd",CalculateEmitStatus2.preComputingError="preComputingError",CalculateEmitStatus2))(CalculateEmitStatus||{});const _BaseCalculateUnit=class _BaseCalculateUnit{constructor(_context){__publicField(this,"_cache");__publicField(this,"_preComputingStatus$",new rxjs.BehaviorSubject("preComputingStart"));__publicField(this,"preComputingStatus$",this._preComputingStatus$.asObservable().pipe(operators.distinctUntilChanged()));__publicField(this,"_preComputingCache");__publicField(this,"_rule");this._context=_context,this._cache=new core.LRUMap(_context.limit),this._rule=_context.rule,this._preComputingCache=null,this._initClearCacheListener()}setCacheLength(length){this._cache.limit=length}clearCache(){this._cache.clear()}resetPreComputingCache(){this._preComputingStatus$.next("preComputingStart"),this._preComputingCache=null}updateRule(rule){this._rule=rule,this.resetPreComputingCache()}getCell(row,col){const key=this._createKey(row,col);if(this._preComputingStatus$.getValue()==="preComputing")return this._cache.get(key);let preComputingResult=this.getPreComputingResult(row,col);if(preComputingResult===null&&(this._preComputingStatus$.next("preComputingStart"),this.preComputing(row,col,this._getContext()),preComputingResult=this.getPreComputingResult(row,col),preComputingResult===null))return this._cache.get(key);if(this._preComputingStatus$.next("preComputingEnd"),this._cache.has(key))return this._cache.get(key);const result=this.getCellResult(row,col,preComputingResult,this._getContext());return result!==null&&this._setCache(row,col,result),result}setPreComputingCache(v){this._preComputingCache=v}getPreComputingResult(_row,_col){return this._preComputingCache}_createKey(row,col){return`${row}_${col}`}_setCache(row,col,v){const key=this._createKey(row,col);this._cache.set(key,v)}_getContext(){return{...this._context,rule:this._rule}}_initClearCacheListener(){this.preComputingStatus$.subscribe(e=>{e==="preComputingEnd"&&this.clearCache()})}};__name(_BaseCalculateUnit,"BaseCalculateUnit");let BaseCalculateUnit=_BaseCalculateUnit;function isFloatsEqual(a,b){return Math.abs(a-b)<Number.EPSILON}__name(isFloatsEqual,"isFloatsEqual");const isNullable=__name(v=>[void 0,null].includes(v),"isNullable"),getCellValue=__name(cell2=>{var _a5,_b;if(!cell2)return null;if(cell2.t===core.CellValueType.BOOLEAN)return cell2.v===core.BooleanNumber.TRUE?engineFormula.BooleanValue.TRUE:engineFormula.BooleanValue.FALSE;const v=cell2.v,dataStream=(_b=(_a5=cell2.p)==null?void 0:_a5.body)==null?void 0:_b.dataStream.replace(/\r\n$/,"");return isNullable(v)?isNullable(dataStream)?null:dataStream:v},"getCellValue"),DAY_SIZE=86400;function toYMD_1900(ord,leap1900=!0){if(leap1900&&ord>=0){if(ord===0)return[1900,1,0];if(ord===60)return[1900,2,29];if(ord<60)return[1900,ord<32?1:2,(ord-1)%31+1]}let l=ord+68569+2415019;const n=Math.floor(4*l/146097);l=l-Math.floor((146097*n+3)/4);const i=Math.floor(4e3*(l+1)/1461001);l=l-Math.floor(1461*i/4)+31;const j=Math.floor(80*l/2447),nDay=l-Math.floor(2447*j/80);l=Math.floor(j/11);const nMonth=j+2-12*l;return[100*(n-49)+i+l|0,nMonth|0,nDay|0]}__name(toYMD_1900,"toYMD_1900");const serialTimeToTimestamp=__name(value=>{let date=value|0;const t=DAY_SIZE*(value-date);let time=Math.floor(t);t-time>.9999&&(time+=1,time===DAY_SIZE&&(time=0,date+=1));const x=time<0?DAY_SIZE+time:time,[y,m,d]=toYMD_1900(value,!0),hh=Math.floor(x/60/60)%60,mm=Math.floor(x/60)%60,ss=Math.floor(x)%60;return core.dayjs(`${y}/${m}/${d} ${hh}:${mm}:${ss}`).valueOf()},"serialTimeToTimestamp"),getValueByType=__name((value,matrix,context)=>{switch(value.type){case CFValueType.max:{let max=0;return matrix.forValue((row,col,value2)=>{value2>max&&(max=value2)}),{status:FormulaResultStatus.SUCCESS,result:max}}case CFValueType.min:{let min;return matrix.forValue((row,col,value2)=>{min===void 0&&(min=value2),value2<min&&(min=value2)}),{status:FormulaResultStatus.SUCCESS,result:min}}case CFValueType.percent:{let max,min;matrix.forValue((row,col,value2)=>{(max===void 0||min===void 0)&&(max=value2,min=value2),value2>max&&(max=value2),value2<min&&(min=value2)});const length=(max||0)-(min||0),v=Math.max(Math.min(Number(value.value)||0,100),0);return{status:FormulaResultStatus.SUCCESS,result:length*(v/100)+(min||0)}}case CFValueType.percentile:{const list=matrix.toNativeArray().sort((a,b)=>a-b),v=Math.max(Math.min(Number(value.value)||0,100),0),index=(list.length-1)*v/100,intIndex=Math.floor(index),decimalIndex=index-intIndex,result=list[intIndex]+(list[Math.min(intIndex+1,list.length-1)]-list[intIndex])*decimalIndex;return{status:FormulaResultStatus.SUCCESS,result}}case CFValueType.formula:{const{accessor,unitId,subUnitId,cfId}=context,formulaText=String(value.value),conditionalFormattingFormulaService=accessor.get(exports.ConditionalFormattingFormulaService);return conditionalFormattingFormulaService.registerFormulaWithRange(unitId,subUnitId,cfId,formulaText),conditionalFormattingFormulaService.getFormulaResultWithCoords(unitId,subUnitId,cfId,formulaText)}case CFValueType.num:{const v=Number(value.value);return{status:FormulaResultStatus.SUCCESS,result:Number.isNaN(v)?0:v}}}},"getValueByType"),getCacheStyleMatrix=__name((unitId,subUnitId,rule,context)=>{const{accessor}=context,conditionalFormattingViewModel=accessor.get(exports.ConditionalFormattingViewModel),matrix=new core.ObjectMatrix;return rule.ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const cellCfItem=conditionalFormattingViewModel.getCellCfs(unitId,subUnitId,row,col);if(cellCfItem){const item=cellCfItem.find(item2=>item2.cfId===rule.cfId);item!=null&&item.result&&matrix.setValue(row,col,item.result)}})}),matrix},"getCacheStyleMatrix"),compareWithNumber=__name((config,v)=>{switch(config.operator){case CFNumberOperator.between:{if(typeof config.value!="object"||!config.value.length)return;const start=Math.min(...config.value),end=Math.max(...config.value);return v>=start&&v<=end}case CFNumberOperator.notBetween:{if(typeof config.value!="object"||!config.value.length)return;const start=Math.min(...config.value),end=Math.max(...config.value);return!(v>=start&&v<=end)}case CFNumberOperator.equal:{const condition=config.value||0;return isFloatsEqual(condition,v)}case CFNumberOperator.notEqual:{const condition=config.value||0;return!isFloatsEqual(condition,v)}case CFNumberOperator.greaterThan:{const condition=config.value||0;return v>condition}case CFNumberOperator.greaterThanOrEqual:{const condition=config.value||0;return v>=condition}case CFNumberOperator.lessThan:{const condition=config.value||0;return v<condition}case CFNumberOperator.lessThanOrEqual:{const condition=config.value||0;return v<=condition}default:return!1}},"compareWithNumber"),getOppositeOperator=__name(operator=>{switch(operator){case CFNumberOperator.greaterThan:return CFNumberOperator.lessThanOrEqual;case CFNumberOperator.greaterThanOrEqual:return CFNumberOperator.lessThan;case CFNumberOperator.lessThan:return CFNumberOperator.greaterThanOrEqual;case CFNumberOperator.lessThanOrEqual:return CFNumberOperator.greaterThan}return operator},"getOppositeOperator"),getColorScaleFromValue=__name((colorList,value)=>{const prefixRgba=__name(rgb=>rgb.a!==void 0?rgb:{...rgb,a:1},"prefixRgba"),index=colorList.findIndex(item=>item.value>=value),preIndex=index-1;if(index===0)return colorList[0].color.toRgbString();if(preIndex>=0){const minItem=colorList[preIndex],maxItem=colorList[index];if(minItem.color.isValid&&maxItem.color.isValid){const minRgb=prefixRgba(minItem.color.toRgb()),maxRgb=prefixRgba(maxItem.color.toRgb()),length=maxItem.value-minItem.value,v=(value-minItem.value)/length,rgbResult=["r","g","b","a"].reduce((obj,key)=>{const minV=minRgb[key];return obj[key]=(maxRgb[key]-minV)*v+minV,obj},{});return new core.ColorKit(rgbResult).toRgbString()}}else return colorList[colorList.length-1].color.toRgbString()},"getColorScaleFromValue"),filterRange=__name((ranges,maxRow,maxCol)=>ranges.map(range=>{if(range.startColumn>maxCol||range.startRow>maxRow)return null;const _range={...range};return _range.endRow=Math.min(_range.endRow,maxRow),_range.endColumn=Math.min(_range.endColumn,maxCol),_range}).filter(range=>!!range),"filterRange");function getMaxInFormulaResult(result){let max=0;return new core.ObjectMatrix(result).forValue((row,col,value)=>{max=Math.max(Number.isNaN(max)?0:max,Number(value))}),max}__name(getMaxInFormulaResult,"getMaxInFormulaResult");const _ColorScaleCalculateUnit=class _ColorScaleCalculateUnit extends BaseCalculateUnit{preComputing(_row,_col,context){const rule=context.rule,worksheet=context.worksheet,matrix=new core.ObjectMatrix;!rule.rule.config.every(item=>item.value.type===CFValueType.num)&&filterRange(rule.ranges,worksheet.getMaxRows()-1,worksheet.getMaxColumns()-1).forEach(range=>{core.Range.foreach(range,(row,col)=>{const cell2=context.getCellValue(row,col),v=cell2&&cell2.v;if(!isNullable(v)&&(cell2==null?void 0:cell2.t)===core.CellValueType.NUMBER){const _value=Number(v);!Number.isNaN(_value)&&matrix.setValue(row,col,_value)}})});const _configList=[...rule.rule.config].sort((a,b)=>a.index-b.index).map(config=>({value:getValueByType(config.value,matrix,{...context,cfId:rule.cfId}),color:new core.ColorKit(config.color)}));if(!_configList.some(item=>engineRender.isObject(item.value)?item.value.status!==FormulaResultStatus.SUCCESS:!1)){const colorList=_configList.map(item=>item.color).reduce((result,color,index)=>(result.result.push({color,value:result.sortValue[index]}),result),{result:[],sortValue:_configList.map(item=>item.value.result).sort((a,b)=>a-b)}).result;this.setPreComputingCache(colorList),this._preComputingStatus$.next(CalculateEmitStatus.preComputingEnd);return}this._preComputingStatus$.next(CalculateEmitStatus.preComputing)}getCellResult(row,col,preComputingResult,context){if(!preComputingResult)return null;const value=context.getCellValue(row,col);if(value.t===core.CellValueType.NUMBER){const v=Number(value.v);if(!Number.isNaN(v))return getColorScaleFromValue(preComputingResult,v)}}};__name(_ColorScaleCalculateUnit,"ColorScaleCalculateUnit");let ColorScaleCalculateUnit=_ColorScaleCalculateUnit;const dataBarUKey="sheet-conditional-rule-data-bar",defaultDataBarPositiveColor="#ffbe38",defaultDataBarNativeColor="#abd91a",defaultPlaceholderColor="#000",EXTENSION_Z_INDEX$1=34,_DataBar=class _DataBar extends engineRender.SheetExtension{constructor(){super(...arguments);__publicField(this,"_paddingRightAndLeft",2);__publicField(this,"_paddingTopAndBottom",2);__publicField(this,"uKey",dataBarUKey);__publicField(this,"Z_INDEX",EXTENSION_Z_INDEX$1);__publicField(this,"_radius",1)}draw(ctx,_parentScale,spreadsheetSkeleton,diffRanges){const{worksheet}=spreadsheetSkeleton;if(!worksheet)return!1;ctx.save(),core.Range.foreach(spreadsheetSkeleton.rowColumnSegment,(row,col)=>{if(!worksheet.getRowVisible(row)||!worksheet.getColVisible(col))return;const cellData=worksheet.getCell(row,col);if(cellData&&cellData.dataBar){const{color,value,startPoint,isGradient}=cellData.dataBar,cellInfo=spreadsheetSkeleton.getCellWithCoordByIndex(row,col,!1);let{isMerged,isMergedMainCell,mergeInfo,startY,endY,startX,endX}=cellInfo;if(isMerged||(isMergedMainCell&&(startY=mergeInfo.startY,endY=mergeInfo.endY,startX=mergeInfo.startX,endX=mergeInfo.endX),!this.isRenderDiffRangesByCell(mergeInfo,diffRanges)))return;const borderWidth=endX-startX,borderHeight=endY+engineRender.FIX_ONE_PIXEL_BLUR_OFFSET-startY,width=borderWidth-this._paddingRightAndLeft*2,height=borderHeight-this._paddingTopAndBottom*2;if(value>0){const dataBarWidth=Math.max(width*(1-startPoint/100)*value/100,1),x0=startX+this._paddingRightAndLeft+startPoint/100*width,y0=startY+this._paddingTopAndBottom;if(isGradient){const gradient=ctx.createLinearGradient(x0,y0,x0+dataBarWidth,y0);gradient.addColorStop(0,color),gradient.addColorStop(1,"rgb(255 255 255)"),ctx.fillStyle=gradient,ctx.strokeStyle=color,ctx.lineWidth=1}else ctx.fillStyle=color;this._drawRectWithRoundedCorner(ctx,x0,y0,dataBarWidth,height,!1,!0,!0,!1),isGradient&&ctx.stroke()}else{const dataBarWidth=Math.max(width*startPoint/100*Math.abs(value)/100,1),x0=startX+this._paddingRightAndLeft+startPoint/100*width-dataBarWidth,y0=startY+this._paddingTopAndBottom;if(isGradient){const gradient=ctx.createLinearGradient(x0,y0,x0+dataBarWidth,y0);gradient.addColorStop(0,"rgb(255 255 255)"),gradient.addColorStop(1,color),ctx.fillStyle=gradient,ctx.strokeStyle=color,ctx.lineWidth=1}else ctx.fillStyle=color;this._drawRectWithRoundedCorner(ctx,x0,y0,dataBarWidth,height,!0,!1,!1,!0),isGradient&&ctx.stroke()}}}),ctx.restore()}_drawRectWithRoundedCorner(ctx,x,y,width,height,topLeftRadius,topRightRadius,bottomRightRadius,bottomLeftRadius){const radius=this._radius;!height||!width||(ctx.beginPath(),ctx.moveTo(x+radius,y),ctx.lineTo(x+width-radius,y),topRightRadius?ctx.arcTo(x+width,y,x+width,y+radius,radius):ctx.lineTo(x+width,y),ctx.lineTo(x+width,y+height-radius),bottomRightRadius?ctx.arcTo(x+width,y+height,x+width-radius,y+height,radius):ctx.lineTo(x+width,y+height),ctx.lineTo(x+radius,y+height),bottomLeftRadius?ctx.arcTo(x,y+height,x,y+height-radius,radius):ctx.lineTo(x,y+height),ctx.lineTo(x,y+radius),topLeftRadius?ctx.arcTo(x,y,x+radius,y,radius):ctx.lineTo(x,y),ctx.closePath(),ctx.fill())}};__name(_DataBar,"DataBar");let DataBar=_DataBar;engineRender.SpreadsheetExtensionRegistry.add(DataBar);const getSafeValue=__name(v=>Math.max(Math.min(100,v),0),"getSafeValue"),getValue$1=__name((row,col,getCell)=>{const cell2=getCell(row,col);if(cell2&&cell2.t===core.CellValueType.NUMBER){const value=Number(cell2.v);return Number.isNaN(value)?null:value}return null},"getValue$1"),_DataBarCalculateUnit=class _DataBarCalculateUnit extends BaseCalculateUnit{preComputing(row,col,context){const rule=context.rule,ruleConfig=rule.rule,worksheet=context.worksheet,matrix=new core.ObjectMatrix;![rule.rule.config.max,rule.rule.config.min].every(e=>e.type===CFValueType.num)&&filterRange(rule.ranges,worksheet.getMaxRows()-1,worksheet.getMaxColumns()-1).forEach(range=>{core.Range.foreach(range,(row2,col2)=>{const cell2=context.getCellValue(row2,col2),v=cell2&&cell2.v;if(!isNullable(v)&&(cell2==null?void 0:cell2.t)===core.CellValueType.NUMBER){const _value=Number(v);!Number.isNaN(_value)&&matrix.setValue(row2,col2,_value)}})});const _min=getValueByType(ruleConfig.config.min,matrix,{...context,cfId:rule.cfId}),_max=getValueByType(ruleConfig.config.max,matrix,{...context,cfId:rule.cfId});let min=0,max=0;if(_min.status===FormulaResultStatus.SUCCESS){const v=Number(_min.result);min=Number.isNaN(v)?0:v}else{this._preComputingStatus$.next(CalculateEmitStatus.preComputing);return}if(_max.status===FormulaResultStatus.SUCCESS){const maxResult=Number(_max.result),v=Number.isNaN(maxResult)?0:maxResult;max=Math.max(v,min),min=Math.min(v,min);let startPoint=50;if(min<0&&max<=0)startPoint=100;else if(min<0&&max>0){const length=Math.abs(max)+Math.abs(min);startPoint=Math.abs(min)/length*100}else min>=0&&max>0&&(startPoint=0);this.setPreComputingCache({min,max,startPoint}),this._preComputingStatus$.next(CalculateEmitStatus.preComputingEnd);return}this._preComputingStatus$.next(CalculateEmitStatus.preComputing)}getCellResult(row,col,preComputingResult,context){const{min,max,startPoint}=preComputingResult,ruleConfig=context.rule.rule,isShowValue=ruleConfig.isShowValue,isGradient=ruleConfig.config.isGradient,value=getValue$1(row,col,context.getCellValue);if(!(value===null||value<min||min===max||max<min)){if(value===0)return{color:defaultPlaceholderColor,startPoint,value:0,isGradient,isShowValue};if(min<0&&max<=0){const length=max-min,v=getSafeValue((max-value)/length*100);return v===0?void 0:{color:ruleConfig.config.nativeColor||defaultDataBarNativeColor,startPoint,value:-v,isGradient,isShowValue}}else if(min<0&&max>0)if(value>0){const v=getSafeValue(Math.min(value/max,1)*100);return v===0?void 0:{color:ruleConfig.config.positiveColor||defaultDataBarPositiveColor,startPoint,value:v,isGradient,isShowValue}}else{const v=getSafeValue(Math.min(Math.abs(value)/Math.abs(min),1)*100);return v===0?void 0:{color:ruleConfig.config.nativeColor||defaultDataBarNativeColor,startPoint,value:-v,isGradient,isShowValue}}else if(min>=0&&max>0){const length=max-min,startPoint2=0,v=getSafeValue((1-(max-value)/length)*100);return v===0?void 0:{color:ruleConfig.config.positiveColor||defaultDataBarPositiveColor,startPoint:startPoint2,value:v,isGradient,isShowValue}}}}};__name(_DataBarCalculateUnit,"DataBarCalculateUnit");let DataBarCalculateUnit=_DataBarCalculateUnit;const _HighlightCellCalculateUnit=class _HighlightCellCalculateUnit extends BaseCalculateUnit{preComputing(row,col,context){const ruleConfig=context.rule.rule,ranges=context.rule.ranges,result=__name(()=>{switch(ruleConfig.subType){case CFSubRuleType.average:{let sum=0,count=0;return ranges.forEach(range=>{core.Range.foreach(range,(row2,col2)=>{const cell2=context.getCellValue(row2,col2),v=getCellValue(cell2||void 0);cell2&&cell2.t===core.CellValueType.NUMBER&&v!==void 0&&(sum+=Number(v)||0,count++)})}),{value:sum/count,type:ruleConfig.subType}}case CFSubRuleType.uniqueValues:case CFSubRuleType.duplicateValues:{const cacheMap=new Map;return ranges.forEach(range=>{core.Range.foreach(range,(row2,col2)=>{const cell2=context.getCellValue(row2,col2),v=getCellValue(cell2||void 0);if(v!==void 0){const cache=cacheMap.get(v);cache?cacheMap.set(v,cache+1):cacheMap.set(v,1)}})}),{value:cacheMap,type:ruleConfig.subType}}case CFSubRuleType.rank:{const allValue=[];ranges.forEach(range=>{core.Range.foreach(range,(row2,col2)=>{const cell2=context.getCellValue(row2,col2),v=getCellValue(cell2||void 0);cell2&&cell2.t===core.CellValueType.NUMBER&&v!==void 0&&allValue.push(Number(v)||0)})}),allValue.sort((a,b)=>b-a);const configRule=context.rule.rule,targetIndex=configRule.isPercent?Math.floor(Math.max(Math.min(configRule.value,100),0)/100*allValue.length):Math.floor(Math.max(Math.min(configRule.isBottom?configRule.value-1:configRule.value,allValue.length),0));return configRule.isBottom?{value:allValue[allValue.length-targetIndex-1],type:ruleConfig.subType}:{value:allValue[Math.max(targetIndex-1,0)],type:ruleConfig.subType}}case CFSubRuleType.formula:{const _ruleConfig=ruleConfig,conditionalFormattingFormulaService=context.accessor.get(exports.ConditionalFormattingFormulaService);conditionalFormattingFormulaService.registerFormulaWithRange(context.unitId,context.subUnitId,context.rule.cfId,_ruleConfig.value,context.rule.ranges);const result2=conditionalFormattingFormulaService.getFormulaMatrix(context.unitId,context.subUnitId,context.rule.cfId,_ruleConfig.value);return result2&&result2.status===FormulaResultStatus.SUCCESS?(this._preComputingStatus$.next(CalculateEmitStatus.preComputingEnd),{value:result2.result,type:ruleConfig.subType}):(this._preComputingStatus$.next(CalculateEmitStatus.preComputing),null)}case CFSubRuleType.timePeriod:switch(ruleConfig.operator){case CFTimePeriodOperator.last7Days:return{value:{start:core.dayjs().subtract(7,"day").valueOf(),end:core.dayjs().valueOf()},type:ruleConfig.subType};case CFTimePeriodOperator.lastMonth:return{value:{start:core.dayjs().startOf("month").subtract(1,"month").valueOf(),end:core.dayjs().endOf("month").subtract(1,"month").valueOf()},type:ruleConfig.subType};case CFTimePeriodOperator.lastWeek:return{value:{start:core.dayjs().startOf("week").subtract(1,"week").valueOf(),end:core.dayjs().endOf("week").subtract(1,"week").valueOf()},type:ruleConfig.subType};case CFTimePeriodOperator.nextMonth:return{value:{start:core.dayjs().startOf("month").add(1,"month").valueOf(),end:core.dayjs().endOf("month").add(1,"month").valueOf()},type:ruleConfig.subType};case CFTimePeriodOperator.nextWeek:return{value:{start:core.dayjs().startOf("week").add(1,"week").valueOf(),end:core.dayjs().endOf("week").add(1,"week").valueOf()},type:ruleConfig.subType};case CFTimePeriodOperator.thisMonth:return{value:{start:core.dayjs().startOf("month").valueOf(),end:core.dayjs().endOf("month").valueOf()},type:ruleConfig.subType};case CFTimePeriodOperator.thisWeek:return{value:{start:core.dayjs().startOf("week").valueOf(),end:core.dayjs().endOf("week").valueOf()},type:ruleConfig.subType};case CFTimePeriodOperator.today:return{value:{start:core.dayjs().startOf("day").valueOf(),end:core.dayjs().endOf("day").valueOf()},type:ruleConfig.subType};case CFTimePeriodOperator.tomorrow:return{value:{start:core.dayjs().startOf("day").add(1,"day").valueOf(),end:core.dayjs().endOf("day").add(1,"day").valueOf()},type:ruleConfig.subType};case CFTimePeriodOperator.yesterday:return{value:{start:core.dayjs().startOf("day").subtract(1,"day").valueOf(),end:core.dayjs().endOf("day").subtract(1,"day").valueOf()},type:ruleConfig.subType}}}},"getCache")();this.setPreComputingCache(result)}getCellResult(row,col,preComputingResult,context){const cellValue=context.getCellValue(row,col),ruleConfig=context.rule.rule;return __name(()=>{switch(ruleConfig.subType){case CFSubRuleType.number:{const v=cellValue&&Number(cellValue.v);if(isNullable(v)||Number.isNaN(v)||(cellValue==null?void 0:cellValue.t)!==core.CellValueType.NUMBER)return;const subRuleConfig=ruleConfig;return compareWithNumber({operator:subRuleConfig.operator,value:subRuleConfig.value||0},v||0)}case CFSubRuleType.text:{const subRuleConfig=ruleConfig,value=getCellValue(cellValue),v=value===null?"":String(value),condition=subRuleConfig.value||"";switch(subRuleConfig.operator){case CFTextOperator.beginsWith:return v.startsWith(condition);case CFTextOperator.containsBlanks:return/^\s*$/.test(v);case CFTextOperator.notContainsBlanks:return!/^\s*$/.test(v);case CFTextOperator.containsErrors:return engineFormula.ERROR_TYPE_SET.has(v);case CFTextOperator.notContainsErrors:return!engineFormula.ERROR_TYPE_SET.has(v);case CFTextOperator.containsText:return v.indexOf(condition)>-1;case CFTextOperator.notContainsText:return v.indexOf(condition)===-1;case CFTextOperator.endsWith:return v.endsWith(condition);case CFTextOperator.equal:return v===condition;case CFTextOperator.notEqual:return v!==condition;default:return!1}}case CFSubRuleType.timePeriod:{const value=getCellValue(cellValue);if(isNullable(value)||Number.isNaN(Number(value))||(cellValue==null?void 0:cellValue.t)!==core.CellValueType.NUMBER||!preComputingResult)return;const v=serialTimeToTimestamp(Number(value)),{start,end}=preComputingResult.value;return v>=start&&v<=end}case CFSubRuleType.average:{const value=cellValue&&cellValue.v,v=Number(value);if(isNullable(value)||Number.isNaN(v)||(cellValue==null?void 0:cellValue.t)!==core.CellValueType.NUMBER||!preComputingResult)return!1;const subRuleConfig=ruleConfig,average=preComputingResult.value;switch(subRuleConfig.operator){case CFNumberOperator.greaterThan:return v>average;case CFNumberOperator.greaterThanOrEqual:return v>=average;case CFNumberOperator.lessThan:return v<average;case CFNumberOperator.lessThanOrEqual:return v<=average;case CFNumberOperator.equal:return isFloatsEqual(v,average);case CFNumberOperator.notEqual:return!isFloatsEqual(v,average);default:return!1}}case CFSubRuleType.rank:{const value=getCellValue(cellValue),v=Number(value);if(isNullable(value)||Number.isNaN(v)||(cellValue==null?void 0:cellValue.t)!==core.CellValueType.NUMBER||!preComputingResult)return!1;const targetValue=preComputingResult.value;return ruleConfig.isBottom?v<=targetValue:v>=targetValue}case CFSubRuleType.uniqueValues:{const value=getCellValue(cellValue);return isNullable(value)||!preComputingResult?!1:preComputingResult.value.get(value)===1}case CFSubRuleType.duplicateValues:{const value=getCellValue(cellValue);return isNullable(value)||!preComputingResult?!1:preComputingResult.value.get(value)!==1}case CFSubRuleType.formula:{const cache=preComputingResult==null?void 0:preComputingResult.value;return cache?cache.getValue(row,col)===!0:!1}}},"run")()?ruleConfig.style:{}}};__name(_HighlightCellCalculateUnit,"HighlightCellCalculateUnit");let HighlightCellCalculateUnit=_HighlightCellCalculateUnit;const getValue=__name((row,col,getCell)=>{const cell2=getCell(row,col);if(cell2&&cell2.t===core.CellValueType.NUMBER){const value=Number(cell2.v);return Number.isNaN(value)?null:value}return null},"getValue"),_IconSetCalculateUnit=class _IconSetCalculateUnit extends BaseCalculateUnit{preComputing(_row,_col,context){const ruleConfig=context.rule.rule,worksheet=context.worksheet,matrix=new core.ObjectMatrix;!ruleConfig.config.every(e=>e.value.type===CFValueType.num)&&filterRange(context.rule.ranges,worksheet.getMaxRows()-1,worksheet.getMaxColumns()-1).forEach(range=>{core.Range.foreach(range,(row,col)=>{const cell2=context.getCellValue(row,col),v=cell2&&cell2.v;if(!isNullable(v)&&(cell2==null?void 0:cell2.t)===core.CellValueType.NUMBER){const _value=Number(v);!Number.isNaN(_value)&&matrix.setValue(row,col,_value)}})});const splitValueResult=ruleConfig.config.map(v=>getValueByType(v.value,matrix,{...context,cfId:context.rule.cfId}));if(!splitValueResult.some(item=>item.status!==FormulaResultStatus.SUCCESS)){const splitValue=splitValueResult.map((item,index)=>({operator:ruleConfig.config[index].operator,value:Number(item.result)||0})).reduce((result,cur,index,list)=>{const item=ruleConfig.config[index];if(!index||index===list.length-1)result.push({...cur,iconId:item.iconId,iconType:item.iconType});else{const pre=list[index-1];compareWithNumber(pre,cur.value)||result.push({...cur,iconId:item.iconId,iconType:item.iconType})}return result},[]);this.setPreComputingCache(splitValue),this._preComputingStatus$.next(CalculateEmitStatus.preComputingEnd);return}this._preComputingStatus$.next(CalculateEmitStatus.preComputing)}getCellResult(row,col,preComputingResult,context){if(!preComputingResult)return null;const value=getValue(row,col,context.getCellValue);if(value===null)return;const ruleConfig=context.rule.rule,isShowValue=ruleConfig.isShowValue===void 0?!0:!!ruleConfig.isShowValue;for(let index=0;index<preComputingResult.length;index++){const item=preComputingResult[index],start={...item},end={...item},{iconId,iconType}=item;if(index===0){if(compareWithNumber(item,value))return{iconId,iconType,isShowValue}}else{if(index===preComputingResult.length-1)return{iconId,iconType,isShowValue};{const pre=preComputingResult[index-1];if(end.operator=getOppositeOperator(pre.operator),end.value=pre.value,compareWithNumber(start,value)&&compareWithNumber(end,value))return{iconId,iconType,isShowValue}}}}}};__name(_IconSetCalculateUnit,"IconSetCalculateUnit");let IconSetCalculateUnit=_IconSetCalculateUnit;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");const CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH=50*20*3*3;var _a2;exports.ConditionalFormattingViewModel=(_a2=class extends core.Disposable{constructor(_injector,_conditionalFormattingRuleModel,_conditionalFormattingFormulaService,_univerInstanceService){super();__publicField(this,"_calculateUnitManagers",new Map);__publicField(this,"_rTreeManager",new core.RTree);__publicField(this,"_cellCache",new core.LRUMap(CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH));__publicField(this,"_markDirty$",new rxjs.Subject);__publicField(this,"markDirty$",this._markDirty$.asObservable());__publicField(this,"_markRuleDirtyAtOnce",__name((unitId,subUnitId,cfId,isNeedResetPreComputingCache=!0)=>{if(this._cellCache.clear(),isNeedResetPreComputingCache){const calculateUnit=this._ensureCalculateUnitManager(unitId,subUnitId).get(cfId);calculateUnit&&calculateUnit.resetPreComputingCache()}this._markDirty$.next({unitId,subUnitId,cfId})},"_markRuleDirtyAtOnce"));__publicField(this,"markRuleDirty",(()=>{const rxItem=new rxjs.Subject;return this.disposeWithMe(rxItem.pipe(operators.bufferTime(100),operators.filter(e=>!!e.length),operators.map(list=>{const set=new Set,result=[];return list.forEach(item=>{const kye=`${item.unitId}_${item.subUnitId}_${item.cfId}`;if(set.has(kye)){if(item.isNeedResetPreComputingCache){const i=result.find(e=>e.cfId===item.cfId);i.isNeedResetPreComputingCache=!0}return}set.add(kye),result.push({...item})}),result})).subscribe(list=>{list.forEach(item=>{this._markRuleDirtyAtOnce(item.unitId,item.subUnitId,item.cfId,item.isNeedResetPreComputingCache)})})),(unitId,subUnitId,cfId,isNeedResetPreComputingCache=!0)=>{rxItem.next({unitId,subUnitId,cfId,isNeedResetPreComputingCache})}})());this._injector=_injector,this._conditionalFormattingRuleModel=_conditionalFormattingRuleModel,this._conditionalFormattingFormulaService=_conditionalFormattingFormulaService,this._univerInstanceService=_univerInstanceService,this._initRuleListener(),this._handleCustomFormulasSeparately(),this._initCFFormulaListener()}_initCFFormulaListener(){this.disposeWithMe(this._conditionalFormattingFormulaService.result$.subscribe(({unitId,subUnitId,cfId,isAllFinished})=>{isAllFinished&&this._markRuleDirtyAtOnce(unitId,subUnitId,cfId,isAllFinished)}))}getCellCfs(unitId,subUnitId,row,col){const key=this._createCacheKey(unitId,subUnitId,row,col);if(this._cellCache.has(key))return this._cellCache.get(key);const result=this._getCellCfs(unitId,subUnitId,row,col);return result.length&&this._cellCache.set(key,result),result}_getCellCfs(unitId,subUnitId,row,col){var _a5;const subunitRules=(_a5=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId))!=null?_a5:[],_calculateUnitManagers=this._ensureCalculateUnitManager(unitId,subUnitId),list=this._rTreeManager.bulkSearch([{unitId,sheetId:subUnitId,range:{startColumn:col,endColumn:col,startRow:row,endRow:row}}]),rules=subunitRules.filter(rule=>list.has(rule.cfId));return rules.length?rules.map(rule=>{const calculateUnit=_calculateUnitManagers.get(rule.cfId);return calculateUnit?{cfId:rule.cfId,result:calculateUnit.getCell(row,col)}:null}).filter(e=>!!e).map((e,index)=>({...e,priority:index})):[]}_handleCustomFormulasSeparately(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{if(e.type==="set"){const{unitId,subUnitId}=e,oldRule=e.oldRule;oldRule.rule.type===CFRuleType.highlightCell&&oldRule.rule.subType===CFSubRuleType.formula&&this._conditionalFormattingFormulaService.deleteCache(unitId,subUnitId,oldRule.cfId)}}))}_initRuleListener(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{const{unitId,subUnitId,rule}=e,{cfId,ranges}=rule,calculateUnitManager=this._ensureCalculateUnitManager(unitId,subUnitId);switch(this.markRuleDirty(unitId,subUnitId,cfId),e.type){case"add":{this._rTreeManager.bulkInsert(ranges.map(r=>({unitId,sheetId:subUnitId,id:cfId,range:r})));const instance=this._createRuleCalculateUnitInstance(unitId,subUnitId,rule);if(!instance)return;calculateUnitManager.set(rule.cfId,instance);break}case"delete":{this._rTreeManager.bulkRemove(ranges.map(r=>({unitId,sheetId:subUnitId,id:cfId,range:r}))),calculateUnitManager.delete(rule.cfId);break}case"set":{const oldRule=e.oldRule;if(this._rTreeManager.bulkRemove(oldRule.ranges.map(r=>({unitId,sheetId:subUnitId,id:oldRule.cfId,range:r}))),this._rTreeManager.bulkInsert(ranges.map(r=>({unitId,sheetId:subUnitId,id:cfId,range:r}))),oldRule.rule.type!==rule.rule.type){const instance=this._createRuleCalculateUnitInstance(unitId,subUnitId,rule);if(!instance)return;calculateUnitManager.delete(oldRule.cfId),calculateUnitManager.set(rule.cfId,instance)}else{const instance=calculateUnitManager.get(oldRule.cfId);if(!instance)return;instance.updateRule(rule)}}}}))}_ensureCalculateUnitManager(unitId,subUnitId){let unitMap=this._calculateUnitManagers.get(unitId);unitMap||(unitMap=new Map,this._calculateUnitManagers.set(unitId,unitMap));let subUnitMap=unitMap.get(subUnitId);return subUnitMap||(subUnitMap=new Map,unitMap.set(subUnitId,subUnitMap)),subUnitMap}_createRuleCalculateUnitInstance(unitId,subUnitId,rule){const workbook=this._univerInstanceService.getUnit(unitId),worksheet=workbook==null?void 0:workbook.getSheetBySheetId(subUnitId);if(!workbook||!worksheet)return;const context={workbook,worksheet,unitId,subUnitId,accessor:this._injector,rule,limit:CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH,getCellValue:__name((row,col)=>worksheet.getCellRaw(row,col)||{},"getCellValue")};switch(rule.rule.type){case CFRuleType.colorScale:return new ColorScaleCalculateUnit(context);case CFRuleType.dataBar:return new DataBarCalculateUnit(context);case CFRuleType.highlightCell:return new HighlightCellCalculateUnit(context);case CFRuleType.iconSet:return new IconSetCalculateUnit(context)}}_createCacheKey(unitId,subUnitId,row,col){return`${unitId}_${subUnitId}_${row}_${col}`}setCacheLength(length=CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH){this._cellCache.limit!==length&&(this._cellCache.limit=length,this._calculateUnitManagers.forEach(subunitMap=>{subunitMap.forEach(unitMap=>{unitMap.forEach(unit=>{unit.setCacheLength(length)})})}))}},__name(_a2,"ConditionalFormattingViewModel"),_a2);exports.ConditionalFormattingViewModel=__decorateClass$2([__decorateParam$2(0,core.Inject(core.Injector)),__decorateParam$2(1,core.Inject(ConditionalFormattingRuleModel)),__decorateParam$2(2,core.Inject(exports.ConditionalFormattingFormulaService)),__decorateParam$2(3,core.IUniverInstanceService)],exports.ConditionalFormattingViewModel);const feedback={mistake:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.87359%206.87332C6.6146%207.13231%206.6146%207.55221%206.87359%207.8112L9.062%209.99961L6.87356%2012.188C6.61457%2012.447%206.61457%2012.8669%206.87356%2013.1259C7.13255%2013.3849%207.55245%2013.3849%207.81144%2013.1259L9.99987%2010.9375L12.1882%2013.1258C12.4472%2013.3848%2012.8671%2013.3848%2013.1261%2013.1258C13.3851%2012.8669%2013.3851%2012.447%2013.1261%2012.188L10.9378%209.99961L13.1261%207.81127C13.3851%207.55228%2013.3851%207.13238%2013.1261%206.87339C12.8671%206.61441%2012.4472%206.61441%2012.1882%206.87339L9.99987%209.06173L7.81147%206.87332C7.55248%206.61433%207.13257%206.61433%206.87359%206.87332Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A",warn:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Cpath%20d%3D%22M9.16817%206.67735C9.16646%206.61745%209.1656%206.5875%209.16653%206.56236C9.18103%206.16817%209.49136%205.84883%209.88497%205.82306C9.91008%205.82141%209.94004%205.82141%209.99996%205.82141V5.82141C10.0599%205.82141%2010.0899%205.82141%2010.115%205.82306C10.5086%205.84883%2010.8189%206.16817%2010.8334%206.56236C10.8343%206.5875%2010.8335%206.61745%2010.8318%206.67735L10.7043%2011.131C10.6934%2011.5121%2010.3812%2011.8154%209.99995%2011.8154V11.8154C9.61866%2011.8154%209.30655%2011.5121%209.29564%2011.131L9.16817%206.67735Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3Crect%20x%3D%229.31488%22%20y%3D%2212.8086%22%20width%3D%221.37006%22%20height%3D%221.37006%22%20rx%3D%220.685032%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A",correct:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M17.037%2010C17.037%2013.8865%2013.8864%2017.0371%209.99999%2017.0371C6.11354%2017.0371%202.96295%2013.8865%202.96295%2010C2.96295%206.1136%206.11354%202.96301%209.99999%202.96301C13.8864%202.96301%2017.037%206.1136%2017.037%2010Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3Cpath%20d%3D%22M13.9239%207.17477C13.6638%206.91472%2013.2422%206.91472%2012.9821%207.17477L8.74433%2011.4126L7.01786%209.6861C6.75781%209.42606%206.33619%209.42606%206.07614%209.6861C5.81609%209.94615%205.81609%2010.3678%206.07614%2010.6278L8.27349%2012.8252C8.53354%2013.0852%208.95516%2013.0852%209.21521%2012.8252L9.2195%2012.8209L13.9239%208.1165C14.1839%207.85645%2014.1839%207.43482%2013.9239%207.17477Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A"},star={starEmpty:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A",starIncomplete:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_177)%22%3E%0A%3Cmask%20id%3D%22mask0_613_177%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%2210%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2220%22%3E%0A%3Crect%20x%3D%2210.3704%22%20y%3D%220.37037%22%20width%3D%229.25926%22%20height%3D%2219.2593%22%20fill%3D%22%23C4C4C4%22%20stroke%3D%22%23F7D564%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23mask0_613_177)%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fg%3E%0A%3Cmask%20id%3D%22mask1_613_177%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2220%22%3E%0A%3Crect%20width%3D%2210%22%20height%3D%2220%22%20fill%3D%22%23C4C4C4%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23mask1_613_177)%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_177%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A",starFull:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A"},progress={progress0:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress25:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M16.2963%209.99991C16.2963%209.17307%2016.1335%208.35432%2015.8171%207.59042C15.5006%206.82652%2015.0369%206.13242%2014.4522%205.54776C13.8675%204.96309%2013.1734%204.49931%2012.4095%204.18289C11.6456%203.86647%2010.8269%203.70361%2010%203.70361L10%209.99991H16.2963Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress50:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M10%2016.2962C11.6699%2016.2962%2013.2714%2015.6328%2014.4522%2014.4521C15.633%2013.2713%2016.2963%2011.6698%2016.2963%209.99991C16.2963%208.33003%2015.633%206.72854%2014.4522%205.54776C13.2714%204.36697%2011.6699%203.70361%2010%203.70361L10%209.99991L10%2016.2962Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress75:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M3.70374%209.99991C3.70374%2011.2452%204.07301%2012.4625%204.76485%2013.4979C5.4567%2014.5334%206.44005%2015.3404%207.59054%2015.8169C8.74104%2016.2935%2010.007%2016.4182%2011.2284%2016.1752C12.4497%2015.9323%2013.5716%2015.3326%2014.4522%2014.4521C15.3327%2013.5715%2015.9324%2012.4496%2016.1753%2011.2283C16.4183%2010.0069%2016.2936%208.74092%2015.8171%207.59042C15.3405%206.43992%2014.5335%205.45658%2013.4981%204.76473C12.4626%204.07288%2011.2453%203.70361%2010%203.70361L10%209.99991L3.70374%209.99991Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress100:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99991%22%20r%3D%226.2963%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A"},signal={signal0:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal25:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal50:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal75:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal100:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93933%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70447%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A"},feeling={guffaw:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.887%2010C16.887%2013.8037%2013.8036%2016.8871%209.99999%2016.8871C6.19638%2016.8871%203.11295%2013.8037%203.11295%2010C3.11295%206.19644%206.19638%203.11301%209.99999%203.11301C13.8036%203.11301%2016.887%206.19644%2016.887%2010Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M12.5355%2013.5821C13.0482%2013.1841%2013.3951%2012.6107%2013.5405%2012.0327C13.5934%2011.8226%2013.5051%2011.6349%2013.3518%2011.5331C13.2036%2011.4346%2013.0031%2011.4203%2012.8265%2011.5131C11.0615%2012.4407%208.94609%2012.4427%207.1828%2011.513C7.00629%2011.4199%206.80602%2011.4343%206.65798%2011.5329C6.50518%2011.6346%206.41701%2011.8217%206.46844%2012.0312C6.61029%2012.609%206.95079%2013.1833%207.46449%2013.5821C8.14361%2014.1093%209.05608%2014.3999%2010%2014.3999C10.9439%2014.3999%2011.8564%2014.1093%2012.5355%2013.5821Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A",smile:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2011.8518C7.03705%2011.8518%207.77779%2013.7037%2010%2013.7037C12.2222%2013.7037%2012.963%2011.8518%2012.963%2011.8518%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",noninductive:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2012.5927C7.03705%2012.5927%208.14816%2012.5927%2010.3704%2012.5927C12.5926%2012.5927%2012.963%2012.5927%2012.963%2012.5927%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",dissatisfied:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2013.7037C7.03705%2013.7037%207.77779%2011.8519%2010%2011.8519C12.2222%2011.8519%2012.963%2013.7037%2012.963%2013.7037%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",impatient:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.47573%2011.731C6.96306%2012.129%206.61613%2012.7024%206.47071%2013.2804C6.41784%2013.4905%206.50617%2013.6782%206.65942%2013.78C6.80761%2013.8785%207.00813%2013.8928%207.18477%2013.8C8.9498%2012.8724%2011.0652%2012.8704%2012.8285%2013.8002C13.005%2013.8932%2013.2052%2013.8788%2013.3533%2013.7802C13.5061%2013.6785%2013.5942%2013.4914%2013.5428%2013.2819C13.401%2012.7041%2013.0605%2012.1298%2012.5468%2011.731C11.8676%2011.2038%2010.9552%2010.9132%2010.0112%2010.9132C9.06732%2010.9132%208.15485%2011.2038%207.47573%2011.731Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A"},arrow=JSON.parse('{"down-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","right-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","up-green":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndDown-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndUp-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","down-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","right-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","up-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndDown-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndUp-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A"}'),shape={cross:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223.70374%22%20y%3D%228.14795%22%20width%3D%2212.5926%22%20height%3D%223.7037%22%20rx%3D%220.740741%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A",up:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M9.44533%205.81157C9.74012%205.47858%2010.2598%205.47858%2010.5546%205.81157L16.2868%2012.2867C16.71%2012.7647%2016.3706%2013.5184%2015.7322%2013.5184H4.26776C3.62933%2013.5184%203.28995%2012.7647%203.71313%2012.2867L9.44533%205.81157Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A",down:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.5547%2014.1884C10.2599%2014.5214%209.74019%2014.5214%209.4454%2014.1884L3.71321%207.71335C3.29002%207.23532%203.6294%206.48161%204.26784%206.48161L15.7322%206.48161C16.3707%206.48161%2016.7101%207.23532%2016.2869%207.71335L10.5547%2014.1884Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","rhomboid-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.1415%2011.1984C1.8412%2010.9074%201.8412%2010.4256%202.1415%2010.1346L9.48467%203.01785C9.77196%202.73942%2010.2284%202.73942%2010.5157%203.01786L17.8586%2010.1346C18.1589%2010.4256%2018.1589%2010.9074%2017.8586%2011.1984L10.5157%2018.3151C10.2284%2018.5936%209.77196%2018.5936%209.48467%2018.3152L2.1415%2011.1984Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","rhomboid-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.1415%2011.1984C1.8412%2010.9074%201.8412%2010.4256%202.1415%2010.1346L9.48467%203.01785C9.77196%202.73942%2010.2284%202.73942%2010.5157%203.01786L17.8586%2010.1346C18.1589%2010.4256%2018.1589%2010.9074%2017.8586%2011.1984L10.5157%2018.3151C10.2284%2018.5936%209.77196%2018.5936%209.48467%2018.3152L2.1415%2011.1984Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-greed":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-pink":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FB9D9D%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-black":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E%0A","triangle-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_237)%22%3E%0A%3Cpath%20d%3D%22M9.32308%204.41301C9.58368%203.82623%2010.4164%203.82623%2010.677%204.413L15.9526%2016.2917C16.1701%2016.7815%2015.8115%2017.3331%2015.2756%2017.3331H4.72454C4.18858%2017.3331%203.83002%2016.7815%204.04756%2016.2917L9.32308%204.41301Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_237%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A","indicate-greed":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","indicate-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","indicate-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A"},feedback2={mistake2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.12194%206.33702C4.1805%206.47839%204.30722%206.6051%204.56066%206.85854L8.36822%2010.6661L4.56062%2014.4737C4.30718%2014.7272%204.18046%2014.8539%204.12191%2014.9952C4.04384%2015.1837%204.04384%2015.3955%204.12191%2015.584C4.18046%2015.7253%204.30718%2015.8521%204.56062%2016.1055C4.81406%2016.3589%204.94078%2016.4857%205.08214%2016.5442C5.27062%2016.6223%205.4824%2016.6223%205.67089%2016.5442C5.81225%2016.4857%205.93897%2016.3589%206.19241%2016.1055L10%2012.2979L13.8074%2016.1053C14.0609%2016.3588%2014.1876%2016.4855%2014.329%2016.544C14.5174%2016.6221%2014.7292%2016.6221%2014.9177%2016.544C15.0591%2016.4855%2015.1858%2016.3588%2015.4392%2016.1053L15.4392%2016.1053C15.6927%2015.8519%2015.8194%2015.7252%2015.8779%2015.5838C15.956%2015.3953%2015.956%2015.1835%2015.8779%2014.9951C15.8194%2014.8537%2015.6927%2014.727%2015.4392%2014.4735L15.4392%2014.4735L11.6318%2010.6661L15.4392%206.85872C15.6926%206.60528%2015.8193%206.47856%2015.8779%206.3372C15.956%206.14871%2015.956%205.93694%2015.8779%205.74845C15.8193%205.60709%2015.6926%205.48037%2015.4392%205.22693C15.1857%204.97349%2015.059%204.84677%2014.9177%204.78822C14.7292%204.71015%2014.5174%204.71015%2014.3289%204.78822C14.1876%204.84677%2014.0608%204.97349%2013.8074%205.22693L10%209.03433L6.19244%205.22676C5.939%204.97332%205.81228%204.8466%205.67092%204.78805C5.48244%204.70997%205.27066%204.70997%205.08218%204.78805C4.94082%204.8466%204.8141%204.97332%204.56066%205.22676L4.56066%205.22676C4.30722%205.4802%204.1805%205.60692%204.12194%205.74828C4.04387%205.93676%204.04387%206.14854%204.12194%206.33702Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A",warn2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8.49778%205.00963C8.48513%204.56774%208.47881%204.3468%208.56086%204.17746C8.63301%204.02856%208.75124%203.90689%208.89802%203.83052C9.06494%203.74365%209.28597%203.74365%209.72805%203.74365H10.272C10.714%203.74365%2010.9351%203.74365%2011.102%203.83052C11.2488%203.9069%2011.367%204.02856%2011.4392%204.17746C11.5212%204.3468%2011.5149%204.56775%2011.5022%205.00964L11.2644%2013.3173C11.2524%2013.737%2011.2464%2013.9468%2011.1609%2014.1065C11.0857%2014.2471%2010.9687%2014.3609%2010.826%2014.432C10.6639%2014.5129%2010.454%2014.5129%2010.0342%2014.5129H9.96582C9.54601%2014.5129%209.33611%2014.5129%209.17397%2014.432C9.0313%2014.3609%208.91426%2014.2471%208.83904%2014.1065C8.75357%2013.9468%208.74756%2013.737%208.73555%2013.3173L8.49778%205.00963Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Crect%20x%3D%228.76917%22%20y%3D%2215.2817%22%20width%3D%222.46154%22%20height%3D%222.46154%22%20rx%3D%220.769231%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A",correct2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_248)%22%3E%0A%3Cpath%20d%3D%22M15.689%205.69723C15.5476%205.75578%2015.4209%205.8825%2015.1675%206.13594L7.82436%2013.4791L4.83279%2010.4875C4.57935%2010.2341%204.45263%2010.1073%204.31127%2010.0488C4.12278%209.97071%203.91101%209.97071%203.72252%2010.0488C3.58116%2010.1073%203.45444%2010.2341%203.201%2010.4875C2.94756%2010.7409%202.82084%2010.8676%202.76229%2011.009C2.68422%2011.1975%202.68422%2011.4093%202.76229%2011.5978C2.82084%2011.7391%202.94756%2011.8658%203.201%2012.1193L7.0085%2015.9268C7.26194%2016.1802%207.38866%2016.3069%207.53002%2016.3655C7.7185%2016.4436%207.93028%2016.4436%208.11876%2016.3655C8.26013%2016.3069%208.38685%2016.1802%208.64028%2015.9268C8.66387%2015.9032%208.68636%2015.8807%208.7078%2015.8592L16.7993%207.76772C17.0527%207.51428%2017.1794%207.38756%2017.238%207.2462C17.3161%207.05772%2017.3161%206.84594%2017.238%206.65746C17.1794%206.5161%2017.0527%206.38938%2016.7993%206.13594C16.5458%205.8825%2016.4191%205.75578%2016.2777%205.69723C16.0893%205.61915%2015.8775%205.61915%2015.689%205.69723Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_248%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A"},flag={"flag-green":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","flag-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","flag-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A"},cell={"cell-0":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-25":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-50":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-75":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-100":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A"},ICON_MAP={feedback,star,progress,signal,feeling,arrow,shape,feedback2,flag,cell},iconGroup=[{title:"sheet.cf.iconSet.direction",group:[{name:"3Arrows",list:[ICON_MAP.arrow["up-green"],ICON_MAP.arrow["right-gold"],ICON_MAP.arrow["down-red"]]},{name:"3ArrowsGray",list:[ICON_MAP.arrow["up-gray"],ICON_MAP.arrow["right-gray"],ICON_MAP.arrow["down-gray"]]},{name:"4Arrows",list:[ICON_MAP.arrow["up-green"],ICON_MAP.arrow["rightAndUp-gold"],ICON_MAP.arrow["rightAndDown-gold"],ICON_MAP.arrow["down-red"]]},{name:"4ArrowsGray",list:[ICON_MAP.arrow["up-gray"],ICON_MAP.arrow["rightAndUp-gray"],ICON_MAP.arrow["rightAndDown-gray"],ICON_MAP.arrow["down-gray"]]},{name:"5Arrows",list:[ICON_MAP.arrow["up-green"],ICON_MAP.arrow["rightAndUp-gold"],ICON_MAP.arrow["right-gold"],ICON_MAP.arrow["rightAndDown-gold"],ICON_MAP.arrow["down-red"]]},{name:"5ArrowsGray",list:[ICON_MAP.arrow["up-gray"],ICON_MAP.arrow["rightAndUp-gray"],ICON_MAP.arrow["right-gray"],ICON_MAP.arrow["rightAndDown-gray"],ICON_MAP.arrow["down-gray"]]},{name:"3Triangles",list:[ICON_MAP.shape.up,ICON_MAP.shape.cross,ICON_MAP.shape.down]}]},{title:"sheet.cf.iconSet.shape",group:[{name:"3TrafficLights1",list:[ICON_MAP.shape["roundness-greed"],ICON_MAP.shape["roundness-gold"],ICON_MAP.shape["roundness-red"]]},{name:"3Signs",list:[ICON_MAP.shape["roundness-greed"],ICON_MAP.shape["triangle-gold"],ICON_MAP.shape["rhomboid-red"]]},{name:"3TrafficLights2",list:[ICON_MAP.shape["indicate-greed"],ICON_MAP.shape["indicate-gold"],ICON_MAP.shape["indicate-red"]]},{name:"4RedToBlack",list:[ICON_MAP.shape["roundness-red"],ICON_MAP.shape["roundness-pink"],ICON_MAP.shape["roundness-gray"],ICON_MAP.shape["roundness-black"]]},{name:"4TrafficLights",list:[ICON_MAP.shape["roundness-greed"],ICON_MAP.shape["roundness-gold"],ICON_MAP.shape["roundness-red"],ICON_MAP.shape["roundness-black"]]}]},{title:"sheet.cf.iconSet.mark",group:[{name:"3Symbols",list:[ICON_MAP.feedback.correct,ICON_MAP.feedback.warn,ICON_MAP.feedback.mistake]},{name:"3Symbols2",list:[ICON_MAP.feedback2.correct2,ICON_MAP.feedback2.warn2,ICON_MAP.feedback2.mistake2]},{name:"3Flags",list:[ICON_MAP.flag["flag-green"],ICON_MAP.flag["flag-gold"],ICON_MAP.flag["flag-red"]]}]},{title:"sheet.cf.iconSet.rank",group:[{name:"4Rating",list:[ICON_MAP.signal.signal25,ICON_MAP.signal.signal50,ICON_MAP.signal.signal75,ICON_MAP.signal.signal100]},{name:"5Rating",list:[ICON_MAP.signal.signal0,ICON_MAP.signal.signal25,ICON_MAP.signal.signal50,ICON_MAP.signal.signal75,ICON_MAP.signal.signal100]},{name:"5Quarters",list:[ICON_MAP.progress.progress100,ICON_MAP.progress.progress75,ICON_MAP.progress.progress50,ICON_MAP.progress.progress25,ICON_MAP.progress.progress0]},{name:"_5Felling",list:[ICON_MAP.feeling.guffaw,ICON_MAP.feeling.smile,ICON_MAP.feeling.noninductive,ICON_MAP.feeling.dissatisfied,ICON_MAP.feeling.impatient]},{name:"5Boxes",list:[ICON_MAP.cell["cell-100"],ICON_MAP.cell["cell-75"],ICON_MAP.cell["cell-50"],ICON_MAP.cell["cell-25"],ICON_MAP.cell["cell-0"]]},{name:"3Stars",list:[ICON_MAP.star.starFull,ICON_MAP.star.starIncomplete,ICON_MAP.star.starEmpty]}]}],iconMap=iconGroup.reduce((result,cur)=>{const{group}=cur;for(const v of group)result[v.name]=v.list;return result},{});for(const key in iconMap){const v=iconMap[key];Object.freeze(v)}const EMPTY_ICON_TYPE="EMPTY_ICON_TYPE",MoveConditionalRuleMutation={type:core.CommandType.MUTATION,id:"sheet.mutation.move-conditional-rule",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,start,end}=params;return accessor.get(ConditionalFormattingRuleModel).moveRulePriority(unitId,subUnitId,start,end),!0}},MoveConditionalRuleMutationUndoFactory=__name(param=>{const{unitId,subUnitId}=param,undo=anchorUndoFactory(param.start,param.end);if(!undo)return[];const[start,end]=undo;return[{id:MoveConditionalRuleMutation.id,params:{unitId,subUnitId,start,end}}]},"MoveConditionalRuleMutationUndoFactory"),DeleteConditionalRuleMutationUndoFactory=__name((accessor,param)=>{const conditionalFormattingRuleModel=accessor.get(ConditionalFormattingRuleModel),{unitId,subUnitId,cfId}=param,ruleList=[...conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId)||[]],index=ruleList.findIndex(item=>item.cfId===cfId),beforeRule=ruleList[index-1];if(index>-1){const rule=ruleList[index],result=[{id:AddConditionalRuleMutation.id,params:{unitId,subUnitId,rule:core.Tools.deepClone(rule)}}];if(ruleList.splice(index,1),index!==0){const firstRule=ruleList[0];if(firstRule){const transformResult=transformSupportSymmetryAnchor({id:firstRule.cfId,type:"before"},{id:beforeRule.cfId,type:"after"},ruleList,rule2=>rule2.cfId);if(!transformResult)return result;const[start,end]=transformResult,params={unitId,subUnitId,start,end};result.push({id:MoveConditionalRuleMutation.id,params})}}return result}return[]},"DeleteConditionalRuleMutationUndoFactory"),DeleteConditionalRuleMutation={type:core.CommandType.MUTATION,id:"sheet.mutation.delete-conditional-rule",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,cfId}=params;return accessor.get(ConditionalFormattingRuleModel).deleteRule(unitId,subUnitId,cfId),!0}},AddConditionalRuleMutationUndoFactory=__name((accessor,param)=>({id:DeleteConditionalRuleMutation.id,params:{unitId:param.unitId,subUnitId:param.subUnitId,cfId:param.rule.cfId}}),"AddConditionalRuleMutationUndoFactory"),AddConditionalRuleMutation={type:core.CommandType.MUTATION,id:"sheet.mutation.add-conditional-rule",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,rule}=params;return accessor.get(ConditionalFormattingRuleModel).addRule(unitId,subUnitId,rule),!0}},SetConditionalRuleMutation={type:core.CommandType.MUTATION,id:"sheet.mutation.set-conditional-rule",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,rule}=params,cfId=params.cfId||params.rule.cfId;return accessor.get(ConditionalFormattingRuleModel).setRule(unitId,subUnitId,rule,cfId),!0}},setConditionalRuleMutationUndoFactory=__name((accessor,param)=>{const conditionalFormattingRuleModel=accessor.get(ConditionalFormattingRuleModel),{unitId,subUnitId}=param,cfId=param.cfId||param.rule.cfId,rule=conditionalFormattingRuleModel.getRule(unitId,subUnitId,cfId);return rule?[{id:SetConditionalRuleMutation.id,params:{unitId,subUnitId,cfId,rule:core.Tools.deepClone(rule)}}]:[]},"setConditionalRuleMutationUndoFactory"),SHEETS_CONDITIONAL_FORMATTING_PLUGIN_CONFIG_KEY="ssheets-conditional-formatting.config",defaultPluginConfig={};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"),_a3;exports.ConditionalFormattingService=(_a3=class extends core.Disposable{constructor(_conditionalFormattingRuleModel,_injector,_univerInstanceService,_resourceManagerService,_sheetInterceptorService,_commandService){super(),this._conditionalFormattingRuleModel=_conditionalFormattingRuleModel,this._injector=_injector,this._univerInstanceService=_univerInstanceService,this._resourceManagerService=_resourceManagerService,this._sheetInterceptorService=_sheetInterceptorService,this._commandService=_commandService,this._initCellChange(),this._initSnapshot(),this._initSheetChange()}get _conditionalFormattingViewModelV2(){return this._injector.get(exports.ConditionalFormattingViewModel)}composeStyle(unitId,subUnitId,row,col){const cellCfs=this._conditionalFormattingViewModelV2.getCellCfs(unitId,subUnitId,row,col);if(cellCfs&&(cellCfs!=null&&cellCfs.length)){const ruleList=cellCfs.map(item=>this._conditionalFormattingRuleModel.getRule(unitId,subUnitId,item.cfId)).filter(rule=>!!rule).reverse(),endIndex=ruleList.findIndex(rule=>rule==null?void 0:rule.stopIfTrue);return endIndex>-1&&ruleList.splice(endIndex+1),ruleList.reduce((pre,rule)=>{var _a5;const type=rule.rule.type,ruleCacheItem=cellCfs.find(cache=>cache.cfId===rule.cfId);if(type===CFRuleType.highlightCell)ruleCacheItem.result&&core.Tools.deepMerge(pre,{style:ruleCacheItem.result});else if(type===CFRuleType.colorScale){const ruleCache=ruleCacheItem==null?void 0:ruleCacheItem.result;ruleCache&&typeof ruleCache=="string"&&(pre.style={...(_a5=pre.style)!=null?_a5:{},bg:{rgb:ruleCache}})}else if(type===CFRuleType.dataBar){const ruleCache=ruleCacheItem==null?void 0:ruleCacheItem.result;ruleCache&&(pre.dataBar=ruleCache,pre.isShowValue=ruleCache.isShowValue)}else if(type===CFRuleType.iconSet){const ruleCache=ruleCacheItem==null?void 0:ruleCacheItem.result;ruleCache&&(pre.iconSet=ruleCache,pre.isShowValue=ruleCache.isShowValue)}return pre},{})}return null}_initSnapshot(){const toJson=__name(unitID=>{const map=this._conditionalFormattingRuleModel.getUnitRules(unitID),resultMap={};return map?(map.forEach((v,key)=>{resultMap[key]=v}),JSON.stringify(resultMap)):""},"toJson"),parseJson=__name(json=>{if(!json)return{};try{return JSON.parse(json)}catch{return{}}},"parseJson");this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:SHEET_CONDITIONAL_FORMATTING_PLUGIN,businesses:[core.UniverInstanceType.UNIVER_SHEET],toJson:__name(unitID=>toJson(unitID),"toJson"),parseJson:__name(json=>parseJson(json),"parseJson"),onUnLoad:__name(unitID=>{this._conditionalFormattingRuleModel.deleteUnitId(unitID)},"onUnLoad"),onLoad:__name((unitID,value)=>{Object.keys(value).forEach(subunitId=>{[...value[subunitId]].reverse().forEach(rule=>{this._conditionalFormattingRuleModel.addRule(unitID,subunitId,rule)})})},"onLoad")}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:__name(commandInfo=>{if(commandInfo.id===sheets.RemoveSheetCommand.id){const params=commandInfo.params,unitId=params.unitId||getUnitId(this._univerInstanceService),subUnitId=params.subUnitId||getSubUnitId(this._univerInstanceService);if(!subUnitId)return{redos:[],undos:[]};const ruleList=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId);if(!ruleList)return{redos:[],undos:[]};const redos=[],undos=[];return ruleList.forEach(item=>{const params2={unitId,subUnitId,cfId:item.cfId};redos.push({id:DeleteConditionalRuleMutation.id,params:params2}),undos.push(...DeleteConditionalRuleMutationUndoFactory(this._injector,params2))}),{redos,undos}}return{redos:[],undos:[]}},"getMutations")}))}_initCellChange(){this.disposeWithMe(this._commandService.onCommandExecuted(commandInfo=>{const collectRule=__name((unitId,subUnitId,cellData)=>{const ruleIds=new Set;return cellData.forEach(([row,col])=>{const ruleItem=this._conditionalFormattingViewModelV2.getCellCfs(unitId,subUnitId,row,col);ruleItem==null||ruleItem.forEach(item=>ruleIds.add(item.cfId))}),[...ruleIds].map(cfId=>this._conditionalFormattingRuleModel.getRule(unitId,subUnitId,cfId)).filter(rule=>!!rule)},"collectRule");switch(commandInfo.id){case sheets.SetRangeValuesMutation.id:{const params=commandInfo.params,{subUnitId,unitId,cellValue}=params,cellMatrix=[];new core.ObjectMatrix(cellValue).forValue((row,col,value)=>{value&&Object.keys(value).some(key=>["p","v"].includes(key))&&cellMatrix.push([row,col])}),collectRule(unitId,subUnitId,cellMatrix).forEach(rule=>{this._conditionalFormattingViewModelV2.markRuleDirty(unitId,subUnitId,rule.cfId)});break}case sheets.InsertColMutation.id:case sheets.RemoveColMutation.id:{const{range,unitId,subUnitId}=commandInfo.params,allRules=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId),effectRange={...range,endColumn:Number.MAX_SAFE_INTEGER};allRules&&allRules.filter(rule=>rule.ranges.some(ruleRange=>core.Rectangle.intersects(ruleRange,effectRange))).forEach(rule=>{this._conditionalFormattingViewModelV2.markRuleDirty(unitId,subUnitId,rule.cfId)});break}case sheets.RemoveRowMutation.id:case sheets.InsertRowMutation.id:{const{range,unitId,subUnitId}=commandInfo.params,allRules=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId),effectRange={...range,endRow:Number.MAX_SAFE_INTEGER};allRules&&allRules.filter(rule=>rule.ranges.some(ruleRange=>core.Rectangle.intersects(ruleRange,effectRange))).forEach(rule=>{this._conditionalFormattingViewModelV2.markRuleDirty(unitId,subUnitId,rule.cfId)});break}case sheets.MoveRowsMutation.id:{const{sourceRange,targetRange,unitId,subUnitId}=commandInfo.params,allRules=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId),effectRange={startRow:Math.min(sourceRange.startRow,targetRange.startRow),endRow:Number.MAX_SAFE_INTEGER,startColumn:0,endColumn:Number.MAX_SAFE_INTEGER};allRules&&allRules.filter(rule=>rule.ranges.some(ruleRange=>core.Rectangle.intersects(ruleRange,effectRange))).forEach(rule=>{this._conditionalFormattingViewModelV2.markRuleDirty(unitId,subUnitId,rule.cfId)});break}case sheets.MoveColsMutation.id:{const{sourceRange,targetRange,unitId,subUnitId}=commandInfo.params,allRules=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId),effectRange={startRow:0,endRow:Number.MAX_SAFE_INTEGER,startColumn:Math.min(sourceRange.startColumn,targetRange.startColumn),endColumn:Number.MAX_SAFE_INTEGER};allRules&&allRules.filter(rule=>rule.ranges.some(ruleRange=>core.Rectangle.intersects(ruleRange,effectRange))).forEach(rule=>{this._conditionalFormattingViewModelV2.markRuleDirty(unitId,subUnitId,rule.cfId)});break}case sheets.MoveRangeMutation.id:{const{unitId,to,from}=commandInfo.params,handleSubUnit=__name(value=>{const cellMatrix=[];new core.ObjectMatrix(value.value).forValue((row,col)=>{cellMatrix.push([row,col])}),collectRule(unitId,value.subUnitId,cellMatrix).forEach(rule=>{this._conditionalFormattingViewModelV2.markRuleDirty(unitId,value.subUnitId,rule.cfId)})},"handleSubUnit");handleSubUnit(to),handleSubUnit(from);break}case sheets.ReorderRangeMutation.id:{const{range,unitId,subUnitId}=commandInfo.params,allRules=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId);allRules&&allRules.filter(rule=>rule.ranges.some(ruleRange=>core.Rectangle.intersects(ruleRange,range))).forEach(rule=>{this._conditionalFormattingViewModelV2.markRuleDirty(unitId,subUnitId,rule.cfId)});break}}}))}},__name(_a3,"ConditionalFormattingService"),_a3);exports.ConditionalFormattingService=__decorateClass$1([__decorateParam$1(0,core.Inject(ConditionalFormattingRuleModel)),__decorateParam$1(1,core.Inject(core.Injector)),__decorateParam$1(2,core.Inject(core.IUniverInstanceService)),__decorateParam$1(3,core.Inject(core.IResourceManagerService)),__decorateParam$1(4,core.Inject(sheets.SheetInterceptorService)),__decorateParam$1(5,core.Inject(core.ICommandService))],exports.ConditionalFormattingService);const getUnitId=__name(u=>u.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET).getUnitId(),"getUnitId"),getSubUnitId=__name(u=>{var _a5;return(_a5=u.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:_a5.getSheetId()},"getSubUnitId");var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__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"),_a4;exports.UniverSheetsConditionalFormattingPlugin=(_a4=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_commandService,_configService){super(),this._config=_config,this._injector=_injector,this._commandService=_commandService,this._configService=_configService;const{...rest}=core.merge({},defaultPluginConfig,this._config);this._configService.setConfig(SHEETS_CONDITIONAL_FORMATTING_PLUGIN_CONFIG_KEY,rest),[[exports.ConditionalFormattingService],[exports.ConditionalFormattingFormulaService],[ConditionalFormattingRuleModel],[exports.ConditionalFormattingViewModel]].forEach(dependency=>{this._injector.add(dependency)}),[AddConditionalRuleMutation,DeleteConditionalRuleMutation,SetConditionalRuleMutation,MoveConditionalRuleMutation,ConditionalFormattingFormulaMarkDirty].forEach(m=>{this._commandService.registerCommand(m)})}onStarting(){this._injector.get(exports.ConditionalFormattingService),core.touchDependencies(this._injector,[[exports.ConditionalFormattingService],[exports.ConditionalFormattingViewModel]])}},__name(_a4,"UniverSheetsConditionalFormattingPlugin"),__publicField(_a4,"pluginName",SHEET_CONDITIONAL_FORMATTING_PLUGIN),__publicField(_a4,"type",core.UniverInstanceType.UNIVER_SHEET),_a4);exports.UniverSheetsConditionalFormattingPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.Inject(core.ICommandService)),__decorateParam(3,core.IConfigService)],exports.UniverSheetsConditionalFormattingPlugin);const IconUKey="sheet-conditional-rule-icon",EXTENSION_Z_INDEX=35,DEFAULT_WIDTH=15,DEFAULT_PADDING=2,_ConditionalFormattingIcon=class _ConditionalFormattingIcon extends engineRender.SheetExtension{constructor(){super();__publicField(this,"_paddingRightAndLeft",DEFAULT_PADDING);__publicField(this,"_width",DEFAULT_WIDTH);__publicField(this,"_imageMap",new Map);__publicField(this,"uKey",IconUKey);__publicField(this,"Z_INDEX",EXTENSION_Z_INDEX);__publicField(this,"_radius",1);this._init()}draw(ctx,_parentScale,spreadsheetSkeleton,diffRanges){const{worksheet}=spreadsheetSkeleton;if(!worksheet)return!1;ctx.save(),core.Range.foreach(spreadsheetSkeleton.rowColumnSegment,(row,col)=>{if(!worksheet.getRowVisible(row)||!worksheet.getColVisible(col))return;const cellData=worksheet.getCell(row,col);if(cellData!=null&&cellData.iconSet){const{iconType,iconId}=cellData.iconSet;if(iconType===EMPTY_ICON_TYPE)return;const icon=this._imageMap.get(this._createKey(iconType,iconId));if(!icon)return;const cellInfo=spreadsheetSkeleton.getCellWithCoordByIndex(row,col,!1);let{isMerged,isMergedMainCell,mergeInfo,startY,endY,startX,endX}=cellInfo;if(isMerged||(isMergedMainCell&&(startY=mergeInfo.startY,endY=mergeInfo.endY,startX=mergeInfo.startX,endX=mergeInfo.endX),!this.isRenderDiffRangesByCell(mergeInfo,diffRanges)))return;const borderWidth=endX-startX,borderHeight=endY-startY;if(this._width>borderHeight||this._width>borderWidth+this._paddingRightAndLeft*2)return;const y=(borderHeight-this._width)/2+startY;ctx.drawImage(icon,startX+this._paddingRightAndLeft,y,this._width,this._width)}}),ctx.restore()}_init(){for(const type in iconMap)iconMap[type].forEach((base64,index)=>{const key=this._createKey(type,String(index)),image=new Image;image.onload=()=>{this._imageMap.set(key,image)},image.src=base64})}_createKey(iconType,iconIndex){return`${iconType}_${iconIndex}`}};__name(_ConditionalFormattingIcon,"ConditionalFormattingIcon");let ConditionalFormattingIcon=_ConditionalFormattingIcon;engineRender.SpreadsheetExtensionRegistry.add(ConditionalFormattingIcon);function removeUndefinedAttr(obj){if(typeof obj!="object"||obj===null)return obj;const result={};for(const key in obj)if(obj.hasOwnProperty(key)){const value=removeUndefinedAttr(obj[key]);value!==void 0&&(result[key]=value)}return result}__name(removeUndefinedAttr,"removeUndefinedAttr");Object.defineProperty(exports,"isRangesEqual",{enumerable:!0,get:__name(()=>core.isRangesEqual,"get")});exports.AddConditionalRuleMutation=AddConditionalRuleMutation;exports.AddConditionalRuleMutationUndoFactory=AddConditionalRuleMutationUndoFactory;exports.CFNumberOperator=CFNumberOperator;exports.CFRuleType=CFRuleType;exports.CFSubRuleType=CFSubRuleType;exports.CFTextOperator=CFTextOperator;exports.CFTimePeriodOperator=CFTimePeriodOperator;exports.CFValueType=CFValueType;exports.CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH=CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH;exports.ConditionalFormattingFormulaMarkDirty=ConditionalFormattingFormulaMarkDirty;exports.ConditionalFormattingIcon=ConditionalFormattingIcon;exports.ConditionalFormattingRuleModel=ConditionalFormattingRuleModel;exports.DEFAULT_BG_COLOR=DEFAULT_BG_COLOR;exports.DEFAULT_FONT_COLOR=DEFAULT_FONT_COLOR;exports.DEFAULT_PADDING=DEFAULT_PADDING;exports.DEFAULT_WIDTH=DEFAULT_WIDTH;exports.DataBar=DataBar;exports.DeleteConditionalRuleMutation=DeleteConditionalRuleMutation;exports.DeleteConditionalRuleMutationUndoFactory=DeleteConditionalRuleMutationUndoFactory;exports.EMPTY_ICON_TYPE=EMPTY_ICON_TYPE;exports.FormulaResultStatus=FormulaResultStatus;exports.IconUKey=IconUKey;exports.MoveConditionalRuleMutation=MoveConditionalRuleMutation;exports.MoveConditionalRuleMutationUndoFactory=MoveConditionalRuleMutationUndoFactory;exports.SHEET_CONDITIONAL_FORMATTING_PLUGIN=SHEET_CONDITIONAL_FORMATTING_PLUGIN;exports.SetConditionalRuleMutation=SetConditionalRuleMutation;exports.anchorUndoFactory=anchorUndoFactory;exports.compareWithNumber=compareWithNumber;exports.createCfId=createCfId;exports.createDefaultRule=createDefaultRule;exports.createDefaultValue=createDefaultValue;exports.createDefaultValueByValueType=createDefaultValueByValueType;exports.dataBarUKey=dataBarUKey;exports.defaultDataBarNativeColor=defaultDataBarNativeColor;exports.defaultDataBarPositiveColor=defaultDataBarPositiveColor;exports.defaultPlaceholderColor=defaultPlaceholderColor;exports.filterRange=filterRange;exports.findIndexByAnchor=findIndexByAnchor;exports.getCacheStyleMatrix=getCacheStyleMatrix;exports.getCellValue=getCellValue;exports.getColorScaleFromValue=getColorScaleFromValue;exports.getMaxInFormulaResult=getMaxInFormulaResult;exports.getOppositeOperator=getOppositeOperator;exports.getValueByType=getValueByType;exports.iconGroup=iconGroup;exports.iconMap=iconMap;exports.isAnchorEqual=isAnchorEqual;exports.isFloatsEqual=isFloatsEqual;exports.isNullable=isNullable;exports.moveByAnchor=moveByAnchor;exports.removeUndefinedAttr=removeUndefinedAttr;exports.serialTimeToTimestamp=serialTimeToTimestamp;exports.setConditionalRuleMutationUndoFactory=setConditionalRuleMutationUndoFactory;exports.toYMD_1900=toYMD_1900;exports.transformSupportSymmetryAnchor=transformSupportSymmetryAnchor;