stimulsoft-dashboards-js-vuejs 2025.4.2 → 2025.4.3
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/package.json +1 -1
- package/stimulsoft.blockly.editor.mjs +2 -2
- package/stimulsoft.dashboards.mjs +3 -3
- package/stimulsoft.designer.mjs +19 -19
- package/stimulsoft.reports.chart.mjs +3 -3
- package/stimulsoft.reports.d.ts +27 -7
- package/stimulsoft.reports.engine.mjs +22 -22
- package/stimulsoft.reports.export.mjs +6 -6
- package/stimulsoft.reports.import.xlsx.mjs +2 -2
- package/stimulsoft.reports.maps.mjs +2 -2
- package/stimulsoft.viewer.mjs +8 -8
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
2
|
Stimulsoft.Dashboards.JS
|
|
3
|
-
Version: 2025.4.
|
|
4
|
-
Build date: 2025.
|
|
3
|
+
Version: 2025.4.3
|
|
4
|
+
Build date: 2025.11.14
|
|
5
5
|
License: https://www.stimulsoft.com/en/licensing/reports
|
|
6
6
|
*/
|
|
7
7
|
import{Stimulsoft}from"./stimulsoft.reports.engine.mjs";function defaultsDeep(t,e){for(var i in e)i in t?defaultsDeep(t[i],e[i]):t[i]=e[i];return t}defaultsDeep(Stimulsoft||{},{Dashboard:{Components:{Panel:{},Button:{},Cards:{},Helpers:{},Chart:{Design:{}},TreeViewBox:{},TreeView:{},Table:{Design:{}},RegionMap:{},Progress:{},PivotTable:{Design:{}},OnlineMap:{},ListBox:{},DatePicker:{},NumberBox:{},ComboBox:{},Gauge:{Design:{}},Indicator:{},Text:{Design:{}},Design:{},Image:{Design:{}},WebContent:{},Shape:{}},Export:{Settings:{},Tools:{},Helpers:{},Painters:{Table:{}}},Interactions:{Design:{}},Helpers:{},Render:{},Visuals:{Gauge:{},Cards:{},Indicator:{},Progress:{Helpers:{}}},Design:{Helpers:{}},Images:{},Options:{},Visualizers:{},Drawing:{Helpers:{},Painters:{}}},Designer:{Dashboards:{}},Reflection:{}});var __={};__.a=Stimulsoft.Dashboard,__.b=Stimulsoft.Designer,__.c=Stimulsoft.Reflection,__.d=__.b.Dashboards,__.e=__.a.Components,__.f=__.a.Export,__.g=__.a.Interactions,__.h=__.a.Helpers,__.i=__.a.Render,__.j=__.a.Visuals,__.k=__.a.Design,__.l=__.a.Images,__.m=__.a.Options,__.n=__.a.Visualizers,__.o=__.a.Drawing,__.p=__.o.Helpers,__.q=__.o.Painters,__.r=__.k.Helpers,__.s=__.j.Gauge,__.t=__.j.Cards,__.u=__.j.Indicator,__.v=__.j.Progress,__.w=__.v.Helpers,__.x=__.g.Design,__.y=__.f.Settings,__.z=__.f.Tools,__.A=__.f.Helpers,__.B=__.f.Painters,__.C=__.B.Table,__.D=__.e.Panel,__.E=__.e.Button,__.F=__.e.Cards,__.G=__.e.Helpers,__.H=__.e.Chart,__.I=__.e.TreeViewBox,__.J=__.e.TreeView,__.K=__.e.Table,__.L=__.e.RegionMap,__.M=__.e.Progress,__.N=__.e.PivotTable,__.O=__.e.OnlineMap,__.P=__.e.ListBox,__.Q=__.e.DatePicker,__.R=__.e.NumberBox,__.S=__.e.ComboBox,__.T=__.e.Gauge,__.U=__.e.Indicator,__.V=__.e.Text,__.W=__.e.Design,__.X=__.e.Image,__.Y=__.e.WebContent,__.Z=__.e.Shape,__._=__.X.Design,__.aa=__.V.Design,__.ab=__.T.Design,__.ac=__.N.Design,__.ad=__.K.Design,__.ae=__.H.Design;{let t;(t=>{t[t["None"]=0]="None",t[t["DecimalDigits"]=1]="DecimalDigits",t[t["DecimalSeparator"]=2]="DecimalSeparator",t[t["GroupSeparator"]=4]="GroupSeparator",t[t["GroupSize"]=8]="GroupSize",t[t["PositivePattern"]=16]="PositivePattern",t[t["NegativePattern"]=32]="NegativePattern",t[t["CurrencySymbol"]=64]="CurrencySymbol",t[t["PercentageSymbol"]=128]="PercentageSymbol",t[t["Abbreviation"]=256]="Abbreviation",t[t["NegativeInRed"]=512]="NegativeInRed"})(t=__.a.StiTextFormatState||(__.a.StiTextFormatState={}));let e;(t=>{t[t["EqualTo"]=0]="EqualTo",t[t["NotEqualTo"]=1]="NotEqualTo",t[t["GreaterThan"]=2]="GreaterThan",t[t["GreaterThanOrEqualTo"]=3]="GreaterThanOrEqualTo",t[t["LessThan"]=4]="LessThan",t[t["LessThanOrEqualTo"]=5]="LessThanOrEqualTo",t[t["Between"]=6]="Between",t[t["NotBetween"]=7]="NotBetween",t[t["Containing"]=8]="Containing",t[t["NotContaining"]=9]="NotContaining",t[t["BeginningWith"]=10]="BeginningWith",t[t["EndingWith"]=11]="EndingWith",t[t["IsNull"]=12]="IsNull",t[t["IsNotNull"]=13]="IsNotNull"})(e=__.a.StiFilterCondition||(__.a.StiFilterCondition={}));let i;(t=>{t[t["Argument"]=0]="Argument",t[t["Value"]=1]="Value",t[t["ValueEnd"]=2]="ValueEnd",t[t["Expression"]=3]="Expression",t[t["ValueOpen"]=4]="ValueOpen",t[t["ValueClose"]=5]="ValueClose",t[t["ValueLow"]=6]="ValueLow",t[t["ValueHigh"]=7]="ValueHigh"})(i=__.a.StiFilterItem||(__.a.StiFilterItem={}));let r;(t=>{t[t["String"]=0]="String",t[t["Numeric"]=1]="Numeric",t[t["DateTime"]=2]="DateTime",t[t["Boolean"]=3]="Boolean",t[t["Expression"]=4]="Expression"})(r=__.a.StiFilterDataType||(__.a.StiFilterDataType={}))}{let t;(t=>{t[t["ArgumentChartMeter"]=1]="ArgumentChartMeter",t[t["SeriesChartMeter"]=2]="SeriesChartMeter",t[t["SortByChartMeter"]=3]="SortByChartMeter",t[t["ValueChartMeter"]=4]="ValueChartMeter",t[t["StartValueChartMeter"]=5]="StartValueChartMeter",t[t["EndValueChartMeter"]=6]="EndValueChartMeter",t[t["OpenValueChartMeter"]=7]="OpenValueChartMeter",t[t["CloseValueChartMeter"]=8]="CloseValueChartMeter",t[t["LowValueChartMeter"]=9]="LowValueChartMeter",t[t["HighValueChartMeter"]=10]="HighValueChartMeter",t[t["WeightChartMeter"]=11]="WeightChartMeter",t[t["XChartMeter"]=12]="XChartMeter",t[t["YChartMeter"]=13]="YChartMeter",t[t["IndicatorValueChartMeter"]=14]="IndicatorValueChartMeter",t[t["MaxGaugeMeter"]=15]="MaxGaugeMeter",t[t["MinGaugeMeter"]=16]="MinGaugeMeter",t[t["SeriesGaugeMeter"]=17]="SeriesGaugeMeter",t[t["ValueGaugeMeter"]=18]="ValueGaugeMeter",t[t["TargetGaugeMeter"]=19]="TargetGaugeMeter",t[t["SeriesIndicatorMeter"]=20]="SeriesIndicatorMeter",t[t["TargetIndicatorMeter"]=21]="TargetIndicatorMeter",t[t["ValueIndicatorMeter"]=22]="ValueIndicatorMeter",t[t["SeriesProgressMeter"]=23]="SeriesProgressMeter",t[t["TargetProgressMeter"]=24]="TargetProgressMeter",t[t["ValueProgressMeter"]=25]="ValueProgressMeter",t[t["LatitudeMapMeter"]=26]="LatitudeMapMeter",t[t["LongitudeMapMeter"]=27]="LongitudeMapMeter",t[t["LocationMapMeter"]=28]="LocationMapMeter",t[t["LocationValueMapMeter"]=29]="LocationValueMapMeter",t[t["LocationColorMapMeter"]=30]="LocationColorMapMeter",t[t["LocationArgumentMapMeter"]=31]="LocationArgumentMapMeter",t[t["KeyMapMeter"]=32]="KeyMapMeter",t[t["NameMapMeter"]=33]="NameMapMeter",t[t["ValueMapMeter"]=34]="ValueMapMeter",t[t["GroupMapMeter"]=35]="GroupMapMeter",t[t["ColorMapMeter"]=36]="ColorMapMeter",t[t["ColorScaleColumn"]=37]="ColorScaleColumn",t[t["DataBarsColumn"]=38]="DataBarsColumn",t[t["DimensionColumn"]=39]="DimensionColumn",t[t["IndicatorColumn"]=40]="IndicatorColumn",t[t["MeasureColumn"]=41]="MeasureColumn",t[t["SparklinesColumn"]=42]="SparklinesColumn",t[t["BubbleColumn"]=43]="BubbleColumn",t[t["ColorScaleCardsColumn"]=44]="ColorScaleCardsColumn",t[t["DataBarsCardsColumn"]=45]="DataBarsCardsColumn",t[t["DimensionCardsColumn"]=46]="DimensionCardsColumn",t[t["IndicatorCardsColumn"]=47]="IndicatorCardsColumn",t[t["MeasureCardsColumn"]=48]="MeasureCardsColumn",t[t["SparklinesCardsColumn"]=49]="SparklinesCardsColumn",t[t["BubbleCardsColumn"]=50]="BubbleCardsColumn",t[t["PivotColumn"]=51]="PivotColumn",t[t["PivotRow"]=52]="PivotRow",t[t["PivotSummary"]=53]="PivotSummary",t[t["NameListBoxMeter"]=54]="NameListBoxMeter",t[t["KeyListBoxMeter"]=55]="KeyListBoxMeter",t[t["KeyTreeViewMeter"]=56]="KeyTreeViewMeter",t[t["KeyTreeViewBoxMeter"]=57]="KeyTreeViewBoxMeter",t[t["NameComboBoxMeter"]=58]="NameComboBoxMeter",t[t["KeyComboBoxMeter"]=59]="KeyComboBoxMeter",t[t["ValueDatePickerMeter"]=60]="ValueDatePickerMeter",t[t["ValueNumberBoxMeter"]=61]="ValueNumberBoxMeter",t[t["TextMeter"]=62]="TextMeter",t[t["TextMeasureMeter"]=63]="TextMeasureMeter",t[t["ImageMeter"]=64]="ImageMeter",t[t["WebContentMeter"]=65]="WebContentMeter"})(t=__.e.StiMeterIdent||(__.e.StiMeterIdent={}))}let StiEventHandler=Stimulsoft.Report.Events.StiEventHandler,StiFilterInclusionMode=Stimulsoft.Report.Dashboard.StiFilterInclusionMode,StiEventMeta=Stimulsoft.Base.Meta.StiEventMeta,StiBlocklyHelper=Stimulsoft.Report.Helpers.StiBlocklyHelper,StiContainer=Stimulsoft.Report.Components.StiContainer,StiBorder=Stimulsoft.Base.Drawing.StiBorder,StiColorMeta=Stimulsoft.Base.Meta.StiColorMeta,StiEnumMeta=Stimulsoft.Base.Meta.StiEnumMeta,StiNumberMeta=Stimulsoft.Base.Meta.StiNumberMeta,StiObjectMeta=Stimulsoft.Base.Meta.StiObjectMeta,StiStringMeta=Stimulsoft.Base.Meta.StiStringMeta,StiRemoveMeta=Stimulsoft.Base.Meta.StiRemoveMeta,StiStringNullOrEmptyMeta=Stimulsoft.Base.Meta.StiStringNullOrEmptyMeta,StiMath=Stimulsoft.System.StiMath,ImplementsIStiDashboardWatermark=Stimulsoft.Report.Dashboard.ImplementsIStiDashboardWatermark,IStiDashboardWatermark=Stimulsoft.Report.Dashboard.IStiDashboardWatermark,StiAdvancedWatermark=Stimulsoft.Base.Drawing.StiAdvancedWatermark,StiSurfaceViewMode=Stimulsoft.Report.Components.StiSurfaceViewMode,StiAppExpressionParser=Stimulsoft.Report.Helpers.StiAppExpressionParser,StiAppExpressionHelper=Stimulsoft.Base.StiAppExpressionHelper,StiString=Stimulsoft.System.StiString,IStiJsonReportObject=Stimulsoft.Base.JsonReportObject.IStiJsonReportObject,ImplementsIStiDashboard=Stimulsoft.Report.Dashboard.ImplementsIStiDashboard,StiJsonReportObjectHelper=Stimulsoft.Base.StiJsonReportObjectHelper,StiKeyHelper=Stimulsoft.Base.StiKeyHelper,StiSolidBrush=Stimulsoft.Base.Drawing.StiSolidBrush,StiBrush=Stimulsoft.Base.Drawing.StiBrush,StiUnit=Stimulsoft.Report.Units.StiUnit,StiMargins=Stimulsoft.Report.Components.StiMargins,StiDataSourcePicker=Stimulsoft.Data.Engine.StiDataSourcePicker,Color=Stimulsoft.System.Drawing.Color,IStiSkipOwnFilter=Stimulsoft.Report.Dashboard.IStiSkipOwnFilter,IStiUserFilters=Stimulsoft.Data.Engine.IStiUserFilters,StiCrossLinkedFilterHelper=Stimulsoft.Report.Dashboard.Helpers.StiCrossLinkedFilterHelper,IStiFilterElement=Stimulsoft.Report.Dashboard.IStiFilterElement,StiGroupElementHelper=Stimulsoft.Report.Dashboard.StiGroupElementHelper,IStiElement=Stimulsoft.Report.Dashboard.IStiElement,List=Stimulsoft.System.Collections.Generic.List,StiElementStyleIdent=Stimulsoft.Report.Dashboard.StiElementStyleIdent,Enum=Stimulsoft.System.Enum,IStiDashboard=Stimulsoft.Report.Dashboard.IStiDashboard,StiPage=Stimulsoft.Report.Components.StiPage,Loc=Stimulsoft.Base.Localization.StiLocalization,SizeD=Stimulsoft.System.Drawing.Size,StiDashboardViewMode=Stimulsoft.Report.Components.StiDashboardViewMode,IStiAltProperties=Stimulsoft.Report.Dashboard.IStiAltProperties,IStiTitleElement=Stimulsoft.Report.Dashboard.IStiTitleElement,RectangleD=Stimulsoft.System.Drawing.Rectangle,StiDashboardContentAlignment=Stimulsoft.Report.Dashboard.StiDashboardContentAlignment,IStiGlobalizationProvider=Stimulsoft.Report.IStiGlobalizationProvider,StiScriptHelper=Stimulsoft.Report.StiScriptHelper,StiMetaHelper=(__.e.StiDashboard=class extends StiPage{implements(){let t=super.implements().concat([IStiDashboard,IStiDashboardWatermark,IStiGlobalizationProvider,...ImplementsIStiDashboard,...ImplementsIStiDashboardWatermark,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(){let t,e,i,r=super.clone();return r.dashboardWatermark=null==(t=this.dashboardWatermark)?void 0:t.clone(),r.beginRenderEvent=null==(e=this.beginRenderEvent)?void 0:e.clone(),r.refreshingEvent=null==(i=this.refreshingEvent)?void 0:i.clone(),r}meta(){return[...super.meta(),new StiRemoveMeta(["Margins","MirrorMargins","PrintHeadersFootersFromPreviousPage","PrintOnPreviousPage","StopBeforePrint","LargeHeight","LargeHeightFactor","ResetPageNumber","Watermark","ExcelSheet","CanBreak","Interaction","PaperSourceFirstPage","PaperSourceOfFirstPage","PaperSourceOtherPages","PaperSourceOfOtherPages","ShrinkToFit","UseParentStyles","Conditions","PaperSize","NumberOfCopies","BeginRenderEvent","RenderingEvent","EndRenderEvent","GetToolTipEvent","GetTagEvent","GetBookmarkEvent","GetHyperlinkEvent","BeforePrintEvent","AfterPrintEvent","MouseEnterEvent","MouseLeaveEvent","ClickEvent","DoubleEvent","ColumnBeginRenderEvent","ColumnEndRenderEvent","GetExcelSheetEvent","GetDrillDownReportEvent"]),new StiNumberMeta("Width","",1200),new StiNumberMeta("Height","",600),new StiNumberMeta("DeviceWidth","",480),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Blue),new StiStringNullOrEmptyMeta("Border").get(()=>StiJsonReportObjectHelper.Serialize.jBorder(this.border)).set(t=>this.border=StiJsonReportObjectHelper.Deserialize.border(t.value)).setXml(t=>this.border=StiBorder.loadFromXml(t.textContent)),new StiColorMeta("BackColor","",Color.transparent),new StiEnumMeta("DashboardViewMode","",StiDashboardViewMode,StiDashboardViewMode.Desktop),new StiStringMeta("AltSize","",StiJsonReportObjectHelper.Serialize.sizeD(SizeD.empty)).get(()=>StiJsonReportObjectHelper.Serialize.sizeD(this.altSize)).set(t=>this.altSize=StiJsonReportObjectHelper.Deserialize.sizeD(t.value.toString())).setXml(t=>this.altSize=Stimulsoft.System.Drawing.Size.convertFromXml(t.textContent)),new StiEnumMeta("ContentAlignment","",StiDashboardContentAlignment,StiDashboardContentAlignment.StretchXY),new StiEnumMeta("AltContentAlignment","",StiDashboardContentAlignment,StiDashboardContentAlignment.StretchXY),new StiObjectMeta("DashboardWatermark"),new StiEventMeta("BeginRenderEvent"),new StiEventMeta("RefreshingEvent")]}getMeters(t=!0,e=null){return this.getElements(t,e).selectMany(t=>t.getMeters())}getElements(e=!0,i=null){return null==i?(e?this.getComponentsList():this.components.list)[Stimulsoft.System.StiObject.stimulsoft]().toList().where(t=>t.is(IStiElement)).cast():StiString.isNullOrWhiteSpace(i)?(e?this.getComponentsList():this.components.list)[Stimulsoft.System.StiObject.stimulsoft]().toList().where(t=>t.is(IStiElement)).cast().where(t=>StiString.isNullOrWhiteSpace(StiGroupElementHelper.getGroup(t))).toList():this.report.pages.toList().where(t=>t.isDashboard).selectMany(t=>(e?t.getComponentsList():t.components.list)[Stimulsoft.System.StiObject.stimulsoft]().toList()).where(t=>t.is(IStiElement)).cast().where(t=>StiGroupElementHelper.getGroup(t)==i)}getUserFilters(e){if(null==e)return null;let t=StiGroupElementHelper.getGroup(e),r=this.getElements(!0,t),l=e.as(IStiFilterElement);if(null!=l){if(StiCrossLinkedFilterHelper.isCrossLinkedFilter(l))return null;let t=r.where(t=>t.is(IStiFilterElement)).cast().firstOrDefault(t=>t.getKey()==l.getParentKey());if(null==t)return null;let e=new List,i=t.is(IStiUserFilters)?t.userFilters:null;return null!=i&&e.addRange(i),null!=(i=this.as(IStiDashboard).getUserFilters(t.as(IStiElement)))&&e.addRange(i),e}return r.where(t=>t.is(IStiUserFilters)&&(t!=e||!(t.is(IStiSkipOwnFilter)&&t.allowSkipOwnFilter))).cast().selectMany(this.getUserFilters3)}getUserFilters3(e){if(e.is(IStiFilterElement)&&e.inclusionMode==StiFilterInclusionMode.Always&&(null==e.userFilters||!e.userFilters.any())){let t=e.getIdentityFilters();if(null!=t)return t}return e.userFilters.forEach(t=>t.elementKey=e.as(IStiElement).key),e.userFilters}getUnplacedElements(){return this.getComponents().toList().where(t=>0==t.width||0==t.height).cast()}switchSurfaceViewMode(t){let o,e=t==StiSurfaceViewMode.Desktop?StiDashboardViewMode.Desktop:StiDashboardViewMode.Mobile;if(this.dashboardViewMode==e)return;this.dashboardViewMode=e;let s=!1,a=(this.altSize.isEmpty&&t==StiSurfaceViewMode.Mobile&&(this.altSize=new SizeD(480,800),s=!0,this.altContentAlignment=this.contentAlignment),this.getComponents());for(let n of a.list){let l=n.as(IStiAltProperties);if(null!=l){let t=n.parent,e=(n.parent.components.remove(n),a.getComponentByGuid(l.altParentKey,this)||this),i=(null!=(o=e.as(StiContainer))&&o.components.add(n),l.altParentKey=t.guid,n.clientRectangle.clone()),r=(n.clientRectangle=l.altClientRectangle.clone(),l.altClientRectangle=i,n.as(IStiTitleElement));if(null!=(null==r?void 0:r.title)){let t=r.title.visible;s||(r.title.visible=l.altTitleVisible),l.altTitleVisible=t}}}let i=new SizeD(this.width,this.height),r=(this.width=this.altSize.width,this.height=this.altSize.height,this.altSize=i,this.contentAlignment);this.contentAlignment=this.altContentAlignment,this.altContentAlignment=r}removeMobileSurface(){this.altSize=SizeD.empty;let t=this.getComponents();for(let e of t.list){let t=e.as(IStiAltProperties);null!=t&&(t.altClientRectangle=RectangleD.empty)}this.altContentAlignment=StiDashboardContentAlignment.StretchXY}get isMobileSurfaceSelected(){return this.dashboardViewMode==StiDashboardViewMode.Mobile}get isDesktopSurfaceSelected(){return this.dashboardViewMode==StiDashboardViewMode.Desktop}fetchAllMeters(){return new List}getNestedPages(){return new List}get isEnabled(){return StiAppExpressionHelper.isExpressionSpecified(this,"enabled")?StiAppExpressionParser.parseBoolExpression(this,"enabled",!0):this.enabled}async isEnabledAsync(){return StiAppExpressionHelper.isExpressionSpecified(this,"enabled")?StiAppExpressionParser.parseBoolExpressionAsync(this,"enabled",!0):this.enabled}get isDefined(){return 0<this.components.count}get isQuerable(){return!0}retrieveUsedDataNames(e){return this.getElements(!0,e).selectMany(t=>t.retrieveUsedDataNames(e)).distinct()}getDictionary(){return null!=this.report?this.report.dictionary:null}getDataSources(t){return StiDataSourcePicker.fetch(this,null,t,null!=this.report?this.getDictionary().fetchDataSources():null)}setString(t,e){switch(t){case"Alias":this.alias=e;break}}getString(t){switch(t){case"Alias":return this.alias}throw new Error(`Property with name `+t)}getAllStrings(){return["Alias"]}get serviceCategory(){return Loc.get("Permissions","ItemDashboards")}get localizedName(){return Loc.get("Components","StiDashboard")}get gridSize(){return this.report.info.gridSizePoints}get unit(){return StiUnit.HundredthsOfInch}get brush(){return new StiSolidBrush(this.backColor)}set brush(t){this.backColor=StiBrush.toColor(t)}get skip(){return!0}set skip(t){}convert(t,e,i=!1){}getKey(){return this.key}get key(){return this.guid}set key(t){this.guid=t}get style(){return this._style}set style(t){if(this._style==t)return;t==StiElementStyleIdent.Auto&&(t=Enum.getValues(typeof StiElementStyleIdent).find(t=>t!=StiElementStyleIdent.Auto)),this._style=t}getApp(){return this.report}invokeRefreshing(){var t;null!=(t=null==this?void 0:this.onRefreshing)&&t.call(this),StiEventHandler.run(this.refreshingEvent,this.report),StiScriptHelper.invokeEventScript(this.report,this,this.refreshingEvent),StiBlocklyHelper.invokeBlockly(this.report,this,this.refreshingEvent)}get width(){return this._width2}set width(t){this._width2=StiMath.round2(t,2)}get height(){return this._height2}set height(t){this._height2=StiMath.round2(t,2)}get altSize(){return this._altSize}set altSize(t){this._altSize=t}get dashboardViewMode(){return this._dashboardViewMode}set dashboardViewMode(t){this._dashboardViewMode=t}get contentAlignment(){return this._contentAlignment}set contentAlignment(t){this._contentAlignment=t}get altContentAlignment(){return this._altContentAlignment}set altContentAlignment(t){this._altContentAlignment=t}get deviceWidth(){return this._deviceWidth}set deviceWidth(t){this._deviceWidth=t}get isMobileSurfacePresent(){return!this.altSize.isEmpty}constructor(t=null){super(t),this.backColor=Color.transparent,this.margins=new StiMargins(10,10,10,10),this._style=StiElementStyleIdent.Blue,this.customStyleName="",this.dashboardWatermark=new StiAdvancedWatermark,this.refreshingEvent=null,this._width2=1200,this._height2=600,this._altSize=SizeD.empty,this._dashboardViewMode=StiDashboardViewMode.Desktop,this._contentAlignment=StiDashboardContentAlignment.StretchXY,this._altContentAlignment=StiDashboardContentAlignment.StretchXY,this._deviceWidth=480,this.key=StiKeyHelper.generateKey(),this.width=1200,this.height=600}},Stimulsoft.Base.Meta.StiMetaHelper),Type=Stimulsoft.System.Type,IStiLocalizedMeter=Stimulsoft.Base.Meters.IStiLocalizedMeter,IStiMeter=Stimulsoft.Base.Meters.IStiMeter,StiJsonSaveMode=Stimulsoft.Base.StiJsonSaveMode,StiJson=Stimulsoft.Base.StiJson,IStiDimensionMeter=(__.e.StiMeter=class{is(t){if(t instanceof Stimulsoft.System.Interface)return-1!=this.implements().indexOf(t);if("function"==typeof t)return this instanceof t;if(null==t)throw new Error("Type for comparison is 'undefined'");return!1}is2(t){return this.is(t)}as(t){if(this.is(t))return this;return null}implements(){let t=[IStiMeter,IStiLocalizedMeter,IStiJsonReportObject];return(this.implements=()=>t)()}clone(t=!0,e=!0){let i=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return i.key=StiKeyHelper.generateKey(),i}saveToString(){return this.saveToJsonObject(StiJsonSaveMode.Report).serialize()}loadFromString(t){let e=new StiJson;e.deserialize(t),this.loadFromJsonObject(e)}meta(){return[new StiEnumMeta("Ident","",__.e.StiMeterIdent).set(()=>{}).setXml(()=>{}),new StiStringNullOrEmptyMeta("Key"),new StiStringNullOrEmptyMeta("Expression"),new StiStringNullOrEmptyMeta("Label")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}getUniqueCode(){let t=null!=this.expression?this.expression[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0;return t=397*(t=397*(t=397*t^Type.getTypeName(this)[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^(null!=this.label?this.label[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.key?this.key[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0),Math.abs(t)}get localizedName(){return""}isDefault(){return null==this.key&&null!=this.expression&&0==this.expression.length&&null!=this.label&&0==this.label.length}toString(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().getType()[Stimulsoft.System.StiObject.stimulsoft]().getTypeName();return StiString.isNullOrWhiteSpace(this.expression)?t:`${t}-"${this.expression}"`}constructor(t,e,i){this.expression="",this.label="",null==t&&(t=StiKeyHelper.generateKey()),this.key=t,null!=e&&(this.expression=e),null!=i&&(this.label=i)}},Stimulsoft.Base.Meters.IStiDimensionMeter),Dictionary=(__.e.StiDimensionMeter=class extends __.e.StiMeter{implements(){let t=super.implements().concat([IStiDimensionMeter]);return(this.implements=()=>t)()}constructor(t,e,i){super(t,e,i)}},Stimulsoft.System.Collections.Dictionary),Attribute=Stimulsoft.System.Attribute;{class StiExportToolAttribute extends Attribute{constructor(t){super(),this.exportToolTypeName=t}static add(t,e){this.attributes.add(t,new StiExportToolAttribute(e))}}StiExportToolAttribute.attributes=new Dictionary,__.f.StiExportToolAttribute=StiExportToolAttribute}let ImplementsIStiPanelElement=Stimulsoft.Report.Dashboard.ImplementsIStiPanelElement,IStiPanelElement=Stimulsoft.Report.Dashboard.IStiPanelElement,StiBoolMeta=Stimulsoft.Base.Meta.StiBoolMeta,ImplementsIStiCornerRadius=Stimulsoft.Report.Components.ImplementsIStiCornerRadius,IStiCornerRadius=Stimulsoft.Report.Components.IStiCornerRadius,StiCornerRadius=Stimulsoft.Base.Drawing.StiCornerRadius,StiSimpleShadow=Stimulsoft.Base.Drawing.StiSimpleShadow,IStiSimpleShadow=Stimulsoft.Report.Components.IStiSimpleShadow,ImplementsIStiSimpleShadow=Stimulsoft.Report.Components.ImplementsIStiSimpleShadow,Rectangle=Stimulsoft.System.Drawing.Rectangle,ImplementsIStiMargin=Stimulsoft.Report.Dashboard.ImplementsIStiMargin,ImplementsIStiPadding=Stimulsoft.Report.Dashboard.ImplementsIStiPadding,ImplementsIStiPanel=Stimulsoft.Report.Dashboard.ImplementsIStiPanel,ImplementsIStiAltProperties=Stimulsoft.Report.Dashboard.ImplementsIStiAltProperties,StiComponentToolboxPosition=Stimulsoft.Report.Components.StiComponentToolboxPosition,StiEmptyBrush=Stimulsoft.Base.Drawing.StiEmptyBrush,StiToolboxCategory=Stimulsoft.Report.Components.StiToolboxCategory,StiLocalization=Stimulsoft.Base.Localization.StiLocalization,StiSimpleBorder=Stimulsoft.Base.Drawing.StiSimpleBorder,StiPadding=Stimulsoft.Report.Dashboard.StiPadding,StiMargin=Stimulsoft.Report.Dashboard.StiMargin,IStiGroupElement=Stimulsoft.Report.Dashboard.IStiGroupElement,IStiMargin=Stimulsoft.Report.Dashboard.IStiMargin,IStiPadding=Stimulsoft.Report.Dashboard.IStiPadding,IStiPanel=Stimulsoft.Report.Dashboard.IStiPanel,IStiSimpleBorder=Stimulsoft.Report.Components.IStiSimpleBorder,StiPanel=Stimulsoft.Report.Components.StiPanel,StiExportToolAttribute=__.f.StiExportToolAttribute,ImplementsIStiElement=(StiExportToolAttribute.add("StiPanelElement","Stimulsoft.Dashboard.Export.Tools.StiPanelElementExportTool"),__.D.StiPanelElement=class extends StiPanel{implements(){let t=super.implements().concat([IStiSimpleBorder,IStiCornerRadius,IStiSimpleShadow,IStiPanel,IStiPanelElement,IStiPadding,IStiMargin,IStiAltProperties,IStiDashboardWatermark,...ImplementsIStiPanel,...ImplementsIStiCornerRadius,...ImplementsIStiSimpleShadow,...ImplementsIStiPadding,...ImplementsIStiMargin,...ImplementsIStiAltProperties,...ImplementsIStiDashboardWatermark,...ImplementsIStiPanelElement,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(t){let e,i,r,l,n=super.clone(t);return n.margin=null==(e=this.margin)?void 0:e.clone(),n.padding=null==(i=this.padding)?void 0:i.clone(),n.border2=null==(r=this.border2)?void 0:r.clone(),n.dashboardWatermark=null==(l=this.dashboardWatermark)?void 0:l.clone()[Stimulsoft.System.StiObject.stimulsoft]().as(StiAdvancedWatermark),n}meta(){return[...super.meta(),new StiRemoveMeta(["Border","UseParentStyles","MinSize","MaxSize","Interaction","PrintOn","GrowToHeight","ShiftMode","CanShrink","CanGrow","Printable","Bookmark","Hyperlink","Conditions","GetBookmarkEvent","GetHyperlinkEvent","GetTagEvent","GetToolTipEvent","BeforePrintEvent","AfterPrintEvent","ClickEvent","DoubleEvent","MouseEnterEvent","MouseLeaveEvent","GetDrillDownReportEvent"]),new StiObjectMeta("Margin").get(t=>this.margin.saveToJsonObject(3,3,3,3)),new StiObjectMeta("Padding").get(t=>this.padding.saveToJsonObject(0,0,0,0)),new StiStringNullOrEmptyMeta("Border","border2").get(()=>StiJsonReportObjectHelper.Serialize.jBorder2(this.border2)).set(t=>this.border2=StiJsonReportObjectHelper.Deserialize.simpleBorder(t.value)).setXml(t=>this.border2=StiJsonReportObjectHelper.Deserialize.simpleBorder(t.textContent)),new StiColorMeta("BackColor","",Color.transparent),new StiStringMeta("AltClientRectangle","",StiJsonReportObjectHelper.Serialize.rectangleD(RectangleD.empty)).get(()=>StiJsonReportObjectHelper.Serialize.rectangleD(this.altClientRectangle)).set(t=>this.altClientRectangle=StiJsonReportObjectHelper.Deserialize.rectangleD(t.value)).setXml(t=>this.altClientRectangle=this.loadRectangleDFromXml(t.textContent)),new StiBoolMeta("AltTitleVisible","",!0),new StiStringNullOrEmptyMeta("AltParentKey"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("DashboardWatermark"),new StiStringNullOrEmptyMeta("Style"),new StiStringNullOrEmptyMeta("WatermarkStyle")]}getMeters(t=!0,e=null){return this.getElements(t,e).selectMany(t=>t.getMeters())}getElements(t=!0,e=null){let i=(t?this.getComponents():this.components).toList().where(t=>t.is(IStiElement)).cast();return(null==e?i.where(t=>!t.is(IStiGroupElement)||null==StiGroupElementHelper.getGroup(t)):i.where(t=>StiGroupElementHelper.getGroup(t)==e)).toList()}fetchAllMeters(){return new List}getMeters2(){return new List}getFilterRules(){return new List}getNestedPages(){return new List}get dashboard(){return this.page.as(IStiDashboard)}get isDefined(){return!0}get isQuerable(){return!1}async isEnabledAsync(){return StiAppExpressionHelper.isExpressionSpecified(this,"enabled")?StiAppExpressionParser.parseBoolExpressionAsync(this,"enabled",!0):this.enabled}get zoom(){return null==this.report||null==this.report.info?1:this.report.info.zoom}retrieveUsedDataNames(t){return new List}getDictionary(){return null!=this.report?this.report.dictionary:null}getDataSources(t){var e;return StiDataSourcePicker.fetch(this,null,t,null==(e=this.getDictionary())?void 0:e.fetchDataSources())}get watermarkStyle(){return this._watermarkStyle}set watermarkStyle(e){if(this._watermarkStyle!=e&&(this._watermarkStyle=e,null!=(null==this?void 0:this.report))&&null!=e){let t=this.report.styles.getByName(e);null!=t&&t.setStyleToComponent(this)}}getApp(){return this.report}get toolboxPosition(){return StiComponentToolboxPosition.TextElement}get localizedName(){return StiLocalization.get("Components","StiPanel")}get brush(){return new StiSolidBrush(this.backColor)}set brush(t){this.backColor=StiBrush.toColor(t)}get style(){return this.componentStyle}set style(t){this.componentStyle=t}get serviceCategory(){return Loc.get("Permissions","ItemDashboards")}get localizedCategory(){return this.serviceCategory}get toolboxCategory(){return StiToolboxCategory.Dashboards}canContainIn(t){return t.is(__.e.StiDashboard)}get key(){return this.guid}set key(t){this.guid=t}constructor(t=Rectangle.empty){super(t),this.margin=StiMargin.create(3),this.padding=StiPadding.create(0),this.border2=new StiSimpleBorder,this.backColor=Color.transparent,this.dashboardWatermark=new StiAdvancedWatermark,this._watermarkStyle="",this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.altTitleVisible=!0,this.altClientRectangle=RectangleD.empty,this.defaultClientRectangle=new Rectangle(0,0,300,300),this.helpUrl="user-manual/dashboards_panel.htm",this.key=StiKeyHelper.generateKey(),this.brush=new StiEmptyBrush,this.placeOnToolbox=!0}},Stimulsoft.Report.Dashboard.ImplementsIStiElement),ImplementsIStiBackColor=Stimulsoft.Report.Components.ImplementsIStiBackColor,StiPanelElement=__.D.StiPanelElement,IStiBackColor=Stimulsoft.Report.Components.IStiBackColor,StiComponent=Stimulsoft.Report.Components.StiComponent,StiDataSorter=(__.e.StiElement=class extends StiComponent{implements(){let t=super.implements().concat([IStiElement,IStiSimpleBorder,IStiBackColor,IStiPadding,IStiMargin,IStiAltProperties,...ImplementsIStiElement,...ImplementsIStiBackColor,...ImplementsIStiPadding,...ImplementsIStiMargin,...ImplementsIStiAltProperties,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiRemoveMeta(["UseParentStyles","MinSize","MaxSize","Interaction","PrintOn","GrowToHeight","ShiftMode","CanShrink","CanGrow","Printable","Bookmark","Hyperlink","Conditions","GetBookmarkEvent","GetHyperlinkEvent","GetTagEvent","GetToolTipEvent","BeforePrintEvent","AfterPrintEvent","ClickEvent","DoubleEvent","MouseEnterEvent","MouseLeaveEvent","GetDrillDownReportEvent"]),new StiObjectMeta("Margin").get(t=>this.margin.saveToJsonObject(3,3,3,3)),new StiObjectMeta("Padding").get(t=>this.padding.saveToJsonObject(5,5,5,5)),new StiStringNullOrEmptyMeta("Border","border2").get(()=>StiJsonReportObjectHelper.Serialize.jBorder2(this.border2)).set(t=>this.border2=StiJsonReportObjectHelper.Deserialize.simpleBorder(t.value)).setXml(t=>this.border2=StiJsonReportObjectHelper.Deserialize.simpleBorder(t.textContent)),new StiColorMeta("BackColor","",Color.transparent),new StiStringMeta("AltClientRectangle","",StiJsonReportObjectHelper.Serialize.rectangleD(RectangleD.empty)).get(()=>StiJsonReportObjectHelper.Serialize.rectangleD(this.altClientRectangle)).set(t=>this.altClientRectangle=StiJsonReportObjectHelper.Deserialize.rectangleD(t.value)).setXml(t=>this.altClientRectangle=this.loadRectangleDFromXml(t.textContent)),new StiBoolMeta("AltTitleVisible","",!0),new StiStringNullOrEmptyMeta("AltParentKey","")]}convert(t,e,i=!1){}fetchAllMeters(){return new List}getMeters(){return new List}get dashboard(){return this.page.as(IStiDashboard)}get isDefined(){return!0}get isQuerable(){return!0}async isEnabledAsync(){return StiAppExpressionHelper.isExpressionSpecified(this,"enabled")?StiAppExpressionParser.parseBoolExpressionAsync(this,"enabled",!0):this.enabled}get zoom(){return null!=this.page?this.page.zoom:1}retrieveUsedDataNames2(t){return this.retrieveUsedDataNames()}retrieveUsedDataNames(){return new List}getDictionary(){return null!=this.report?this.report.dictionary:null}getDataSources(t){var e;return StiDataSourcePicker.fetch(this,null,t,null==(e=this.getDictionary())?void 0:e.fetchDataSources())}clone(t){let e,i,r,l=super.clone(t);return l.border2=null==(e=this.border2)?void 0:e.clone(),l.margin=null==(i=this.margin)?void 0:i.clone(),l.padding=null==(r=this.padding)?void 0:r.clone(),l}get backColor(){return this._backColor}set backColor(t){this._backColor=t}get serviceCategory(){return Loc.get("Permissions","ItemDashboards")}canContainIn(t){return t.is(__.e.StiDashboard)||t.is(StiPanelElement)}get localizedCategory(){return this.serviceCategory}get localizedName(){return Loc.get("Components","StiDashboard")}get key(){return this.guid}set key(t){this.guid=t}getNestedPages(){return null}constructor(t=Rectangle.empty){super(t),this.border2=new StiSimpleBorder,this._backColor=Color.transparent,this.margin=StiMargin.create(3),this.padding=StiPadding.create(5),this.altTitleVisible=!0,this.altClientRectangle=RectangleD.empty,this.toolboxCategory=StiToolboxCategory.Dashboards,this.defaultClientRectangle=new Rectangle(0,0,280,280),this.key=StiKeyHelper.generateKey(),this.placeOnToolbox=!0}},Stimulsoft.Data.Engine.StiDataSorter),DataColumn=Stimulsoft.System.Data.DataColumn,StiEmptyCellsAs=Stimulsoft.Report.Dashboard.StiEmptyCellsAs,StiReportParser=Stimulsoft.Report.Dashboard.StiReportParser,StiValueHelper=Stimulsoft.Base.Helpers.StiValueHelper,StiDataGrouper=Stimulsoft.Data.Engine.StiDataGrouper,DataTable=Stimulsoft.System.Data.DataTable,StiDataTable=Stimulsoft.Data.Engine.StiDataTable,StiStringsTableHelper=Stimulsoft.Report.Helpers.StiStringsTableHelper;{class ib{static getIndicatorDataTable(t,e){let i=StiStringsTableHelper.loadStringRowsFromCache(e),r=(null==i&&(i=StiStringsTableHelper.loadStringRowsFromPackedString(t,[this.columnValue,this.columnTarget,this.columnSeries])),new List);if(r.add(new __.U.StiValueIndicatorMeter(null,null,StiLocalization.get("PropertyMain","Value"))),r.add(new __.U.StiTargetIndicatorMeter(null,null,StiLocalization.get("PropertyMain","Target"))),r.add(new __.U.StiSeriesIndicatorMeter(null,null,StiLocalization.get("Chart","Series"))),null==i)return new StiDataTable(r,new List);let l=i[Stimulsoft.System.StiObject.stimulsoft]().toList().groupBy(t=>t[2]).select(t=>[t.sum(t=>this.parseDecimal(t[0],e)),this.sumNullable(t.select(t=>this.parseNullableDecimal(t[1],e)).toList()),this.parseString(t.key,e)]);return new StiDataTable(r,l.toList())}static getProgressDataTable(t,e){let i=StiStringsTableHelper.loadStringRowsFromCache(e),r=(null==i&&(i=StiStringsTableHelper.loadStringRowsFromPackedString(t,[this.columnValue,this.columnTarget,this.columnSeries])),new List);if(r.add(new __.M.StiValueProgressMeter(null,null,StiLocalization.get("PropertyMain","Value"))),r.add(new __.M.StiTargetProgressMeter(null,null,StiLocalization.get("PropertyMain","Target"))),r.add(new __.M.StiSeriesProgressMeter(null,null,StiLocalization.get("Chart","Series"))),null==i)return new StiDataTable(r,new List);let l=i[Stimulsoft.System.StiObject.stimulsoft]().toList().groupBy(t=>t[2]).select(t=>[t.sum(t=>this.parseDecimal(t[0],e)),this.sumNullable(t.select(t=>this.parseNullableDecimal(t[1],e)).toList()),this.parseString(t.key,e)]);return new StiDataTable(r,l.toList())}static getGaugeDataTable(t,e,i){let r=StiStringsTableHelper.loadStringRowsFromCache(i),l=(null==r&&(r=StiStringsTableHelper.loadStringRowsFromPackedString(t,[this.columnValue,this.columnTarget,this.columnSeries])),new List);if(l.add(new __.T.StiValueGaugeMeter(null,null,StiLocalization.get("PropertyMain","Value"))),l.add(new __.T.StiTargetGaugeMeter(null,null,StiLocalization.get("PropertyMain","Target"))),l.add(new __.T.StiSeriesGaugeMeter(null,null,StiLocalization.get("Chart","Series"))),null==r)return new StiDataTable(l,new List);let n;if(e){n=new List;let t=r.find(t=>!0);null!=t&&n.add([this.parseDateTime(t[0],i),this.parseDateTime(t[1],i),this.parseDateTime(t[2],i)])}else n=r[Stimulsoft.System.StiObject.stimulsoft]().toList().groupBy(t=>t[2]).select(t=>[t.sum(t=>this.parseDecimal(t[0],i)),this.sumNullable(t.select(t=>this.parseNullableDecimal(t[1],i)).toList()),this.parseString(t.key,i)]);return new StiDataTable(l,n.toList())}static getChartDataTable(t,o){let e=o.as(__.H.StiChartElement),s={ref:[]},i=StiStringsTableHelper.loadColumnsAndStringRowsFromCache(o,s),a=(null==i&&(i=StiStringsTableHelper.loadColumnsAndStringRowsFromPackedString(t,s)),e.isBubbleChart),r=e.isScatterChart,l=e.isRange,n=e.isFinancial,u=e.isHeatmapChart,S=e.manuallyEnteredChartMeter,m=new List,h=new List;for(let e of s.ref){let t=h.length;switch(e){case this.columnValue:if(a)h.add(new __.H.StiYChartMeter("Value","T.Value","Y"));else if(u)h.add(new __.H.StiValueChartMeter("Value","T.Value",StiLocalization.get("PropertyMain","Values"),S.seriesType));else if(l)h.add(new __.H.StiStartValueChartMeter("Value","Sum(T.Value)",StiLocalization.get("PropertyMain","Values"),S.seriesType));else if(n)h.add(new __.H.StiOpenValueChartMeter("Value","Sum(T.Value)",StiLocalization.get("PropertyMain","OpenValues"),S.seriesType));else{let t=S.clone().as(__.H.StiValueChartMeter);t.expression="Sum(T.Value)",t.label=StiLocalization.get("PropertyMain","Values"),t.key="Value",t.showNulls=StiEmptyCellsAs.ConnectPointsWithLine,t.showZeros=StiEmptyCellsAs.ConnectPointsWithLine,h.add(t)}break;case this.columnEndValue:l&&h.add(new __.H.StiEndValueChartMeter("EndValue","Sum(T.EndValue)",StiLocalization.get("PropertyMain","EndValues")));break;case this.columnCloseValue:n&&h.add(new __.H.StiCloseValueChartMeter("CloseValue","Sum(T.CloseValue)",StiLocalization.get("PropertyMain","CloseValues")));break;case this.columnLowValue:n&&h.add(new __.H.StiLowValueChartMeter("LowValue","Sum(T.LowValue)",StiLocalization.get("PropertyMain","LowValues")));break;case this.columnHighValue:n&&h.add(new __.H.StiHighValueChartMeter("HighValue","Sum(T.HighValue)",StiLocalization.get("PropertyMain","HighValues")));break;case this.columnArgument:a?h.add(new __.H.StiXChartMeter("Argument","T.Argument","X")):u||h.add(new __.H.StiArgumentChartMeter("Argument","T.Argument",StiLocalization.get("PropertyMain","Arguments")));break;case this.columnWeight:a&&h.add(new __.H.StiWeightChartMeter("Weight","Sum(T.Weight)",StiLocalization.get("PropertyMain","Weights")));break;case this.columnSeries:u||h.add(new __.H.StiSeriesChartMeter("Series","T.Series",StiLocalization.get("PropertyMain","Series")));break;case this.columnX:u&&h.add(new __.H.StiXChartMeter("X","T.X","X"));break;case this.columnY:u&&h.add(new __.H.StiYChartMeter("Y","T.Y","Y"));break}h.length!=t&&m.add(e)}if(null==i||!i.some(t=>!0))return new StiDataTable(h,new List);let c=new DataTable;c.tableName="T";for(let n of i){let r=c.newRow(),l=0;for(let i of s.ref){let e=null;switch(i){case this.columnValue:e=this.parseDecimal(n[l],o);break;case this.columnEndValue:e=this.parseDecimal(n[l],o);break;case this.columnCloseValue:e=this.parseDecimal(n[l],o);break;case this.columnLowValue:e=this.parseDecimal(n[l],o);break;case this.columnHighValue:e=this.parseDecimal(n[l],o);break;case this.columnArgument:e=a?this.parseDecimal(n[l],o):this.parseString(n[l],o);break;case this.columnWeight:e=this.parseDecimal(n[l],o);break;case this.columnSeries:e=this.parseString(n[l],o);break;case this.columnX:e=this.parseString(n[l],o);break;case this.columnY:e=this.parseString(n[l],o);break}let t=m.indexOf(i);if(-1!=t){if(!c.columns.contains("T."+i)){let t=new DataColumn("T."+i,"string"==typeof e?String:Number);c.columns.add(t)}r.sett(t,e)}l++}c.rows.add(r)}if(a||r||u){let t=c.rows.toList().select(t=>t.itemArray);return new StiDataTable(h,t)}{let t=StiDataGrouper.group(o.getDictionary(),c,h.toList());return StiDataSorter.sort(t,e.userSorts,e.report,0)}}static sumNullable(t){if(null==t)return null;if(!(t=null==t?void 0:t.where(t=>null!=t)).any())return null;return t.sum()}static parseDateTime(t,e){return null!=t&&t.includes("{")?StiValueHelper.tryToDateTime(StiReportParser.parse2(t,e.report)):StiValueHelper.tryToDateTime(t)}static parseDecimal(t,e){return null!=t&&0<=t.indexOf("{")?StiValueHelper.tryToNumber(StiReportParser.parse2(t,e.report)):StiValueHelper.tryToNumber(t)}static parseNullableDecimal(t,e){return null!=t&&0<=t.indexOf("{")&&(t=StiReportParser.parse2(t,e.report)),StiString.isNullOrWhiteSpace(t)?null:StiValueHelper.tryToNumber(t)}static parseString(t,e){if(null==t)return"";let i="string"==typeof t?t:null==t?void 0:t[Stimulsoft.System.StiObject.stimulsoft]().toString();return null!=i&&0<=i.indexOf("{")?StiReportParser.parse2(i,e.report):i}}ib.columnValue="Value",ib.columnEndValue="EndValue",ib.columnTarget="Target",ib.columnCloseValue="CloseValue",ib.columnLowValue="LowValue",ib.columnHighValue="HighValue",ib.columnArgument="Argument",ib.columnX="X",ib.columnY="Y",ib.columnWeight="Weight",ib.columnSeries="Series",__.e.StiManuallyEnteredDataParser=ib}let IStiMeasureMeter=Stimulsoft.Base.Meters.IStiMeasureMeter,StiTitlePadding=(__.e.StiMeasureMeter=class extends __.e.StiMeter{implements(){let t=super.implements().concat([IStiMeasureMeter]);return(this.implements=()=>t)()}constructor(t,e,i){super(t,e,i)}},Stimulsoft.Report.Dashboard.StiTitlePadding),IStiTitlePadding=Stimulsoft.Report.Dashboard.IStiTitlePadding,StiTextSizeMode=Stimulsoft.Report.Dashboard.StiTextSizeMode,StiFontMeta=Stimulsoft.Base.Meta.StiFontMeta,ImplementsIStiTitle=Stimulsoft.Report.Dashboard.ImplementsIStiTitle,IStiTitle=Stimulsoft.Report.Dashboard.IStiTitle,ICloneable=Stimulsoft.System.ICloneable,Font=Stimulsoft.System.Drawing.Font,StiHorAlignment=Stimulsoft.Base.Drawing.StiHorAlignment;{class StiTitle{implements(){let t=[ICloneable,IStiJsonReportObject,IStiTitle,IStiTitlePadding,...ImplementsIStiTitle];return(this.implements=()=>t)()}meta(){return[new StiStringMeta("Text"),new StiColorMeta("ForeColor","",Color.transparent),new StiColorMeta("BackColor","",Color.transparent),new StiBoolMeta("Visible","",!0),new StiFontMeta("Font","","Arial",11),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Left),new StiEnumMeta("SizeMode","",StiTextSizeMode,StiTextSizeMode.Fit),new StiObjectMeta("Padding").get(t=>this.padding.saveToJsonObject(0,0,0,0))]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static createFromJsonObject(t){let e=new StiTitle;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new StiTitle;return e.loadFromXml(t),e}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}constructor(t,e,i,r,l,n,o,s){this.padding=StiTitlePadding.create(0),this.horAlignment=StiHorAlignment.Left,this.font=new Font("Arial",11),this.backColor=Color.transparent,this.foreColor=Color.transparent,this.text="",this.visible=!0,this.sizeMode=StiTextSizeMode.Fit,null!=t&&(this.text=t),null!=e&&(this.foreColor=e),null!=i&&(this.backColor=i),null!=r&&(this.font=r),null!=l&&(this.horAlignment=l),null!=n&&(this.visible=n),null!=o&&(this.sizeMode=o),null!=s&&(this.padding=s)}}__.e.StiTitle=StiTitle}let StiFontIcons=Stimulsoft.Report.Helpers.StiFontIcons,IStiButtonElementIconSet=Stimulsoft.Report.Dashboard.IStiButtonElementIconSet;{class StiButtonElementIconSet{implements(){let t=[IStiButtonElementIconSet,ICloneable];return(this.implements=()=>t)()}meta(){return[new StiEnumMeta("Icon","",StiFontIcons).check(()=>null!=this.icon),new StiEnumMeta("CheckedIcon","",StiFontIcons).check(()=>null!=this.checkedIcon),new StiEnumMeta("UncheckedIcon","",StiFontIcons).check(()=>null!=this.uncheckedIcon)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static createFromJsonObject(t){let e=new StiButtonElementIconSet;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new StiButtonElementIconSet;return e.loadFromXml(t),e}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}isDefault(){return null==this.icon&&null==this.checkedIcon&&null==this.uncheckedIcon}constructor(t,e){this.icon=null,this.checkedIcon=null,this.uncheckedIcon=null,null!=t&&(this.checkedIcon=t),null!=e&&(this.uncheckedIcon=e)}}__.E.StiButtonElementIconSet=StiButtonElementIconSet}let StiFont=Stimulsoft.Base.StiFont,StiDataFilterCondition=Stimulsoft.Data.Engine.StiDataFilterCondition,StiBrushMeta=Stimulsoft.Base.Meta.StiBrushMeta,StiButtonElementIconSet=__.E.StiButtonElementIconSet,StiIconAlignment=Stimulsoft.Report.Dashboard.StiIconAlignment,StiAlignValue=Stimulsoft.Base.StiAlignValue,StiCopyStyleExtHub=Stimulsoft.Report.Design.StiCopyStyleExtHub,StiStyleBrush=Stimulsoft.Base.Drawing.StiStyleBrush,StiVertAlignment=Stimulsoft.Base.Drawing.StiVertAlignment,StiBorderSides=Stimulsoft.Base.Drawing.StiBorderSides,StiTextHorAlignment=Stimulsoft.Base.Drawing.StiTextHorAlignment,StiGeneralFormatService=Stimulsoft.Report.Components.TextFormats.StiGeneralFormatService,StiDataFilterRule=Stimulsoft.Data.Engine.StiDataFilterRule,StiButtonType=Stimulsoft.Report.Dashboard.StiButtonType,StiNumber=Stimulsoft.System.StiNumber,StiButtonShapeType=Stimulsoft.Base.Drawing.StiButtonShapeType,StiButtonStretch=Stimulsoft.Report.Dashboard.StiButtonStretch,ImplementsIStiButtonElement=Stimulsoft.Report.Dashboard.ImplementsIStiButtonElement,IStiCopyStyleExt=Stimulsoft.Report.Design.IStiCopyStyleExt,IStiWordWrap=Stimulsoft.Report.Components.IStiWordWrap,IStiTextBrush=Stimulsoft.Report.Components.IStiTextBrush,IStiButtonElement=Stimulsoft.Report.Dashboard.IStiButtonElement,ImplementsIStiFixedHeightElement=Stimulsoft.Report.Dashboard.ImplementsIStiFixedHeightElement,ImplementsIStiFont=Stimulsoft.Report.Components.ImplementsIStiFont,ImplementsIStiVertAlignment=Stimulsoft.Report.Components.ImplementsIStiVertAlignment,ImplementsIStiTextHorAlignment=Stimulsoft.Report.Components.ImplementsIStiTextHorAlignment,IStiBrush=Stimulsoft.Report.Components.IStiBrush,IStiFixedHeightElement=Stimulsoft.Report.Dashboard.IStiFixedHeightElement,IStiFont=Stimulsoft.Report.Components.IStiFont,IStiVertAlignment=Stimulsoft.Report.Components.IStiVertAlignment,IStiTextHorAlignment=Stimulsoft.Report.Components.IStiTextHorAlignment;{let e=Stimulsoft.Base.Drawing.SizeD,i=Stimulsoft.Base.Drawing.RectangleD;__.E.StiButtonElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiButtonElement,IStiCopyStyleExt,IStiTextHorAlignment,IStiVertAlignment,IStiWordWrap,IStiFont,IStiFixedHeightElement,IStiBrush,IStiTextBrush,IStiJsonReportObject,...ImplementsIStiButtonElement,...ImplementsIStiTextHorAlignment,...ImplementsIStiVertAlignment,...ImplementsIStiFont,...ImplementsIStiFixedHeightElement]);return(this.implements=()=>t)()}clone(t){let e,i,r,l,n,o,s,a,u,S=super.clone(t);return S.brush=null==(e=this.brush)?void 0:e.clone(),S.textBrush=null==(i=this.textBrush)?void 0:i.clone(),S.iconBrush=null==(r=this.iconBrush)?void 0:r.clone(),S.iconSet=null==(l=this.iconSet)?void 0:l.clone(),S.shadow=null==(n=this.shadow)?void 0:n.clone(),S.font=null==(o=this.font)?void 0:o.clone(),S.cornerRadius=null==(s=this.cornerRadius)?void 0:s.clone(),S.visualStates=this.visualStates.clone(),S.clickEvent=null==(a=this.clickEvent)?void 0:a.clone(),S.checkedChangedEvent=null==(u=this.checkedChangedEvent)?void 0:u.clone(),S}meta(){return[...super.meta(),new StiObjectMeta("UserFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userFilters,t)).set(t=>this.userFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.userFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiStringMeta("Text","","Button"),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiEnumMeta("Type","",StiButtonType,StiButtonType.Button),new StiEnumMeta("ShapeType","",StiButtonShapeType,StiButtonShapeType.Rectangle),new StiEnumMeta("Stretch","",StiButtonStretch,StiButtonStretch.StretchXY),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("Group"),new StiEnumMeta("HorAlignment","",StiTextHorAlignment,StiTextHorAlignment.Center),new StiEnumMeta("VertAlignment","",StiVertAlignment,StiVertAlignment.Center),new StiEnumMeta("IconAlignment","",StiIconAlignment,StiIconAlignment.Left),new StiBoolMeta("WordWrap","",!0),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiBrushMeta("Brush"),new StiBrushMeta("TextBrush"),new StiBrushMeta("IconBrush"),new StiFontMeta("Font","","Arial",10),new StiBoolMeta("Checked"),new StiObjectMeta("IconSet").check(()=>null!=this.iconSet&&!this.iconSet.isDefault()).get(()=>this.iconSet.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.iconSet=StiButtonElementIconSet.createFromJsonObject(t.value)).setXml(t=>this.iconSet=StiButtonElementIconSet.createFromXml(t)),new StiObjectMeta("VisualStates").check(()=>null!=this.visualStates).get(()=>this.visualStates.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.visualStates=__.E.StiButtonVisualStates.createFromJsonObject(t.value)).setXml(t=>this.visualStates=__.E.StiButtonVisualStates.createFromXml(t)),new StiEventMeta("ClickEvent"),new StiEventMeta("CheckedChangedEvent"),new StiEnumMeta("InclusionMode","",StiFilterInclusionMode,StiFilterInclusionMode.SelectionOnly)]}get isFixedHeight(){return this.stretch==StiButtonStretch.StretchX}get checked(){return this.checkedValue}set checked(t){this.checkedValue!=t&&(this.checkedValue=t)}get stretch(){return this._stretch}set stretch(t){if(this._stretch!=t&&(this._stretch=t)==StiButtonStretch.StretchX&&this.isDesigning){let t=this.getFixedHeight();null!=t&&(this.height=StiNumber.getValueOrDefault(t))}}getIconSet(){return this.iconSet}getVisualStates(){return this.visualStates}get style(){return this._style}set style(t){this._style!=t&&(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}get customStyleName(){return this._customStyleName}set customStyleName(t){this._customStyleName!=t&&(this._customStyleName=t,StiString.isNullOrWhiteSpace(t)||(this._style=StiElementStyleIdent.Custom))}convertFrom(t){}getParentKey(){return""}setParentKey(t){}async applyDefaultFilters(){}getIdentityFilters(){let t=new StiDataFilterRule;return t.condition=StiDataFilterCondition.Any,t.elementKey=this.key,t.toList()}getFonts(){return StiFont.get(...super.getFonts(),this.font,...this.visualStates.getFonts())}get backColor(){return StiBrush.toColor(this.brush)}set backColor(t){this.brush=new StiSolidBrush(t)}get foreColor(){return StiBrush.toColor(this.textBrush)}set foreColor(t){this.textBrush=new StiSolidBrush(t)}invokeSetCopyStyle(){null!=StiCopyStyleExtHub.visualStateDefault&&this.loadFromJsonObject(StiCopyStyleExtHub.visualStateDefault),this.visualStates.invokeSetCopyStyle()}invokeGetCopyStyle(){StiCopyStyleExtHub.visualStateDefault=this.saveToJsonObject(StiJsonSaveMode.Report),this.visualStates.invokeGetCopyStyle()}get toolboxPosition(){return StiComponentToolboxPosition.ButtonElement}get localizedName(){return StiLocalization.get("Components","StiButton")}getFixedHeight(){let t,e=null==(t=this.report)?void 0:t.getCurrentPage();if(null==e)return null;return StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,e.gridSize,!0)}get visualStates(){return this._visualStates}set visualStates(t){t!=this._visualStates&&null!=(this._visualStates=t)&&(t.parent=this)}get isChecked(){return StiAppExpressionHelper.isExpressionSpecified(this,"checked")?StiAppExpressionParser.parseBoolExpression(this,"checked",!0):this.checked}getMinSize(){if(!this.isFixedHeight)return super.getMinSize();let t=this.getFixedHeight();if(null==t)return e.empty;return new e(0,StiNumber.getValueOrDefault(t))}setMinSize(t){this.isFixedHeight||super.setMinSize(t)}getMaxSize(){if(!this.isFixedHeight)return super.getMaxSize();let t=this.getFixedHeight();if(null==t)return e.empty;return new e(0,StiNumber.getValueOrDefault(t))}setMaxSize(t){this.isFixedHeight||super.setMaxSize(t)}invokeCheckedChanged(t,e){}constructor(t=Rectangle.empty){super(t),this.checkedValue=!1,this.shapeType=StiButtonShapeType.Rectangle,this._stretch=StiButtonStretch.StretchXY,this.type=StiButtonType.Button,this.shadow=new StiSimpleShadow,this._style=StiElementStyleIdent.Auto,this._customStyleName="",this.userFilters=new List,this.textFormat=new StiGeneralFormatService,this.font=new Font("Arial",10),this.inclusionMode=StiFilterInclusionMode.SelectionOnly,this.cornerRadius=new StiCornerRadius,this.horAlignment=StiTextHorAlignment.Center,this.vertAlignment=StiVertAlignment.Center,this.wordWrap=!0,this.brush=new StiStyleBrush,this.textBrush=new StiStyleBrush,this.defaultClientRectangle=new i(0,0,140,40),this.helpUrl="user-manual/dashboards_data_filtering_button.htm",this.text="Button",this.group="",this.iconAlignment=StiIconAlignment.Left,this.iconBrush=new StiStyleBrush,this.checkedChangedEvent=null,this.iconSet=new StiButtonElementIconSet,this.visualStates=new __.E.StiButtonVisualStates,this.border2.side=StiBorderSides.All,this.border2.size=2}}}let StiDefaultBrush=Stimulsoft.Base.Drawing.StiDefaultBrush,IStiButtonVisualState=Stimulsoft.Report.Dashboard.IStiButtonVisualState;{class Wc{constructor(){this.font=null,this.brush=new StiDefaultBrush,this.textBrush=new StiDefaultBrush,this.border=null,this.iconSet=new __.E.StiButtonElementIconSet,this.iconBrush=new StiDefaultBrush}implements(){let t=[IStiButtonVisualState,ICloneable];return(this.implements=()=>t)()}meta(){return[new StiBrushMeta("Brush").check(()=>null!=this.brush),new StiBrushMeta("TextBrush").check(()=>null!=this.textBrush),new StiBrushMeta("IconBrush").check(()=>null!=this.iconBrush),new StiStringNullOrEmptyMeta("Font").check(()=>null!=this.font).get(()=>StiJsonReportObjectHelper.Serialize.font(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,null)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiStringNullOrEmptyMeta("Border").check(()=>null!=this.border).get(()=>StiJsonReportObjectHelper.Serialize.jBorder2(this.border)).set(t=>this.border=StiJsonReportObjectHelper.Deserialize.simpleBorder(t.value)).setXml(t=>this.border=StiJsonReportObjectHelper.Deserialize.simpleBorder(t.textContent)),new StiObjectMeta("IconSet").check(()=>null!=this.iconSet&&!this.iconSet.isDefault()).get(()=>this.iconSet.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.iconSet=__.E.StiButtonElementIconSet.createFromJsonObject(t.value)).setXml(t=>this.iconSet=__.E.StiButtonElementIconSet.createFromXml(t))]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static createFromJsonObject(t){let e=new Wc;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new Wc;return e.loadFromXml(t),e}clone(){let t,e,i,r,l,n,o=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return o.border=null==(t=this.border)?void 0:t.clone(),o.brush=null==(e=this.brush)?void 0:e.clone(),o.textBrush=null==(i=this.textBrush)?void 0:i.clone(),o.iconBrush=null==(r=this.iconBrush)?void 0:r.clone(),o.font=null==(l=this.font)?void 0:l.clone(),o.iconSet=null==(n=this.iconSet)?void 0:n.clone(),o}getIconSet(){return this.iconSet}}__.E.StiButtonVisualState=Wc}let IStiGetFonts=Stimulsoft.Base.IStiGetFonts,IStiButtonVisualStates=Stimulsoft.Report.Dashboard.IStiButtonVisualStates;{class q2{implements(){let t=[IStiButtonVisualStates,ICloneable,IStiGetFonts,IStiCopyStyleExt];return(this.implements=()=>t)()}meta(){return[new StiObjectMeta("Hover").check(()=>null!=this.hover).get(()=>this.hover.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.hover=__.E.StiButtonVisualState.createFromJsonObject(t.value)).setXml(t=>this.hover=__.E.StiButtonVisualState.createFromXml(t)),new StiObjectMeta("Pressed").check(()=>null!=this.pressed).get(()=>this.pressed.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.pressed=__.E.StiButtonVisualState.createFromJsonObject(t.value)).setXml(t=>this.pressed=__.E.StiButtonVisualState.createFromXml(t)),new StiObjectMeta("Checked").check(()=>null!=this.checked).get(()=>this.checked.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.checked=__.E.StiButtonVisualState.createFromJsonObject(t.value)).setXml(t=>this.checked=__.E.StiButtonVisualState.createFromXml(t))]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static createFromJsonObject(t){let e=new q2;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new q2;return e.loadFromXml(t),e}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.hover=this.hover.clone(),t.pressed=this.pressed.clone(),t.checked=this.checked.clone(),t}getFonts(){return StiFont.get(this.hover.font,this.pressed.font,this.checked.font)}invokeSetCopyStyle(){null!=StiCopyStyleExtHub.visualStateHover&&(this.hover=new __.E.StiButtonVisualState,this.hover.loadFromJsonObject(StiCopyStyleExtHub.visualStateHover)),null!=StiCopyStyleExtHub.visualStatePressed&&(this.pressed=new __.E.StiButtonVisualState,this.pressed.loadFromJsonObject(StiCopyStyleExtHub.visualStatePressed)),null!=StiCopyStyleExtHub.visualStateChecked&&(this.checked=new __.E.StiButtonVisualState,this.checked.loadFromJsonObject(StiCopyStyleExtHub.visualStateDisabled))}invokeGetCopyStyle(){StiCopyStyleExtHub.visualStateHover=this.hover.saveToJsonObject(StiJsonSaveMode.Report),StiCopyStyleExtHub.visualStatePressed=this.pressed.saveToJsonObject(StiJsonSaveMode.Report),StiCopyStyleExtHub.visualStateChecked=this.checked.saveToJsonObject(StiJsonSaveMode.Report)}getHoverState(){return this.hover}getPressedState(){return this.pressed}getCheckedState(){return this.checked}get hover(){return this._hover}set hover(t){this._hover!=t&&null!=(this._hover=t)&&(t.parent=this.parent)}get pressed(){return this._pressed}set pressed(t){this._pressed!=t&&null!=(this._pressed=t)&&(t.parent=this.parent)}get checked(){return this._checked}set checked(t){this._checked!=t&&null!=(this._checked=t)&&(t.parent=this.parent)}constructor(){this.hover=new __.E.StiButtonVisualState,this.pressed=new __.E.StiButtonVisualState,this.checked=new __.E.StiButtonVisualState}}__.E.StiButtonVisualStates=q2}let StiActivator=Stimulsoft.Base.StiActivator,IStiDashboardInteraction=(__.x.StiDashboardInteractionLoader=class{static loadInteractionFromJsonObject(t){let e=t.properties().firstOrDefault(t=>"Ident"==t.name).value.toString(),i=__.x.StiDashboardInteractionCreator.new2(e);return i.loadFromJsonObject(t),i}static loadInteractionFromXml(i){let t=i.attributes.getNamedItem("type");if(null!=t){let e=i.attributes.getNamedItem("type").value;if(!StiString.isNullOrEmpty(e)){let t=StiActivator.createObject2(e);if(null!=t)return t.loadFromXml(i),t}}return null}},Stimulsoft.Report.Dashboard.IStiDashboardInteraction),StiInteractionOnHover=Stimulsoft.Report.Dashboard.StiInteractionOnHover,StiInteractionOnClick=Stimulsoft.Report.Dashboard.StiInteractionOnClick,StiInteractionOpenHyperlinkDestination=Stimulsoft.Report.Dashboard.StiInteractionOpenHyperlinkDestination,StiInteractionIdent=Stimulsoft.Report.Dashboard.StiInteractionIdent,StiAvailableInteractionOnClick=Stimulsoft.Report.Dashboard.StiAvailableInteractionOnClick,StiAvailableInteractionOnHover=Stimulsoft.Report.Dashboard.StiAvailableInteractionOnHover,StiAvailableInteractionOnDataManipulation=Stimulsoft.Report.Dashboard.StiAvailableInteractionOnDataManipulation,StiDashboardInteractionLoader=(__.g.StiDashboardInteraction=class{implements(){let t=[IStiDashboardInteraction,IStiJsonReportObject];return(this.implements=()=>t)()}is(t){if(t instanceof Stimulsoft.System.Interface)return-1!=this.implements().indexOf(t);if("function"==typeof t)return this instanceof t;if(null==t)throw new Error("Type for comparison is 'undefined'");return!1}is2(t){return this.is(t)}as(t){if(this.is(t))return this;return null}clone(t=!0,e=!0){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}meta(){return[new StiEnumMeta("Ident","",StiInteractionIdent),new StiEnumMeta("OnHover","",StiInteractionOnHover),new StiEnumMeta("OnClick","",StiInteractionOnClick),new StiEnumMeta("HyperlinkDestination","",StiInteractionOpenHyperlinkDestination),new StiStringNullOrEmptyMeta("ToolTip"),new StiStringNullOrEmptyMeta("DrillDownPageKey"),new StiStringNullOrEmptyMeta("Hyperlink"),new StiObjectMeta("DrillDownParameters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.drillDownParameters,t)).set(t=>this.drillDownParameters.addRange(t.value.properties().select(t=>__.g.StiDashboardDrillDownParameter.loadFromJson(t.value)))).setXml(t=>this.drillDownParameters.addRange(t.childNodes.map(t=>__.g.StiDashboardDrillDownParameter.loadFromXml(t))))]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}isDefault(){return this.onHover==StiInteractionOnHover.ShowToolTip&&this.onClick==StiInteractionOnClick.ApplyFilter&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)}getDrillDownParameters(){return this.drillDownParameters.cast().toList()}setDrillDownParameters(t){this.drillDownParameters=new List,null!=t&&t.forEach(t=>{let e=new __.g.StiDashboardDrillDownParameter;e.name=t["name"],e.expression=t["expression"],this.drillDownParameters.add(e)})}constructor(t,e,i,r,l,n,o){this.availableOnClick=StiAvailableInteractionOnClick.All,this.availableOnHover=StiAvailableInteractionOnHover.All,this.availableOnDataManipulation=StiAvailableInteractionOnDataManipulation.None,this.onHover=StiInteractionOnHover.ShowToolTip,this.onClick=StiInteractionOnClick.ApplyFilter,this.hyperlinkDestination=StiInteractionOpenHyperlinkDestination.NewTab,this.toolTip="",this.hyperlink="",this.drillDownPageKey="",this.drillDownParameters=new List,null!=t&&(this.onHover=t),null!=e&&(this.onClick=e),null!=i&&(this.hyperlinkDestination=i),null!=r&&(this.toolTip=r),null!=l&&(this.hyperlink=l),null!=n&&(this.drillDownPageKey=n),null!=o&&(this.drillDownParameters=o)}},__.g.StiCardsColumnDashboardInteraction=class extends __.g.StiDashboardInteraction{isDefault(){return this.onHover==StiInteractionOnHover.None&&this.onClick==StiInteractionOnClick.None&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)}constructor(t,e,i,r,l,n,o){super(t,e,i,r,l,n,o),this.ident=StiInteractionIdent.CardsColumn,this.availableOnClick=StiAvailableInteractionOnClick.OpenHyperlink|StiAvailableInteractionOnClick.ShowDashboard,this.onHover=StiInteractionOnHover.None,this.onClick=StiInteractionOnClick.None}},__.x.StiDashboardInteractionLoader),StiCardsColumnDashboardInteraction=__.g.StiCardsColumnDashboardInteraction,IStiElementInteraction=Stimulsoft.Report.Dashboard.IStiElementInteraction,IStiCardsColumn=Stimulsoft.Base.Meters.IStiCardsColumn,StiCardsColumnVisibility=Stimulsoft.Base.Drawing.StiCardsColumnVisibility,ImplementsIStiForeColor=Stimulsoft.Report.Components.ImplementsIStiForeColor,ImplementsIStiHorAlignment=Stimulsoft.Report.Components.ImplementsIStiHorAlignment,StiFormatService=Stimulsoft.Report.Components.TextFormats.StiFormatService,IStiForeColor=Stimulsoft.Report.Components.IStiForeColor,IStiTextFormat=Stimulsoft.Report.Components.IStiTextFormat,IStiHorAlignment=Stimulsoft.Report.Components.IStiHorAlignment,IStiDataTopN=Stimulsoft.Data.Engine.IStiDataTopN,StiDataTopN=Stimulsoft.Data.Engine.StiDataTopN,IStiMeasureCardsColumn=(__.F.StiCardsColumn=class extends __.e.StiMeter{implements(){let t=super.implements().concat([IStiCardsColumn,IStiHorAlignment,IStiVertAlignment,IStiForeColor,IStiTextFormat,IStiFont,IStiWordWrap,IStiDataTopN,IStiElementInteraction,...ImplementsIStiHorAlignment,...ImplementsIStiForeColor,...ImplementsIStiFont]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Center),new StiEnumMeta("VertAlignment","",StiVertAlignment,StiVertAlignment.Center),new StiNumberMeta("Height",""),new StiBoolMeta("WrapLine","",!0),new StiObjectMeta("TextFormat").check(()=>!(this.textFormat.is(StiGeneralFormatService)||null==this.textFormat)).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>{let e=StiFormatService.loadFormatFromXml(t);null!=e&&(this.textFormat=e)}),new StiObjectMeta("TopN").check(()=>null!=this.topN).set(t=>this.topN=StiDataTopN.createFromJsonObject(t.value)).setXml(t=>this.topN=StiDataTopN.createFromXml(t)),new StiColorMeta("ForeColor","",Color.transparent),new StiEnumMeta("Visibility","",StiCardsColumnVisibility,StiCardsColumnVisibility.True),new StiFontMeta("Font","","Arial",10),new StiStringNullOrEmptyMeta("VisibilityExpression").check(()=>null!=this.visibilityExpression),new StiBoolMeta("WordWrap",""),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiCardsColumnDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiCardsColumnDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiCardsColumnDashboardInteraction);null!=i&&(this.dashboardInteraction=i)})]}clone(){let t=super.clone();return t.textFormat=this.textFormat.clone(),t.dashboardInteraction=this.dashboardInteraction.clone(),t.topN=this.topN.clone(),t}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*t^this.horAlignment)^this.vertAlignment)^(null!=this.textFormat?this.textFormat[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^this.visibility[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.wrapLine[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.wordWrap[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.height[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^(null!=this.topN?this.topN[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0),null!=this.visibilityExpression&&(t=397*t^this.visibilityExpression[Stimulsoft.System.StiObject.stimulsoft]().getHashCode()),Math.abs(t)}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c){super(t,e,i),this.horAlignment=StiHorAlignment.Center,this.vertAlignment=StiVertAlignment.Center,this.textFormat=new StiGeneralFormatService,this.topN=new StiDataTopN,this.font=new Font("Arial",10),this.foreColor=Color.transparent,this.dashboardInteraction=new StiCardsColumnDashboardInteraction,this.wrapLine=!0,this.height=0,this.wordWrap=!1,this.visibility=StiCardsColumnVisibility.True,this.visibilityExpression=null,null!=r&&(this.horAlignment=r),null!=l&&(this.vertAlignment=l),null!=o&&(this.textFormat=o),null!=s&&(this.visibility=s),null!=a&&(this.visibilityExpression=a),null!=u&&(this.foreColor=u),null!=n&&(this.height=n),null!=S&&(this.wrapLine=S),null!=m&&(this.wordWrap=m),null!=h&&(this.dashboardInteraction=h),null!=c&&(this.topN=c)}},Stimulsoft.Base.Meters.IStiMeasureCardsColumn),StiCardsColumn=__.F.StiCardsColumn,IStiMeasureColumn=Stimulsoft.Base.Meters.IStiMeasureColumn,StiMeasureCardsColumn=(__.F.StiMeasureCardsColumn=class extends StiCardsColumn{implements(){let t=super.implements().concat([IStiMeasureMeter,IStiMeasureColumn,IStiMeasureCardsColumn]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("Dashboard","Measure")}constructor(t,e,i,r,l,n,o,s,a,u,S){super(t,e,i,r,l,n,o,s,a,u,S),this.ident=__.e.StiMeterIdent.MeasureCardsColumn}},__.F.StiMeasureCardsColumn),StiColor=Stimulsoft.Base.Drawing.StiColor,IStiBubbleColumn=Stimulsoft.Base.Meters.IStiBubbleColumn,IStiDimensionCardsColumn=(__.F.StiBubbleCardsColumn=class extends StiMeasureCardsColumn{implements(){let t=super.implements().concat([IStiBubbleColumn,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Center),new StiBoolMeta("AllowCustomColors"),new StiColorMeta("PositiveColor","",StiColor.get("537eb6")),new StiColorMeta("NegativeColor","",StiColor.get("ff0000"))]}getUniqueCode(){let t=super.getUniqueCode();return t=397*t^this.horAlignment[Stimulsoft.System.StiObject.stimulsoft]().getHashCode(),Math.abs(t)}get localizedName(){return Loc.get("Chart","Bubble")}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c){super(t,e,i,r,l,n,o,s,a,u,c),this.ident=__.e.StiMeterIdent.BubbleCardsColumn,this.allowCustomColors=!1,this.positiveColor=StiColor.get("537eb6"),this.negativeColor=StiColor.get("ff0000"),this.horAlignment=StiHorAlignment.Center,null!=S&&(this.allowCustomColors=S),null!=m&&(this.positiveColor=m),null!=h&&(this.negativeColor=h)}},Stimulsoft.Base.Meters.IStiDimensionCardsColumn),IStiArgumentMeter=(__.F.StiDimensionCardsColumn=class extends StiCardsColumn{implements(){let t=super.implements().concat([IStiDimensionMeter,IStiDimensionCardsColumn]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("Dashboard","Dimension")}constructor(t,e,i,r,l,n,o,s,a,u,S){super(t,e,i,r,l,n,o,s,a,u,S),this.ident=__.e.StiMeterIdent.DimensionCardsColumn}},__.G.StiMeterLoader=class{static loadFromJson2(t){let e=new List;return t.forEach(t=>e.add(this.loadFromJson(t))),e.where(t=>null!=t)}static loadFromJson(i){let r=i.properties().firstOrDefault(t=>"Ident"==t.name);if(null!=r){let t=r.value.toString(),e=__.G.StiMeterCreator.neww(t);if(null!=e)return e.loadFromJsonObject(i),e}return null}static loadFromXml(i){let t=i.attributes.getNamedItem("type");if(null!=t){let e=i.attributes.getNamedItem("type").value;if(!StiString.isNullOrEmpty(e)){let t=StiActivator.createObject2(e);if(null!=t)return t.loadFromXml(i),t}}return null}},__.H.StiIndicatorValueChartMeter=class extends __.e.StiMeasureMeter{get localizedName(){return Loc.get("PropertyMain","IndicatorValue")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.IndicatorValueChartMeter}},Stimulsoft.Base.Meters.IStiArgumentMeter),IStiValueMeter=(__.H.StiArgumentChartMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiArgumentMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Argument")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.ArgumentChartMeter}},Stimulsoft.Base.Meters.IStiValueMeter),StiTableColumnVisibility=(__.I.StiKeyTreeViewBoxMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Key")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.KeyTreeViewBoxMeter}},__.J.StiKeyTreeViewMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Key")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.KeyTreeViewMeter}},__.g.StiTableColumnDashboardInteraction=class extends __.g.StiDashboardInteraction{isDefault(){return this.onHover==StiInteractionOnHover.None&&this.onClick==StiInteractionOnClick.None&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)}constructor(t,e,i,r,l,n,o){super(t,e,i,r,l,n,o),this.ident=StiInteractionIdent.TableColumn,this.availableOnClick=StiAvailableInteractionOnClick.ApplyFilter|StiAvailableInteractionOnClick.ShowDashboard,this.onHover=StiInteractionOnHover.None,this.onClick=StiInteractionOnClick.None}},Stimulsoft.Base.Drawing.StiTableColumnVisibility),IStiDataFormat=Stimulsoft.Data.Engine.IStiDataFormat,StiTimeFormatService=Stimulsoft.Report.Components.TextFormats.StiTimeFormatService,StiDateFormatService=Stimulsoft.Report.Components.TextFormats.StiDateFormatService,StiNumberFormatService=Stimulsoft.Report.Components.TextFormats.StiNumberFormatService,StiCurrencyFormatService=Stimulsoft.Report.Components.TextFormats.StiCurrencyFormatService,StiPercentageFormatService=Stimulsoft.Report.Components.TextFormats.StiPercentageFormatService,StiBooleanFormatService=Stimulsoft.Report.Components.TextFormats.StiBooleanFormatService,StiDataFormatKind=Stimulsoft.Data.Engine.StiDataFormatKind,StiSummaryColumnType=Stimulsoft.Base.StiSummaryColumnType,StiTableColumnDashboardInteraction=__.g.StiTableColumnDashboardInteraction,ImplementsIStiTextFormat=Stimulsoft.Report.Components.ImplementsIStiTextFormat,IStiTableColumn=Stimulsoft.Base.Meters.IStiTableColumn,IStiTableColumnSize=Stimulsoft.Report.Dashboard.IStiTableColumnSize,StiTableColumnSize=Stimulsoft.Report.Dashboard.StiTableColumnSize,IStiIndicatorColumn=(__.K.StiTableColumn=class extends __.e.StiMeter{implements(){let t=super.implements().concat([IStiHorAlignment,IStiTextFormat,IStiTableColumn,IStiDataFormat,IStiForeColor,IStiDataTopN,...ImplementsIStiHorAlignment,...ImplementsIStiTextFormat,...ImplementsIStiForeColor,IStiJsonReportObject,IStiElementInteraction,IStiTableColumnSize]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Left),new StiEnumMeta("SummaryAlignment","",StiHorAlignment,StiHorAlignment.Right),new StiEnumMeta("HeaderAlignment","",StiHorAlignment,StiHorAlignment.Center),new StiObjectMeta("TextFormat").check(()=>!(this.textFormat.is(StiGeneralFormatService)||null==this.textFormat)).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>{let e=StiFormatService.loadFormatFromXml(t);null!=e&&(this.textFormat=e)}),new StiColorMeta("ForeColor","",Color.transparent),new StiBoolMeta("ShowTotalSummary"),new StiEnumMeta("SummaryType","",StiSummaryColumnType,StiSummaryColumnType.Sum),new StiBoolMeta("Visible","",!0).check(()=>!1),new StiEnumMeta("Visibility","",StiTableColumnVisibility,StiTableColumnVisibility.True),new StiStringNullOrEmptyMeta("VisibilityExpression").check(()=>null!=this.visibilityExpression),new StiObjectMeta("TopN").check(()=>null!=this.topN).set(t=>this.topN=StiDataTopN.createFromJsonObject(t.value)).setXml(t=>this.topN=StiDataTopN.createFromXml(t)),new StiObjectMeta("Size").check(()=>null!=this.size).set(t=>this.size=StiTableColumnSize.createFromJsonObject(t.value)).setXml(t=>this.size=StiTableColumnSize.createFromXml(t)),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiTableColumnDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiTableColumnDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiTableColumnDashboardInteraction);null!=i&&(this.dashboardInteraction=i)})]}clone(){let t,e=super.clone();return e.textFormat=this.textFormat.clone(),e.dashboardInteraction=this.dashboardInteraction.clone(),e.topN=this.topN.clone(),e.size=null==(t=this.size)?void 0:t.clone(),e}getDataFormat(){if(this.textFormat.is(StiBooleanFormatService))return StiDataFormatKind.Boolean;if(this.textFormat.is(StiPercentageFormatService))return StiDataFormatKind.Percentage;if(this.textFormat.is(StiCurrencyFormatService))return StiDataFormatKind.Currency;if(this.textFormat.is(StiNumberFormatService))return StiDataFormatKind.Number;if(this.textFormat.is(StiDateFormatService))return StiDataFormatKind.Date;if(this.textFormat.is(StiTimeFormatService))return StiDataFormatKind.Time;return StiDataFormatKind.General}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*t^this.horAlignment)^this.summaryAlignment)^this.headerAlignment)^this.summaryType)^(null!=this.textFormat?this.textFormat[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^this.visibility[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^(null!=this.topN?this.topN[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0),null!=this.visibilityExpression&&(t=397*t^this.visibilityExpression[Stimulsoft.System.StiObject.stimulsoft]().getHashCode()),Math.abs(t)}checkRules(){var t;null!=(t=this.size)&&t.checkRules()}get visible(){return this.visibility==StiTableColumnVisibility.True}set visible(t){this.visibility=t?StiTableColumnVisibility.True:StiTableColumnVisibility.False}get size(){return this.getSize()}set size(t){this.setSize(t)}getSize(){return this._size}setSize(t){this._size=t}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c){super(t,e,i),this.horAlignment=StiHorAlignment.Left,this.textFormat=new StiGeneralFormatService,this.topN=new StiDataTopN,this.foreColor=Color.transparent,this.dashboardInteraction=new StiTableColumnDashboardInteraction,this.visibility=StiTableColumnVisibility.True,this.visibilityExpression=null,this.showTotalSummary=!1,this.summaryType=StiSummaryColumnType.Sum,this.summaryAlignment=StiHorAlignment.Right,this.headerAlignment=StiHorAlignment.Center,this._size=new StiTableColumnSize,null!=r&&(this.horAlignment=r),null!=l&&(this.textFormat=l),null!=n&&(this.visibility=n),null!=o&&(this.visibilityExpression=o),null!=a&&(this.showTotalSummary=a),null!=S&&(this.summaryAlignment=S),null!=m&&(this.headerAlignment=m),null!=u&&(this.summaryType=u),null!=s&&(this.foreColor=s),null!=h&&(this.dashboardInteraction=h),null!=c&&(this.topN=c)}},__.K.StiMeasureColumn=class extends __.K.StiTableColumn{implements(){let t=super.implements().concat([IStiMeasureMeter,IStiMeasureColumn]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("Dashboard","Indicator")}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h){super(t,e,i,r,l,n,o,s,a,u,S,m,h),this.ident=__.e.StiMeterIdent.MeasureColumn}},Stimulsoft.Base.Meters.IStiIndicatorColumn),IStiColorScaleColumn=(__.K.StiIndicatorColumn=class extends __.K.StiMeasureColumn{implements(){let t=super.implements().concat([IStiIndicatorColumn]);return(this.implements=()=>t)()}getGize(){return null}set size(t){super.setSize(null)}get localizedName(){return Loc.get("Dashboard","Dimension")}constructor(t,e,i,r,l,n,o,s,a,u,S){super(t,e,i,r,l,n,o,s,a,u,S),this.ident=__.e.StiMeterIdent.IndicatorColumn}},Stimulsoft.Base.Meters.IStiColorScaleColumn),IStiDataBarsColumn=(__.K.StiColorScaleColumn=class extends __.K.StiMeasureColumn{implements(){let t=super.implements().concat([IStiColorScaleColumn,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiColorMeta("MinimumColor","",Color.red),new StiColorMeta("MaximumColor","",Color.green)]}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*t^this.minimumColor[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.maximumColor[Stimulsoft.System.StiObject.stimulsoft]().getHashCode(),Math.abs(t)}getSize(){return null}setSize(t){super.setSize(null)}get localizedName(){return Loc.get("Dashboard","ColorScale")}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h){super(t,e,i,r,l,n,o,s,a,u,S),this.ident=__.e.StiMeterIdent.ColorScaleColumn,this.minimumColor=Color.red,this.maximumColor=Color.green,null!=m&&(this.minimumColor=m),null!=h&&(this.maximumColor=h)}},Stimulsoft.Base.Meters.IStiDataBarsColumn),IStiSparklinesColumn=(__.K.StiDataBarsColumn=class extends __.K.StiMeasureColumn{implements(){let t=super.implements().concat([IStiDataBarsColumn,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Center),new StiNumberMeta("Width","",0),new StiStringMeta("Minimum"),new StiStringMeta("Maximum"),new StiColorMeta("PositiveColor","",Color.transparent),new StiColorMeta("NegativeColor","",Color.transparent),new StiColorMeta("OverlappedColor","",Color.transparent),new StiColorMeta("FillColor","",Color.transparent)]}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*t^this.width[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.horAlignment)^this.positiveColor.getHashCode())^this.negativeColor.getHashCode())^this.overlappedColor.getHashCode())^this.fillColor.getHashCode())^(null!=this.minimum?this.minimum[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.maximum?this.maximum[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0)}getSize(){return null}setSize(t){super.setSize(null)}get localizedName(){return Loc.get("Dashboard","DataBars")}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d,g,p,b,C){super(t,e,i,r,l,n,o,s,h,c,d),this.ident=__.e.StiMeterIdent.DataBarsColumn,this.width=0,this.positiveColor=Color.transparent,this.negativeColor=Color.transparent,this.overlappedColor=Color.transparent,this.fillColor=Color.transparent,this.minimum="",this.maximum="",null!=g&&(this.headerAlignment=g),null!=a&&(this.positiveColor=a),null!=u&&(this.negativeColor=u),null!=S&&(this.overlappedColor=S),null!=m&&(this.fillColor=m),null!=p&&(this.width=p),null!=b&&(this.minimum=b),null!=C&&(this.maximum=C)}},Stimulsoft.Base.Meters.IStiSparklinesColumn),CultureInfo=(__.K.StiSparklinesColumn=class extends __.K.StiMeasureColumn{implements(){let t=super.implements().concat([IStiSparklinesColumn,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiEnumMeta("Type","",__.K.StiSparklinesType,__.K.StiSparklinesType.Area),new StiBoolMeta("ShowHighLowPoints"),new StiBoolMeta("ShowFirstLastPoints","",!0),new StiBoolMeta("AllowCustomColors"),new StiColorMeta("PositiveColor","",StiColor.get("537eb6")),new StiColorMeta("NegativeColor","",StiColor.get("ff0000"))]}getSize(){return null}setSize(t){super.setSize(null)}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*(t=397*(t=397*(t=397*t^this.type[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.showHighLowPoints[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.showFirstLastPoints[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.allowCustomColors[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.positiveColor[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.negativeColor[Stimulsoft.System.StiObject.stimulsoft]().getHashCode(),Math.abs(t)}get localizedName(){return Loc.get("Dashboard","Sparklines")}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d,g,p){super(t,e,i,r,l,a,u,S,m,h,c),this.type=__.K.StiSparklinesType.Area,this.showHighLowPoints=!1,this.showFirstLastPoints=!0,this.allowCustomColors=!1,this.positiveColor=StiColor.get("537eb6"),this.negativeColor=StiColor.get("ff0000"),this.ident=__.e.StiMeterIdent.SparklinesColumn,null!=n&&(this.type=n),null!=o&&(this.showHighLowPoints=o),null!=s&&(this.showFirstLastPoints=s),null!=d&&(this.allowCustomColors=d),null!=g&&(this.positiveColor=g),null!=p&&(this.negativeColor=p)}},__.K.StiBubbleColumn=class extends __.K.StiMeasureColumn{implements(){let t=super.implements().concat([IStiBubbleColumn,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Center),new StiBoolMeta("AllowCustomColors"),new StiColorMeta("PositiveColor","",StiColor.get("537eb6")),new StiColorMeta("NegativeColor","",StiColor.get("ff0000"))]}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*t^this.allowCustomColors[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.positiveColor[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.negativeColor[Stimulsoft.System.StiObject.stimulsoft]().getHashCode(),Math.abs(t)}getSize(){return null}setSize(t){super.setSize(null)}get localizedName(){return Loc.get("Chart","Bubble")}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c){super(t,e,i,r,l,n,o,s,a,u,S),this.ident=__.e.StiMeterIdent.BubbleColumn,this.allowCustomColors=!1,this.positiveColor=StiColor.get("537eb6"),this.negativeColor=StiColor.get("ff0000"),this.horAlignment=StiHorAlignment.Center,null!=m&&(this.allowCustomColors=m),null!=h&&(this.positiveColor=h),null!=c&&(this.negativeColor=c)}},Stimulsoft.System.Globalization.CultureInfo),StiTextFormatState=(__.h.StiCultureHelper=class{static set(t){let e=null==t?void 0:t.getParsedCulture();if(StiString.isNullOrWhiteSpace(e))return null;let i=CultureInfo.currentCulture;try{StiString.isNullOrEmpty(e)||null==CultureInfo.cultures[e]||(CultureInfo.currentCulture=CultureInfo.cultures[e])}catch(t){}return i}static restore(t){if(null==t)return;CultureInfo.currentCulture=t}},__.a.StiTextFormatState),StiExtValueConverter=Stimulsoft.Data.Functions.StiExtValueConverter,StiCultureHelper=__.h.StiCultureHelper,StiDataColumn=Stimulsoft.Report.Dictionary.StiDataColumn,StiMoneyNameHelper=Stimulsoft.Data.Helpers.StiMoneyNameHelper,TimeSpan=Stimulsoft.System.TimeSpan;{class StiTextFormatHelper{static get defaultGeneralFormat(){return null==this._defaultGeneralFormat&&(this._defaultGeneralFormat=new StiGeneralFormatService),this._defaultGeneralFormat}static get defaultCurrencyFormat(){return null==this._defaultCurrencyFormat&&(this._defaultCurrencyFormat=new StiCurrencyFormatService),this._defaultCurrencyFormat}static get defaultPercentageFormat(){return null==this._defaultPercentageFormat&&(this._defaultPercentageFormat=new StiPercentageFormatService,this._defaultPercentageFormat.positivePattern=1,this._defaultPercentageFormat.negativePattern=1,this._defaultPercentageFormat.decimalDigits=0,this._defaultPercentageFormat.groupSize=100,this._defaultPercentageFormat.state=StiTextFormatState.DecimalDigits|StiTextFormatState.GroupSize|StiTextFormatState.PositivePattern|StiTextFormatState.NegativePattern),this._defaultPercentageFormat}static get defaultNumberFormat(){return null==this._defaultNumberFormat&&(this._defaultNumberFormat=new StiNumberFormatService),this._defaultNumberFormat}static get defaultIntegerFormat(){return null==this._defaultIntegerFormat&&(this._defaultIntegerFormat=new StiNumberFormatService,this._defaultIntegerFormat.decimalDigits=0,this._defaultIntegerFormat.useGroupSeparator=!1,this._defaultIntegerFormat.useLocalSetting=!1),this._defaultIntegerFormat}static get defaultDateFormat(){return null==this._defaultDateFormat&&(this._defaultDateFormat=new StiDateFormatService),this._defaultDateFormat}static get defaultBooleanFormat(){return null==this._defaultBooleanFormat&&(this._defaultBooleanFormat=new StiBooleanFormatService),this._defaultBooleanFormat}static formatBasedOnColumnType(t,e,i){let r=e.cache[i];return null==r&&(r=StiTextFormatHelper.formatBasedOnColumnType2(t,e.textFormat,e,i),e.cache[i]=r),r}static formatBasedOnColumnType2(e,i,r,l){var n;this.storedCulture=StiCultureHelper.set(e.report);try{if(null==l)return"";if(null==r)return l.toString();let t=null==(n=null==e?void 0:e.report)?void 0:n.getParsedCulture();if(StiExtValueConverter.isEligable(l,t))return StiExtValueConverter.convert(l,t);if(null==i||i instanceof StiGeneralFormatService){let t=typeof l;if("number"==t&&StiMoneyNameHelper.isMoneyName(r.label))return this.defaultCurrencyFormat.format(l);if("number"==t)return this.defaultNumberFormat.format(l);if("boolean"==t)return this.defaultBooleanFormat.format(l);if("object"==t){let t=Type.getType(l);if(Type.isDateType(t))return this.defaultDateFormat.format(l)}}if(null!=i&&i instanceof StiTimeFormatService){if(l instanceof TimeSpan)return i.format(l);let t=typeof l;if("number"==t){let t=TimeSpan.fromMilliseconds(l);return i.format(t)}if("string"==t){let{successfully:t,result:e}=StiNumber.tryParse(l);if(t){let t=TimeSpan.fromMilliseconds(e);return i.format(t)}}}return i.format(l)}catch(t){return l.toString()}finally{__.h.StiCultureHelper.restore(this.storedCulture)}}static format(t,e,i){this.storedCulture=StiCultureHelper.set(t);try{if(null==i)return"";return null!=e?e.format(i):i.toString()}catch(t){return i.toString()}finally{__.h.StiCultureHelper.restore(this.storedCulture)}}static formatAsPercentage(t,e){this.storedCulture=StiCultureHelper.set(t);try{if(null==e)return"";return this.defaultPercentageFormat.format(e)}catch(t){return e.toString()}finally{__.h.StiCultureHelper.restore(this.storedCulture)}}static formatAsPercentage2(t,e,i){this.storedCulture=StiCultureHelper.set(t);try{if(null==i)return"";if(null==e||e.is(StiGeneralFormatService))return this.defaultPercentageFormat.format(i);return e.format(i)}catch(t){return i.toString()}finally{__.h.StiCultureHelper.restore(this.storedCulture)}}static getDefaultFormatForColumn(t){let e=__.h.StiMeterHelper.toDataType(t);if(null==e)return this.defaultGeneralFormat;if(Type.isNumericType(e)){if(StiMoneyNameHelper.isMoneyName(t.as(StiDataColumn).nameInSource))return this.defaultCurrencyFormat;if(Type.isIntegerType(e))return this.defaultIntegerFormat;return this.defaultNumberFormat}if(Type.isDateType(e))return this.defaultDateFormat;if(e==Boolean)return this.defaultBooleanFormat;return this.defaultGeneralFormat}}__.h.StiTextFormatHelper=StiTextFormatHelper}let IStiDimensionColumn=Stimulsoft.Base.Meters.IStiDimensionColumn,IStiColorMapMeter=(__.K.StiDimensionColumn=class extends __.K.StiTableColumn{implements(){let t=super.implements().concat([IStiDimensionMeter,IStiDimensionColumn]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiBoolMeta("ShowHyperlink"),new StiStringNullOrEmptyMeta("HyperlinkPattern")]}clone(){let t=super.clone();return t}get localizedName(){return Loc.get("Dashboard","Dimension")}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*t^this.showHyperlink[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.hyperlinkPattern[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.size[Stimulsoft.System.StiObject.stimulsoft]().getHashCode(),Math.abs(t)}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c){super(t,e,i,r,l,n,o,a,m,h,c),this.ident=__.e.StiMeterIdent.DimensionColumn,this.showHyperlink=!1,this.hyperlinkPattern="",null!=u&&(this.showHyperlink=u),null!=S&&(this.hyperlinkPattern=S)}},Stimulsoft.Base.Meters.IStiColorMapMeter),IStiValueMapMeter=(__.L.StiColorMapMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiColorMapMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Color")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.ColorMapMeter}},Stimulsoft.Base.Meters.IStiValueMapMeter),IStiGroupMapMeter=(__.L.StiValueMapMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiValueMapMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Value")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.ValueMapMeter}},Stimulsoft.Base.Meters.IStiGroupMapMeter),IStiNameMapMeter=(__.L.StiGroupMapMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiGroupMapMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Group")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.GroupMapMeter}},Stimulsoft.Base.Meters.IStiNameMapMeter),IStiKeyMapMeter=(__.L.StiNameMapMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiNameMapMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Name")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.NameMapMeter}},Stimulsoft.Base.Meters.IStiKeyMapMeter),StiPivotTableItemDashboardInteraction=(__.L.StiKeyMapMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiKeyMapMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Key")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.KeyMapMeter}},__.M.StiValueProgressMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Value")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.ValueProgressMeter}},__.M.StiTargetProgressMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Target")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.TargetProgressMeter}},__.M.StiSeriesProgressMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Series")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.SeriesProgressMeter}},__.g.StiPivotTableItemDashboardInteraction=class extends __.g.StiDashboardInteraction{isDefault(){return this.onHover==StiInteractionOnHover.None&&this.onClick==StiInteractionOnClick.None&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)}constructor(t,e,i,r,l,n,o){super(t,e,i,r,l,n,o),this.ident=StiInteractionIdent.PivotTableItem,this.availableOnClick=StiAvailableInteractionOnClick.ShowDashboard,this.availableOnHover=StiAvailableInteractionOnHover.None,this.onHover=StiInteractionOnHover.None,this.onClick=StiInteractionOnClick.None}},__.g.StiPivotTableItemDashboardInteraction),ImplementsIStiPivotItem=Stimulsoft.Report.Dashboard.ImplementsIStiPivotItem,IStiPivotItem=Stimulsoft.Report.Dashboard.IStiPivotItem,StiSortDirection=Stimulsoft.Report.CrossTab.Core.StiSortDirection,IStiMeterRules=Stimulsoft.Report.Dashboard.IStiMeterRules,ImplementsIStiTableColumnSize=Stimulsoft.Report.Dashboard.ImplementsIStiTableColumnSize,IStiPivotColumn=Stimulsoft.Base.Meters.IStiPivotColumn,IStiPivotRow=(__.N.StiPivotColumn=class extends __.e.StiMeter{implements(){let t=super.implements().concat([IStiDimensionMeter,IStiHorAlignment,IStiTextFormat,IStiTableColumnSize,IStiPivotColumn,IStiPivotItem,IStiDataTopN,IStiMeterRules,...ImplementsIStiHorAlignment,...ImplementsIStiTextFormat,...ImplementsIStiTableColumnSize,...ImplementsIStiPivotItem,IStiJsonReportObject,IStiElementInteraction]);return(this.implements=()=>t)()}clone(){let t,e=super.clone();return e.textFormat=this.textFormat.clone(),e.topN=this.topN.clone(),e.size=null==(t=this.size)?void 0:t.clone(),e.horAlignment=this.horAlignment,e.showTotal=this.showTotal,e.totalLabel=this.totalLabel,e.sortDirection=this.sortDirection,e.expandExpression=this.expandExpression,e.visibility=this.visibility,e.visibilityExpression=this.visibilityExpression,e.dashboardInteraction=this.dashboardInteraction.clone(),e}meta(){return[...super.meta(),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Center),new StiBoolMeta("ShowTotal","",!0),new StiStringNullOrEmptyMeta("TotalLabel"),new StiObjectMeta("TextFormat").check(()=>!(this.textFormat.is(StiGeneralFormatService)||null==this.textFormat)).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.textFormat=StiFormatService.loadFormatFromXml(t)),new StiObjectMeta("TopN").check(()=>null!=this.topN).set(t=>this.topN=StiDataTopN.createFromJsonObject(t.value)).setXml(t=>this.topN=StiDataTopN.createFromXml(t)),new StiObjectMeta("Size").check(()=>null!=this.size).set(t=>this.size=StiTableColumnSize.createFromJsonObject(t.value)).setXml(t=>this.size=StiTableColumnSize.createFromXml(t)),new StiEnumMeta("SortDirection","",StiSortDirection,StiSortDirection.Asc),new StiStringNullOrEmptyMeta("ExpandExpression"),new StiEnumMeta("Visibility","",StiTableColumnVisibility,StiTableColumnVisibility.True),new StiStringNullOrEmptyMeta("VisibilityExpression").check(()=>null!=this.visibilityExpression),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiPivotTableItemDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiPivotTableItemDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiPivotTableItemDashboardInteraction);null!=i&&(this.dashboardInteraction=i)})]}checkRules(){var t;null!=(t=this.size)&&t.checkRules()}get strSortDirection(){return``+Enum.getName(StiSortDirection,this.sortDirection)+(this.sortDirection!=StiSortDirection.None?"ending":"")}set strSortDirection(t){this.sortDirection=Enum.parse(StiSortDirection,t.replace("ending",""))}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*t^this.horAlignment)^this.sortDirection)^(null!=this.textFormat?this.textFormat[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.topN?this.topN[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.size?this.size[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.showTotal?this.showTotal[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.totalLabel?this.totalLabel[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.expandExpression?this.expandExpression[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.visibility?this.visibility[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.visibilityExpression?this.visibilityExpression[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0),Math.abs(t)}get localizedName(){return Loc.get("Components","StiPivotColumn")}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c){super(t,e,i),this.horAlignment=StiHorAlignment.Center,this.showTotal=!0,this.totalLabel="",this.textFormat=new StiGeneralFormatService,this.size=new StiTableColumnSize,this.visibility=StiTableColumnVisibility.True,this.visibilityExpression="",this.expandExpression="",this.dashboardInteraction=new StiPivotTableItemDashboardInteraction,this.topN=new StiDataTopN,this.sortDirection=StiSortDirection.Asc,this.ident=__.e.StiMeterIdent.PivotColumn,null!=r&&(this.horAlignment=r),null!=l&&(this.textFormat=l),null!=n&&(this.topN=n),null!=a&&(this.size=a),null!=o&&(this.showTotal=o),null!=s&&(this.totalLabel=s),null!=u&&(this.sortDirection=u),null!=S&&(this.expandExpression=S),null!=m&&(this.visibility=m),null!=h&&(this.visibilityExpression=h),null!=c&&(this.dashboardInteraction=c)}},Stimulsoft.Base.Meters.IStiPivotRow),StiPivotTableSummaryDashboardInteraction=(__.N.StiPivotRow=class extends __.e.StiMeter{implements(){let t=super.implements().concat([IStiDimensionMeter,IStiHorAlignment,IStiTextFormat,IStiTableColumnSize,IStiPivotRow,IStiPivotItem,IStiDataTopN,IStiMeterRules,...ImplementsIStiHorAlignment,...ImplementsIStiTextFormat,...ImplementsIStiTableColumnSize,...ImplementsIStiPivotItem,IStiJsonReportObject,IStiElementInteraction]);return(this.implements=()=>t)()}clone(){let t,e=super.clone();return e.textFormat=this.textFormat.clone(),e.topN=this.topN.clone(),e.size=null==(t=this.size)?void 0:t.clone(),e.horAlignment=this.horAlignment,e.showTotal=this.showTotal,e.totalLabel=this.totalLabel,e.sortDirection=this.sortDirection,e.expandExpression=this.expandExpression,e.visibility=this.visibility,e.visibilityExpression=this.visibilityExpression,e.dashboardInteraction=this.dashboardInteraction.clone(),e}meta(){return[...super.meta(),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Center),new StiBoolMeta("ShowTotal","",!0),new StiStringNullOrEmptyMeta("TotalLabel"),new StiObjectMeta("TextFormat").check(()=>!(this.textFormat.is(StiGeneralFormatService)||null==this.textFormat)).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.textFormat=StiFormatService.loadFormatFromXml(t)),new StiObjectMeta("TopN").check(()=>null!=this.topN).set(t=>this.topN=StiDataTopN.createFromJsonObject(t.value)).setXml(t=>this.topN=StiDataTopN.createFromXml(t)),new StiObjectMeta("Size").check(()=>null!=this.size).set(t=>this.size=StiTableColumnSize.createFromJsonObject(t.value)).setXml(t=>this.size=StiTableColumnSize.createFromXml(t)),new StiEnumMeta("SortDirection","",StiSortDirection,StiSortDirection.Asc),new StiStringNullOrEmptyMeta("ExpandExpression"),new StiEnumMeta("Visibility","",StiTableColumnVisibility,StiTableColumnVisibility.True),new StiStringNullOrEmptyMeta("VisibilityExpression").check(()=>null!=this.visibilityExpression),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiPivotTableItemDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiPivotTableItemDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiPivotTableItemDashboardInteraction);null!=i&&(this.dashboardInteraction=i)})]}checkRules(){var t;null!=(t=this.size)&&t.checkRules()}get strSortDirection(){return``+Enum.getName(StiSortDirection,this.sortDirection)+(this.sortDirection!=StiSortDirection.None?"ending":"")}set strSortDirection(t){this.sortDirection=Enum.parse(StiSortDirection,t.replace("ending",""))}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*t^this.horAlignment)^this.sortDirection)^(null!=this.textFormat?this.textFormat[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.topN?this.topN[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.size?this.size[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.showTotal?this.showTotal[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.totalLabel?this.totalLabel[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.expandExpression?this.expandExpression[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.visibility?this.visibility[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.visibilityExpression?this.visibilityExpression[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0),Math.abs(t)}get localizedName(){return Loc.get("Components","StiPivotRow")}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c){super(t,e,i),this.horAlignment=StiHorAlignment.Center,this.showTotal=!0,this.totalLabel="",this.textFormat=new StiGeneralFormatService,this.size=new StiTableColumnSize,this.visibility=StiTableColumnVisibility.True,this.visibilityExpression="",this.expandExpression="",this.dashboardInteraction=new StiPivotTableItemDashboardInteraction,this.topN=new StiDataTopN,this.sortDirection=StiSortDirection.Asc,this.ident=__.e.StiMeterIdent.PivotRow,null!=r&&(this.horAlignment=r),null!=l&&(this.textFormat=l),null!=n&&(this.topN=n),null!=a&&(this.size=a),null!=o&&(this.showTotal=o),null!=s&&(this.totalLabel=s),null!=u&&(this.sortDirection=u),null!=S&&(this.expandExpression=S),null!=m&&(this.visibility=m),null!=h&&(this.visibilityExpression=h),null!=c&&(this.dashboardInteraction=c)}},__.g.StiPivotTableSummaryDashboardInteraction=class extends __.g.StiDashboardInteraction{isDefault(){return this.onHover==StiInteractionOnHover.None&&this.onClick==StiInteractionOnClick.None&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)}constructor(t,e,i,r,l,n,o){super(t,e,i,r,l,n,o),this.ident=StiInteractionIdent.PivotTableSummary,this.availableOnClick=StiAvailableInteractionOnClick.ShowDashboard,this.availableOnHover=StiAvailableInteractionOnHover.All,this.onHover=StiInteractionOnHover.None,this.onClick=StiInteractionOnClick.None}},__.g.StiPivotTableSummaryDashboardInteraction),IStiPivotSummary=Stimulsoft.Base.Meters.IStiPivotSummary,IStiSeriesMeter=(__.N.StiPivotSummary=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiHorAlignment,IStiTextFormat,IStiTableColumnSize,IStiPivotSummary,IStiPivotItem,IStiMeterRules,...ImplementsIStiHorAlignment,...ImplementsIStiTextFormat,...ImplementsIStiTableColumnSize,...ImplementsIStiPivotItem,IStiJsonReportObject,IStiElementInteraction]);return(this.implements=()=>t)()}clone(){let t,e=super.clone();return e.textFormat=this.textFormat.clone(),e.size=null==(t=this.size)?void 0:t.clone(),e.hideZeros=this.hideZeros,e.horAlignment=this.horAlignment,e.visibility=this.visibility,e.visibilityExpression=this.visibilityExpression,e.dashboardInteraction=this.dashboardInteraction.clone(),e.showHyperlink=this.showHyperlink,e.hyperlinkPattern=this.hyperlinkPattern,e}meta(){return[...super.meta(),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Center),new StiObjectMeta("TextFormat").check(()=>!(this.textFormat.is(StiGeneralFormatService)||null==this.textFormat)).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.textFormat=StiFormatService.loadFormatFromXml(t)),new StiObjectMeta("Size").check(()=>null!=this.size).set(t=>this.size=StiTableColumnSize.createFromJsonObject(t.value)).setXml(t=>this.size=StiTableColumnSize.createFromXml(t)),new StiBoolMeta("HideZeros","",!0),new StiBoolMeta("ShowHyperlink","",!1),new StiEnumMeta("Visibility","",StiTableColumnVisibility,StiTableColumnVisibility.True),new StiStringNullOrEmptyMeta("VisibilityExpression").check(()=>null!=this.visibilityExpression),new StiStringNullOrEmptyMeta("HyperlinkPattern"),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiPivotTableSummaryDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiPivotTableSummaryDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiPivotTableSummaryDashboardInteraction);null!=i&&(this.dashboardInteraction=i)})]}checkRules(){var t;null!=(t=this.size)&&t.checkRules()}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*(t=397*t^this.horAlignment)^(null!=this.textFormat?this.textFormat[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.size?this.size[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.hideZeros?this.hideZeros[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.visibility?this.visibility[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.visibilityExpression?this.visibilityExpression[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.showHyperlink?this.showHyperlink[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.hyperlinkPattern?this.hyperlinkPattern[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0),Math.abs(t)}get localizedName(){return Loc.get("Components","StiPivotSummary")}constructor(t,e,i,r,l,n,o,s,a,u,S,m){super(t,e,i),this.horAlignment=StiHorAlignment.Center,this.textFormat=new StiGeneralFormatService,this.size=new StiTableColumnSize,this.visibility=StiTableColumnVisibility.True,this.visibilityExpression="",this.hideZeros=!0,this.showHyperlink=!1,this.hyperlinkPattern="",this.dashboardInteraction=new StiPivotTableSummaryDashboardInteraction,this.ident=__.e.StiMeterIdent.PivotSummary,null!=r&&(this.horAlignment=r),null!=l&&(this.textFormat=l),null!=n&&(this.size=n),null!=o&&(this.hideZeros=o),null!=s&&(this.visibility=s),null!=a&&(this.visibilityExpression=a),null!=u&&(this.dashboardInteraction=u),null!=S&&(this.showHyperlink=S),null!=m&&(this.hyperlinkPattern=m)}},__.O.StiLatitudeMapMeter=class extends __.e.StiDimensionMeter{get localizedName(){return Loc.get("PropertyMain","Latitude")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.LatitudeMapMeter}},__.O.StiLongitudeMapMeter=class extends __.e.StiDimensionMeter{get localizedName(){return Loc.get("PropertyMain","Longitude")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.LongitudeMapMeter}},__.P.StiKeyListBoxMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Key")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.KeyListBoxMeter}},__.P.StiNameListBoxMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiArgumentMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Name")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.NameListBoxMeter}},__.Q.StiValueDatePickerMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Value")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.ValueDatePickerMeter}},__.R.StiValueNumberBoxMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Value")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.ValueNumberBoxMeter}},__.H.StiEndValueChartMeter=class extends __.e.StiMeasureMeter{get localizedName(){return Loc.get("PropertyMain","ValueEnd")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.EndValueChartMeter}},__.S.StiNameComboBoxMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiArgumentMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Name")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.NameComboBoxMeter}},__.S.StiKeyComboBoxMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Key")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.KeyComboBoxMeter}},Stimulsoft.Base.Meters.IStiSeriesMeter),IStiTargetMeter=(__.T.StiSeriesGaugeMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiSeriesMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Series")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.SeriesGaugeMeter}},__.T.StiValueGaugeMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Value")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.ValueGaugeMeter}},Stimulsoft.Base.Meters.IStiTargetMeter),StiChartSeriesType=(__.T.StiTargetGaugeMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiTargetMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Target")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.TargetGaugeMeter}},__.U.StiSeriesIndicatorMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiSeriesMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Series")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.SeriesIndicatorMeter}},__.U.StiValueIndicatorMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Value")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.ValueIndicatorMeter}},__.U.StiTargetIndicatorMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiTargetMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Target")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.TargetIndicatorMeter}},__.H.StiWeightChartMeter=class extends __.e.StiMeasureMeter{get localizedName(){return Loc.get("PropertyMain","Weight")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.WeightChartMeter}},Stimulsoft.Report.Dashboard.StiChartSeriesType),StiPenStyle=Stimulsoft.Base.Drawing.StiPenStyle,StiSeriesYAxis=Stimulsoft.Report.Chart.StiSeriesYAxis,StiNameValidator=(__.H.StiValueChartMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiValueMeter,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiEnumMeta("SeriesType","",StiChartSeriesType,StiChartSeriesType.ClusteredColumn),new StiEnumMeta("YAxis","",StiSeriesYAxis,StiSeriesYAxis.LeftYAxis),new StiEnumMeta("LineStyle","",StiPenStyle,StiPenStyle.Solid),new StiNumberMeta("LineWidth","",2),new StiEnumMeta("ShowZeros","",StiEmptyCellsAs,StiEmptyCellsAs.Zero),new StiEnumMeta("ShowNulls","",StiEmptyCellsAs,StiEmptyCellsAs.Zero)]}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*(t=397*(t=397*(t=397*t^this.seriesType)^this.yAxis)^this.lineStyle)^this.lineWidth)^this.showNulls)^this.showZeros,Math.abs(t)}get localizedName(){return Loc.get("PropertyMain","Value")}constructor(t,e,i,r,l,n,o,s,a){super(t,e,i),this.seriesType=StiChartSeriesType.ClusteredColumn,this.yAxis=StiSeriesYAxis.LeftYAxis,this.lineStyle=StiPenStyle.Solid,this.lineWidth=2,this.showZeros=StiEmptyCellsAs.Zero,this.showNulls=StiEmptyCellsAs.Zero,this.ident=__.e.StiMeterIdent.ValueChartMeter,null!=r&&(this.seriesType=r),null!=l&&(this.yAxis=l),null!=n&&(this.lineStyle=n),null!=o&&(this.lineWidth=o),null!=a&&(this.showNulls=a),null!=s&&(this.showZeros=s)}},__.H.StiOpenValueChartMeter=class extends __.H.StiValueChartMeter{get localizedName(){return Loc.get("PropertyMain","ValueOpen")}constructor(t,e,i,r){super(t,e,i,r),this.ident=__.e.StiMeterIdent.OpenValueChartMeter,this.seriesType=StiChartSeriesType.Candlestick,null!=r&&(this.seriesType=r)}},__.H.StiCloseValueChartMeter=class extends __.e.StiMeasureMeter{get localizedName(){return Loc.get("PropertyMain","ValueClose")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.CloseValueChartMeter}},__.H.StiLowValueChartMeter=class extends __.e.StiMeasureMeter{get localizedName(){return Loc.get("PropertyMain","ValueLow")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.LowValueChartMeter}},__.H.StiHighValueChartMeter=class extends __.e.StiMeasureMeter{get localizedName(){return Loc.get("PropertyMain","ValueHigh")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.HighValueChartMeter}},__.H.StiSeriesChartMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiSeriesMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Series")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.SeriesChartMeter}},__.H.StiSortByChartMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiSeriesMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","SortBy")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.SortByChartMeter}},__.H.StiXChartMeter=class extends __.e.StiDimensionMeter{get localizedName(){return`X`+Loc.get("PropertyMain","Value")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.XChartMeter}},__.H.StiYChartMeter=class extends __.e.StiDimensionMeter{get localizedName(){return`Y`+Loc.get("PropertyMain","Value")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.YChartMeter}},__.O.StiLocationMapMeter=class extends __.e.StiDimensionMeter{get localizedName(){return Loc.get("PropertyMain","Location")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.LocationMapMeter}},__.O.StiLocationColorMapMeter=class extends __.e.StiDimensionMeter{get localizedName(){return Loc.get("PropertyMain","Group")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.LocationColorMapMeter}},__.O.StiLocationValueMapMeter=class extends __.e.StiDimensionMeter{get localizedName(){return Loc.get("PropertyMain","Value")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.LocationValueMapMeter}},__.O.StiLocationArgumentMapMeter=class extends __.e.StiDimensionMeter{get localizedName(){return Loc.get("PropertyMain","Argument")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.LocationArgumentMapMeter}},__.F.StiIndicatorCardsColumn=class extends __.F.StiMeasureCardsColumn{implements(){let t=super.implements().concat([IStiIndicatorColumn]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("Dashboard","Dimension")}constructor(t,e,i,r,l,n,o,s,a,u,S){super(t,e,i,r,l,n,o,s,a,u,S),this.ident=__.e.StiMeterIdent.IndicatorCardsColumn}},__.F.StiColorScaleCardsColumn=class extends __.F.StiMeasureCardsColumn{implements(){let t=super.implements().concat([IStiColorScaleColumn,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiColorMeta("MinimumColor","",Color.red),new StiColorMeta("MaximumColor","",Color.green)]}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*t^this.minimumColor[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.maximumColor[Stimulsoft.System.StiObject.stimulsoft]().getHashCode(),Math.abs(t)}get localizedName(){return Loc.get("Dashboard","ColorScale")}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h){super(t,e,i,r,l,n,o,s,a,u,h),this.ident=__.e.StiMeterIdent.ColorScaleCardsColumn,this.minimumColor=Color.red,this.maximumColor=Color.green,null!=S&&(this.minimumColor=S),null!=m&&(this.maximumColor=m)}},__.F.StiDataBarsCardsColumn=class extends __.F.StiMeasureCardsColumn{implements(){let t=super.implements().concat([IStiDataBarsColumn,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiNumberMeta("Width"),new StiStringMeta("Minimum"),new StiStringMeta("Maximum"),new StiColorMeta("PositiveColor","",Color.transparent),new StiColorMeta("NegativeColor","",Color.transparent),new StiColorMeta("OverlappedColor","",Color.transparent),new StiColorMeta("FillColor","",Color.transparent)]}get localizedName(){return Loc.get("Dashboard","DataBars")}constructor(t,e,i,r,l,n,o,s,a,u,S){super(t,e,i,r,l,n,o,s,a,u,S),this.ident=__.e.StiMeterIdent.DataBarsCardsColumn,this.width=0,this.positiveColor=Color.transparent,this.negativeColor=Color.transparent,this.overlappedColor=Color.transparent,this.fillColor=Color.transparent,this.minimum="",this.maximum=""}},__.F.StiSparklinesCardsColumn=class extends __.F.StiMeasureCardsColumn{implements(){let t=super.implements().concat([IStiSparklinesColumn,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiEnumMeta("Type","",__.K.StiSparklinesType,__.K.StiSparklinesType.Area),new StiBoolMeta("ShowHighLowPoints"),new StiBoolMeta("ShowFirstLastPoints","",!0),new StiBoolMeta("AllowCustomColors"),new StiNumberMeta("Height"),new StiColorMeta("PositiveColor","",StiColor.get("537eb6")),new StiColorMeta("NegativeColor","",StiColor.get("ff0000"))]}getUniqueCode(){let t=super.getUniqueCode();return t=397*(t=397*(t=397*(t=397*(t=397*(t=397*t^this.type[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.showHighLowPoints[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.showFirstLastPoints[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.allowCustomColors[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.positiveColor[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^this.negativeColor[Stimulsoft.System.StiObject.stimulsoft]().getHashCode(),Math.abs(t)}get localizedName(){return Loc.get("Dashboard","Sparklines")}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d,g,p){super(t,e,i,r,l,n,o,S,m,h,p),this.type=__.K.StiSparklinesType.Area,this.showHighLowPoints=!1,this.showFirstLastPoints=!0,this.allowCustomColors=!1,this.positiveColor=StiColor.get("537eb6"),this.negativeColor=StiColor.get("ff0000"),this.height=0,this.ident=__.e.StiMeterIdent.SparklinesCardsColumn,null!=s&&(this.type=s),null!=a&&(this.showHighLowPoints=a),null!=u&&(this.showFirstLastPoints=u),null!=c&&(this.allowCustomColors=c),null!=d&&(this.positiveColor=d),null!=g&&(this.negativeColor=g)}},Stimulsoft.Report.StiNameValidator),StiExpressionHelper=Stimulsoft.Data.Helpers.StiExpressionHelper,StiTextMeasureMeter=(__.V.StiTextMeasureMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}getUniqueName(){if(!StiString.isNullOrWhiteSpace(this.label))return StiNameValidator.correctName(this.label,!0,null);if(!StiString.isNullOrWhiteSpace(this.expression)){let t=this.expression,e=StiExpressionHelper.getFirstArgumentFromExpression(this.expression);return null!=e&&e.includes(".")&&(t=e.substring(e.indexOf(".")+1)),StiNameValidator.correctName(t,!0,null)}return"Measure"}static getUniqueNames(t){let l=new Dictionary;for(let r of t){let t=r.getUniqueName(),e=t,i=2;while(1){if(!l.containsKey(e)){l.add(e,r);break}e=t+i,i++}}return l}get localizedName(){return Loc.get("PropertyMain","Text")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.TextMeasureMeter}},__.V.StiTextMeasureMeter),StiYChartMeter=__.H.StiYChartMeter,StiXChartMeter=__.H.StiXChartMeter,StiValueNumberBoxMeter=__.R.StiValueNumberBoxMeter,StiIndicatorValueChartMeter=__.H.StiIndicatorValueChartMeter,StiSortByChartMeter=__.H.StiSortByChartMeter,StiIndicatorCardsColumn=__.F.StiIndicatorCardsColumn,StiBubbleCardsColumn=__.F.StiBubbleCardsColumn,StiColorScaleCardsColumn=__.F.StiColorScaleCardsColumn,StiDataBarsCardsColumn=__.F.StiDataBarsCardsColumn,StiSparklinesCardsColumn=__.F.StiSparklinesCardsColumn,StiDimensionCardsColumn=__.F.StiDimensionCardsColumn,StiDataColumnExt=Stimulsoft.Report.Dictionary.StiDataColumnExt,StiBubbleColumn=__.K.StiBubbleColumn,StiLocationArgumentMapMeter=__.O.StiLocationArgumentMapMeter,StiLocationMapMeter=__.O.StiLocationMapMeter,StiLocationColorMapMeter=__.O.StiLocationColorMapMeter,StiLocationValueMapMeter=__.O.StiLocationValueMapMeter,StiKeyTreeViewBoxMeter=__.I.StiKeyTreeViewBoxMeter,StiKeyTreeViewMeter=__.J.StiKeyTreeViewMeter,StiIndicatorColumn=__.K.StiIndicatorColumn,StiColorScaleColumn=__.K.StiColorScaleColumn,StiDataBarsColumn=__.K.StiDataBarsColumn,StiSparklinesColumn=__.K.StiSparklinesColumn,Funcs=Stimulsoft.Data.Functions.Funcs,StiTextFormatHelper=__.h.StiTextFormatHelper,StiDimensionColumn=__.K.StiDimensionColumn,StiMeasureColumn=__.K.StiMeasureColumn,StiColorMapMeter=__.L.StiColorMapMeter,StiValueMapMeter=__.L.StiValueMapMeter,StiGroupMapMeter=__.L.StiGroupMapMeter,StiNameMapMeter=__.L.StiNameMapMeter,StiKeyMapMeter=__.L.StiKeyMapMeter,StiValueProgressMeter=__.M.StiValueProgressMeter,StiTargetProgressMeter=__.M.StiTargetProgressMeter,StiSeriesProgressMeter=__.M.StiSeriesProgressMeter,StiPivotColumn=__.N.StiPivotColumn,StiPivotRow=__.N.StiPivotRow,StiPivotSummary=__.N.StiPivotSummary,StiLatitudeMapMeter=__.O.StiLatitudeMapMeter,StiLongitudeMapMeter=__.O.StiLongitudeMapMeter,StiKeyListBoxMeter=__.P.StiKeyListBoxMeter,StiNameListBoxMeter=__.P.StiNameListBoxMeter,StiValueDatePickerMeter=__.Q.StiValueDatePickerMeter,StiDataExpressionHelper=Stimulsoft.Data.Engine.StiDataExpressionHelper,StiTableColumn=__.K.StiTableColumn,DateTime=Stimulsoft.System.DateTime,StiNameComboBoxMeter=__.S.StiNameComboBoxMeter,StiKeyComboBoxMeter=__.S.StiKeyComboBoxMeter,StiSeriesGaugeMeter=__.T.StiSeriesGaugeMeter,StiValueGaugeMeter=__.T.StiValueGaugeMeter,StiTargetGaugeMeter=__.T.StiTargetGaugeMeter,StiSeriesIndicatorMeter=__.U.StiSeriesIndicatorMeter,StiValueIndicatorMeter=__.U.StiValueIndicatorMeter,StiTargetIndicatorMeter=__.U.StiTargetIndicatorMeter,StiWeightChartMeter=__.H.StiWeightChartMeter,StiOpenValueChartMeter=__.H.StiOpenValueChartMeter,StiCloseValueChartMeter=__.H.StiCloseValueChartMeter,StiLowValueChartMeter=__.H.StiLowValueChartMeter,StiHighValueChartMeter=__.H.StiHighValueChartMeter,StiArgumentChartMeter=__.H.StiArgumentChartMeter,StiValueChartMeter=__.H.StiValueChartMeter,StiSeriesChartMeter=__.H.StiSeriesChartMeter,StiEndValueChartMeter=__.H.StiEndValueChartMeter,IStiAppAlias=Stimulsoft.Base.IStiAppAlias,StiVariable=Stimulsoft.Report.Dictionary.StiVariable;{class L8{static getValue(t){if(t.is(StiValueChartMeter))return t;let e=new StiValueChartMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getGanttStartValue(t){let e=new StiValueChartMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e.seriesType=StiChartSeriesType.Gantt,e}static getGanttEndValue(t){let e=new StiEndValueChartMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getEndValue(t){if(t.is2(StiEndValueChartMeter))return t;let e=new StiEndValueChartMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getOpenValue(t){if(t.is(StiOpenValueChartMeter))return t;let e=new StiOpenValueChartMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getCloseValue(t){if(t.is2(StiCloseValueChartMeter))return t;let e=new StiCloseValueChartMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getLowValue(t){if(t.is2(StiLowValueChartMeter))return t;let e=new StiLowValueChartMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getHighValue(t){if(t.is2(StiHighValueChartMeter))return t;let e=new StiHighValueChartMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getValue2(t,e){let i=new StiValueChartMeter;return i.expression=StiMeterHelper.toTotalExpression2(t),i.seriesType=null!=e.values&&0<e.values.length?e.values.firstOrDefault().seriesType:StiChartSeriesType.ClusteredColumn,i.label=StiMeterHelper.toAlias(t),i}static getEndValue2(t){let e=new StiEndValueChartMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}static getCloseValue2(t){let e=new StiCloseValueChartMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}static getLowValue2(t){let e=new StiLowValueChartMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}static getHighValue2(t){let e=new StiHighValueChartMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}static getWeight(t){if(t.is2(StiWeightChartMeter))return t;let e=new StiWeightChartMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getWeight2(t){let e=new StiWeightChartMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}static getArgument(t){if(t.is2(StiArgumentChartMeter))return t;let e=new StiArgumentChartMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getArgument2(t){let e=new StiArgumentChartMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getX2(t){let e=new StiArgumentChartMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getXValue2(t){let e=new StiXChartMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getX(t){if(t.is2(StiArgumentChartMeter))return t;let e=new StiArgumentChartMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getXValue(t){if(t.is2(StiXChartMeter))return t;let e=new StiXChartMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getY2(t){let e=new StiValueChartMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getYValue2(t){let e=new StiYChartMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getY(t){if(t.is(StiValueChartMeter))return t;let e=new StiValueChartMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getYValue(t){if(t.is2(StiYChartMeter))return t;let e=new StiYChartMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getSeries(t){if(t.is2(StiSeriesChartMeter))return t;let e=new StiSeriesChartMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getSortBy(t){if(t.is2(StiSortByChartMeter))return t;let e=new StiSortByChartMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getSeries2(t){let e=new StiSeriesChartMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getSortBy2(t){let e=new StiSortByChartMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getIndicatorValue(t){if(t.is2(StiIndicatorValueChartMeter))return t;let e=new StiIndicatorValueChartMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getIndicatorValue2(t){let e=new StiIndicatorValueChartMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.Chart=L8;class M8{static getName(t){if(t.is2(StiNameComboBoxMeter))return t;let e=new StiNameComboBoxMeter;return e.expression=t.expression,e.label=t.label,e}static getName2(t){let e=new StiNameComboBoxMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getKey(t){if(t.is2(StiKeyComboBoxMeter))return t;let e=new StiKeyComboBoxMeter;return e.expression=t.expression,e.label=t.label,e}static getKey2(t){let e=new StiKeyComboBoxMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.ComboBox=M8;class N8{static getFilter2(t){let e="",i=(null!=t&&null!=t.type&&(Type.isDateType(t.type)?e=DateTime.now.toString("MM/dd/yyyy"):Type.isNumericType(t.type)&&(e="0")),new StiDataFilterRule);return i.key=StiKeyHelper.generateKey(),i.condition=StiDataFilterCondition.EqualTo,i.path=StiMeterHelper.toExpression(t),i.value=e,i.value2=e,i}static getFilter(t,e){let i=StiDataExpressionHelper.getDataColumnFromExpression(e.page.as(__.e.StiDashboard),t.expression),r="",l=(null!=i&&null!=i.getDataType()&&(Type.isDateType(i.getDataType())?r=DateTime.now.toString("MM/dd/yyyy"):Type.isNumericType(i.getDataType())&&(r="0")),new StiDataFilterRule);return l.key=StiKeyHelper.generateKey(),l.condition=StiDataFilterCondition.EqualTo,l.path=StiExpressionHelper.removeFunction(t.expression),l.value=r,l.value2=r,l}}__.h.DataFilter=N8;class O8{static getValue(t){if(t.is2(StiValueDatePickerMeter))return t;let e=new StiValueDatePickerMeter;return e.expression=t.expression,e.label=t.label,e}static getValue2(t){let e=new StiValueDatePickerMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.DatePicker=O8;class P8{static getValue(t){if(t.is2(StiValueNumberBoxMeter))return t;let e=new StiValueNumberBoxMeter;return e.expression=t.expression,e.label=t.label,e}static getValue2(t){let e=new StiValueNumberBoxMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.NumberBox=P8;class Q8{static getSeries(t){if(t.is2(StiSeriesGaugeMeter))return t;let e=new StiSeriesGaugeMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getSeries2(t){let e=new StiSeriesGaugeMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getValue(t){if(t.is2(StiValueGaugeMeter))return t;let e=new StiValueGaugeMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getValue2(t){let e=new StiValueGaugeMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}static getTarget(t){if(t.is2(StiTargetGaugeMeter))return t;let e=new StiTargetGaugeMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getTarget2(t){let e=new StiTargetGaugeMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.Gauge=Q8;class R8{static getSeries(t){if(t.is2(StiSeriesIndicatorMeter))return t;let e=new StiSeriesIndicatorMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getSeries2(t){let e=new StiSeriesIndicatorMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getValue(t){if(t.is2(StiValueIndicatorMeter))return t;let e=new StiValueIndicatorMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getValue2(t){let e=new StiValueIndicatorMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}static getTarget(t){if(t.is2(StiTargetIndicatorMeter))return t;let e=new StiTargetIndicatorMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getTarget2(t){let e=new StiTargetIndicatorMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.Indicator=R8;class S8{static getName(t){if(t.is2(StiNameListBoxMeter))return t;let e=new StiNameListBoxMeter;return e.expression=t.expression,e.label=t.label,e}static getName2(t){let e=new StiNameListBoxMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getKey(t){if(t.is2(StiKeyListBoxMeter))return t;let e=new StiKeyListBoxMeter;return e.expression=t.expression,e.label=t.label,e}static getKey2(t){let e=new StiKeyListBoxMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.ListBox=S8;class T8{static getLatitude(t){if(t.is2(StiLatitudeMapMeter))return t;let e=new StiLatitudeMapMeter;return e.expression=t.expression,e.label=t.label,e}static getLongitude(t){if(t.is2(StiLongitudeMapMeter))return t;let e=new StiLongitudeMapMeter;return e.expression=t.expression,e.label=t.label,e}static getLocation(t){if(t.is2(StiLocationMapMeter))return t;return new StiLocationMapMeter(null,t.expression,t.label)}static getLocationColor(t){if(t.is2(StiLocationColorMapMeter))return t;return new StiLocationColorMapMeter(null,t.expression,t.label)}static getLocationValue(t){if(t.is2(StiLocationValueMapMeter))return t;return new StiLocationValueMapMeter(null,t.expression,t.label)}static getLocationArgument(t){if(t.is2(StiLocationArgumentMapMeter))return t;return new StiLocationArgumentMapMeter(null,t.expression,t.label)}static getLatitude2(t){let e=new StiLatitudeMapMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getLongitude2(t){let e=new StiLongitudeMapMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getLocation2(t){return new StiLocationMapMeter(null,StiMeterHelper.toExpression(t),StiMeterHelper.toAlias(t))}static getLocationColor2(t){return new StiLocationColorMapMeter(null,StiMeterHelper.toExpression(t),StiMeterHelper.toAlias(t))}static getLocationValue2(t){return new StiLocationValueMapMeter(null,StiMeterHelper.toExpression(t),StiMeterHelper.toAlias(t))}static getLocationArgument2(t){return new StiLocationArgumentMapMeter(null,StiMeterHelper.toExpression(t),StiMeterHelper.toAlias(t))}}__.h.OnlineMap=T8;class U8{static getColumn(t){if(t.is(StiPivotColumn))return t;let e=new StiPivotColumn;return e.key=t.key,e.expression=t.expression,e.label=t.label,e.textFormat=this.getFormat(t),e.topN=this.getTopN(t),e.horAlignment=t.is(IStiHorAlignment)?t.as(IStiHorAlignment).horAlignment:StiHorAlignment.Center,e.size=t.is(IStiTableColumnSize)&&null!=t.size?t.size:new StiTableColumnSize,e.totalLabel=this.getTotalLabel(t),e.showTotal=this.getShowTotal(t),e.sortDirection=this.getSortDirection(t),e.expandExpression=this.getExpandExpression(t),e}static getRow(t){if(t.is(StiPivotRow))return t;let e=new StiPivotRow;return e.key=t.key,e.expression=t.expression,e.label=t.label,e.textFormat=this.getFormat(t),e.topN=this.getTopN(t),e.horAlignment=t.is(IStiHorAlignment)?t.as(IStiHorAlignment).horAlignment:StiHorAlignment.Center,e.size=t.is(IStiTableColumnSize)&&null!=t.size?t.size:new StiTableColumnSize,e.totalLabel=this.getTotalLabel(t),e.showTotal=this.getShowTotal(t),e.sortDirection=this.getSortDirection(t),e.expandExpression=this.getExpandExpression(t),e}static getShowTotal(t){return t.is(IStiPivotRow)?t.as(IStiPivotRow).showTotal:!t.is(IStiPivotColumn)||t.as(IStiPivotColumn).showTotal}static getTotalLabel(t){return t.is(IStiPivotRow)?t.as(IStiPivotRow).totalLabel:t.is(IStiPivotColumn)?t.as(IStiPivotColumn).totalLabel:""}static getSortDirection(t){return t.is(IStiPivotRow)?t.as(IStiPivotRow).strSortDirection:t.is(IStiPivotColumn)?t.as(IStiPivotColumn).strSortDirection:"None"}static getExpandExpression(t){return t.is(IStiPivotRow)?t.as(IStiPivotRow).expandExpression:t.is(IStiPivotColumn)?t.as(IStiPivotColumn).expandExpression:""}static getSummary(t){if(t.is(StiPivotSummary))return t;let e=new StiPivotSummary;return e.key=t.key,e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e.textFormat=this.getFormat(t),e}static getSummary3(t,e){if(t.is(StiPivotSummary))return t;let i=new StiPivotSummary;return i.expression=StiMeterHelper.toTotalExpression3(t,e),i.label=t.label,i.textFormat=this.getFormat(t),i}static getColumn2(t){let e=new StiPivotColumn;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getRow2(t){let e=new StiPivotRow;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getSummary2(t){let e=new StiPivotSummary;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}static getFormat(t){if(t.is(StiPivotColumn))return t.textFormat;if(t.is(StiPivotRow))return t.textFormat;if(t.is(StiPivotSummary))return t.textFormat;return new StiGeneralFormatService}static getTopN(t){if(t.is(StiPivotColumn))return t.topN;if(t.is(StiPivotRow))return t.topN;return new StiDataTopN}}__.h.Pivot=U8;class V8{static getSeries(t){if(t.is2(StiSeriesProgressMeter))return t;let e=new StiSeriesProgressMeter;return e.expression=StiExpressionHelper.removeFunction(t.expression),e.label=t.label,e}static getSeries2(t){let e=new StiSeriesProgressMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getValue(t){if(t.is2(StiValueProgressMeter))return t;let e=new StiValueProgressMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getValue2(t){let e=new StiValueProgressMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}static getTarget(t){if(t.is2(StiTargetProgressMeter))return t;let e=new StiTargetProgressMeter;return e.expression=StiMeterHelper.toTotalExpression(t),e.label=t.label,e}static getTarget2(t){let e=new StiTargetProgressMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.Progress=V8;class W8{static getKey(t){if(t.is2(StiKeyMapMeter))return t;let e=new StiKeyMapMeter;return e.expression=t.expression,e.label=t.label,e}static getName(t){if(t.is2(StiNameMapMeter))return t;let e=new StiNameMapMeter;return e.expression=t.expression,e.label=t.label,e}static getGroup(t){if(t.is2(StiGroupMapMeter))return t;let e=new StiGroupMapMeter;return e.expression=t.expression,e.label=t.label,e}static getValue(t,e){let i=new StiValueMapMeter,r=(i.loadFromString(t.saveToString()),StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"Count");return i.expression=StiExpressionHelper.replaceFunction(i.expression,r),i}static getColor(t){if(t.is2(StiColorMapMeter))return t;let e=new StiColorMapMeter;return e.expression=t.expression,e.label=t.label,e}static getKey2(t){let e=new StiKeyMapMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getName2(t){let e=new StiNameMapMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getValue2(t){let e=new StiValueMapMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}static getGroup2(t){let e=new StiGroupMapMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}static getColor2(t){let e=new StiColorMapMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.RegionMap=W8;class X8{static getColumn(t){let e=t.as(StiTableColumn);return(e=null==e?new(t.is(IStiMeasureMeter)?StiMeasureColumn:StiDimensionColumn):e).loadFromString(t.saveToString()),e}static getDimension(t){let e=new StiDimensionColumn;return e.loadFromString(t.saveToString()),Funcs.isMeasureFunction(e.expression)&&(e.expression=StiExpressionHelper.removeFunction(e.expression)),e}static getDimension2(t){let e=new StiDimensionColumn;return e.textFormat=StiTextFormatHelper.getDefaultFormatForColumn(t),e.expression=StiMeterHelper.toExpression(t),e.horAlignment=__.h.StiTableAlignmentHelper.getHorAlign(t),e.label=StiMeterHelper.toAlias(t),e}static getMeasure(t,e){let i=new StiMeasureColumn;if(i.loadFromString(t.saveToString()),t.is(StiDimensionColumn)||t.is(StiSparklinesColumn)){let t=StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"Count";i.expression=StiExpressionHelper.replaceFunction(i.expression,t)}return i}static getMeasure2(t){let e=new StiMeasureColumn;return e.textFormat=StiTextFormatHelper.getDefaultFormatForColumn(t),e.expression=StiMeterHelper.toTotalExpression2(t),e.horAlignment=__.h.StiTableAlignmentHelper.getHorAlign(t),e.label=StiMeterHelper.toAlias(t),e}static getDataBars(t,e){let i=new StiDataBarsColumn;if(i.loadFromString(t.saveToString()),t.is(StiDimensionColumn)||t.is(StiSparklinesColumn)){let t=StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"First";i.expression=StiExpressionHelper.replaceFunction(i.expression,t)}return i}static getColorScale(t,e){let i=new StiColorScaleColumn;if(i.loadFromString(t.saveToString()),t.is(StiDimensionColumn)||t.is(StiSparklinesColumn)){let t=StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"Count";i.expression=StiExpressionHelper.replaceFunction(i.expression,t)}return i}static getSparklines(t){let e=new StiSparklinesColumn;return e.loadFromString(t.saveToString()),Funcs.isMeasureFunction(e.expression)&&(e.expression=StiExpressionHelper.removeFunction(e.expression)),e}static getBubble(t,e){let i=new StiBubbleColumn;if(i.loadFromString(t.saveToString()),t.is(StiDimensionColumn)||t.is(StiSparklinesColumn)){let t=StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"Count";i.expression=StiExpressionHelper.replaceFunction(i.expression,t)}return i}static getIndicator(t,e){let i=new StiIndicatorColumn;if(i.loadFromString(t.saveToString()),t.is(StiDimensionColumn)||t.is(StiSparklinesColumn)){let t=StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"Count";i.expression=StiExpressionHelper.replaceFunction(i.expression,t)}return i.horAlignment=StiHorAlignment.Right,i}}__.h.Table=X8;class Y8{static getMeter(t){let e=new StiTextMeasureMeter;return e.loadFromJsonObject(t.saveToJsonObject(StiJsonSaveMode.Report)),e}static getMeter2(t){let e=new StiTextMeasureMeter;return e.expression=StiMeterHelper.toTotalExpression2(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.Text=Y8;class Z8{static getColumn(t){let e=t.as(StiCardsColumn);return(e=null==e?new(t.is(IStiMeasureMeter)?StiMeasureCardsColumn:StiDimensionCardsColumn):e).loadFromString(t.saveToString()),e}static getDimension(t){let e=new StiDimensionCardsColumn;return e.loadFromString(t.saveToString()),Funcs.isMeasureFunction(e.expression)&&(e.expression=StiExpressionHelper.removeFunction(e.expression)),e}static getDimension2(t){let e=new StiDimensionCardsColumn;return e.textFormat=StiTextFormatHelper.getDefaultFormatForColumn(t),e.expression=StiMeterHelper.toExpression(t),e.horAlignment=__.h.StiTableAlignmentHelper.getHorAlign(t),e.label=StiMeterHelper.toAlias(t),e}static getMeasure(t,e){let i=new StiMeasureCardsColumn;if(i.loadFromString(t.saveToString()),t.is2(StiDimensionCardsColumn)||t.is2(StiSparklinesCardsColumn)){let t=StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"Count";i.expression=StiExpressionHelper.replaceFunction(i.expression,t)}return i}static getMeasure2(t){let e=new StiMeasureCardsColumn;return e.textFormat=StiTextFormatHelper.getDefaultFormatForColumn(t),e.expression=StiMeterHelper.toTotalExpression2(t),e.horAlignment=__.h.StiTableAlignmentHelper.getHorAlign(t),e.label=StiMeterHelper.toAlias(t),e}static getDataBars(t,e){let i=new StiDataBarsCardsColumn;if(i.loadFromString(t.saveToString()),t.is2(StiDimensionCardsColumn)||t.is2(StiSparklinesCardsColumn)){let t=StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"First";i.expression=StiExpressionHelper.replaceFunction(i.expression,t)}return i}static getColorScale(t,e){let i=new StiColorScaleCardsColumn;if(i.loadFromString(t.saveToString()),t.is2(StiDimensionCardsColumn)||t.is2(StiSparklinesCardsColumn)){let t=StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"Count";i.expression=StiExpressionHelper.replaceFunction(i.expression,t)}return i}static getSparklines(t){let e=new StiSparklinesCardsColumn;return e.loadFromString(t.saveToString()),Funcs.isMeasureFunction(e.expression)&&(e.expression=StiExpressionHelper.removeFunction(e.expression)),e}static getBubble(t,e){let i=new StiBubbleCardsColumn;if(i.loadFromString(t.saveToString()),t.is2(StiDimensionCardsColumn)||t.is2(StiSparklinesCardsColumn)){let t=StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"Count";i.expression=StiExpressionHelper.replaceFunction(i.expression,t)}return i}static getIndicator(t,e){let i=new StiIndicatorCardsColumn;if(i.loadFromString(t.saveToString()),t.is2(StiDimensionCardsColumn)||t.is2(StiSparklinesCardsColumn)){let t=StiDataExpressionHelper.isNumericDataColumnInExpression(e,i.expression)?"Sum":"Count";i.expression=StiExpressionHelper.replaceFunction(i.expression,t)}return i.horAlignment=StiHorAlignment.Right,i}}__.h.Cards=Z8;class $8{static getKey(t){if(t.is2(StiKeyTreeViewMeter))return t;let e=new StiKeyTreeViewMeter;return e.expression=t.expression,e.label=t.label,e}static getKey2(t){let e=new StiKeyTreeViewMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.TreeView=$8;class _8{static getKey(t){if(t.is2(StiKeyTreeViewBoxMeter))return t;let e=new StiKeyTreeViewBoxMeter;return e.expression=t.expression,e.label=t.label,e}static getKey2(t){let e=new StiKeyTreeViewBoxMeter;return e.expression=StiMeterHelper.toExpression(t),e.label=StiMeterHelper.toAlias(t),e}}__.h.TreeViewBox=_8;class StiMeterHelper{static toTotalExpression2(t){let e=null==t?void 0:t.as(StiDataColumn);if(null!=e)return StiDataColumnExt.isNumericType(e)?this.toSumExpression2(e):this.toCountExpression2(e);return null==t?void 0:t.getName()}static toTotalExpression(t){if(StiExpressionHelper.isFunctionPresent(t.expression))return t.expression;return this.toCountExpression(t.expression)}static toTotalExpression3(t,e){if(StiExpressionHelper.isFunctionPresent(t.expression))return t.expression;return StiDataExpressionHelper.isNumericDataColumnInExpression(e,t.expression)?this.toSumExpression(t.expression):this.toCountExpression(t.expression)}static toSumExpression2(t){return`Sum(${this.toExpression(t)})`}static toSumExpression(t){return`Sum(${t})`}static toCountExpression2(t){return`Count(${this.toExpression(t)})`}static toCountExpression(t){return`Count(${t})`}static toExpression(t){let e=null==t?void 0:t.as(StiDataColumn);if(null!=e)return Funcs.toExpression2(e.dataSource.name,e.name);return Funcs.toExpression(null==t?void 0:t.getName())}static toAlias(t){let e=t.as(IStiAppAlias);if(null!=e)return e.getAlias();return null==t?void 0:t.getName()}static toDataType(t){let e,i,r=null==(e=null==t?void 0:t.as(StiDataColumn))?void 0:e.type;if(null!=r)return r;return null==(i=null==t?void 0:t.as(StiVariable))?void 0:i.type}}StiMeterHelper.Chart=L8,StiMeterHelper.ComboBox=M8,StiMeterHelper.DataFilter=N8,StiMeterHelper.DatePicker=O8,StiMeterHelper.NumberBox=P8,StiMeterHelper.Gauge=Q8,StiMeterHelper.Indicator=R8,StiMeterHelper.ListBox=S8,StiMeterHelper.OnlineMap=T8,StiMeterHelper.Pivot=U8,StiMeterHelper.Progress=V8,StiMeterHelper.RegionMap=W8,StiMeterHelper.Table=X8,StiMeterHelper.Cards=Z8,StiMeterHelper.TreeView=$8,StiMeterHelper.TreeViewBox=_8,StiMeterHelper.Text=Y8,__.h.StiMeterHelper=StiMeterHelper}__.F.StiCardsItem=class{constructor(){this.cornerRadius=new StiCornerRadius(0),this.margin=new StiMargin(12,12,12,12),this.padding=new StiPadding(12,12,12,12),this.colorEach=!1}meta(){return[new StiObjectMeta("Margin").get(t=>this.margin.saveToJsonObject(12,12,12,12)),new StiObjectMeta("Padding").get(t=>this.padding.saveToJsonObject(12,12,12,12)),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiBoolMeta("ColorEach")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}isDefaultMargin(){return 12==this.margin.left&&12==this.margin.top&&12==this.margin.right&&12==this.margin.bottom}isDefaultPadding(){return 12==this.padding.left&&12==this.padding.top&&12==this.padding.right&&12==this.padding.bottom}};let IStiInteractionLayout=Stimulsoft.Report.Dashboard.IStiInteractionLayout,IStiShowBlanks=(__.g.StiCardsDashboardInteraction=class extends __.g.StiDashboardInteraction{implements(){let t=super.implements().concat([IStiJsonReportObject,IStiInteractionLayout]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiBoolMeta("ShowFullScreenButton","",!0),new StiBoolMeta("ShowSaveButton","",!0),new StiBoolMeta("ShowViewDataButton","",!0)]}get isDefaultLayout(){return this.showFullScreenButton&&this.showSaveButton&&this.showViewDataButton&&null==this.fileName&&null==this.headerText&&null==this.footerText}isDefault(){return this.isDefaultLayout}constructor(t,e,i){super(),this.ident=StiInteractionIdent.Cards,this.availableOnClick=StiAvailableInteractionOnClick.None,this.availableOnHover=StiAvailableInteractionOnHover.None,this.showFullScreenButton=!0,this.showSaveButton=!0,this.showViewDataButton=!0,this.fileName=null,this.headerText=null,this.footerText=null,null!=t&&(this.showFullScreenButton=t),null!=e&&(this.showSaveButton=e),null!=i&&(this.showViewDataButton=i)}},Stimulsoft.Report.Components.IStiShowBlanks),StiCardsDashboardInteraction=__.g.StiCardsDashboardInteraction,StiMeterHelper=__.h.StiMeterHelper,StiReportObjectStringConverter=Stimulsoft.System.Text.StiReportObjectStringConverter,IStiSeriesColors=Stimulsoft.Report.Dashboard.IStiSeriesColors,StiCardsItem=__.F.StiCardsItem,StiMeterLoader=__.G.StiMeterLoader,StiItemOrientation=Stimulsoft.Report.Dashboard.StiItemOrientation,ImplementsIStiCardsElement=Stimulsoft.Report.Dashboard.ImplementsIStiCardsElement,ImplementsIStiElementLayout=Stimulsoft.Report.Dashboard.ImplementsIStiElementLayout,IStiElementLayout=Stimulsoft.Report.Dashboard.IStiElementLayout,StiElementLayout=Stimulsoft.Report.Dashboard.StiElementLayout,ImplementsIStiTitleElement=Stimulsoft.Report.Dashboard.ImplementsIStiTitleElement,StiUsedDataHelper=Stimulsoft.Data.Helpers.StiUsedDataHelper,IStiCardsElement=Stimulsoft.Report.Dashboard.IStiCardsElement,StiDataSortRule=Stimulsoft.Data.Engine.StiDataSortRule,StiDataActionRule=Stimulsoft.Data.Engine.StiDataActionRule;{class StiCardsElement extends __.e.StiElement{implements(){let t=super.implements().concat([IStiCardsElement,IStiSimpleShadow,IStiTitleElement,IStiElementLayout,IStiElementInteraction,IStiCornerRadius,IStiSeriesColors,IStiGlobalizationProvider,IStiShowBlanks,...ImplementsIStiCardsElement,...ImplementsIStiTitleElement,...ImplementsIStiElementLayout,...ImplementsIStiCornerRadius,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(t){let e,i,r,l=super.clone(t);return l.transformActions=this.transformActions.select(t=>t.clone()).toList(),l.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),l.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),l.columns=this.columns.select(t=>t.clone()).toList(),l.dashboardInteraction=null==(e=this.dashboardInteraction)?void 0:e.clone(),l.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),l.title=null!=this.title?this.title.clone():null,l.seriesColors=null!=this.seriesColors?this.seriesColors.slice():null,l.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),l.shadow=null==(r=this.shadow)?void 0:r.clone(),l}meta(){return[...super.meta(),new StiObjectMeta("Columns").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.columns,t)).set(t=>this.columns.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value).as(StiCardsColumn)).where(t=>null!=t))).setXml(t=>this.columns.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)).filter(t=>null!=t))),new StiEnumMeta("Orientation","",StiItemOrientation,StiItemOrientation.Horizontal),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t)),new StiObjectMeta("Layout").check(()=>null!=this.layout).set(t=>this.layout=StiElementLayout.createFromJsonObject(t.value)).setXml(t=>this.layout=StiElementLayout.createFromXml(t)),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiNumberMeta("ColumnCount","",0),new StiStringNullOrEmptyMeta("Group"),new StiBoolMeta("CrossFiltering","",!0),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("Cards").get(t=>this.cards.saveToJsonObject(t)),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("SeriesColors").get(()=>StiJsonReportObjectHelper.Serialize.colorArray(this.seriesColors)).set(t=>this.seriesColors=StiJsonReportObjectHelper.Deserialize.colorArray(t.value)).setXml(t=>this.seriesColors=StiReportObjectStringConverter.convertStringToColorArray(t.textContent)),new StiBoolMeta("ShowBlanks"),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiCardsDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiCardsDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiCardsDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiEventMeta("ClickEvent")]}get toolboxPosition(){return StiComponentToolboxPosition.CardsElement}get localizedName(){return StiLocalization.get("Components","StiCards")}convertFrom(t){let e=t.fetchAllMeters();if(this.columns.clear(),null==e)return;e.cast().forEach(t=>{let e=null;t.is2(IStiDimensionMeter)?e=new StiDimensionCardsColumn:t.is2(IStiSparklinesColumn)?e=new __.F.StiSparklinesCardsColumn:t.is2(IStiDataBarsColumn)?e=new __.F.StiDataBarsCardsColumn:t.is2(IStiIndicatorColumn)?e=new __.F.StiIndicatorCardsColumn:t.is2(IStiColorScaleColumn)?e=new __.F.StiColorScaleCardsColumn:t.is2(IStiBubbleColumn)?e=new __.F.StiBubbleCardsColumn:t.is2(IStiMeasureMeter)&&((e=new StiMeasureCardsColumn).horAlignment=StiHorAlignment.Right),null!=e&&(e.loadFromJsonObject(t.saveToJsonObject(StiJsonSaveMode.Report)),this.columns.add(e))},this),null==this.dashboardInteraction&&(this.dashboardInteraction=new StiCardsDashboardInteraction)}createMeters(t){let e=t.as(StiCardsElement);this.columns.clear();for(let t of e.columns)this.columns.add(t)}createMeters2(e){this.columns.clear();for(let t of e.columns.list)null!=t&&null!=t.type&&Type.isNumericType(t.type)?this.columns.add(StiMeterHelper.Cards.getMeasure2(t)):this.columns.add(StiMeterHelper.Cards.getDimension2(t))}createMeter(t){let e=t.as(StiDataColumn),i=t.as(StiVariable),r=null!=e?e.type:null==i?void 0:i.type;if(null!=r&&Type.isNumericType(r)){let t=StiMeterHelper.Cards.getMeasure2(e);this.columns.add(t)}else this.columns.add(StiMeterHelper.Cards.getDimension2(t))}removeMeter(t){t<this.columns.length&&this.columns.removeAt(t)}removeAllMeters(){this.columns.clear()}insertMeter(t,e){let i=e.as(StiCardsColumn);if(null==i)return;0<=t&&t<this.columns.length?this.columns.insert(t,i):this.columns.add(i)}insertNewDimension(t){let e=new StiDimensionCardsColumn;e.horAlignment=StiHorAlignment.Left,this.insertMeter(t,e)}insertNewMeasure(t){let e=new StiMeasureCardsColumn;e.expression="Sum()",e.horAlignment=StiHorAlignment.Right,this.insertMeter(t,e)}getMeasure(t){return StiMeterHelper.Cards.getMeasure2(t)}getDimension(t){return StiMeterHelper.Cards.getDimension2(t)}getCards(){return this.cards}fetchAllMeters(){return this.columns.cast()}getMeters(){return this.columns.cast()}retrieveUsedDataNames(){return StiUsedDataHelper.getMany2(this.columns)}get isDefined(){return null!=this.columns&&0<this.columns.length}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text}throw new Error(`Property with name `+t)}getAllStrings(){let t=["Title.Text"];return t}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}getNestedPages(){let t,e,i=new List,r="";if(null!=this.dashboardInteraction&&this.dashboardInteraction.onClick==StiInteractionOnClick.ShowDashboard&&(r=null==(t=this.dashboardInteraction)?void 0:t.drillDownPageKey,StiKeyHelper.isKey(r))){let t=this.report.pages.toList().firstOrDefault(t=>t.guid==r);null!=t&&i.add(t)}for(let t of this.columns)if(null!=(null==t?void 0:t.dashboardInteraction)&&t.dashboardInteraction.onClick==StiInteractionOnClick.ShowDashboard&&(r=null==(e=null==t?void 0:t.dashboardInteraction)?void 0:e.drillDownPageKey,StiKeyHelper.isKey(r))){let t=this.report.pages.toList().firstOrDefault(t=>t.guid==r);null!=t&&i.add(t)}return 0==i.length?null:i.distinct()}constructor(t=Rectangle.empty){super(t),this.helpUrl="user-manual/dashboards_cards.htm",this.dataFilters=new List,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.dataTransformation={},this.group="",this.title=new __.e.StiTitle,this.crossFiltering=!0,this.shadow=new StiSimpleShadow,this.layout=new StiElementLayout,this.cornerRadius=new StiCornerRadius(0),this.showBlanks=!1,this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.seriesColors=[],this.orientation=StiItemOrientation.Horizontal,this.columns=new List,this.cards=new StiCardsItem,this.columnCount=0,this.title.text=this.localizedName,this.dashboardInteraction=new StiCardsDashboardInteraction}}__.F.StiCardsElement=StiCardsElement}{let t;(t=>{t[t["Value"]=0]="Value",t[t["PercentOfTotal"]=1]="PercentOfTotal",t[t["Category"]=2]="Category",t[t["CategoryValue"]=3]="CategoryValue",t[t["CategoryPercentOfTotal"]=4]="CategoryPercentOfTotal"})(t=__.H.StiChartLabelsStyle||(__.H.StiChartLabelsStyle={}));let e;(t=>{t[t["False"]=0]="False",t[t["Auto"]=1]="Auto",t[t["Always"]=2]="Always"})(e=__.H.StiLegendVisibility||(__.H.StiLegendVisibility={}))}__.H.StiChartAreaIndicator=class{implements(){let t=[IStiJsonReportObject,ICloneable];return(this.implements=()=>t)()}meta(){return[new StiObjectMeta("Value"),new StiObjectMeta("Title")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.value=this.value.clone(),t.title=this.title.clone(),t}constructor(){this.value=new __.H.StiChartAreaIndicatorValue,this.title=new __.H.StiChartAreaIndicatorTitle}};let StiChartAreaIndicator=__.H.StiChartAreaIndicator,IStiChartArea=Stimulsoft.Report.Dashboard.IStiChartArea,StiLabelsPlacement=(__.H.StiChartArea=class{implements(){let t=[IStiChartArea,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiBoolMeta("ColorEach"),new StiBoolMeta("SideBySide","",!1,!0),new StiObjectMeta("GridLinesHor"),new StiObjectMeta("GridLinesVert"),new StiObjectMeta("InterlacingHor"),new StiObjectMeta("InterlacingVert"),new StiBoolMeta("ReverseHor"),new StiBoolMeta("ReverseVert"),new StiObjectMeta("XAxis").check(()=>!1),new StiObjectMeta("XTopAxis").check(()=>!1),new StiObjectMeta("YAxis").check(()=>!1),new StiObjectMeta("YRightAxis").check(()=>!1),new StiObjectMeta("Indicator"),new StiNumberMeta("HorSpacing","",6),new StiNumberMeta("VertSpacing","",6)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.gridLinesHor=null!=this.gridLinesHor?this.gridLinesHor.clone():null,t.gridLinesVert=null!=this.gridLinesVert?this.gridLinesVert.clone():null,t.interlacingHor=null!=this.interlacingHor?this.interlacingHor.clone():null,t.interlacingVert=null!=this.interlacingVert?this.interlacingVert.clone():null,t.indicator=null!=this.indicator?this.indicator.clone():null,t}get horSpacing(){return this._horSpacing}set horSpacing(t){0<=t&&(this._horSpacing=t)}get vertSpacing(){return this._vertSpacing}set vertSpacing(t){0<=t&&(this._vertSpacing=t)}constructor(t,e,i,r,l,n,o,s,a,u,S,m){this.sideBySide=!0,this.colorEach=!1,this.reverseHor=!1,this.reverseVert=!1,this.interlacingHor=new __.H.StiHorChartInterlacing,this.interlacingVert=new __.H.StiVertChartInterlacing,this.gridLinesHor=new __.H.StiHorChartGridLines,this.gridLinesVert=new __.H.StiVertChartGridLines,this.xAxis=new __.H.StiXChartAxis,this.xTopAxis=new __.H.StiXTopChartAxis,this.yAxis=new __.H.StiYChartAxis,this.yRightAxis=new __.H.StiYRightChartAxis,this.indicator=new StiChartAreaIndicator,this._horSpacing=6,this._vertSpacing=6,null!=t&&(this.colorEach=t),null!=e&&(this.reverseHor=e),null!=i&&(this.reverseVert=i),null!=r&&(this.gridLinesHor=r),null!=l&&(this.gridLinesVert=l),null!=l&&(this.interlacingHor=n),null!=o&&(this.interlacingVert=o),null!=s&&(this.xAxis=s),null!=a&&(this.yAxis=a),null!=u&&(this.xTopAxis=u),null!=S&&(this.yRightAxis=S),null!=m&&(this.indicator=m)}},__.H.StiChartAreaIndicatorTitle=class{constructor(){this.text="",this.color=Color.transparent}implements(){let t=[IStiJsonReportObject,ICloneable];return(this.implements=()=>t)()}meta(){return[new StiStringMeta("Text"),new StiColorMeta("Color","",Color.transparent)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t}},__.H.StiChartAreaIndicatorValue=class{constructor(){this.color=Color.transparent}implements(){let t=[IStiJsonReportObject,ICloneable];return(this.implements=()=>t)()}meta(){return[new StiColorMeta("Color","",Color.transparent)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t}},Stimulsoft.Report.Chart.StiLabelsPlacement),StiChartAxisLabels=(__.H.StiChartAxisLabels=class{implements(){let t=[ICloneable,IStiFont,...ImplementsIStiFont,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiNumberMeta("Angle","",0),new StiStringNullOrEmptyMeta("TextBefore"),new StiStringNullOrEmptyMeta("TextAfter"),new StiFontMeta("Font","","Arial",8),new StiEnumMeta("Placement","",StiLabelsPlacement,StiLabelsPlacement.AutoRotation),new StiColorMeta("Color","",Color.transparent),new StiEnumMeta("TextAlignment","",StiHorAlignment,StiHorAlignment.Right),new StiNumberMeta("Step","",0),new StiBoolMeta("WordWrap"),new StiNumberMeta("Width")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.font=this.font.clone(),t}constructor(t,e,i,r,l,n,o,s,a){this.angle=0,this.color=Color.transparent,this.font=new Font("Arial",8),this.placement=StiLabelsPlacement.AutoRotation,this.textAlignment=StiHorAlignment.Right,this.textAfter="",this.textBefore="",this.step=0,this.wordWrap=!1,this.width=0,null!=t&&(this.textBefore=t),null!=e&&(this.textAfter=e),null!=i&&(this.angle=i),null!=r&&(this.font=r),null!=l&&(this.placement=l),null!=n&&(this.color=n),null!=o&&(this.textAlignment=o),null!=s&&(this.width=s),null!=a&&(this.wordWrap=a)}},__.H.StiChartAxisLabels),StiTitlePosition=(__.H.StiChartAxis=class{implements(){let t=[IStiJsonReportObject,ICloneable];return(this.implements=()=>t)()}is(t){if(t instanceof Stimulsoft.System.Interface)return-1!=this.implements().indexOf(t);if("function"==typeof t)return this instanceof t;if(null==t)throw new Error("Type for comparison is 'undefined'");return!1}is2(t){return this.is(t)}as(t){if(this.is(t))return this;return null}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.labels=this.labels.clone(),t.range=this.range.clone(),t}meta(){return[new StiObjectMeta("Labels").check(()=>null!=this.labels),new StiObjectMeta("Range").check(()=>null!=this.range),new StiBoolMeta("Visible","",!0)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}constructor(t,e,i){this.labels=new StiChartAxisLabels,this.range=new __.H.StiChartAxisRange,this.visible=!0,null!=t&&(this.labels=t),null!=e&&(this.range=e),null!=i&&(this.visible=i)}},__.H.StiChartAxisRange=class{implements(){let t=[IStiJsonReportObject,ICloneable];return(this.implements=()=>t)()}meta(){return[new StiNumberMeta("Minimum","",0),new StiNumberMeta("Maximum","",0),new StiBoolMeta("Auto","",!0)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}get minimum(){return this._minimum}set minimum(t){this._minimum=t}constructor(t,e,i){this._minimum=0,this.maximum=0,this.auto=!0,null!=t&&(this.auto=t),null!=e&&(this.minimum=e),null!=i&&(this.maximum=i)}},Stimulsoft.Report.Chart.StiTitlePosition),FontStyle=Stimulsoft.System.Drawing.FontStyle,StringAlignment=Stimulsoft.System.Drawing.StringAlignment;{let t;(t=>{t[t["Alignment"]=1]="Alignment",t[t["Color"]=2]="Color",t[t["Direction"]=3]="Direction",t[t["Font"]=4]="Font",t[t["Placement"]=5]="Placement",t[t["Position"]=6]="Position",t[t["Text"]=7]="Text",t[t["Visible"]=8]="Visible"})(t=__.H.Order||(__.H.Order={})),__.H.StiChartAxisTitle=class{implements(){let t=[IStiJsonReportObject];return(this.implements=()=>t)()}is(t){if(t instanceof Stimulsoft.System.Interface)return-1!=this.implements().indexOf(t);if("function"==typeof t)return this instanceof t;if(null==t)throw new Error("Type for comparison is 'undefined'");return!1}is2(t){return this.is(t)}as(t){if(this.is(t))return this;return null}meta(){return[new StiFontMeta("Font","","Arial",12,FontStyle.Bold),new StiStringNullOrEmptyMeta("Text"),new StiColorMeta("Color","",Color.transparent),new StiEnumMeta("Alignment","",StringAlignment,StringAlignment.Center),new StiEnumMeta("Position","",StiTitlePosition,StiTitlePosition.Outside),new StiBoolMeta("Visible","",!0)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.font=this.font.clone(),t}constructor(t,e,i,r,l,n){this.visible=!0,this.alignment=StringAlignment.Center,this.color=Color.transparent,this.font=new Font("Arial",12,FontStyle.Bold),this.position=StiTitlePosition.Outside,this.text="",null!=t&&(this.font=t),null!=e&&(this.text=e),null!=i&&(this.color=i),null!=r&&(this.alignment=r),null!=l&&(this.position=l),null!=n&&(this.visible=n)}}}let StiConstantLines_StiTextPosition=Stimulsoft.Report.Chart.StiConstantLines_StiTextPosition,IStiChartConstantLines=Stimulsoft.Report.Dashboard.IStiChartConstantLines;{class Pq{implements(){let t=[ICloneable,IStiChartConstantLines,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiStringNullOrEmptyMeta("Text"),new StiColorMeta("LineColor"),new StiEnumMeta("LineStyle","",StiPenStyle,StiPenStyle.Solid),new StiNumberMeta("LineWidth","",1),new StiStringMeta("AxisValue","","1"),new StiEnumMeta("Position","",StiConstantLines_StiTextPosition,StiConstantLines_StiTextPosition.LeftTop)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}static createFromJson(t){let e=new Pq;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new Pq;return e.loadFromXml(t),e}constructor(t,e,i,r,l,n){this.text="",this.lineStyle=StiPenStyle.Solid,this.lineColor=Color.black,this.axisValue="1",this.lineWidth=1,this.position=StiConstantLines_StiTextPosition.LeftTop,null!=t&&(this.text=t),null!=e&&(this.axisValue=e),null!=i&&(this.lineColor=i),null!=r&&(this.lineStyle=r),null!=l&&(this.lineWidth=l),null!=n&&(this.position=n)}}__.H.StiChartConstantLines=Pq}let StiMarkerType=Stimulsoft.Report.Chart.StiMarkerType,StiExtendedStyleBool=Stimulsoft.Report.Chart.StiExtendedStyleBool,StiSeriesLabelsValueType=(__.H.StiChartMarker=class{implements(){let t=[ICloneable,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiNumberMeta("Size","",7),new StiNumberMeta("Angle","",0),new StiEnumMeta("Type","",StiMarkerType,StiMarkerType.Circle),new StiEnumMeta("Visible","",StiExtendedStyleBool,StiExtendedStyleBool.FromStyle)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}static createFromJson(t){let e=new __.H.StiChartConstantLines;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new __.H.StiChartConstantLines;return e.loadFromXml(t),e}constructor(t){this.size=7,this.angle=0,this.type=StiMarkerType.Circle,this.visible=StiExtendedStyleBool.FromStyle,null!=t&&(this.size=t)}},__.H.StiChartLegendTitle=class{meta(){return[new StiFontMeta("Font","","Arial",12,FontStyle.Bold),new StiStringNullOrEmptyMeta("Text"),new StiColorMeta("Color","",Color.transparent)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.font=this.font.clone(),t}constructor(t,e,i){this.color=Color.transparent,this.font=new Font("Arial",12,FontStyle.Bold),this.text="",null!=t&&(this.font=t),null!=e&&(this.text=e),null!=i&&(this.color=i)}},Stimulsoft.Report.Chart.StiSeriesLabelsValueType),StiLegendDirection=(__.H.StiChartLegendLabels=class{implements(){let t=[ICloneable,IStiFont,...ImplementsIStiFont,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiFontMeta("Font","","Arial",8),new StiColorMeta("Color","",Color.transparent),new StiEnumMeta("ValueType","",StiSeriesLabelsValueType)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.font=this.font.clone(),t}constructor(t,e,i){this.color=Color.transparent,this.font=new Font("Arial",8),this.valueType=null,null!=t&&(this.font=t),null!=e&&(this.color=e),null!=i&&(this.valueType=i)}},Stimulsoft.Report.Chart.StiLegendDirection),StiChartLegendTitle=__.H.StiChartLegendTitle,StiChartLegendLabels=__.H.StiChartLegendLabels,StiLegendVertAlignment=Stimulsoft.Report.Chart.StiLegendVertAlignment,StiLegendHorAlignment=Stimulsoft.Report.Chart.StiLegendHorAlignment;{let t;(t=>{t[t["HorAlignment"]=1]="HorAlignment",t[t["Labels"]=2]="Labels",t[t["Title"]=3]="Title",t[t["VertAlignment"]=4]="VertAlignment"})(t=__.H.Order||(__.H.Order={})),__.H.StiChartLegend=class{implements(){let t=[IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiObjectMeta("Title"),new StiObjectMeta("Labels"),new StiEnumMeta("HorAlignment","",StiLegendHorAlignment,StiLegendHorAlignment.Left),new StiEnumMeta("VertAlignment","",StiLegendVertAlignment,StiLegendVertAlignment.TopOutside),new StiBoolMeta("Visible","",!0),new StiEnumMeta("Visibility","",__.H.StiLegendVisibility,__.H.StiLegendVisibility.Auto),new StiEnumMeta("Direction","",StiLegendDirection,StiLegendDirection.TopToBottom),new StiNumberMeta("Columns")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.title=this.title.clone(),t.labels=this.labels.clone(),t.horAlignment=this.horAlignment,t.vertAlignment=this.vertAlignment,t.visible=this.visible,t.direction=this.direction,t.columns=this.columns,t.visibility=this.visibility,t}get visible(){return this.visibility==__.H.StiLegendVisibility.Auto}set visible(t){this.visibility=t?__.H.StiLegendVisibility.Auto:__.H.StiLegendVisibility.False}constructor(t,e,i,r,l,n,o){this.horAlignment=StiLegendHorAlignment.Left,this.vertAlignment=StiLegendVertAlignment.TopOutside,this.visibility=__.H.StiLegendVisibility.Auto,this.direction=StiLegendDirection.TopToBottom,this.columns=0,this.labels=new StiChartLegendLabels,this.title=new StiChartLegendTitle,null!=t&&(this.title=t),null!=e&&(this.labels=e),null!=i&&(this.horAlignment=i),null!=r&&(this.vertAlignment=r),null!=l&&(this.visibility=l),null!=n&&(this.direction=n),null!=o&&(this.columns=o)}}}let StiDirection=Stimulsoft.Report.Chart.StiDirection,StiYChartAxisTitle=(__.H.StiYChartAxisTitle=class extends __.H.StiChartAxisTitle{meta(){return[...super.meta(),new StiEnumMeta("Direction","",StiDirection,StiDirection.BottomToTop)]}constructor(t,e,i,r,l,n,o){super(t,e,i,r,n,o),this.direction=StiDirection.BottomToTop,null!=l&&(this.direction=l)}},__.H.StiYChartAxisTitle),StiAutoBool=(__.H.StiYChartAxis=class extends __.H.StiChartAxis{clone(){let t,e=super.clone();return e.title=this.title.clone(),e.range=null==(t=this.range)?void 0:t.clone(),e}meta(){return[...super.meta(),new StiObjectMeta("Title"),new StiBoolMeta("StartFromZero","",!0)]}constructor(t,e,i,r){super(t),this.title=new StiYChartAxisTitle,this.startFromZero=!0,null!=t&&(this.labels=t),null!=e&&(this.title=e),null!=i&&(this.visible=i),null!=r&&(this.startFromZero=r)}},Stimulsoft.Base.StiAutoBool),IStiChartDashboardInteraction=(__.H.StiXChartAxis=class extends __.H.StiChartAxis{clone(){let t=super.clone();return t.title=this.title.clone(),t}meta(){return[...super.meta(),new StiObjectMeta("Title").check(()=>null!=this.title),new StiEnumMeta("ShowEdgeValues","",StiAutoBool,StiAutoBool.Auto),new StiEnumMeta("StartFromZero","",StiAutoBool,StiAutoBool.Auto)]}constructor(t,e,i,r,l){super(t),this.title=new __.H.StiXChartAxisTitle,this.showEdgeValues=StiAutoBool.Auto,this.startFromZero=StiAutoBool.Auto,null!=t&&(this.labels=t),null!=e&&(this.title=e),null!=i&&(this.visible=i),null!=r&&(this.startFromZero=r),null!=l&&(this.showEdgeValues=l)}},Stimulsoft.Report.Dashboard.IStiChartDashboardInteraction),StiInteractionViewsState=Stimulsoft.Report.Dashboard.StiInteractionViewsState,IStiAllowUserSortingDashboardInteraction=Stimulsoft.Report.Dashboard.IStiAllowUserSortingDashboardInteraction,IStiAllowUserDrillDownDashboardInteraction=Stimulsoft.Report.Dashboard.IStiAllowUserDrillDownDashboardInteraction,IStiDrillDownElement=(__.g.StiChartDashboardInteraction=class extends __.g.StiDashboardInteraction{implements(){let t=super.implements().concat([IStiChartDashboardInteraction,IStiAllowUserDrillDownDashboardInteraction,IStiAllowUserSortingDashboardInteraction,IStiJsonReportObject,IStiInteractionLayout]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiBoolMeta("AllowUserDrillDown"),new StiBoolMeta("AllowUserSorting","",!0),new StiBoolMeta("ShowFullScreenButton","",!0),new StiBoolMeta("ShowSaveButton","",!0),new StiBoolMeta("ShowViewDataButton","",!0),new StiStringNullOrEmptyMeta("FileName"),new StiStringNullOrEmptyMeta("HeaderText"),new StiStringNullOrEmptyMeta("FooterText"),new StiEnumMeta("ViewsState","",StiInteractionViewsState,StiInteractionViewsState.OnHover)]}get isDefaultLayout(){return this.showFullScreenButton&&this.showSaveButton&&this.showViewDataButton&&null==this.fileName&&null==this.headerText&&null==this.footerText}isDefault(){return this.onHover==StiInteractionOnHover.ShowToolTip&&this.onClick==StiInteractionOnClick.ApplyFilter&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)&&!this.allowUserDrillDown&&this.allowUserSorting&&this.isDefaultLayout}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d){super(t,e,i,r,l,n,o),this.ident=StiInteractionIdent.Chart,this.allowUserDrillDown=!1,this.allowUserSorting=!0,this.availableOnClick=StiAvailableInteractionOnClick.ApplyFilter|StiAvailableInteractionOnClick.OpenHyperlink|StiAvailableInteractionOnClick.ShowDashboard|StiAvailableInteractionOnClick.DrillDown,this.availableOnDataManipulation=StiAvailableInteractionOnDataManipulation.AllowDrillDown|StiAvailableInteractionOnDataManipulation.AllowSorting,this.viewsState=StiInteractionViewsState.OnHover,this.showFullScreenButton=!0,this.showSaveButton=!0,this.showViewDataButton=!0,this.fileName=null,this.headerText=null,this.footerText=null,null!=s&&(this.allowUserDrillDown=s),null!=a&&(this.fileName=a),null!=u&&(this.headerText=u),null!=S&&(this.footerText=S),null!=m&&(this.showFullScreenButton=m),null!=h&&(this.showSaveButton=h),null!=c&&(this.showViewDataButton=c),null!=d&&(this.viewsState=d)}},Stimulsoft.Data.Engine.IStiDrillDownElement),StiChartTrendLineType=(__.g.StiDrillDownHelper=class{static isDrillAvailable(t){let e=t.is(IStiElementInteraction)?t.dashboardInteraction.as(IStiAllowUserDrillDownDashboardInteraction):null;if(null==e||!e.allowUserDrillDown)return!1;let i=t.as(IStiDrillDownElement);return null!=i}static isDrillUpAvailable(t){if(!this.isDrillAvailable(t))return!1;let e=t.as(IStiDrillDownElement);return 0<e.drillDownCurrentLevel}static isDrillDownAvailable(t){if(!this.isDrillAvailable(t))return!1;let e=t.as(IStiDrillDownElement);return e.drillDownCurrentLevel<e.drillDownLevelCount-1}static drillUp(t){let e=t.as(IStiDrillDownElement);e.drillDownCurrentLevel--,e.drillDownFilters=e.drillDownFiltersList[e.drillDownCurrentLevel],e.drillDownFiltersList.removeAt(e.drillDownFiltersList.length-1)}static drillDown(t,e=null){let i=t.as(IStiDrillDownElement);i.drillDownFiltersList.add(i.drillDownFilters),i.drillDownFilters=e,i.drillDownCurrentLevel++}},Stimulsoft.Report.Dashboard.StiChartTrendLineType);{class StiChartTrendLine{implements(){let t=[ICloneable,IStiChartConstantLines,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiStringNullOrEmptyMeta("KeyValueMeter"),new StiEnumMeta("Type","",StiChartTrendLineType,StiChartTrendLineType.None),new StiEnumMeta("LineStyle","",StiPenStyle,StiPenStyle.Solid),new StiColorMeta("LineColor","",Color.black),new StiNumberMeta("LineWidth","",1)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}static createFromJson(t){let e=new StiChartTrendLine;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new StiChartTrendLine;return e.loadFromXml(t),e}constructor(t,e,i,r,l){this.type=StiChartTrendLineType.None,this.lineStyle=StiPenStyle.Solid,this.lineColor=Color.black,this.lineWidth=1,null!=t&&(this.keyValueMeter=t),null!=e&&(this.type=e),null!=i&&(this.lineColor=i),null!=r&&(this.lineStyle=r),null!=l&&(this.lineWidth=l)}}__.H.StiChartTrendLine=StiChartTrendLine}let StiColumnShape3D=Stimulsoft.Report.Chart.StiColumnShape3D,StiPie3dOptions=Stimulsoft.Report.Chart.StiPie3dOptions,StiDataMode=Stimulsoft.Report.StiDataMode,StiUserViewState=Stimulsoft.Report.Dashboard.StiUserViewState,IStiUserViewStates=Stimulsoft.Report.Dashboard.IStiUserViewStates,StiChartSeriesCreator=Stimulsoft.Report.Dashboard.StiChartSeriesCreator,StiChartMarker=__.H.StiChartMarker,StiDrillDownHelper=__.g.StiDrillDownHelper,StiChartDashboardInteraction=__.g.StiChartDashboardInteraction,IStiNegativeSeriesColors=Stimulsoft.Report.Dashboard.IStiNegativeSeriesColors,IStiParetoSeriesColors=Stimulsoft.Report.Dashboard.IStiParetoSeriesColors,ImplementsIStiSeriesColors=Stimulsoft.Report.Dashboard.ImplementsIStiSeriesColors,ImplementsIStiNegativeSeriesColors=Stimulsoft.Report.Dashboard.ImplementsIStiNegativeSeriesColors,ImplementsIStiParetoSeriesColors=Stimulsoft.Report.Dashboard.ImplementsIStiParetoSeriesColors,ImplementsIStiUserViewStates=Stimulsoft.Report.Dashboard.ImplementsIStiUserViewStates,ImplementsIStiSkipOwnFilter=Stimulsoft.Report.Dashboard.ImplementsIStiSkipOwnFilter,ImplementsIStiChartElement=Stimulsoft.Report.Dashboard.ImplementsIStiChartElement,StiChartLegend=__.H.StiChartLegend,StiTitle=__.e.StiTitle,StiChartGroups=Stimulsoft.Report.Dashboard.StiChartGroups,IStiChartElement=Stimulsoft.Report.Dashboard.IStiChartElement,ImplementsIStiDrillDownElement=Stimulsoft.Data.Engine.ImplementsIStiDrillDownElement,StiChartTrendLine=__.H.StiChartTrendLine,IStiShowNullsSeries=Stimulsoft.Report.Chart.IStiShowNullsSeries;{let e=Stimulsoft.Report.Components.StiTextFormatState;StiExportToolAttribute.add("StiChartElement","Stimulsoft.Dashboard.Export.Tools.StiChartElementExportTool");class StiChartElement extends __.e.StiElement{implements(){let t=super.implements().concat([IStiChartElement,IStiSimpleShadow,IStiCornerRadius,IStiUserViewStates,IStiSkipOwnFilter,IStiTitleElement,IStiElementLayout,IStiGlobalizationProvider,IStiSeriesColors,IStiNegativeSeriesColors,IStiParetoSeriesColors,IStiShowBlanks,...ImplementsIStiChartElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiUserViewStates,...ImplementsIStiSkipOwnFilter,...ImplementsIStiTitleElement,...ImplementsIStiElementLayout,...ImplementsIStiSeriesColors,...ImplementsIStiNegativeSeriesColors,...ImplementsIStiParetoSeriesColors,...ImplementsIStiDrillDownElement,IStiJsonReportObject,IStiElementInteraction,IStiDrillDownElement]);return(this.implements=()=>t)()}clone(t){let e,i,r,l,n,o=super.clone(t),s=(o.values=this.values.select(t=>t.clone()).toList(),o.endValues=this.endValues.select(t=>t.clone()).toList(),o.closeValues=this.closeValues.select(t=>t.clone()).toList(),o.lowValues=this.lowValues.select(t=>t.clone()).toList(),o.highValues=this.highValues.select(t=>t.clone()).toList(),o.arguments=this.arguments.select(t=>t.clone()).toList(),o.weights=this.weights.select(t=>t.clone()).toList(),o.xValues=this.xValues.select(t=>t.clone()).toList(),o.yValues=this.yValues.select(t=>t.clone()).toList(),o.series=null!=this.series?this.series.clone():null,o.sortBy=null!=this.sortBy?this.sortBy.clone():null,o.indicatorValue=null==(e=this.indicatorValue)?void 0:e.clone(),o.userFilters=this.userFilters.select(t=>t.clone()).toList(),o.userSorts=this.userSorts.select(t=>t.clone()).toList(),o.userViewStates=this.userViewStates.select(t=>t.clone()).toList(),o.transformActions=this.transformActions.select(t=>t.clone()).toList(),o.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),o.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),o.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),o.topN=this.topN.clone(),o.argumentFormat=null!=this.argumentFormat?this.argumentFormat.clone():null,o.valueFormat=null!=this.valueFormat?this.valueFormat.clone():null,o.title=null!=this.title?this.title.clone():null,o.layout=null!=this.layout?this.layout.clone():null,o.dashboardInteraction=this.dashboardInteraction.clone(),o.xAxis=null!=this.xAxis?this.xAxis.clone():null,o.xTopAxis=null==(i=this.xTopAxis)?void 0:i.clone(),o.yAxis=null!=this.yAxis?this.yAxis.clone():null,o.yRightAxis=null==(r=this.yRightAxis)?void 0:r.clone(),o.legend=null!=this.legend?this.legend.clone():null,o.area=null!=this.area?this.area.clone():null,o.seriesColors=null!=this.seriesColors?this.seriesColors.slice():null,o.negativeSeriesColors=null!=this.negativeSeriesColors?this.negativeSeriesColors.slice():null,o.paretoSeriesColors=null!=this.paretoSeriesColors?this.paretoSeriesColors.slice():null,o.marker=null!=this.marker?this.marker.clone():null,o.constantLines=this.constantLines.select(t=>t.clone()).toList(),o.strips=this.strips.select(t=>t.clone()).toList(),o.trendLines=this.trendLines.select(t=>t.clone()).toList(),o.chartConditions=this.chartConditions.select(t=>t.clone()).toList(),{}),a=this.getMeters(),u=o.getMeters();for(let i=0;i<a.length;i++){let t=a[i].key,e=u[i].key;s[t]=e}for(let t of o.chartConditions)t.keyValueMeter in s.hasOwnProperty&&(t.keyValueMeter=s[t.keyValueMeter]);return o.shadow=null==(l=this.shadow)?void 0:l.clone(),o.cornerRadius=null==(n=this.cornerRadius)?void 0:n.clone(),o}meta(){return[...super.meta(),new StiObjectMeta("UserFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userFilters,t)).set(t=>this.userFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.userFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("UserSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userSorts,t)).set(t=>this.userSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.userSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("Values").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.values,t)).set(t=>this.values.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.values.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("EndValues").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.endValues,t)).set(t=>this.endValues.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.endValues.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("CloseValues").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.closeValues,t)).set(t=>this.closeValues.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.closeValues.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("LowValues").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.lowValues,t)).set(t=>this.lowValues.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.lowValues.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("HighValues").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.highValues,t)).set(t=>this.highValues.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.highValues.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("Arguments").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.arguments,t)).set(t=>this.arguments.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.arguments.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("Weights").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.weights,t)).set(t=>this.weights.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.weights.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("XValues").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.xValues,t)).set(t=>this.xValues.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.xValues.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("YValues").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.yValues,t)).set(t=>this.yValues.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.yValues.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("UserViewStates").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userViewStates,t)).set(t=>this.userViewStates.addRange(t.value.properties().select(t=>StiUserViewState.loadFromJson(t.value)))).setXml(t=>this.userViewStates.addRange(t.childNodes.map(t=>StiUserViewState.loadFromXml(t)))),new StiBoolMeta("ColorEach"),new StiBoolMeta("ShowViewTitle"),new StiBoolMeta("CrossFiltering","",!0),new StiObjectMeta("TopN").check(()=>null!=this.topN).set(t=>this.topN=StiDataTopN.createFromJsonObject(t.value)).setXml(t=>this.topN=StiDataTopN.createFromXml(t)),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiChartDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiChartDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiChartDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=StiTitle.createFromXml(t)),new StiObjectMeta("Layout").check(()=>null!=this.layout).set(t=>this.layout=StiElementLayout.createFromJsonObject(t.value)).setXml(t=>this.layout=StiElementLayout.createFromXml(t)),new StiObjectMeta("ManuallyEnteredChartMeter").check(()=>null!=this.manuallyEnteredChartMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.H.StiValueChartMeter);null!=e&&(this.manuallyEnteredChartMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.H.StiValueChartMeter);null!=e&&(this.manuallyEnteredChartMeter=e)}),new StiObjectMeta("Series").check(()=>null!=this.series).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(StiSeriesChartMeter);null!=e&&(this.series=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(StiSeriesChartMeter);null!=e&&(this.series=e)}),new StiObjectMeta("SortBy").check(()=>null!=this.sortBy).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.H.StiSortByChartMeter);null!=e&&(this.sortBy=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.H.StiSortByChartMeter);null!=e&&(this.sortBy=e)}),new StiObjectMeta("IndicatorValue").check(()=>null!=this.indicatorValue).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.H.StiIndicatorValueChartMeter);null!=e&&(this.indicatorValue=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.H.StiIndicatorValueChartMeter);null!=e&&(this.indicatorValue=e)}),new StiObjectMeta("ArgumentFormat").check(()=>null!=this.argumentFormat).set(t=>this.argumentFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.argumentFormat=StiFormatService.loadFormatFromXml(t,this.report)),new StiObjectMeta("ValueFormat").check(()=>null!=this.valueFormat).set(t=>this.valueFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.valueFormat=StiFormatService.loadFormatFromXml(t,this.report)),new StiObjectMeta("XAxis").check(()=>null!=this.xAxis),new StiObjectMeta("XTopAxis").check(()=>null!=this.xTopAxis),new StiObjectMeta("YAxis").check(()=>null!=this.yAxis),new StiObjectMeta("YRightAxis").check(()=>null!=this.yRightAxis),new StiObjectMeta("Legend").check(()=>null!=this.legend),new StiObjectMeta("Area").check(()=>null!=this.area),new StiObjectMeta("Marker").check(()=>null!=this.marker),new StiObjectMeta("Labels").check(()=>null!=this.labels),new StiObjectMeta("Options3D").check(()=>null!=this.options3D),new StiObjectMeta("SeriesColors").get(()=>StiJsonReportObjectHelper.Serialize.colorArray(this.seriesColors)).set(t=>this.seriesColors=StiJsonReportObjectHelper.Deserialize.colorArray(t.value)).setXml(t=>this.seriesColors=StiReportObjectStringConverter.convertStringToColorArray(t.textContent)),new StiObjectMeta("NegativeSeriesColors").get(()=>StiJsonReportObjectHelper.Serialize.colorArray(this.negativeSeriesColors)).set(t=>this.negativeSeriesColors=StiJsonReportObjectHelper.Deserialize.colorArray(t.value)).setXml(t=>this.negativeSeriesColors=StiReportObjectStringConverter.convertStringToColorArray(t.textContent)),new StiObjectMeta("ParetoSeriesColors").get(()=>StiJsonReportObjectHelper.Serialize.colorArray(this.paretoSeriesColors)).set(t=>this.paretoSeriesColors=StiJsonReportObjectHelper.Deserialize.colorArray(t.value)).setXml(t=>this.paretoSeriesColors=StiReportObjectStringConverter.convertStringToColorArray(t.textContent)),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiObjectMeta("ConstantLines").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.constantLines,t)).set(t=>this.constantLines.addRange(t.value.properties().select(t=>__.H.StiChartConstantLines.createFromJson(t.value)))).setXml(t=>this.constantLines.addRange(t.childNodes.map(t=>__.H.StiChartConstantLines.createFromXml(t)))),new StiObjectMeta("Strips").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.strips,t)).set(t=>this.strips.addRange(t.value.properties().select(t=>__.H.StiChartStrips.createFromJson(t.value)))).setXml(t=>this.strips.addRange(t.childNodes.map(t=>__.H.StiChartStrips.createFromXml(t)))),new StiObjectMeta("TrendLines").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.trendLines,t)).set(t=>this.trendLines.addRange(t.value.properties().select(t=>StiChartTrendLine.createFromJson(t.value)))).setXml(t=>this.trendLines.addRange(t.childNodes.map(t=>StiChartTrendLine.createFromXml(t)))),new StiObjectMeta("ChartConditions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.chartConditions,t)).set(t=>this.chartConditions.addRange(t.value.properties().select(t=>__.H.StiChartElementCondition.createFromJson(t.value)))).setXml(t=>this.chartConditions.addRange(t.childNodes.map(t=>__.H.StiChartElementCondition.createFromXml(t)))),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiEnumMeta("DataMode","",StiDataMode,StiDataMode.UsingDataFields),new StiStringNullOrEmptyMeta("ManuallyEnteredData"),new StiEnumMeta("Icon","",StiFontIcons).check(()=>null!=this.icon),new StiBoolMeta("RoundValues","",!0),new StiStringNullOrEmptyMeta("SelectedViewStateKey").check(()=>null!=this.selectedViewStateKey),new StiEnumMeta("ColumnShape","",StiColumnShape3D,StiColumnShape3D.Box),new StiBoolMeta("ShowBlanks"),new StiEventMeta("ClickEvent")]}convertToBubble(){null!=this.arguments&&this.arguments.where(t=>null!=t).toList().forEach(t=>{t.expression=StiExpressionHelper.replaceFunction(t.expression,"Sum")})}convertFromBubble(){null!=this.arguments&&this.arguments.where(t=>null!=t).toList().forEach(t=>{t.expression=StiExpressionHelper.removeFunction(t.expression)}),null!=this.weights&&this.weights.clear()}convertToGantt(){var t;null!=this.values&&null!=(t=this.values)&&t.where(t=>null!=t).toList().forEach(t=>{t.expression=StiExpressionHelper.removeFunction(t.expression)})}getChartSeriesTypes(i){let r=new List;if(1<this.values.length){let t=Enum.parse(StiChartSeriesType,i),e=StiChartGroups.getGroup(t);if(null!=e)for(let t of e)r.add(Enum.getName(StiChartSeriesType,t))}return r}getManuallyEnteredChartMeter(){return this.manuallyEnteredChartMeter}addValue(t){null!=t&&this.values.add(StiMeterHelper.Chart.getValue2(t,this))}getValue2(t){return null!=t?StiMeterHelper.Chart.getValue2(t,this):null}getValue(t){return null!=t?StiMeterHelper.Chart.getValue(t.as(__.e.StiMeter)):null}getGanttStartValue(t){return null!=t?StiMeterHelper.Chart.getGanttStartValue(t):null}getGanttEndValue(t){return null!=t?StiMeterHelper.Chart.getGanttEndValue(t):null}getY(t){return null!=t?StiMeterHelper.Chart.getY2(t):null}getX(t){return null!=t?StiMeterHelper.Chart.getX2(t):null}fetchAllValues(){return this.values.cast().toList()}fetchAllXValues(){return this.xValues.cast().toList()}fetchAllYValues(){return this.yValues.cast().toList()}getValueByIndex(t){return t<this.values.length?this.values[t]:null}insertValue(t,e){let i=e.as(__.H.StiValueChartMeter);null!=i&&(0<=t&&t<this.values.length?this.values.insert(t,i):this.values.add(i))}removeValue(t){t<this.values.length&&this.values.removeAt(t)}removeAllValues(){this.values.clear()}createNewValue(){let t=new __.H.StiValueChartMeter;return t.expression="Sum()",this.values.add(t),t}addEndValue(t){null!=t&&this.endValues.add(StiMeterHelper.Chart.getEndValue2(t))}getEndValue2(t){return null!=t?StiMeterHelper.Chart.getEndValue2(t):null}getEndValue(t){return null!=t?StiMeterHelper.Chart.getEndValue(t.as(__.e.StiMeter)):null}getEndValueByIndex(t){return t<this.endValues.length?this.endValues[t]:null}insertEndValue(t,e){let i=e.as(StiEndValueChartMeter);null!=i&&(0<=t&&t<this.endValues.length?this.endValues.insert(t,i):this.endValues.add(i))}removeEndValue(t){t<this.endValues.length&&this.endValues.removeAt(t)}removeAllEndValues(){this.endValues.clear()}createNewEndValue(){let t=new StiEndValueChartMeter;return t.expression="Sum()",this.endValues.add(t),t}addCloseValue(t){null!=t&&this.closeValues.add(StiMeterHelper.Chart.getCloseValue2(t))}getCloseValue2(t){return null!=t?StiMeterHelper.Chart.getCloseValue2(t):null}getCloseValue(t){return null!=t?StiMeterHelper.Chart.getCloseValue(t.as(__.e.StiMeter)):null}getCloseValueByIndex(t){return t<this.closeValues.length?this.closeValues[t]:null}insertCloseValue(t,e){let i=e.as(StiCloseValueChartMeter);null!=i&&(0<=t&&t<this.closeValues.length?this.closeValues.insert(t,i):this.closeValues.add(i))}removeCloseValue(t){t<this.closeValues.length&&this.closeValues.removeAt(t)}removeAllCloseValues(){this.closeValues.clear()}createNewCloseValue(){let t=new StiCloseValueChartMeter;return t.expression="Sum()",this.closeValues.add(t),t}addLowValue(t){null!=t&&this.lowValues.add(StiMeterHelper.Chart.getLowValue2(t))}getLowValue2(t){return null!=t?StiMeterHelper.Chart.getLowValue2(t):null}getLowValue(t){return null!=t?StiMeterHelper.Chart.getLowValue(t.as(__.e.StiMeter)):null}getLowValueByIndex(t){return t<this.lowValues.length?this.lowValues[t]:null}insertLowValue(t,e){let i=e.as(StiLowValueChartMeter);null!=i&&(0<=t&&t<this.lowValues.length?this.lowValues.insert(t,i):this.lowValues.add(i))}removeLowValue(t){t<this.lowValues.length&&this.lowValues.removeAt(t)}removeAllLowValues(){this.lowValues.clear()}createNewLowValue(){let t=new StiLowValueChartMeter;return t.expression="Sum()",this.lowValues.add(t),t}addHighalue(t){null!=t&&this.highValues.add(StiMeterHelper.Chart.getHighValue2(t))}getHighValue2(t){return null!=t?StiMeterHelper.Chart.getHighValue2(t):null}getHighValue(t){return null!=t?StiMeterHelper.Chart.getHighValue(t.as(__.e.StiMeter)):null}getHighValueByIndex(t){return t<this.highValues.length?this.highValues[t]:null}insertHighValue(t,e){let i=e.as(StiHighValueChartMeter);null!=i&&(0<=t&&t<this.highValues.length?this.highValues.insert(t,i):this.highValues.add(i))}removeHighValue(t){t<this.highValues.length&&this.highValues.removeAt(t)}removeAllHighValues(){this.highValues.clear()}createNewHighValue(){let t=new StiHighValueChartMeter;return t.expression="Sum()",this.highValues.add(t),t}addXValue(t){null!=t&&this.xValues.add(StiMeterHelper.Chart.getXValue2(t))}getXValue2(t){return null!=t?StiMeterHelper.Chart.getXValue2(t):null}getXValue(t){return null!=t?StiMeterHelper.Chart.getXValue(t.as(__.e.StiMeter)):null}getXValueByIndex(t){return t<this.xValues.length?this.xValues[t]:null}insertXValue(t,e){let i=e.as(__.H.StiXChartMeter);null!=i&&(0<=t&&t<this.xValues.length?this.xValues.insert(t,i):this.xValues.add(i))}removeXValue(t){t<this.xValues.length&&this.xValues.removeAt(t)}removeAllXValues(){this.xValues.clear()}createNewXValue(){let t=new __.H.StiXChartMeter;return this.xValues.add(t),t}addYValue(t){null!=t&&this.xValues.add(StiMeterHelper.Chart.getYValue2(t))}getYValue2(t){return null!=t?StiMeterHelper.Chart.getYValue2(t):null}getYValue(t){return null!=t?StiMeterHelper.Chart.getYValue(t.as(__.e.StiMeter)):null}getYValueByIndex(t){return t<this.yValues.length?this.yValues[t]:null}insertYValue(t,e){let i=e.as(StiYChartMeter);null!=i&&(0<=t&&t<this.yValues.length?this.yValues.insert(t,i):this.yValues.add(i))}removeYValue(t){t<this.yValues.length&&this.yValues.removeAt(t)}removeAllYValues(){this.yValues.clear()}createNewYValue(){let t=new StiYChartMeter;return this.yValues.add(t),t}addArgument(t){null!=t&&this.arguments.add(StiMeterHelper.Chart.getArgument2(t))}getArgument2(t){return null!=t?StiMeterHelper.Chart.getArgument2(t):null}getArgument(t){return null!=t?StiMeterHelper.Chart.getArgument(t.as(__.e.StiMeter)):null}fetchAllArguments(){return this.arguments.cast().toList()}getArgumentByIndex(t){return t<this.arguments.length?this.arguments[t]:null}insertArgument(t,e){let i=e.as(StiArgumentChartMeter);null!=i&&(0<=t&&t<this.arguments.length?this.arguments.insert(t,i):this.arguments.add(i))}removeArgument(t){t<this.arguments.length&&this.arguments.removeAt(t)}removeAllArguments(){this.arguments.clear()}createNewArgument(){this.arguments.add(new StiArgumentChartMeter)}addWeight(t){null!=t&&this.weights.add(StiMeterHelper.Chart.getWeight2(t))}getWeight2(t){return null!=t?StiMeterHelper.Chart.getWeight2(t):null}getWeight(t){return null!=t?StiMeterHelper.Chart.getWeight(t.as(__.e.StiMeter)):null}getWeightByIndex(t){return t<this.weights.length?this.weights[t]:null}insertWeight(t,e){let i=e.as(StiWeightChartMeter);null!=i&&(0<=t&&t<this.weights.length?this.weights.insert(t,i):this.weights.add(i))}removeWeight(t){t<this.weights.length&&this.weights.removeAt(t)}removeAllWeights(){this.weights.clear()}createNewWeight(){let t=new StiWeightChartMeter;t.expression="Sum()",this.weights.add(t)}addSeries(t){this.series=null!=t?StiMeterHelper.Chart.getSeries2(t):null}getSeries2(t){return null!=t?StiMeterHelper.Chart.getSeries2(t):null}getSeries(t){return null!=t?StiMeterHelper.Chart.getSeries(t.as(__.e.StiMeter)):null}getSeries3(){return this.series}insertSeries(t){this.series=t.as(StiSeriesChartMeter)}removeSeries(){this.series=null}createNewSeries(){this.series=new StiSeriesChartMeter}addSortBy(t){this.sortBy=null!=t?StiMeterHelper.Chart.getSortBy2(t):null}getSortBy2(t){return null!=t?StiMeterHelper.Chart.getSortBy2(t):null}getSortBy(t){return null!=t?StiMeterHelper.Chart.getSortBy(t.as(__.e.StiMeter)):null}getSortBy3(){return this.sortBy}insertSortBy(t){this.sortBy=t.as(__.H.StiSortByChartMeter)}removeSortBy(){this.sortBy=null}createNewSortBy(){this.sortBy=new __.H.StiSortByChartMeter}addIndicatorValue(t){this.indicatorValue=null!=t?StiMeterHelper.Chart.getIndicatorValue2(t):null}getIndicatorValue2(t){return null!=t?StiMeterHelper.Chart.getIndicatorValue2(t):null}getIndicatorValue(t){return null!=t?StiMeterHelper.Chart.getIndicatorValue(t.as(__.e.StiMeter)):null}getIndicatorValue3(){return this.indicatorValue}insertIndicatorValue(t){this.indicatorValue=t.as(__.H.StiIndicatorValueChartMeter)}removeIndicatorValue(){this.indicatorValue=null}createNewIndicatorValue(){this.indicatorValue=new __.H.StiIndicatorValueChartMeter}fetchConstantLines(){let t=new List;return null!=this.constantLines&&t.addRange(this.constantLines),t}addConstantLine(){this.constantLines.add(new __.H.StiChartConstantLines)}removeConstantLine(t){0<=t&&t<this.constantLines.length&&this.constantLines.removeAt(t)}moveConstantLine(e,i){if(0<=e&&e<this.constantLines.length){let t=this.constantLines[e];this.constantLines.removeAt(e),this.constantLines.insert(i,t)}}fetchStrips(){let t=new List;return null!=this.strips&&t.addRange(this.strips),t}addStrip(){let t=new __.H.StiChartStrips;t.stripBrush=new StiSolidBrush(Color.fromArgb(100,250,240,150)),this.strips.add(t)}removeStrip(t){0<=t&&t<this.strips.length&&this.strips.removeAt(t)}moveStrip(e,i){if(0<=e&&e<this.strips.length){let t=this.strips[e];this.strips.removeAt(e),this.strips.insert(i,t)}}addTrendLines(t,e,i,r,l){this.trendLines.add(new StiChartTrendLine(t,e,i,r,l))}fetchTrendLines(){let t=new List;return null!=t&&t.addRange(this.trendLines),t}clearTrendLines(){this.trendLines.clear()}addChartCondition(t,e,i,r,l,n,o,s,a){this.chartConditions.add(new __.H.StiChartElementCondition(t,l,e,i,r,n,o,s,a))}fetchChartConditions(){let t=new List;return null!=this.chartConditions&&t.addRange(this.chartConditions),t}clearChartConditions(){this.chartConditions.clear()}convertFrom(t){let e=t.fetchAllMeters();if(this.values.clear(),this.arguments.clear(),null==e)return;e.where(t=>(t.is2(IStiValueMeter)||t.is2(IStiMeasureMeter))&&!t.is2(IStiSeriesMeter)).cast().forEach(t=>{let e=new __.H.StiValueChartMeter;e.loadFromJsonObject(t.saveToJsonObject(StiJsonSaveMode.Report)),this.values.add(e)},this),e.where(t=>t.is(IStiSeriesMeter)).cast().forEach(t=>{let e=new StiArgumentChartMeter;e.loadFromJsonObject(t.saveToJsonObject(StiJsonSaveMode.Report)),this.arguments.add(e)},this),null==this.dashboardInteraction&&(this.dashboardInteraction=new StiChartDashboardInteraction)}fetchAllMeters(){let t=new List;return this.dataMode==StiDataMode.UsingDataFields&&(null!=this.values&&t.addRange(this.values),null!=this.endValues&&t.addRange(this.endValues),null!=this.closeValues&&t.addRange(this.closeValues),null!=this.lowValues&&t.addRange(this.lowValues),null!=this.highValues&&t.addRange(this.highValues),null!=this.arguments&&t.addRange(this.arguments),null!=this.weights&&t.addRange(this.weights),null!=this.series&&t.add(this.series),null!=this.sortBy&&t.add(this.sortBy),null!=this.indicatorValue&&t.add(this.indicatorValue),null!=this.xValues&&t.addRange(this.xValues),null!=this.yValues)&&t.addRange(this.yValues),t}getMeters(){let r=new List;if(this.dataMode==StiDataMode.UsingDataFields){for(let i of this.values)if(this.isBubbleChart){let t=new StiYChartMeter;t.key=i.key,t.expression=i.expression,t.label=i.label,r.add(t)}else if(this.isFinancial){let t=new __.H.StiOpenValueChartMeter;t.seriesType=i.seriesType,t.key=i.key,t.expression=i.expression,t.label=i.label,r.add(t)}else if(this.isRange){let t=new __.H.StiStartValueChartMeter;t.seriesType=i.seriesType,t.key=i.key,t.expression=i.expression,t.label=i.label,t.lineStyle=i.lineStyle,t.showNulls=i.showNulls,r.add(t)}else if(i.showZeros==StiEmptyCellsAs.Zero&&i.showNulls==StiEmptyCellsAs.Zero||!StiChartSeriesCreator.neww2(i.seriesType).is(IStiShowNullsSeries))r.add(i);else{let t=StiExpressionHelper.getFunction(i.expression),e=null;if("sum"==(t=null!=t?t.toLowerCase():t)?e="sumnulls":"avg"==t&&(e="avgnulls"),null!=e){let t=i.clone();t.key=i.key,t.expression=StiExpressionHelper.replaceFunction(i.expression,e),r.add(t)}else r.add(i)}if(this.isRange)for(let t of this.endValues)r.add(t);if(this.isFinancial)for(let t of this.closeValues)r.add(t);if(this.isFinancial)for(let t of this.lowValues)r.add(t);if(this.isFinancial)for(let t of this.highValues)r.add(t);let t=StiDrillDownHelper.isDrillAvailable(this)&&this.drillDownCurrentLevel<this.drillDownLevelCount?this.arguments.getRange(this.drillDownCurrentLevel,1):this.arguments;for(let e of t)if(this.isBubbleChart){let t=new __.H.StiXChartMeter;t.key=e.key,t.expression=e.expression,t.label=e.label,r.add(t)}else r.add(e);if(this.isBubbleChart)for(let t of this.weights)r.add(t);if(null!=this.series&&r.add(this.series),null!=this.sortBy&&r.add(this.sortBy),null!=this.indicatorValue&&r.add(this.indicatorValue),this.isHeatmapChart)for(let t of this.xValues)r.add(t);if(this.isHeatmapChart)for(let t of this.yValues)r.add(t)}return r}retrieveUsedDataNames(){let t=new List;return this.dataMode==StiDataMode.UsingDataFields&&(t.addRange(StiUsedDataHelper.getMany2(this.values)),t.addRange(StiUsedDataHelper.getMany2(this.arguments)),t.addRange(StiUsedDataHelper.getMany2(this.weights)),t.addRange(StiUsedDataHelper.getMany(this.series)),t.addRange(StiUsedDataHelper.getMany(this.sortBy)),t.addRange(StiUsedDataHelper.getMany(this.indicatorValue)),t.addRange(StiUsedDataHelper.getMany2(this.xValues)),t.addRange(StiUsedDataHelper.getMany2(this.yValues))),t.distinct()}get isDefined(){return null!=this.values&&0<this.values.length||null!=this.weights&&0<this.weights.length&&this.isBubbleChart||null!=this.arguments&&0<this.arguments.length||null!=this.series||this.dataMode==StiDataMode.ManuallyEnteringData}get allowSkipOwnFilter(){return!0}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}get customStyleName(){return this._customStyleName}set customStyleName(t){this._customStyleName!=t&&(this._customStyleName=t,StiString.isNullOrWhiteSpace(t)||(this.style=StiElementStyleIdent.Custom))}switchSelectedViewState(t){__.H.StiChartUserViewStatesHelper.switchSelectedViewState(this,t)}saveToJsonForViewState(){return __.H.StiChartUserViewStatesHelper.saveToJsonObject(this)}loadFromJsonForViewState(t){__.H.StiChartUserViewStatesHelper.loadFromJsonObject(this,t)}setString(i,r){switch(i){case"Title.Text":this.title.text=r;break;case"Legend.Title.Text":this.legend.title.text=r;break;case"XAxis.Labels.TextAfter":this.xAxis.labels.textAfter=r;break;case"XAxis.Labels.TextBefore":this.xAxis.labels.textBefore=r;break;case"XAxis.Title.Text":this.xAxis.title.text=r;break;case"XTopAxis.Labels.TextAfter":this.xTopAxis.labels.textAfter=r;break;case"XTopAxis.Labels.TextBefore":this.xTopAxis.labels.textBefore=r;break;case"XTopAxis.Title.Text":this.xTopAxis.title.text=r;break;case"YAxis.Labels.TextAfter":this.yAxis.labels.textAfter=r;break;case"YAxis.Labels.TextBefore":this.yAxis.labels.textBefore=r;break;case"YAxis.Title.Text":this.yAxis.title.text=r;break;case"YRightAxis.Labels.TextAfter":this.yRightAxis.labels.textAfter=r;break;case"YRightAxis.Labels.TextBefore":this.yRightAxis.labels.textBefore=r;break;case"YRightAxis.Title.Text":this.yRightAxis.title.text=r;break}let l=0;for(let e of this.values){let t=`Value${l++}.Label`;i==t&&(e.label=r)}l=0;for(let e of this.arguments){let t=`Argument${l++}.Label`;i==t&&(e.label=r)}}getString(i){switch(i){case"Title.Text":return this.title.text;case"Legend.Title.Text":return this.legend.title.text;case"XAxis.Labels.TextAfter":return this.xAxis.labels.textAfter;case"XAxis.Labels.TextBefore":return this.xAxis.labels.textBefore;case"XAxis.Title.Text":return this.xAxis.title.text;case"XTopAxis.Labels.TextAfter":return this.xTopAxis.labels.textAfter;case"XTopAxis.Labels.TextBefore":return this.xTopAxis.labels.textBefore;case"XTopAxis.Title.Text":return this.xTopAxis.title.text;case"YAxis.Labels.TextAfter":return this.yAxis.labels.textAfter;case"YAxis.Labels.TextBefore":return this.yAxis.labels.textBefore;case"YAxis.Title.Text":return this.yAxis.title.text;case"YRightAxis.Labels.TextAfter":return this.yRightAxis.labels.textAfter;case"YRightAxis.Labels.TextBefore":return this.yRightAxis.labels.textBefore;case"YRightAxis.Title.Text":return this.yRightAxis.title.text}let r=0;for(let e of this.values){let t=`Value${r++}.Label`;if(i==t)return e.label}r=0;for(let e of this.arguments){let t=`Argument${r++}.Label`;if(i==t)return e.label}throw new Error(`Property with name `+i)}getAllStrings(){let e=["Title.Text","Legend.Title.Text"],i=(this.isAxisAreaChart&&(e.push("XAxis.Labels.TextAfter"),e.push("XAxis.Labels.TextBefore"),e.push("XAxis.Title.Text"),e.push("XTopAxis.Labels.TextAfter"),e.push("XTopAxis.Labels.TextBefore"),e.push("XTopAxis.Title.Text"),e.push("YAxis.Labels.TextAfter"),e.push("YAxis.Labels.TextBefore"),e.push("YAxis.Title.Text"),e.push("YRightAxis.Labels.TextAfter"),e.push("YRightAxis.Labels.TextBefore"),e.push("YRightAxis.Title.Text")),0);return this.values.forEach(t=>e.push(`Value${i++}.Label`)),i=0,this.arguments.forEach(t=>e.push(`Argument${i++}.Label`)),e}getFonts(){return StiFont.get(...super.getFonts(),this.title.font,this.labels.font,this.legend.labels.font,this.legend.title.font,this.xAxis.labels.font,this.xAxis.title.font,this.xTopAxis.labels.font,this.xTopAxis.title.font,this.yAxis.labels.font,this.yAxis.title.font,this.yRightAxis.labels.font,this.yRightAxis.title.font)}get toolboxPosition(){return StiComponentToolboxPosition.ChartElement}get localizedName(){return StiLocalization.get("Components","StiChart")}get colorEach(){return null!=this.area&&this.area.colorEach}set colorEach(t){null!=this.area&&(this.area.colorEach=t)}get xAxis(){var t;return null==(t=this.area)?void 0:t.xAxis}set xAxis(t){null!=this.area&&(this.area.xAxis=t)}get xTopAxis(){var t;return null==(t=this.area)?void 0:t.xTopAxis}set xTopAxis(t){null!=this.area&&(this.area.xTopAxis=t)}get yAxis(){var t;return null==(t=this.area)?void 0:t.yAxis}set yAxis(t){null!=this.area&&(this.area.yAxis=t)}get yRightAxis(){var t;return null==(t=this.area)?void 0:t.yRightAxis}set yRightAxis(t){null!=this.area&&(this.area.yRightAxis=t)}get labels(){return this._labels}set labels(t){null!=t&&(t.element=this),this._labels=t}static getValueFormatDefault(){let t=new StiNumberFormatService;return t.decimalDigits=0,t.state=e.DecimalDigits|e.Abbreviation,t}getManuallyEnteredDataTable(){if(this.dataMode!=StiDataMode.ManuallyEnteringData)return null;return __.e.StiManuallyEnteredDataParser.getChartDataTable(this.manuallyEnteredData,this)}get isAxisAreaChart(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.ClusteredBar||t.seriesType==StiChartSeriesType.ClusteredColumn||t.seriesType==StiChartSeriesType.Ribbon||t.seriesType==StiChartSeriesType.Pareto||t.seriesType==StiChartSeriesType.Histogram||t.seriesType==StiChartSeriesType.FullStackedArea||t.seriesType==StiChartSeriesType.FullStackedBar||t.seriesType==StiChartSeriesType.FullStackedColumn||t.seriesType==StiChartSeriesType.FullStackedLine||t.seriesType==StiChartSeriesType.FullStackedSpline||t.seriesType==StiChartSeriesType.FullStackedSplineArea||t.seriesType==StiChartSeriesType.StackedBar||t.seriesType==StiChartSeriesType.StackedColumn||t.seriesType==StiChartSeriesType.StackedLine||t.seriesType==StiChartSeriesType.StackedSpline||t.seriesType==StiChartSeriesType.StackedArea||t.seriesType==StiChartSeriesType.StackedSplineArea||t.seriesType==StiChartSeriesType.Scatter||t.seriesType==StiChartSeriesType.ScatterLine||t.seriesType==StiChartSeriesType.ScatterSpline||t.seriesType==StiChartSeriesType.Candlestick||t.seriesType==StiChartSeriesType.Stock||t.seriesType==StiChartSeriesType.Gantt||t.seriesType==StiChartSeriesType.Bubble||t.seriesType==StiChartSeriesType.Area||t.seriesType==StiChartSeriesType.Line||t.seriesType==StiChartSeriesType.Spline||t.seriesType==StiChartSeriesType.SplineArea||t.seriesType==StiChartSeriesType.SplineRange||t.seriesType==StiChartSeriesType.Range||t.seriesType==StiChartSeriesType.RangeBar||t.seriesType==StiChartSeriesType.SteppedArea||t.seriesType==StiChartSeriesType.SteppedLine||t.seriesType==StiChartSeriesType.SteppedRange||t.seriesType==StiChartSeriesType.BoxAndWhisker||t.seriesType==StiChartSeriesType.Heatmap))}get isStackedChart(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.StackedBar||t.seriesType==StiChartSeriesType.StackedColumn||t.seriesType==StiChartSeriesType.StackedLine||t.seriesType==StiChartSeriesType.StackedSpline||t.seriesType==StiChartSeriesType.StackedArea||t.seriesType==StiChartSeriesType.StackedSplineArea))}get isScatterChart(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.Scatter||t.seriesType==StiChartSeriesType.ScatterLine||t.seriesType==StiChartSeriesType.ScatterSpline||t.seriesType==StiChartSeriesType.Bubble))}get isLinesChart(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.FullStackedArea||t.seriesType==StiChartSeriesType.FullStackedLine||t.seriesType==StiChartSeriesType.FullStackedSpline||t.seriesType==StiChartSeriesType.FullStackedSplineArea||t.seriesType==StiChartSeriesType.StackedLine||t.seriesType==StiChartSeriesType.StackedSpline||t.seriesType==StiChartSeriesType.StackedArea||t.seriesType==StiChartSeriesType.StackedSplineArea||t.seriesType==StiChartSeriesType.Scatter||t.seriesType==StiChartSeriesType.ScatterLine||t.seriesType==StiChartSeriesType.ScatterSpline||t.seriesType==StiChartSeriesType.Area||t.seriesType==StiChartSeriesType.Line||t.seriesType==StiChartSeriesType.Spline||t.seriesType==StiChartSeriesType.SplineArea||t.seriesType==StiChartSeriesType.SplineRange||t.seriesType==StiChartSeriesType.Range||t.seriesType==StiChartSeriesType.SteppedArea||t.seriesType==StiChartSeriesType.SteppedLine||t.seriesType==StiChartSeriesType.SteppedRange))}get isBubbleChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Bubble)}get isBarChart(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.ClusteredBar||t.seriesType==StiChartSeriesType.FullStackedBar||t.seriesType==StiChartSeriesType.StackedBar||t.seriesType==StiChartSeriesType.Gantt))}get isRange(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.Range||t.seriesType==StiChartSeriesType.RangeBar||t.seriesType==StiChartSeriesType.SteppedRange||t.seriesType==StiChartSeriesType.SplineRange||t.seriesType==StiChartSeriesType.Gantt))}get isFinancial(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.Candlestick||t.seriesType==StiChartSeriesType.Stock))}get isPieChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Pie)}get isPie3dChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Pie3d)}get isDoughnutChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Doughnut)}get isFunnelChart(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.Funnel||t.seriesType==StiChartSeriesType.FunnelWeightedSlices))}get isPictorialStackedChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.PictorialStacked)}get isPictorialChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Pictorial)}get isHeatmapChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Heatmap)}get isTreemapChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Treemap)}get isParetoChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Pareto)}get isRibbonChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Ribbon)}get isSunburstChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Sunburst)}get isFullStackedChart(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.FullStackedArea||t.seriesType==StiChartSeriesType.FullStackedBar||t.seriesType==StiChartSeriesType.FullStackedColumn||t.seriesType==StiChartSeriesType.FullStackedLine||t.seriesType==StiChartSeriesType.FullStackedSpline||t.seriesType==StiChartSeriesType.FullStackedSplineArea))}get isWaterfallChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Waterfall)}get isRadarChart(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.RadarPoint||t.seriesType==StiChartSeriesType.RadarArea||t.seriesType==StiChartSeriesType.RadarLine))}get isAxisAreaChart3D(){return this.chartValuesList().any(t=>null!=t&&(t.seriesType==StiChartSeriesType.ClusteredColumn3D||t.seriesType==StiChartSeriesType.StackedColumn3D||t.seriesType==StiChartSeriesType.FullStackedColumn3D||t.seriesType==StiChartSeriesType.Line3D||t.seriesType==StiChartSeriesType.Area3D))}get isClusteredColumnChart3D(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.ClusteredColumn3D)}get isClusteredColumnChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.ClusteredColumn)}get isClusteredBarChart(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.ClusteredBar)}get isLineChart3D(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.Line3D)}get isSurfaceChart3D(){return this.chartValuesList().any(t=>null!=t&&t.seriesType==StiChartSeriesType.WireframeSurface3D)}getNestedPages(){if(null==this.dashboardInteraction||this.dashboardInteraction.onClick!=StiInteractionOnClick.ShowDashboard)return null;let e=this.dashboardInteraction.drillDownPageKey;if(StiKeyHelper.isEmptyKey(e))return null;let t=this.report.pages.toList().firstOrDefault(t=>t.guid==e);if(null==t)return null;return new List([t])}get drillDownLevelCount(){return null!=this.arguments?this.arguments.length:0}checkBrowsableProperties(){this.isRange?(this.setBrowsableProperty("Weights",!1),this.setBrowsableProperty("EndValues",!0),this.setBrowsableProperty("CloseValues",!1),this.setBrowsableProperty("LowValues",!1),this.setBrowsableProperty("HighValues",!1)):this.isFinancial?(this.setBrowsableProperty("Weights",!1),this.setBrowsableProperty("EndValues",!1),this.setBrowsableProperty("CloseValues",!0),this.setBrowsableProperty("LowValues",!0),this.setBrowsableProperty("HighValues",!0)):(this.isBubbleChart?this.setBrowsableProperty("Weights",!0):this.setBrowsableProperty("Weights",!1),this.setBrowsableProperty("EndValues",!1),this.setBrowsableProperty("CloseValues",!1),this.setBrowsableProperty("LowValues",!1),this.setBrowsableProperty("HighValues",!1))}setBrowsableProperty(t,e){}getChartSeries(){let t=StiChartSeriesType.ClusteredColumn;return this.chartValuesList().any()&&(t=this.chartValuesList().first().seriesType),StiChartSeriesCreator.neww2(t)}chartValuesList(){if(this.dataMode==StiDataMode.UsingDataFields)return null==this.values?new List:this.values.where(t=>null!=t).toList();{let t=new List;return null!=this.manuallyEnteredChartMeter&&t.add(this.manuallyEnteredChartMeter),t}}constructor(t=Rectangle.empty){super(t),this.title=new StiTitle,this.layout=new StiElementLayout,this.group="",this.crossFiltering=!0,this._style=StiElementStyleIdent.Auto,this._customStyleName="",this.userFilters=new List,this.userSorts=new List,this.userViewStates=new List,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.topN=new StiDataTopN,this.dataTransformation={},this.dataFilters=new List,this.seriesColors=[],this.negativeSeriesColors=[],this.paretoSeriesColors=[],this.cornerRadius=new StiCornerRadius(0),this.showBlanks=!1,this.shadow=new StiSimpleShadow,this.helpUrl="user-manual/dashboards_chart.htm",this.manuallyEnteredChartMeter=new __.H.StiValueChartMeter,this.showViewTitle=!1,this.values=new List,this.endValues=new List,this.closeValues=new List,this.lowValues=new List,this.highValues=new List,this.arguments=new List,this.weights=new List,this.xValues=new List,this.yValues=new List,this.legend=new StiChartLegend,this.area=new __.H.StiChartArea,this._labels=new __.H.StiChartLabels,this.argumentFormat=new StiGeneralFormatService,this.valueFormat=StiChartElement.getValueFormatDefault(),this.trendLines=new List,this.constantLines=new List,this.strips=new List,this.chartConditions=new List,this.marker=new StiChartMarker,this.icon=null,this.roundValues=!0,this.columnShape=StiColumnShape3D.Box,this.dataMode=StiDataMode.UsingDataFields,this.drillDownFiltersList=new List,this.drillDownFilters=new List,this.drillDownCurrentLevel=0,this.title.text=this.localizedName,this.dashboardInteraction=new StiChartDashboardInteraction,this.labels=new __.H.StiChartLabels,this.previousAnimations=new List,this.options3D=new StiPie3dOptions}}__.H.StiChartElement=StiChartElement}let IStiChartElementCondition=Stimulsoft.Report.Dashboard.IStiChartElementCondition,StiFilterCondition=Stimulsoft.Report.Components.StiFilterCondition,StiFilterDataType=Stimulsoft.Report.Components.StiFilterDataType,StiChartConditionalField=Stimulsoft.Report.Chart.StiChartConditionalField;{class zA{implements(){let t=[ICloneable,IStiChartElementCondition,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiStringMeta("Ident").get(()=>this[Stimulsoft.System.StiObject.stimulsoft]().getType()[Stimulsoft.System.StiObject.stimulsoft]().getTypeName()),new StiStringNullOrEmptyMeta("KeyValueMeter"),new StiEnumMeta("Condition","",StiFilterCondition,StiFilterCondition.EqualTo),new StiEnumMeta("DataType","",StiFilterDataType,StiFilterDataType.Numeric),new StiEnumMeta("Field","",StiChartConditionalField,StiChartConditionalField.Value),new StiStringNullOrEmptyMeta("Value"),new StiColorMeta("Color","",Color.white),new StiEnumMeta("MarkerType","",StiMarkerType,StiMarkerType.Circle),new StiNumberMeta("MarkerAngle","",0),new StiBoolMeta("IsExpression")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}static createFromJson(t){let e=new zA;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new zA;return e.loadFromXml(t),e}constructor(t,e,i,r,l,n,o,s,a){this.color=Color.white,this.markerAngle=0,this.markerType=StiMarkerType.Circle,this.condition=StiFilterCondition.EqualTo,this.dataType=StiFilterDataType.Numeric,this.value="",this.keyValueMeter="",this.field=StiChartConditionalField.Value,this.isExpression=!1,null!=t&&(this.keyValueMeter=t),null!=e&&(this.color=e),null!=i&&(this.dataType=i),null!=r&&(this.condition=r),null!=l&&(this.value=l),null!=n&&(this.markerType=n),null!=o&&(this.markerAngle=o),null!=s&&(this.field=s),null!=a&&(this.isExpression=a)}}__.H.StiChartElementCondition=zA}__.H.StiChartGridLines=class{constructor(){this.color=Color.transparent}implements(){let t=[ICloneable,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiColorMeta("Color"),new StiBoolMeta("Visible")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}},__.H.StiChartInterlacing=class{meta(){return[new StiColorMeta("Color"),new StiBoolMeta("Visible")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}constructor(t,e){this.color=Color.transparent,this.visible=!1,null!=t&&(this.color=t),null!=t&&(this.visible=e)}};let IStiChartLabels=Stimulsoft.Report.Dashboard.IStiChartLabels,StiChartLabelsPosition=Stimulsoft.Report.Dashboard.StiChartLabelsPosition,IStiChartStrips=(__.H.StiChartLabels=class{implements(){let t=[IStiChartLabels,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiFontMeta("Font","","Arial",8),new StiStringNullOrEmptyMeta("TextAfter"),new StiStringNullOrEmptyMeta("TextBefore"),new StiColorMeta("ForeColor","",Color.transparent),new StiEnumMeta("AxisPosition","",StiChartLabelsPosition,StiChartLabelsPosition.None),new StiEnumMeta("PiePosition","",StiChartLabelsPosition,StiChartLabelsPosition.Center),new StiEnumMeta("Pie3dPosition","",StiChartLabelsPosition,StiChartLabelsPosition.Center),new StiEnumMeta("DoughnutPosition","",StiChartLabelsPosition,StiChartLabelsPosition.Center),new StiEnumMeta("FunnelPosition","",StiChartLabelsPosition,StiChartLabelsPosition.Center),new StiEnumMeta("PictorialStackedPosition","",StiChartLabelsPosition,StiChartLabelsPosition.Right),new StiEnumMeta("TreemapPosition","",StiChartLabelsPosition,StiChartLabelsPosition.Center),new StiEnumMeta("HeatmapPosition","",StiChartLabelsPosition,StiChartLabelsPosition.Center),new StiEnumMeta("RadarPosition","",StiChartLabelsPosition,StiChartLabelsPosition.None),new StiEnumMeta("ClusteredColumn3dPosition","",StiChartLabelsPosition,StiChartLabelsPosition.Center),new StiEnumMeta("Line3dPosition","",StiChartLabelsPosition,StiChartLabelsPosition.Center),new StiEnumMeta("Position","",StiChartLabelsPosition),new StiEnumMeta("Style","",__.H.StiChartLabelsStyle,__.H.StiChartLabelsStyle.CategoryValue),new StiBoolMeta("AutoRotate"),new StiBoolMeta("WordWrap"),new StiNumberMeta("Width")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.font=this.font.clone(),t}get position(){return this.element.isStackedChart||this.axisPosition!=StiChartLabelsPosition.Total||(this.axisPosition=StiChartLabelsPosition.None),this.element.isPieChart?this.piePosition:this.element.isPie3dChart?this.pie3dPosition:this.element.isDoughnutChart||this.element.isSunburstChart?this.doughnutPosition:this.element.isFunnelChart?this.funnelPosition:this.element.isPictorialStackedChart?this.pictorialStackedPosition:this.element.isHeatmapChart?this.heatmapPosition:this.element.isTreemapChart?this.treemapPosition:this.element.isRadarChart?this.radarPosition:this.element.isAxisAreaChart3D?this.clusteredColumn3dPosition:this.element.isLineChart3D?this.line3dPosition:this.axisPosition}set position(t){this.element.isPieChart?this.piePosition=t:this.element.isPie3dChart?this.pie3dPosition=t:this.element.isDoughnutChart||this.element.isSunburstChart?this.doughnutPosition=t:this.element.isFunnelChart?this.funnelPosition=t:this.element.isPictorialStackedChart?this.pictorialStackedPosition=t:this.element.isHeatmapChart?this.heatmapPosition=t:this.element.isTreemapChart?this.treemapPosition=t:this.element.isRadarChart?this.radarPosition=t:this.element.isAxisAreaChart3D?this.clusteredColumn3dPosition=t:this.element.isLineChart3D?this.line3dPosition=t:this.axisPosition=t}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d,g){this.axisPosition=StiChartLabelsPosition.None,this.piePosition=StiChartLabelsPosition.Center,this.pie3dPosition=StiChartLabelsPosition.Center,this.clusteredColumn3dPosition=StiChartLabelsPosition.Center,this.line3dPosition=StiChartLabelsPosition.Center,this.doughnutPosition=StiChartLabelsPosition.Center,this.funnelPosition=StiChartLabelsPosition.Center,this.pictorialStackedPosition=StiChartLabelsPosition.Right,this.heatmapPosition=StiChartLabelsPosition.Center,this.treemapPosition=StiChartLabelsPosition.Center,this.radarPosition=StiChartLabelsPosition.None,this.foreColor=Color.transparent,this.font=new Font("Arial",8),this.autoRotate=!1,this.style=__.H.StiChartLabelsStyle.CategoryValue,this.textAfter="",this.textBefore="",this.wordWrap=!1,this.width=0,null!=t&&(this.axisPosition=t),null!=e&&(this.piePosition=e),null!=i&&(this.doughnutPosition=i),null!=r&&(this.funnelPosition=r),null!=l&&(this.treemapPosition=l),null!=n&&(this.heatmapPosition=n),null!=o&&(this.radarPosition=o),null!=s&&(this.clusteredColumn3dPosition=s),null!=a&&(this.style=a),null!=u&&(this.font=u),null!=S&&(this.foreColor=S),null!=m&&(this.textBefore=m),null!=h&&(this.textAfter=h),null!=c&&(this.autoRotate=c),null!=d&&(this.width=d),null!=g&&(this.wordWrap=g)}},Stimulsoft.Report.Dashboard.IStiChartStrips),StiStrips_StiOrientation=Stimulsoft.Report.Chart.StiStrips_StiOrientation;{class uB{implements(){let t=[ICloneable,IStiChartStrips,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiStringNullOrEmptyMeta("Text"),new StiColorMeta("TitleColor","",Color.green),new StiBrushMeta("StripBrush"),new StiEnumMeta("Orientation","",StiStrips_StiOrientation,StiStrips_StiOrientation.Horizontal),new StiStringMeta("MinValue","","0"),new StiStringMeta("MaxValue","","1")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}static createFromJson(t){let e=new uB;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new uB;return e.loadFromXml(t),e}constructor(t,e,i,r,l,n){this.text="",this.titleColor=Color.green,this.stripBrush=new StiSolidBrush(Color.transparent),this.orientation=StiStrips_StiOrientation.Horizontal,this.minValue="0",this.maxValue="1",null!=t&&(this.text=t),null!=e&&(this.minValue=e),null!=i&&(this.maxValue=i),null!=r&&(this.titleColor=r),null!=l&&(this.stripBrush=l),null!=n&&(this.orientation=n)}}__.H.StiChartStrips=uB}let Encoding=Stimulsoft.System.Text.Encoding,StiPacker=Stimulsoft.Base.StiPacker,StiMeterConverter=(__.H.StiChartUserViewStatesHelper=class{static saveToJsonObject(t){let e=new StiJson,i=StiJsonSaveMode.Report;return e.addPropertyJObject("UserFilters",StiJsonReportObjectHelper.Serialize.objectArray(t.userFilters,i)),e.addPropertyJObject("UserSorts",StiJsonReportObjectHelper.Serialize.objectArray(t.userSorts,i)),e.addPropertyJObject("Values",StiJsonReportObjectHelper.Serialize.objectArray(t.values,i)),e.addPropertyJObject("EndValues",StiJsonReportObjectHelper.Serialize.objectArray(t.endValues,i)),e.addPropertyJObject("CloseValues",StiJsonReportObjectHelper.Serialize.objectArray(t.closeValues,i)),e.addPropertyJObject("LowValues",StiJsonReportObjectHelper.Serialize.objectArray(t.lowValues,i)),e.addPropertyJObject("HighValues",StiJsonReportObjectHelper.Serialize.objectArray(t.highValues,i)),e.addPropertyJObject("Arguments",StiJsonReportObjectHelper.Serialize.objectArray(t.arguments,i)),e.addPropertyJObject("XValues",StiJsonReportObjectHelper.Serialize.objectArray(t.xValues,i)),e.addPropertyJObject("YValues",StiJsonReportObjectHelper.Serialize.objectArray(t.yValues,i)),e.addPropertyJObject("Weights",StiJsonReportObjectHelper.Serialize.objectArray(t.weights,i)),null!=t.series&&e.addPropertyJObject("Series",t.series.saveToJsonObject(i)),null!=t.sortBy&&e.addPropertyJObject("SortBy",t.sortBy.saveToJsonObject(i)),null!=t.indicatorValue&&e.addPropertyJObject("IndicatorValue",t.indicatorValue.saveToJsonObject(i)),null!=t.icon&&e.addPropertyEnum("Icon",StiFontIcons,t.icon),e.addPropertyBool("RoundValues",t.roundValues,!0),e.addPropertyEnum("ColumnShape",StiColumnShape3D,t.columnShape,StiColumnShape3D.Box),e}static loadFromJsonObject(i,t){for(let e of t.properties())switch(e.name){case"UserFilters":i.userFilters.clear(),i.userFilters.addRange(e.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)));break;case"UserSorts":i.userSorts.clear(),i.userSorts.addRange(e.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)));break;case"Values":i.values.clear(),i.values.addRange(e.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)));break;case"EndValues":i.endValues.clear(),i.endValues.addRange(e.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)));break;case"CloseValues":i.closeValues.clear(),i.closeValues.addRange(e.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)));break;case"LowValues":i.lowValues.clear(),i.lowValues.addRange(e.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)));break;case"HighValues":i.highValues.clear(),i.highValues.addRange(e.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)));break;case"Arguments":i.arguments.clear(),i.arguments.addRange(e.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)));break;case"Weights":i.weights.clear(),i.weights.addRange(e.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)));break;case"XValues":i.xValues.clear(),i.xValues.addRange(e.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)));break;case"YValues":i.yValues.clear(),i.yValues.addRange(e.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)));break;case"Series":{let t=StiMeterLoader.loadFromJson(e.value).as(__.H.StiSeriesChartMeter);null!=t&&(i.series=t);break}case"SortBy":{let t=StiMeterLoader.loadFromJson(e.value).as(__.H.StiSortByChartMeter);null!=t&&(i.sortBy=t);break}case"IndicatorValue":{let t=StiMeterLoader.loadFromJson(e.value).as(StiIndicatorValueChartMeter);null!=t&&(i.indicatorValue=t);break}case"Icon":i.icon=Enum.parse(StiFontIcons,e.value.toString());break;case"RoundValues":i.roundValues=e.value[Stimulsoft.System.StiObject.stimulsoft]().toBoolean();break;case"ColumnShape":i.columnShape=Enum.parse(StiColumnShape3D,e.value.toString());break}}static clearVisualState(t){t.values.clear(),t.endValues.clear(),t.closeValues.clear(),t.lowValues.clear(),t.highValues.clear(),t.arguments.clear(),t.xValues.clear(),t.yValues.clear(),t.weights.clear(),t.series=null,t.sortBy=null,t.icon=null}static switchSelectedViewState(t,e){let i,r=t.selectedViewStateKey;StiString.isNullOrWhiteSpace(r)&&(r=null==(i=t.userViewStates.firstOrDefault())?void 0:i.key),this.saveVisualState(t,r),this.loadVisualState(t,e),t.selectedViewStateKey=e}static saveVisualState(t,e){if(StiString.isNullOrWhiteSpace(e))return;let i=t.userViewStates.firstOrDefault(t=>t.key==e);if(null==i)return;let r=this.saveToJsonObject(t);i.state=StiPacker.packToString(Encoding.UTF8.getBytes(r.serialize()))}static loadVisualState(t,e){if(this.clearVisualState(t),StiString.isNullOrWhiteSpace(e))return;let i=t.userViewStates.firstOrDefault(t=>t.key==e);if(StiString.isNullOrWhiteSpace(null==i?void 0:i.state))return;let r=Encoding.UTF8.getString(StiPacker.unpackFromString(i.state)),l=new StiJson;l.deserialize(r),this.loadFromJsonObject(t,l)}},__.H.StiChartYRightAxisLabels=class extends __.H.StiChartAxisLabels{meta(){return[...super.meta(),new StiRemoveMeta("TextAlignment"),new StiEnumMeta("TextAlignment","",StiHorAlignment,StiHorAlignment.Left)]}constructor(t,e,i,r,l,n,o){super(t,e,i,r,l,n,o),this.textAlignment=StiHorAlignment.Left}},__.H.StiHorChartGridLines=class extends __.H.StiChartGridLines{meta(){return[...super.meta(),new StiColorMeta("Color"),new StiBoolMeta("Visible","",!0)]}constructor(t,e){super(),this.visible=!0,null!=t&&(this.color=t),null!=e&&(this.visible=e)}},__.H.StiHorChartInterlacing=class extends __.H.StiChartInterlacing{constructor(t,e){super(t,e)}},__.H.StiStartValueChartMeter=class extends __.H.StiValueChartMeter{get localizedName(){return Loc.get("PropertyMain","StartValue")}constructor(t,e,i,r){super(t,e,i,r),this.seriesType=StiChartSeriesType.Gantt,this.ident=__.e.StiMeterIdent.StartValueChartMeter,null!=r&&(this.seriesType=r)}},__.H.StiVertChartGridLines=class extends __.H.StiChartGridLines{meta(){return[...super.meta(),new StiColorMeta("Color"),new StiBoolMeta("Visible")]}constructor(t,e){super(),this.visible=!1,null!=t&&(this.color=t),null!=e&&(this.visible=e)}},__.H.StiVertChartInterlacing=class extends __.H.StiChartInterlacing{constructor(t,e){super(t,e)}},__.H.StiXChartAxisTitle=class extends __.H.StiChartAxisTitle{meta(){return[...super.meta(),new StiEnumMeta("Direction","",StiDirection,StiDirection.LeftToRight)]}constructor(t,e,i,r,l,n,o){super(t,e,i,r,n,o),this.direction=StiDirection.LeftToRight,null!=l&&(this.direction=l)}},__.H.StiXTopChartAxis=class extends __.H.StiXChartAxis{meta(){return[...super.meta(),new StiRemoveMeta(["Range","Visible"]),new StiBoolMeta("Visible")]}constructor(t,e,i){super(t,e,i),this.visible=!1}},__.H.StiYRightChartAxis=class extends __.H.StiYChartAxis{meta(){return[...super.meta(),new StiRemoveMeta(["Range","Visible"]),new StiBoolMeta("Visible")]}constructor(t,e,i){super(t,e,i),this.visible=!1,this.labels=new __.H.StiChartYRightAxisLabels}},__.W.StiMeterConverter=class{},__.W.StiMeterConverter),StiFilterDashboardInteraction=(__.ae.StiValueChartMeterConverter=class extends StiMeterConverter{},__.ae.StiXChartAxisConverter=class{},__.ae.StiYChartAxisConverter=class{},__.g.StiFilterDashboardInteraction=class extends __.g.StiDashboardInteraction{constructor(t,e,i,r){super(),this.ident=StiInteractionIdent.Filter,this.availableOnHover=StiAvailableInteractionOnHover.ShowToolTip,this.availableOnClick=StiAvailableInteractionOnClick.ApplyFilter,this.availableOnDataManipulation=StiAvailableInteractionOnDataManipulation.None,null!=t&&(this.onHover=t),null!=e&&(this.onClick=e),null!=i&&(this.toolTip=i),null!=r&&(this.drillDownParameters=r)}},__.g.StiFilterDashboardInteraction),ImplementsIStiComboBoxElement=Stimulsoft.Report.Dashboard.ImplementsIStiComboBoxElement,Size=Stimulsoft.System.Drawing.Size,StiItemSelectionMode=Stimulsoft.Report.Dashboard.StiItemSelectionMode,IStiComboBoxElement=Stimulsoft.Report.Dashboard.IStiComboBoxElement,StiCustomFormatService=(StiExportToolAttribute.add("StiComboBoxElement","Stimulsoft.Dashboard.Export.Tools.StiComboBoxElementExportTool"),__.S.StiComboBoxElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiComboBoxElement,IStiSimpleShadow,IStiCornerRadius,IStiFixedHeightElement,IStiElementInteraction,...ImplementsIStiComboBoxElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiFixedHeightElement,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[new StiBoolMeta("FixedHeight","",!0),...super.meta(),new StiStringNullOrEmptyMeta("ParentKey"),new StiStringNullOrEmptyMeta("InitialValue"),new StiObjectMeta("UserFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userFilters,t)).set(t=>this.userFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.userFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiColorMeta("ForeColor","",Color.transparent),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiBoolMeta("ShowAllValue"),new StiBoolMeta("ShowBlanks"),new StiEnumMeta("InclusionMode","",StiFilterInclusionMode,StiFilterInclusionMode.SelectionOnly),new StiEnumMeta("SelectionMode","",StiItemSelectionMode,StiItemSelectionMode.One).set(t=>{let e=Enum.parse(StiItemSelectionMode,t.value);null!=e&&(this.selectionMode=e)}).setXml(t=>{let e=Enum.parse(StiItemSelectionMode,t.textContent);null!=e&&(this.selectionMode=e)}),new StiObjectMeta("NameMeter").check(()=>null!=this.nameMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.S.StiNameComboBoxMeter);null!=e&&(this.nameMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.S.StiNameComboBoxMeter);null!=e&&(this.nameMeter=e)}),new StiObjectMeta("KeyMeter").check(()=>null!=this.keyMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.S.StiKeyComboBoxMeter);null!=e&&(this.keyMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.S.StiKeyComboBoxMeter);null!=e&&(this.keyMeter=e)}),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("TextFormat").check(()=>!(this.textFormat.is(StiGeneralFormatService)||null==this.textFormat)).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.textFormat=StiFormatService.loadFormatFromXml(t,this.report)),new StiRemoveMeta("MinSize"),new StiRemoveMeta("MaxSize"),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiFilterDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiFilterDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiNumberMeta("MaxSelectedItems")]}clone(t){let e,i,r,l=super.clone(t);return l.nameMeter=null!=this.nameMeter?this.nameMeter.clone():null,l.keyMeter=null!=this.keyMeter?this.keyMeter.clone():null,l.userFilters=this.userFilters.select(t=>t.clone()).toList(),l.transformActions=this.transformActions.select(t=>t.clone()).toList(),l.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),l.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),l.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),l.textFormat=this.textFormat.clone(),l.shadow=null==(e=this.shadow)?void 0:e.clone(),l.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),l.dashboardInteraction=null==(r=this.dashboardInteraction)?void 0:r.clone(),l}get isFixedHeight(){return this.fixedHeight}getParentKey(){return this.parentKey}setParentKey(t){this.parentKey=t}async applyDefaultFilters(){let t=await __.S.StiComboBoxHelper.fetchDefaultUserFilters(this);null!=t&&(this.userFilters=t)}getIdentityFilters(){let t=new StiDataFilterRule;return t.condition=StiDataFilterCondition.Any,t.elementKey=this.key,t.path=__.S.StiComboBoxHelper.getKeyMeterExpression(this),t.toList()}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}fetchAllMeters(){let t=new List;return null!=this.nameMeter&&t.add(this.nameMeter),null!=this.keyMeter&&t.add(this.keyMeter),t}getMeters(){let t=new List;return null!=this.nameMeter&&t.add(this.nameMeter),null!=this.keyMeter&&t.add(this.keyMeter),t}retrieveUsedDataNames(){return StiUsedDataHelper.getMany(this.nameMeter,this.keyMeter)}get isDefined(){return null!=this.nameMeter||null!=this.keyMeter}addKeyMeter2(t){this.keyMeter=null!=t?StiMeterHelper.ComboBox.getKey2(t):null}addKeyMeter(t){this.keyMeter=null!=t?StiMeterHelper.ComboBox.getKey(t.as(__.e.StiMeter)):null}getKeyMeter(){return this.keyMeter}removeKeyMeter(){this.keyMeter=null}createNewKeyMeter(){this.keyMeter=new __.S.StiKeyComboBoxMeter}addNameMeter2(t){this.nameMeter=null!=t?StiMeterHelper.ComboBox.getName2(t):null}addNameMeter(t){this.nameMeter=null!=t?StiMeterHelper.ComboBox.getName(t.as(__.e.StiMeter)):null}getNameMeter(){return this.nameMeter}removeNameMeter(){this.nameMeter=null}createNewNameMeter(){this.nameMeter=new __.S.StiNameComboBoxMeter}createNextMeter(t){null!=this.keyMeter&&null==this.nameMeter?this.nameMeter=StiMeterHelper.ComboBox.getName2(t):this.keyMeter=StiMeterHelper.ComboBox.getKey2(t)}convertFrom(t){let e=t.fetchAllMeters();if(null==e)return;let i=e.firstOrDefault(t=>t.is(IStiValueMeter)),r=(null!=(i=null==i?e.firstOrDefault(t=>t.is(IStiMeasureMeter)):i)&&(this.keyMeter=null==this.keyMeter?new __.S.StiKeyComboBoxMeter:this.keyMeter,this.keyMeter.loadFromJsonObject(i.saveToJsonObject(StiJsonSaveMode.Report))),e.firstOrDefault(t=>t.is(IStiValueMeter)));null!=(r=null==r?e.firstOrDefault(t=>t.is(IStiDimensionMeter)):r)&&(this.nameMeter=null==this.nameMeter?new __.S.StiNameComboBoxMeter:this.nameMeter,this.nameMeter.loadFromJsonObject(r.saveToJsonObject(StiJsonSaveMode.Report)))}get toolboxPosition(){return StiComponentToolboxPosition.ComboBoxElement}get localizedName(){return StiLocalization.get("Components","StiComboBox")}getMinSize(){let t=null!=this.report?this.report.getCurrentPage():null;if(null==t)return Size.empty;let e=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,t.gridSize,!0);return new Size(0,e)}setMinSize(t){}getMaxSize(){if(!this.fixedHeight)return super.getMaxSize();let t=null!=this.report?this.report.getCurrentPage():null;if(null==t)return Size.empty;let e=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,t.gridSize,!0);return new Size(0,e)}setMaxSize(t){this.fixedHeight||super.setMaxSize(t)}get fixedHeight(){return this._fixedHeight}set fixedHeight(t){var e;this._fixedHeight!=t&&(this._fixedHeight=t)&&(this.height=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,null==(e=this.page)?void 0:e.gridSize,!0))}constructor(t=Rectangle.empty){super(t),this.group="",this.inclusionMode=StiFilterInclusionMode.SelectionOnly,this.userFilters=new List,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.dataTransformation={},this.dataFilters=new List,this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.font=new Font("Arial",8),this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.foreColor=Color.transparent,this.showAllValue=!1,this.showBlanks=!1,this.selectionMode=StiItemSelectionMode.One,this.maxSelectedItems=0,this.textFormat=new StiGeneralFormatService,this.defaultClientRectangle=new Rectangle(0,0,200,40),this.helpUrl="user-manual/dashboards_data_filtering_combo_box.htm",this._fixedHeight=!0,this.dashboardInteraction=new StiFilterDashboardInteraction}},Stimulsoft.Report.Components.TextFormats.StiCustomFormatService),StiDataFilterCreator=Stimulsoft.Report.Dashboard.StiDataFilterCreator,DBNull=Stimulsoft.System.Data.DBNull,StiElementDataCache=Stimulsoft.Report.Dashboard.StiElementDataCache,ImplementsIStiGroupElement=(__.S.StiComboBoxHelper=class{static fetchItems(r,t,l){if(null==t||t==StiDataTable.nullTable||0==t.rows.length)return null;let n=this.getNameMeterIndex(t),o=this.getKeyMeterIndex(t);if(-1==n&&1==o)return null;-1==o&&(o=n),-1==n&&(n=o);let s=new List;for(let i of t.rows){let t=i[o];if(null==t)continue;let e=i[n];!l&&this.isBlank(e)||s.add(new __.S.StiComboBoxItem(this.format(r,e),t))}return s}static isBlank(t){return null==t||t==DBNull.value||"string"==typeof t&&StiString.isNullOrEmpty(t)}static async fetchDefaultUserFilters(e){let t=!StiString.isNullOrEmpty(e.initialValue);if(e.showAllValue&&!t)return null;if(e.selectionMode==StiItemSelectionMode.Multi&&!t)return null;let i=this.getKeyMeterExpression(e);if(null==i)return null;let r=await StiElementDataCache.getOrCreate(e),l=this.fetchItems(e,r,e.showBlanks);if(null==l||0==l.length)return null;return this.fetchInitialValues(e,l).select(t=>StiDataFilterCreator.createEqualBasedOnValue(t.value,i,e)).toList()}static fetchInitialValues(t,r){if(!StiString.isNullOrEmpty(t.initialValue)){let i=this.getInitialValues(t),e=r[Stimulsoft.System.StiObject.stimulsoft]().toList().where(t=>{var e;return i.contains(null==(e=t.value)?void 0:e.toString())});if(t.selectionMode==StiItemSelectionMode.One&&e.any()){let t=new List;return t.add(e.firstOrDefault()),t}return e.toList()}let e=new List;return e.add(r[Stimulsoft.System.StiObject.stimulsoft]().toList().firstOrDefault()),e}static getInitialValues(t){if(StiString.isNullOrEmpty(t.initialValue))return new List;let e=StiReportParser.parse2(t.initialValue,t.report),i=e.split(";")[Stimulsoft.System.StiObject.stimulsoft]().toList().select(t=>t.trim()).toList();return 0<t.maxSelectedItems&&i.length>t.maxSelectedItems&&i.removeRange(t.maxSelectedItems,i.length-t.maxSelectedItems),i}static getNameMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(__.S.StiNameComboBoxMeter));return null!=e?t.meters.indexOf(e):-1}static getKeyMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(__.S.StiKeyComboBoxMeter));return null!=e?t.meters.indexOf(e):-1}static getKeyMeterExpression(t){if(null!=t.keyMeter)return t.keyMeter.expression;if(null!=t.nameMeter)return t.nameMeter.expression;return null}static format(t,e){let i,r=t.as(IStiTextFormat);if(e instanceof DateTime&&!(r.textFormat.is2(StiDateFormatService)||r.textFormat.is2(StiTimeFormatService)||r.textFormat.is2(StiCustomFormatService)))return e.toShortDateString();let l=null==(i=null==t?void 0:t.report)?void 0:i.culture;if(StiExtValueConverter.isEligable(e,l))return StiExtValueConverter.convert(e,l);return r.textFormat.format(e)}},__.S.StiComboBoxItem=class{toString(){return null!=this.label?this.label:this.value.toString()}constructor(t,e=t){this.label=t,this.value=e}},Stimulsoft.Report.Dashboard.ImplementsIStiGroupElement),ImplementsIStiDatePickerElement=Stimulsoft.Report.Dashboard.ImplementsIStiDatePickerElement,StiInitialDateRangeSelection=Stimulsoft.Report.Dashboard.StiInitialDateRangeSelection,StiInitialDateRangeSelectionSource=Stimulsoft.Report.Dashboard.StiInitialDateRangeSelectionSource,StiDateSelectionMode=Stimulsoft.Report.Dashboard.StiDateSelectionMode,StiDateCondition=Stimulsoft.Report.Dashboard.StiDateCondition,IStiDatePickerElement=Stimulsoft.Report.Dashboard.IStiDatePickerElement,DateTimeRange=Stimulsoft.Report.DateTimeRange,Range=Stimulsoft.Report.Range,StiVariableHelper=Stimulsoft.Report.Engine.StiVariableHelper,StiParser=(StiExportToolAttribute.add("StiDatePickerElement","Stimulsoft.Dashboard.Export.Tools.StiDatePickerElementExportTool"),__.Q.StiDatePickerElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiDatePickerElement,IStiSimpleShadow,IStiCornerRadius,IStiFixedHeightElement,IStiGroupElement,...ImplementsIStiDatePickerElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiFixedHeightElement,...ImplementsIStiGroupElement,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[new StiBoolMeta("FixedHeight","",!0),...super.meta(),new StiObjectMeta("UserFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userFilters,t)).set(t=>this.userFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.userFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiColorMeta("ForeColor","",Color.transparent),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiEnumMeta("Condition","",StiDateCondition,StiDateCondition.GreaterThanOrEqualTo),new StiEnumMeta("SelectionMode","",StiDateSelectionMode,StiDateSelectionMode.Single).set(t=>{let e=Enum.parse(StiDateSelectionMode,t.value);null!=e&&(this.selectionMode=e)}).setXml(t=>{let e=Enum.parse(StiDateSelectionMode,t.textContent);null!=e&&(this.selectionMode=e)}),new StiEnumMeta("InitialRangeSelection","",StiInitialDateRangeSelection,StiInitialDateRangeSelection.MonthPrevious),new StiEnumMeta("InitialRangeSelectionSource","",StiInitialDateRangeSelectionSource,StiInitialDateRangeSelectionSource.Variable),new StiObjectMeta("ValueMeter").check(()=>null!=this.valueMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(StiValueDatePickerMeter);null!=e&&(this.valueMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(StiValueDatePickerMeter);null!=e&&(this.valueMeter=e)}),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("TextFormat").check(()=>!(this.textFormat.is(StiGeneralFormatService)||null==this.textFormat)).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.textFormat=StiFormatService.loadFormatFromXml(t,this.report)),new StiRemoveMeta("MinSize"),new StiRemoveMeta("MaxSize"),new StiEnumMeta("InclusionMode","",StiFilterInclusionMode,StiFilterInclusionMode.SelectionOnly)]}clone(t){let e,i,r=super.clone(t);return r.valueMeter=null!=this.valueMeter?this.valueMeter.clone():null,r.userFilters=this.userFilters.select(t=>t.clone()).toList(),r.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),r.textFormat=this.textFormat.clone(),r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r}get isFixedHeight(){return this.fixedHeight}getParentKey(){return null}setParentKey(t){}async applyDefaultFilters(){let t,r=null==(t=__.Q.StiDatePickerHelper.getVariableSpecifiedAsValue(this.as(IStiDatePickerElement)))?void 0:t.as(StiVariable);if(null==r){let t=await __.Q.StiDatePickerHelper.fetchDefaultUserFilters(this);null!=t&&(this.userFilters=t)}else if(Range.isRangeType(r.type)&&this.initialRangeSelectionSource==StiInitialDateRangeSelectionSource.Selection){let t={ref:null},e={ref:null},i=(__.Q.StiDatePickerHelper.calculateRangeFromInitial(this.initialRangeSelection,t,e),new DateTimeRange(t.ref,e.ref));StiVariableHelper.setVariableValue(this.report,r,i),r.valueObject=i}}getIdentityFilters(){let t=new StiDataFilterRule;return t.condition=StiDataFilterCondition.Any,t.elementKey=this.key,t.path=__.Q.StiDatePickerHelper.getValueMeterExpression(this),t.toList()}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}fetchAllMeters(){let t=new List;return null!=this.valueMeter&&t.add(this.valueMeter),t}getMeters(){let t=new List;return(__.Q.StiDatePickerHelper.isVariableSpecifiedAsValue(this)||null!=this.valueMeter&&this.selectionMode==StiDateSelectionMode.AutoRange)&&t.add(this.valueMeter),t}retrieveUsedDataNames(){return null!=this.valueMeter&&this.selectionMode==StiDateSelectionMode.AutoRange?StiUsedDataHelper.getMany(this.valueMeter):super.retrieveUsedDataNames()}get isDefined(){return null!=this.valueMeter}addValueMeter2(t){this.valueMeter=null!=t?StiMeterHelper.DatePicker.getValue2(t):null}addValueMeter(t){this.valueMeter=null!=t?StiMeterHelper.DatePicker.getValue(t.as(__.e.StiMeter)):null}getValueMeter(){return this.valueMeter}removeValueMeter(){this.valueMeter=null}createNewValueMeter(){this.valueMeter=new StiValueDatePickerMeter}convertFrom(t){let e=t.fetchAllMeters();if(null==e)return;let i=e.firstOrDefault(t=>t.is(IStiValueMeter));null!=(i=null==i?e.firstOrDefault(t=>t.is(IStiMeasureMeter)):i)&&(this.valueMeter=null==this.valueMeter?new StiValueDatePickerMeter:this.valueMeter,this.valueMeter.loadFromJsonObject(i.saveToJsonObject(StiJsonSaveMode.Report)))}get toolboxPosition(){return StiComponentToolboxPosition.DatePickerElement}get localizedName(){return StiLocalization.get("Components","StiDatePicker")}getMinSize(){let t=null!=this.report?this.report.getCurrentPage():null;if(null==t)return Size.empty;let e=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,t.gridSize,!0);return new Size(0,e)}setMinSize(t){}getMaxSize(){if(!this.fixedHeight)return super.getMaxSize();let t=null!=this.report?this.report.getCurrentPage():null;if(null==t)return Size.empty;let e=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,t.gridSize,!0);return new Size(0,e)}setMaxSize(t){this.fixedHeight||super.setMaxSize(t)}get fixedHeight(){return this._fixedHeight}set fixedHeight(t){var e;this._fixedHeight!=t&&(this._fixedHeight=t)&&(this.height=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,null==(e=this.page)?void 0:e.gridSize,!0))}constructor(t=Rectangle.empty){super(t),this.group="",this.inclusionMode=StiFilterInclusionMode.SelectionOnly,this.userFilters=new List,this.dataFilters=new List,this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.font=new Font("Arial",8),this.foreColor=Color.transparent,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.textFormat=new StiDateFormatService,this.defaultClientRectangle=new Rectangle(0,0,200,40),this.helpUrl="user-manual/dashboards_data_filtering_date_picker.htm",this._fixedHeight=!0,this.condition=StiDateCondition.GreaterThanOrEqualTo,this.selectionMode=StiDateSelectionMode.Single,this.initialRangeSelection=StiInitialDateRangeSelection.MonthPrevious,this.initialRangeSelectionSource=StiInitialDateRangeSelectionSource.Variable}},Stimulsoft.Report.Engine.StiParser.StiParser),StiVariableInitBy=Stimulsoft.Report.Dictionary.StiVariableInitBy,StiVariableExpressionHelper=Stimulsoft.Report.StiVariableExpressionHelper,NullableDateTime=Stimulsoft.System.NullableDateTime,StiAbbreviationNumberFormatHelper=(__.Q.StiDatePickerHelper=class{static calculateRangeFromInitial(t,e,i){switch(t){case StiInitialDateRangeSelection.DayTomorrow:e.ref=DateTime.today.addDays(1),i.ref=DateTime.today.addDays(1);break;case StiInitialDateRangeSelection.DayToday:e.ref=DateTime.today,i.ref=DateTime.today;break;case StiInitialDateRangeSelection.DayYesterday:e.ref=DateTime.today.addDays(-1),i.ref=DateTime.today.addDays(-1);break;case StiInitialDateRangeSelection.Last7Days:e.ref=DateTime.today.addDays(-7),i.ref=DateTime.today;break;case StiInitialDateRangeSelection.Last14Days:e.ref=DateTime.today.addDays(-14),i.ref=DateTime.today;break;case StiInitialDateRangeSelection.Last30Days:e.ref=DateTime.today.addDays(-30),i.ref=DateTime.today;break;case StiInitialDateRangeSelection.WeekNext:e.ref=DateTime.today.addDays(7).firstDayOfWeek(),i.ref=DateTime.today.addDays(7).lastDayOfWeek();break;case StiInitialDateRangeSelection.WeekCurrent:e.ref=DateTime.today.firstDayOfWeek(),i.ref=DateTime.today.lastDayOfWeek();break;case StiInitialDateRangeSelection.WeekPrevious:e.ref=DateTime.today.addDays(-7).firstDayOfWeek(),i.ref=DateTime.today.addDays(-7).lastDayOfWeek();break;case StiInitialDateRangeSelection.MonthNext:e.ref=DateTime.today.addMonths(1).firstDayOfMonth(),i.ref=DateTime.today.addMonths(1).lastDayOfMonth();break;case StiInitialDateRangeSelection.MonthCurrent:e.ref=DateTime.today.firstDayOfMonth(),i.ref=DateTime.today.lastDayOfMonth();break;case StiInitialDateRangeSelection.MonthPrevious:e.ref=DateTime.today.addMonths(-1).firstDayOfMonth(),i.ref=DateTime.today.addMonths(-1).lastDayOfMonth();break;case StiInitialDateRangeSelection.QuarterNext:e.ref=DateTime.today.addMonths(3).firstDayOfQuarter(),i.ref=DateTime.today.addMonths(3).lastDayOfQuarter();break;case StiInitialDateRangeSelection.QuarterCurrent:e.ref=DateTime.today.firstDayOfQuarter(),i.ref=DateTime.today.lastDayOfQuarter();break;case StiInitialDateRangeSelection.QuarterPrevious:e.ref=DateTime.today.addMonths(-3).firstDayOfQuarter(),i.ref=DateTime.today.addMonths(-3).lastDayOfQuarter();break;case StiInitialDateRangeSelection.QuarterFirst:e.ref=DateTime.today.firstDayOfFirthQuarter(),i.ref=DateTime.today.lastDayOfFirthQuarter();break;case StiInitialDateRangeSelection.QuarterSecond:e.ref=DateTime.today.firstDayOfSecondQuarter(),i.ref=DateTime.today.lastDayOfSecondQuarter();break;case StiInitialDateRangeSelection.QuarterThird:e.ref=DateTime.today.firstDayOfThirdQuarter(),i.ref=DateTime.today.lastDayOfThirdQuarter();break;case StiInitialDateRangeSelection.QuarterFourth:e.ref=DateTime.today.firstDayOfFourthQuarter(),i.ref=DateTime.today.lastDayOfFourthQuarter();break;case StiInitialDateRangeSelection.YearNext:e.ref=DateTime.today.addYears(1).firstDayOfYear(),i.ref=DateTime.today.addYears(1).lastDayOfYear();break;case StiInitialDateRangeSelection.YearCurrent:e.ref=DateTime.today.firstDayOfYear(),i.ref=DateTime.today.lastDayOfYear();break;case StiInitialDateRangeSelection.YearPrevious:e.ref=DateTime.today.addYears(-1).firstDayOfYear(),i.ref=DateTime.today.addYears(-1).lastDayOfYear();break;case StiInitialDateRangeSelection.DateToWeek:e.ref=DateTime.today.firstDayOfWeek(),i.ref=DateTime.today;break;case StiInitialDateRangeSelection.DateToMonth:e.ref=DateTime.today.firstDayOfMonth(),i.ref=DateTime.today;break;case StiInitialDateRangeSelection.DateToQuarter:e.ref=DateTime.today.firstDayOfQuarter(),i.ref=DateTime.today;break;case StiInitialDateRangeSelection.DateToYear:e.ref=DateTime.today.firstDayOfYear(),i.ref=DateTime.today;break;default:e.ref=DateTime.now,i.ref=DateTime.now;break}}static async fetchDefaultUserFilters(t){let e=this.getValueMeterExpression(t);if(t.selectionMode==StiDateSelectionMode.Single)return this.getSingleDefaultUserFilters(t,e);if(t.selectionMode==StiDateSelectionMode.Range)return this.getRangeDefaultUserFilters(t.initialRangeSelection,e);if(t.selectionMode==StiDateSelectionMode.AutoRange)return this.getAutoRangeDefaultUserFilters(t,e);return null}static getSingleDefaultUserFilters(t,e){let i=this.getFormatedDate(DateTime.now);return new StiDataFilterRule(null,e,this.getCondition(t),i).toList()}static getRangeDefaultUserFilters(t,e){let i={ref:null},r={ref:null},l=(this.calculateRangeFromInitial(t,i,r),this.getFormatedDate(i.ref)),n=this.getFormatedDate(r.ref);return new StiDataFilterRule("",e,StiDataFilterCondition.Between,l,n,!0,!1).toList()}static async getAutoRangeDefaultUserFilters(t,e){let i=await StiElementDataCache.getOrCreate(t);if(null==i)return null;let r=i.rows.select(t=>t[0]).where(t=>t instanceof DateTime);if(null==r||!r.any())return null;let l=r.where(t=>t instanceof DateTime).cast().min(),n=r.where(t=>t instanceof DateTime).cast().max(),o=this.getFormatedDate(l),s=this.getFormatedDate(n);return new StiDataFilterRule("",e,StiDataFilterCondition.Between,o,s,!0,!1).toList()}static getValueMeterExpression(t){return null!=t.valueMeter?t.valueMeter.expression:null}static getCondition(t){switch(t.condition){case StiDateCondition.EqualTo:return StiDataFilterCondition.EqualTo;case StiDateCondition.NotEqualTo:return StiDataFilterCondition.NotEqualTo;case StiDateCondition.GreaterThan:return StiDataFilterCondition.GreaterThan;case StiDateCondition.GreaterThanOrEqualTo:return StiDataFilterCondition.GreaterThanOrEqualTo;case StiDateCondition.LessThan:return StiDataFilterCondition.LessThan;case StiDateCondition.LessThanOrEqualTo:return StiDataFilterCondition.LessThanOrEqualTo;default:return StiDataFilterCondition.EqualTo}}static getFormatedDate(t){return t.toString("MM/dd/yyyy")}static getVariableSpecifiedAsValue(t){var e;return StiVariableExpressionHelper.getVariableSpecifiedAsExpression(t,null==(e=t.getValueMeter())?void 0:e.expression)}static isVariableSpecifiedAsValue(t){var e;return StiVariableExpressionHelper.isVariableSpecifiedAsExpression(t,null==(e=t.getValueMeter())?void 0:e.expression)}static getDefaultValue(e){let t,i=null==(t=this.getVariableSpecifiedAsValue(e))?void 0:t.as(StiVariable);if(null!=i){let t=e.report.dictionary.getVariableValueByName(i.name);if(i.initBy!=StiVariableInitBy.Expression||StiString.isNullOrEmpty(t)||(t=StiParser.parseTextValue(`{${t}}`,e)),i.type==DateTime||i.type==NullableDateTime)return StiValueHelper.tryToDateTime(t);if(i.type==DateTimeRange)return t[Stimulsoft.System.StiObject.stimulsoft]().is(DateTimeRange)?t:new DateTimeRange}return DateTime.now}},__.W.StiElementEditorConsts=class{constructor(){this.elementEditor="Stimulsoft.Dashboard.Design.Components.StiElementEditor, Stimulsoft.Dashboard.Design, "+Stimulsoft.StiVersion.versionInfo,this.textFormatEditor="Stimulsoft.Report.Components.TextFormats.Design.StiTextFormatEditor, Stimulsoft.Report.Design, "+Stimulsoft.StiVersion.versionInfo}},__.W.StiElementLayoutConverter=class{},__.W.StiElementStyleConverter=class{},__.W.StiMeterListConverter=class{},__.W.StiTitleConverter=class{},Stimulsoft.Report.StiAbbreviationNumberFormatHelper),IStiMinGaugeMeter=(__.i.StiElementBuilder=class{getSeriesKeysLimitCount(t){let e=null;return e=t.isDesigning?100:e}getSeries(t,e,i,r,l=!1){if(null==t||-1==e)return null;let n=t.rows.whereFirstOrDefaultArrayItemStringEqualsTo(e,i),o=null!=n&&0<n.length?n[e]:null;if(null!=o&&o instanceof DateTime)return o.toShortDateString();if(l&&null!=o){if("number"==typeof o)return StiAbbreviationNumberFormatHelper.format(o,null==r?void 0:r.culture);if("string"==typeof o){let t=StiNumber.tryParse(o);if(t.successfully)return StiAbbreviationNumberFormatHelper.format(t.result,null==r?void 0:r.culture)}}return this.toString(o)}getValue(e,i,t,r,l,n=!1){if(null==e||-1==i)return 0;if(r<2){if(n){let t=e.rows.getArrayItem(i).firstOrDefaultAsNullableDateTime();if(null!=t)return t.ticks;return 0}return e.rows.getArrayItem(i).firstOrDefaultAsNumber()}let o=e.rows.whereFirstOrDefaultArrayItemStringEqualsTo(t,l);if(null!=o&&0<o.length){if(n)return StiValueHelper.tryToDateTime(o[i]).ticks;return StiValueHelper.tryToNumber(o[i])}return 0}getTarget(e,i,t,r,l,n=!1){if(null==e||-1==i)return null;if(r<2){if(n){let t=e.rows.getArrayItem(i).firstOrDefaultAsNullableDateTime();if(null!=t)return t.ticks;return null}return e.rows.getArrayItem(i).firstOrDefaultAsNumber()}let o=e.rows.whereFirstOrDefaultArrayItemStringEqualsTo(t,l);if(null!=o&&0<o.length){if(n)return StiValueHelper.tryToDateTime(o[i]).ticks;return StiValueHelper.tryToNumber(o[i])}return 0}getNullableTarget(e,i,t,r,l,n=!1){if(null==e||-1==i)return null;if(r<2){if(n){let t=e.rows.getArrayItem(i).firstOrDefaultAsNullableDateTime();if(null!=t)return t.ticks;return 0}return e.rows.getArrayItem(i).firstOrDefaultAsNullableNumber()}let o=e.rows.whereFirstOrDefaultArrayItemStringEqualsTo(t,l);if(null!=o&&0<o.length){if(n){if(n)return StiValueHelper.tryToDateTime(o[i]).ticks;return 0}return StiValueHelper.tryToNumber(o[i])}return null}getNullableValue(t,e,i,r,l){if(null==t||-1==e)return null;if(r<2)return t.rows.getArrayItem(e).firstOrDefaultAsNullableNumber();let n=t.rows.whereFirstOrDefaultArrayItemStringEqualsTo(i,l);return null!=n&&0<n.length?StiValueHelper.tryToNullableNumber(n[e]):null}getSeriesKeyValues(t,e,i){if(null==t||-1==e)return new List([""]);let r=null!=i?t.rows.getArrayItem(e).distinct().select(this.replaceDbNull).where(t=>null!=t).take(i):t.rows.getArrayItem(e).distinct().select(this.replaceDbNull).where(t=>null!=t);return r.any()?r:new List([""])}getSeriesKeys(t,e,i){let r=this.getSeriesKeyValues(t,e,i);return null==r?new List([""]):r.select(this.toString)}replaceDbNull(t){return t}toString(t){return null==t?"":t.toString()}toReadableString(t,e){let i=null==e?void 0:e.getParsedCulture();if(StiExtValueConverter.isEligable(t,i))return StiExtValueConverter.convert(t,i);return this.toString(t)}},Stimulsoft.Base.Meters.IStiMinGaugeMeter),IStiMaxGaugeMeter=(__.T.StiMinGaugeMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiMinGaugeMeter]);return(this.implements=()=>t)()}get localizedName(){return"Min"}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.MinGaugeMeter}},Stimulsoft.Base.Meters.IStiMaxGaugeMeter),StiFontUtils=(__.T.StiMaxGaugeMeter=class extends __.e.StiMeasureMeter{implements(){let t=super.implements().concat([IStiMaxGaugeMeter]);return(this.implements=()=>t)()}get localizedName(){return"Max"}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.MaxGaugeMeter}},__.s.StiGaugeIteration=class{},Stimulsoft.Base.Drawing.StiFontUtils),StiLinearTickLabelCustom=Stimulsoft.Report.Components.Gauge.StiLinearTickLabelCustom,StiRadialTickLabelCustom=Stimulsoft.Report.Components.Gauge.StiRadialTickLabelCustom,StiDashboardExpressionHelper=Stimulsoft.Report.Dashboard.Helpers.StiDashboardExpressionHelper,StiLabelRotationMode=Stimulsoft.Report.Gauge.StiLabelRotationMode,StiIndicatorBase=Stimulsoft.Report.Components.Gauge.Primitives.StiIndicatorBase,StiRadialRange=Stimulsoft.Report.Components.Gauge.StiRadialRange,StiRadialRangeList=Stimulsoft.Report.Components.Gauge.StiRadialRangeList,StiLinearMarker=Stimulsoft.Report.Components.Gauge.StiLinearMarker,StiLinearTickMarkMajor=Stimulsoft.Report.Components.Gauge.StiLinearTickMarkMajor,StiLinearTickLabelMajor=Stimulsoft.Report.Components.Gauge.StiLinearTickLabelMajor,StiRadiusMode=Stimulsoft.Report.Gauge.StiRadiusMode,Point=Stimulsoft.System.Drawing.Point,StiNeedle=Stimulsoft.Report.Components.Gauge.StiNeedle,StiRadialBar=Stimulsoft.Report.Components.Gauge.StiRadialBar,StiTickMarkSkin=Stimulsoft.Report.Gauge.StiTickMarkSkin,StiGaugeType=Stimulsoft.Report.Gauge.StiGaugeType,StiGauge=Stimulsoft.Report.Components.StiGauge,StiPlacement=Stimulsoft.Report.Gauge.StiPlacement,StiLinearRange=Stimulsoft.Report.Components.Gauge.StiLinearRange,StiLinearRangeList=Stimulsoft.Report.Components.Gauge.StiLinearRangeList,StiGaugeRangeMode=Stimulsoft.Report.Gauge.StiGaugeRangeMode,StiLinearScale=Stimulsoft.Report.Components.Gauge.StiLinearScale,StiGaugeRangeType=Stimulsoft.Report.Gauge.StiGaugeRangeType,StiGaugeCalculationMode=Stimulsoft.Report.Gauge.StiGaugeCalculationMode,StiMinGaugeMeter=__.T.StiMinGaugeMeter,StiMaxGaugeMeter=__.T.StiMaxGaugeMeter,StiRadialTickLabelMajor=Stimulsoft.Report.Components.Gauge.StiRadialTickLabelMajor,StiRadialTickMarkMajor=Stimulsoft.Report.Components.Gauge.StiRadialTickMarkMajor,StiRadialScale=Stimulsoft.Report.Components.Gauge.StiRadialScale,StiTypeNotRecognizedException=Stimulsoft.Data.Exceptions.StiTypeNotRecognizedException,StiDashboardStyleHelper=Stimulsoft.Report.Dashboard.Styles.StiDashboardStyleHelper,StiGaugeIteration=__.s.StiGaugeIteration,StiMarkerSkin=Stimulsoft.Report.Gauge.StiMarkerSkin,StiLinearTickMarkCustom=Stimulsoft.Report.Components.Gauge.StiLinearTickMarkCustom,StiLinearBar=Stimulsoft.Report.Components.Gauge.StiLinearBar,StiRadialTickMarkCustom=Stimulsoft.Report.Components.Gauge.StiRadialTickMarkCustom,StiLabelPlacement=Stimulsoft.Report.Dashboard.StiLabelPlacement;{class StiGaugeElementBuilder extends __.i.StiElementBuilder{findMinMaxValues(e,i,r,l,h,c,d,g,p,b,C,t,n){let f,w,y,M,I=!1;for(let t of r){let n=this.getValue(l,c,d,g,this.toString(t),h),o=this.getTarget(l,p,d,g,this.toString(t),h),s=0,a=0;if(h){let t=new DateTime(n);if(0==n&&(t=DateTime.now),null!=o){let t=Math.min(n,StiNumber.getValueOrDefault(o)),e=Math.max(n,StiNumber.getValueOrDefault(o)),i=.4*(e-t);s=new DateTime(t).addTicks(-i).ticks,a=new DateTime(e).addTicks(i).ticks}else s=t.addMonths(-1).ticks,a=t.addMonths(1).ticks}else n==b&&n==C&&(a=0==n?(s=-50,50):(s=n-n,n+n));let u=5;switch(e.type){case StiGaugeType.FullCircular:case StiGaugeType.HalfCircular:{let t=Math.min(i.width,i.height);u=t<330?2:t<450?5:t<650?7:10}break;case StiGaugeType.Linear:{let t=i.height;u=t<330?2:t<450?5:t<650?7:10}break;case StiGaugeType.HorizontalLinear:{let t=i.width;u=t<330?2:t<500?5:t<650?8:10}break;case StiGaugeType.Bullet:{let t=i.width;u=t<330?2:5}break}let S=0,m=0;if(e.calculationMode==StiGaugeCalculationMode.Auto){n<0&&(I=!0);let e=this.getSummary(n,s,a,h);if(n<=s&&(s=Math.round(n-.3*e)),n>=a&&(a=Math.round(n+.3*e)),null!=o){let t=o;t<s&&(s=Math.round(t-.3*e)),t>a&&(a=Math.round(t+.3*e))}if(S=s,m=a,-1<n&&n<1){(null==y||S<y)&&(y=S),(null==M||m>M)&&(M=m);continue}let t=S%5,i=(0!=t&&(S-=t),m-S),r=i/u,l=(0<r-r&&(r+=1),r%5);0!=l&&(r+=5-l),i=r*u,m=S+i}else m=e.dateTimeMode?(S=null==(f=e.minimumDateTime)?void 0:f.ticks,null==(w=e.maximumDateTime)?void 0:w.ticks):(S=e.getMinimumValue(),e.getMaximumValue());(null==y||S<y)&&(y=S),(null==M||m>M)&&(M=m)}t.ref=y,n.ref=M,t.ref<0&&e.calculationMode==StiGaugeCalculationMode.Auto&&!I&&(t.ref=0)}async render(t,e,i){return this.render2(t,e,i)()}render2(y,M,I){this.storedCulture=StiCultureHelper.set(y.report);try{let c=this.getValueMeterIndex(I),d=this.getSeriesMeterIndex(I),g=this.getTargetMeterIndex(I),t=this.getMinMeterIndex(I),e=this.getMaxMeterIndex(I),i=this.getSeriesKeyValues(I,d,this.getSeriesKeysLimitCount(y)),p=i.count2(),b=y.dateTimeMode,r=this.getMinValue(y,b,I,t),l=this.getMaxValue(y,b,I,e),C={ref:null},n={ref:null},f=(this.findMinMaxValues(y,M,i,I,b,c,d,p,g,r,l,C,n),C.ref),w=n.ref;return async()=>i.selectAsync(async t=>{let e=this.getValue(I,c,d,p,this.toString(t),b),i=this.getNullableTarget(I,g,d,p,this.toString(t),b),r={ref:null},l={ref:null},n={ref:null},o=(this.fundActualValues(y,M,b,e,f,w,r,l,n),r.ref),s=C.ref,a=n.ref,u=await this.createScale(y,b,a,M,f,w,i),S=(u.seriesKey=t,u.items.toList().where(t=>t.is(StiIndicatorBase)).cast());for(let t of S)t.valueObj=e;if(u.minimum=f,u.maximum=w,u.majorInterval=o,u.minorInterval=s,y.type==StiGaugeType.Linear||y.type==StiGaugeType.HorizontalLinear||y.type==StiGaugeType.Bullet){let t=u.items.toList().where(t=>t.is(StiLinearRangeList)).cast().firstOrDefault();null!=t&&1==t.ranges.length&&(t.ranges.getByIndex(0).startValue=u.minimum,t.ranges.getByIndex(0).endValue=u.maximum)}let m=new StiGauge(y.clientRectangle),h=(m.allowApplyStyle=!0,m.shortValue=y.shortValue,m.previousAnimations=y.previousAnimations,StiGaugeElementBuilder.setStyle(y,m),m.scales.add(u),m.applyStyle(m.style),new StiGaugeIteration);return h.gauge=m,h.value=e,h.target=i,h.series=this.getSeries(I,d,t,y.report,y.shortValue),h},this)}finally{__.h.StiCultureHelper.restore(this.storedCulture)}}fundActualValues(t,e,i,r,l,n,o,s,a){let u=o.ref,S=s.ref,m=a.ref,h=5;switch(m=!1,t.type){case StiGaugeType.FullCircular:case StiGaugeType.HalfCircular:{let t=Math.min(e.width,e.height);t<330?(h=2,m=!0):h=t<450?5:t<650?7:10}break;case StiGaugeType.Linear:{let t=e.height;t<330?(h=2,m=!0):h=t<450?5:t<650?7:10}break;case StiGaugeType.HorizontalLinear:{let t=e.width;t<330?(h=2,m=!0):h=t<500?5:t<650?8:10}break;case StiGaugeType.Bullet:{let t=e.width;t<330?(h=2,m=!0):h=5}break}if(t.calculationMode!=StiGaugeCalculationMode.Auto)return 0==(u=Math.abs(Math.round((n-l)/h)))&&(u=1),S=u/2,o.ref=u,s.ref=S,void(a.ref=m);{let t=this.getSummary(r,l,n,i);u=Math.abs(Math.round(t/h)),S=u/2,o.ref=u,s.ref=S}if(-1<r&&r<1)return;let c=n-l,d=c/h,g=(0<d-d&&(d+=1),d%5);0!=g&&(d+=5-g),c=d*h,u=Math.abs(c/h),S=u/2,o.ref=u,s.ref=S,a.ref=m}getSummary(i,r,l,t){if(t){let t=l-r;return t=0==t?new DateTime(1,1,1).ticks:t}{let t=Math.round(l-r),e=Math.max(i,t);return e=Math.max(e,r),e=0==(e=Math.max(e,l))?100:e}}static setStyle(t,e){if(t.style!=StiElementStyleIdent.Custom)return void(e.style=StiDashboardStyleHelper.getGaugeStyle(t));let i=t.report.styles.getCustomGaugeStyle(t.customStyleName);if(null!=i)return e.style=i,e.customStyleName=t.customStyleName,e.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(t)),void(e.allowApplyStyle=!1);e.style=StiDashboardStyleHelper.getGaugeStyle2(StiElementStyleIdent.Blue)}static getTargetBrush(t){if(t.style!=StiElementStyleIdent.Custom)return new StiSolidBrush(StiDashboardStyleHelper.getGaugeStyle(t).core.targetColor);let e=t.report.styles.getCustomGaugeStyle(t.customStyleName);if(null!=e&&null!=e.core)return new StiSolidBrush(e.core.targetColor);return new StiSolidBrush(StiDashboardStyleHelper.getGaugeStyle2(StiElementStyleIdent.Blue).core.targetColor)}static getTickMarkBrush(t){if(t.style!=StiElementStyleIdent.Custom)return StiDashboardStyleHelper.getGaugeStyle(t).core.tickMarkMajorBrush;let e=t.report.styles.getCustomGaugeStyle(t.customStyleName);if(null!=e&&null!=e.core)return e.core.tickMarkMajorBrush;return StiDashboardStyleHelper.getGaugeStyle2(StiElementStyleIdent.Blue).core.tickMarkMajorBrush}static getTickLabelBrush(t){if(t.style!=StiElementStyleIdent.Custom)return StiDashboardStyleHelper.getGaugeStyle(t).core.tickLabelMajorTextBrush;let e=t.report.styles.getCustomGaugeStyle(t.customStyleName);if(null!=e&&null!=e.core)return e.core.tickLabelMajorTextBrush;return StiDashboardStyleHelper.getGaugeStyle2(StiElementStyleIdent.Blue).core.tickLabelMajorTextBrush}async createScale(t,e,i,r,l,n,o=null){switch(t.type){case StiGaugeType.FullCircular:return this.createFullCircularScale(t,e,i,r,l,n,o);case StiGaugeType.HalfCircular:return this.createHalfCircularScale(t,e,i,r,l,n,o);case StiGaugeType.Linear:return this.createLinearScale(t,e,l,n,!1,o);case StiGaugeType.HorizontalLinear:return this.createLinearScale(t,e,l,n,!0,o);case StiGaugeType.Bullet:return this.createBullet(t,e,l,n,o);default:throw new StiTypeNotRecognizedException(t.type)}}static calculateMinorInterval(t,e){if(t<0&&e<0)return Math.abs((t-e)/5);if(t<0)return(e+Math.abs(t))/5;return(e-t)/5}async createFullCircularScale(e,t,i,r,l,n,o=null){let s=Math.min(r.width,r.height),a=s<150,u=s<75,S=new StiRadialScale,m=(S.dateTimeMode=t,S.allowApplyStyle=!1,S.radius=!e.labels.visible||e.labels.placement==StiLabelPlacement.Inside?.8:.63,S.startAngle=120,S.sweepAngle=300,S.startWidth=.05,S.endWidth=.05,S.minimum=0,S.maximum=180,S.majorInterval=StiGaugeElementBuilder.calculateMinorInterval(l,n),S.borderBrush=new StiEmptyBrush,S.brush=new StiEmptyBrush,await StiGaugeElementBuilder.addRadialRanges(e,l,n,S)),h=new StiRadialBar,c=(h.startWidth=.1,h.endWidth=.1,h.offset=.1,h.placement=StiPlacement.Outside,h.valueObj=90,S.items.add(h),new StiNeedle);if(c.relativeHeight=.3,c.relativeWidth=.4,c.startWidth=.1,c.endWidth=1,c.capBrush=new StiEmptyBrush,c.brush=new StiEmptyBrush,c.valueObj=90,S.items.add(c),e.labels.visible&&!u){let t=new StiRadialTickMarkMajor;t.relativeWidth=.03,t.relativeHeight=.006,t.skin=StiTickMarkSkin.Rectangle,t.brush=StiGaugeElementBuilder.getTickMarkBrush(e),e.labels.placement==StiLabelPlacement.Inside?(t.placement=StiPlacement.Inside,t.offset=m?0:-.1):(t.placement=StiPlacement.Outside,t.offset=.2),S.items.add(t)}if(e.labels.visible&&!a){let t=new StiRadialTickLabelMajor;t.allowApplyStyle=!1,t.textBrush=StiGaugeElementBuilder.getTickLabelBrush(e),t.labelRotationMode=i?StiLabelRotationMode.None:e.labels.rotationMode,t.formatService=e.valueFormat,null!=o&&(t.skipValuesObj=[StiNumber.getValueOrDefault(o)]),u&&(t.font=StiGaugeElementBuilder.getSmallElementFont(e)),e.labels.placement==StiLabelPlacement.Inside?(t.placement=StiPlacement.Inside,t.offset=m?.07:-.03):(t.placement=StiPlacement.Outside,t.offset=.27),S.items.add(t)}if(null!=o){let t=new StiRadialTickMarkCustom;if(t.placement=StiPlacement.Overlay,t.offset=-.15,t.relativeWidth=.1,t.relativeHeight=.02,t.borderWidth=0,t.brush=StiGaugeElementBuilder.getTargetBrush(e),t.valueObj=o[Stimulsoft.System.StiObject.stimulsoft]().toNumber(),S.items.add(t),e.targetSettings.showLabel){let t=new StiRadialTickLabelCustom;switch(t.allowApplyStyle=!1,t.formatService=e.valueFormat,t.textBrush=StiGaugeElementBuilder.getTargetBrush(e),t.labelRotationMode=i?StiLabelRotationMode.None:e.labels.rotationMode,t.placement=e.targetSettings.placement,t.valueObj=StiNumber.getValueOrDefault(o),t.textObj=StiNumber.getValueOrDefault(o).toString(),t.font=StiGaugeElementBuilder.getSmallElementFont(e),e.targetSettings.placement){case StiPlacement.Overlay:t.offset=-.12;break;case StiPlacement.Outside:t.offset=.18;break}S.items.add(t)}}return S}async createHalfCircularScale(e,t,i,r,l,n,o=null){let s=Math.min(r.width,r.height),a=s<150,u=s<75,S=new StiRadialScale,m=(S.dateTimeMode=t,S.startAngle=180,S.sweepAngle=180,S.startWidth=.05,S.endWidth=.05,S.minimum=0,S.maximum=180,S.radius=.92,S.majorInterval=StiGaugeElementBuilder.calculateMinorInterval(l,n),S.center=new Point(.5,.7),S.radiusMode=StiRadiusMode.Auto,S.brush=new StiSolidBrush(Color.fromArgb2(238,238,238)),new StiRadialBar);if(m.startWidth=.05,m.endWidth=.05,m.offset=.1,m.valueObj=135,m.placement=StiPlacement.Overlay,m.brush=new StiSolidBrush(Color.red),S.items.add(m),await StiGaugeElementBuilder.addRadialRanges(e,l,n,S),e.labels.visible){if(!u){let t=new StiRadialTickMarkMajor;t.offset=.05,t.relativeWidth=.03,t.relativeHeight=.006,t.skin=StiTickMarkSkin.Rectangle,t.brush=StiGaugeElementBuilder.getTickMarkBrush(e),e.labels.placement==StiLabelPlacement.Inside?t.placement=StiPlacement.Inside:t.placement=StiPlacement.Outside,S.items.add(t)}if(!a){let t=new StiRadialTickLabelMajor;t.allowApplyStyle=!1,t.textBrush=StiGaugeElementBuilder.getTickLabelBrush(e),t.labelRotationMode=i?StiLabelRotationMode.None:e.labels.rotationMode,t.formatService=e.valueFormat,t.font=StiGaugeElementBuilder.getSmallElementFont(e),null!=o&&(t.skipValuesObj=[StiNumber.getValueOrDefault(o)]),e.labels.placement==StiLabelPlacement.Inside?(t.placement=StiPlacement.Inside,t.offset=.12):(t.placement=StiPlacement.Outside,t.offset=.1),S.items.add(t)}}if(null!=o){let t=new StiRadialTickMarkCustom;if(t.placement=StiPlacement.Overlay,t.relativeWidth=.1,t.relativeHeight=.02,t.borderWidth=0,t.brush=StiGaugeElementBuilder.getTargetBrush(e),t.valueObj=o[Stimulsoft.System.StiObject.stimulsoft]().toNumber(),S.items.add(t),e.targetSettings.showLabel){let t=new StiRadialTickLabelCustom;switch(t.allowApplyStyle=!1,t.formatService=e.valueFormat,t.textBrush=StiGaugeElementBuilder.getTargetBrush(e),t.labelRotationMode=i?StiLabelRotationMode.None:e.labels.rotationMode,t.placement=e.targetSettings.placement,t.valueObj=StiNumber.getValueOrDefault(o),t.textObj=StiNumber.getValueOrDefault(o).toString(),e.targetSettings.placement){case StiPlacement.Inside:t.offset=.12;break;case StiPlacement.Outside:t.offset=.05;break}S.items.add(t)}}let h=new StiNeedle;return h.relativeHeight=.05,h.relativeWidth=.4,h.startWidth=.1,h.endWidth=.2,h.capBrush=new StiSolidBrush(Color.white),h.capBorderBrush=new StiSolidBrush(Color.fromArgb2(0,150,136)),h.capBorderWidth=2,h.brush=new StiSolidBrush(Color.fromArgb2(0,150,136)),h.borderWidth=0,h.textBrush=new StiSolidBrush(Color.fromArgb2(0,150,136)),h.valueObj=135,S.items.add(h),S}async createLinearScale(r,t,e,i,l,n){let o=StiDashboardStyleHelper.getGaugeStyle(r),s=new StiLinearScale;if(s.dateTimeMode=t,s.relativeHeight=l?.9:.92,s.orientation=l?Stimulsoft.System.Drawing.Orientation.Horizontal:Stimulsoft.System.Drawing.Orientation.Vertical,s.startWidth=.1,s.endWidth=.1,s.maximum=100,s.majorInterval=StiGaugeElementBuilder.calculateMinorInterval(e,i),s.borderBrush=new StiEmptyBrush,s.brush=o.core.linearScaleBrush,r.labels.visible){let t=new StiLinearTickLabelMajor,e=(t.formatService=r.valueFormat,t.font=StiGaugeElementBuilder.getSmallElementFont(r),t.allowApplyStyle=!1,t.textBrush=StiGaugeElementBuilder.getTickLabelBrush(r),null!=n&&(t.skipValuesObj=[StiNumber.getValueOrDefault(n)]),StiDashboardExpressionHelper.getForeColor(r,r.foreColor)),i=(Color.transparent.equals(e)||(t.allowApplyStyle=!1,t.textBrush=new StiSolidBrush(e)),new StiLinearTickMarkMajor);i.relativeHeight=l?.03:.003,i.relativeWidth=l?.003:.03,i.borderBrush=new StiEmptyBrush,i.borderWidth=0,i.brush=StiGaugeElementBuilder.getTickMarkBrush(r),r.labels.placement==StiLabelPlacement.Inside?(i.placement=StiPlacement.Inside,t.placement=StiPlacement.Inside):(i.placement=StiPlacement.Outside,t.placement=StiPlacement.Outside),t.offset=.04,s.items.add(t),s.items.add(i)}if(await StiGaugeElementBuilder.addLinearRanges(r,e,i,s),null!=n){let t=new StiLinearTickMarkCustom;if(t.placement=StiPlacement.Overlay,t.relativeWidth=l?.012:.1,t.relativeHeight=l?.1:.012,t.borderWidth=0,t.brush=StiGaugeElementBuilder.getTargetBrush(r),t.valueObj=null!=n?n[Stimulsoft.System.StiObject.stimulsoft]().toNumber():0,s.items.add(t),r.targetSettings.showLabel){let t=new StiLinearTickLabelCustom;t.allowApplyStyle=!1,t.formatService=r.valueFormat,t.textBrush=StiGaugeElementBuilder.getTargetBrush(r),t.placement=r.targetSettings.placement,t.offset=.04,t.valueObj=StiNumber.getValueOrDefault(n),t.textObj=StiNumber.getValueOrDefault(n).toString(),s.items.add(t)}}let a=new StiLinearMarker;return a.skin=l?StiMarkerSkin.TriangleBottom:StiMarkerSkin.TriangleRight,a.relativeWidth=l?.04:.1,a.relativeHeight=l?.1:.04,a.placement=StiPlacement.Overlay,a.valueObj=60,a.brush=new StiSolidBrush(Color.fromArgb2(205,220,57)),s.items.add(a),s}static async addRadialRanges(s,a,u,t){if(0<s.ranges.length&&s.rangeType==StiGaugeRangeType.Color){let o=new StiRadialRangeList;if(s.rangeMode==StiGaugeRangeMode.Percentage)for(let n of s.ranges){let t=StiValueHelper.parseNumber(await StiReportParser.parseAsync(n.startExpression,s)),e=StiValueHelper.parseNumber(await StiReportParser.parseAsync(n.endExpression,s)),i=a+(u-a)/100*t,r=a+(u-a)/100*e,l=new StiRadialRange;l.placement=StiPlacement.Overlay,l.startValue=i,l.endValue=r,l.startWidth=.05,l.endWidth=.05,l.borderBrush=new StiEmptyBrush,l.brush=new StiSolidBrush(n.color),o.ranges.add(l)}else for(let r of s.ranges){let t=StiValueHelper.parseNumber(await StiReportParser.parseAsync(r.startExpression,s)),e=StiValueHelper.parseNumber(await StiReportParser.parseAsync(r.endExpression,s)),i=new StiRadialRange;i.placement=StiPlacement.Overlay,i.startValue=t,i.endValue=e,i.startWidth=.05,i.endWidth=.05,i.borderBrush=new StiEmptyBrush,i.brush=new StiSolidBrush(r.color),o.ranges.add(i)}return t.items.add(o),0<o.ranges.length}return!1}async createBullet(i,t,e,r,l=null){let n=new StiLinearScale;if(n.dateTimeMode=t,n.orientation=Stimulsoft.System.Drawing.Orientation.Horizontal,n.relativeHeight=.85,n.startWidth=.01,n.endWidth=.01,n.maximum=100,n.majorInterval=StiGaugeElementBuilder.calculateMinorInterval(e,r),n.borderBrush=new StiEmptyBrush,n.brush=new StiEmptyBrush,await StiGaugeElementBuilder.addLinearRanges(i,e,r,n),i.labels.visible){let t=new StiLinearTickLabelMajor,e=(t.formatService=i.valueFormat,t.textBrush=StiGaugeElementBuilder.getTickLabelBrush(i),t.font=StiGaugeElementBuilder.getSmallElementFont(i),null!=l&&(t.skipValuesObj=[StiNumber.getValueOrDefault(l)]),new StiLinearTickMarkMajor);e.relativeHeight=.03,e.relativeWidth=.003,e.borderBrush=new StiEmptyBrush,e.borderWidth=0,e.brush=StiGaugeElementBuilder.getTickMarkBrush(i),i.labels.placement==StiLabelPlacement.Inside?(t.placement=StiPlacement.Inside,t.offset=.2,e.placement=StiPlacement.Inside):(t.placement=StiPlacement.Outside,t.offset=.2,e.placement=StiPlacement.Outside),e.offset=.15,n.items.add(e),n.items.add(t)}if(null!=l){let t=new StiLinearTickMarkCustom;if(t.placement=StiPlacement.Overlay,t.relativeWidth=.008,t.relativeHeight=.1,t.borderWidth=0,t.brush=StiGaugeElementBuilder.getTargetBrush(i),t.valueObj=l[Stimulsoft.System.StiObject.stimulsoft]().toNumber(),n.items.add(t),i.targetSettings.showLabel){let t=new StiLinearTickLabelCustom;t.allowApplyStyle=!1,t.formatService=i.valueFormat,t.textBrush=StiGaugeElementBuilder.getTargetBrush(i),t.placement=i.targetSettings.placement,t.offset=.25,t.valueObj=StiNumber.getValueOrDefault(l),t.textObj=StiNumber.getValueOrDefault(l).toString(),n.items.add(t)}}let o=new StiLinearBar;return o.valueObj=60,o.startWidth=.15,o.endWidth=.15,o.brush=new StiSolidBrush(Color.fromArgb2(205,220,57)),n.items.add(o),n}static async addLinearRanges(a,u,S,t,m=!1){if(0<a.ranges.length&&a.rangeType==StiGaugeRangeType.Color){let o=new StiLinearRangeList,s=a.type==StiGaugeType.Bullet?.3:.05;if(a.rangeMode==StiGaugeRangeMode.Percentage)for(let n of a.ranges){let t=StiValueHelper.parseNumber(await StiReportParser.parseAsync(n.startExpression,a)),e=StiValueHelper.parseNumber(await StiReportParser.parseAsync(n.endExpression,a)),i=u+(S-u)/100*t,r=u+(S-u)/100*e,l=new StiLinearRange;l.placement=StiPlacement.Overlay,l.startValue=i,l.endValue=r,l.startWidth=s,l.endWidth=s,l.borderBrush=new StiEmptyBrush,l.brush=new StiSolidBrush(n.color),m&&(l.borderBrush=new StiSolidBrush(Color.fromArgb(150,139,138,135))),o.ranges.add(l)}else for(let r of a.ranges){let t=StiValueHelper.parseNumber(await StiReportParser.parseAsync(r.startExpression,a)),e=StiValueHelper.parseNumber(await StiReportParser.parseAsync(r.endExpression,a)),i=new StiLinearRange;i.placement=StiPlacement.Overlay,i.startValue=t,i.endValue=e,i.startWidth=s,i.endWidth=s,i.borderBrush=new StiEmptyBrush,i.brush=new StiSolidBrush(r.color),m&&(i.borderBrush=new StiSolidBrush(Color.fromArgb(150,139,138,135))),o.ranges.add(i)}t.items.add(o)}}getMinValue(e,t,i,r){if(-1==r)return t?e.minimumDateTime.ticks:e.getMinimumValue();if(t){let t;return null==(t=e.calculationMode==StiGaugeCalculationMode.Auto?i.rows.getArrayItem(r).firstOrDefaultAsNullableDateTime():e.minimumDateTime)?e.minimumDateTime.ticks:null==t?void 0:t.ticks}{let t=e.calculationMode==StiGaugeCalculationMode.Auto?i.rows.getArrayItem(r).firstOrDefaultAsNullableNumber():e.getMinimumValue();return null!=t?t:e.getMinimumValue()}}getMaxValue(e,t,i,r){if(-1==r)return t?e.maximumDateTime.ticks:e.getMaximumValue();if(t){let t;return null==(t=e.calculationMode==StiGaugeCalculationMode.Auto?i.rows.getArrayItem(r).firstOrDefaultAsNullableDateTime():e.maximumDateTime)?e.maximumDateTime.ticks:null==t?void 0:t.ticks}{let t=e.calculationMode==StiGaugeCalculationMode.Auto?i.rows.getArrayItem(r).firstOrDefaultAsNullableNumber():e.getMaximumValue();return null!=t?t:e.getMaximumValue()}}getValueMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiValueGaugeMeter));return null!=e?t.meters.indexOf(e):-1}getMinMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiMinGaugeMeter));return null!=e?t.meters.indexOf(e):-1}getMaxMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiMaxGaugeMeter));return null!=e?t.meters.indexOf(e):-1}getSeriesMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiSeriesGaugeMeter));return null!=e?t.meters.indexOf(e):-1}getTargetMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiTargetGaugeMeter));return null!=e?t.meters.indexOf(e):-1}static getSmallElementFont(t){let e=StiDashboardStyleHelper.getElementFontFromStyle(t);if(null==e)return t.font;let i=StiDashboardStyleHelper.getElementFontFromStyle(t),r=8*i.size/13,l=t.cachedSmallFont;if(null!=l&&l.name==i.name&&l.style==i.style&&l.size==r)return l;return t.cachedSmallFont=StiFontUtils.changeFontSize(i,r),t.cachedSmallFont}}__.i.StiGaugeElementBuilder=StiGaugeElementBuilder}let ImplementsIStiGaugeRange=Stimulsoft.Report.Dashboard.ImplementsIStiGaugeRange,IStiGaugeRange=Stimulsoft.Report.Dashboard.IStiGaugeRange;{class StiGaugeRange{implements(){let t=[IStiJsonReportObject,IStiGaugeRange,...ImplementsIStiGaugeRange,ICloneable];return(this.implements=()=>t)()}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}meta(){return[new StiColorMeta("Color","",Color.red),new StiStringNullOrEmptyMeta("StartExpression"),
|
|
8
8
|
new StiStringNullOrEmptyMeta("EndExpression")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}get start(){return StiValueHelper.tryToNumber(this.startExpression)}set start(t){this.currentCulture=CultureInfo.currentCulture;try{CultureInfo.currentCulture=CultureInfo.cultures["en-US"],this.startExpression=t.toString()}finally{CultureInfo.currentCulture=this.currentCulture}}get end(){return StiValueHelper.tryToNumber(this.endExpression)}set end(t){this.currentCulture=CultureInfo.currentCulture;try{CultureInfo.currentCulture=CultureInfo.cultures["en-US"],this.endExpression=t.toString()}finally{CultureInfo.currentCulture=this.currentCulture}}static loadFromJson(t){let e=new StiGaugeRange;return e.loadFromJsonObject(t),e}static loadFromXml(t){let e=new StiGaugeRange;return e.loadFromXml(t),e}saveToString(){return this.saveToJsonObject(StiJsonSaveMode.Report).serialize()}getStringRepresentation(){return this.start+` - `+this.end}constructor(t,e,i){this.color=Color.red,this.startExpression="0",this.endExpression="100",null!=t&&(this.color=t),null!=e&&(this.startExpression=e),null!=i&&(this.endExpression=i)}}__.T.StiGaugeRange=StiGaugeRange}__.g.StiGaugeDashboardInteraction=class extends __.g.StiDashboardInteraction{implements(){let t=super.implements().concat([IStiAllowUserSortingDashboardInteraction,IStiJsonReportObject,IStiInteractionLayout]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiBoolMeta("AllowUserSorting","",!0),new StiBoolMeta("AllowUserDrillDown"),new StiBoolMeta("ShowFullScreenButton","",!0),new StiBoolMeta("ShowSaveButton","",!0),new StiBoolMeta("ShowViewDataButton","",!0),new StiStringNullOrEmptyMeta("FileName"),new StiStringNullOrEmptyMeta("HeaderText"),new StiStringNullOrEmptyMeta("FooterText")]}get isDefaultLayout(){return this.showFullScreenButton&&this.showSaveButton&&this.showViewDataButton&&null==this.fileName&&null==this.headerText&&null==this.footerText}isDefault(){return this.isDefaultLayout&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)&&!this.allowUserDrillDown&&this.allowUserSorting}constructor(t,e,i,r,l,n,o){super(),this.ident=StiInteractionIdent.Gauge,this.availableOnClick=StiAvailableInteractionOnClick.None,this.availableOnHover=StiAvailableInteractionOnHover.None,this.availableOnDataManipulation=StiAvailableInteractionOnDataManipulation.AllowSorting,this.allowUserSorting=!0,this.allowUserDrillDown=!1,this.onClick=StiInteractionOnClick.OpenHyperlink,this.showFullScreenButton=!0,this.showSaveButton=!0,this.showViewDataButton=!0,this.fileName=null,this.headerText=null,this.footerText=null,null!=t&&(this.fileName=t),null!=e&&(this.headerText=e),null!=i&&(this.footerText=i),null!=r&&(this.showFullScreenButton=r),null!=l&&(this.showSaveButton=l),null!=n&&(this.allowUserSorting=n),null!=o&&(this.showViewDataButton=o)}};let IStiGaugeLabels=Stimulsoft.Report.Dashboard.IStiGaugeLabels,IStiGaugeTarget=(__.T.StiGaugeLabels=class{implements(){let t=[IStiGaugeLabels,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiBoolMeta("Visible","",!0),new StiEnumMeta("Placement","",StiLabelPlacement,StiLabelPlacement.Inside),new StiEnumMeta("RotationMode","",StiLabelRotationMode,StiLabelRotationMode.Automatic)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}constructor(t,e,i){this.visible=!0,this.placement=StiLabelPlacement.Inside,this.rotationMode=StiLabelRotationMode.Automatic,null!=t&&(this.visible=t),null!=e&&(this.placement=e),null!=i&&(this.rotationMode=i)}},Stimulsoft.Report.Dashboard.IStiGaugeTarget),StiGaugeTarget=(__.T.StiGaugeTarget=class{implements(){let t=[IStiGaugeTarget,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiBoolMeta("ShowLabel","",!0),new StiEnumMeta("Placement","",StiPlacement,StiPlacement.Inside)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}constructor(t,e){this.showLabel=!0,this.placement=StiPlacement.Inside,null!=t&&(this.showLabel=t),null!=e&&(this.placement=e)}},__.T.StiGaugeTarget),StiGaugeDashboardInteraction=__.g.StiGaugeDashboardInteraction,StiGaugeRange=__.T.StiGaugeRange,ImplementsIStiGaugeElement=Stimulsoft.Report.Dashboard.ImplementsIStiGaugeElement,StiGaugeElementBuilder=__.i.StiGaugeElementBuilder,IStiGaugeElement=Stimulsoft.Report.Dashboard.IStiGaugeElement,StiGaugeLabels=__.T.StiGaugeLabels,IStiNumberFormat=Stimulsoft.Report.Components.IStiNumberFormat;{StiExportToolAttribute.add("StiGaugeElement","Stimulsoft.Dashboard.Export.Tools.StiGaugeElementExportTool");class StiGaugeElement extends __.e.StiElement{implements(){let t=super.implements().concat([IStiGaugeElement,IStiSimpleShadow,IStiCornerRadius,IStiTitleElement,IStiFont,IStiForeColor,IStiElementLayout,IStiElementInteraction,IStiGlobalizationProvider,...ImplementsIStiGaugeElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiTitleElement,...ImplementsIStiFont,...ImplementsIStiForeColor,...ImplementsIStiElementLayout,IStiJsonReportObject,IStiShowBlanks,IStiNumberFormat]);return(this.implements=()=>t)()}clone(t){let e,i,r,l,n=super.clone(t);return n.value=null!=this.value?this.value.clone():null,n.series=null!=this.series?this.series.clone():null,n.target=null!=this.target?this.target.clone():null,n.valueFormat=null!=this.valueFormat?this.valueFormat.clone():null,n.userSorts=this.userSorts.select(t=>t.clone()).toList(),n.transformActions=this.transformActions.select(t=>t.clone()).toList(),n.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),n.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),n.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),n.title=null!=this.title?this.title.clone():null,n.layout=null!=this.layout?this.layout.clone():null,n.dashboardInteraction=this.dashboardInteraction.clone(),n.labels=null==(e=this.labels)?void 0:e.clone(),n.targetSettings=null==(i=this.targetSettings)?void 0:i.clone(),n.shadow=null==(r=this.shadow)?void 0:r.clone(),n.cornerRadius=null==(l=this.cornerRadius)?void 0:l.clone(),n}meta(){return[...super.meta(),new StiObjectMeta("UserSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userSorts,t)).set(t=>this.userSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.userSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("Ranges").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.ranges,t)).set(t=>this.ranges.addRange(t.value.properties().select(t=>StiGaugeRange.loadFromJson(t.value)))).setXml(t=>this.ranges.addRange(t.childNodes.map(t=>StiGaugeRange.loadFromXml(t)))),new StiNumberMeta("Minimum","",0),new StiNumberMeta("Maximum","",100),new StiStringMeta("MinimumValue","","0"),new StiStringMeta("MaximumValue","","100"),new StiStringNullOrEmptyMeta("MinimumDateTime").get(()=>this.minimumDateTime.toString()).set(t=>this.minimumDateTime=StiJson.jsonDateFormatToDate(t.value)).setXml(t=>this.minimumDateTime=DateTime.tryParse(t.textContent).result),new StiStringNullOrEmptyMeta("MaximumDateTime").get(()=>this.maximumDateTime.toString()).set(t=>this.maximumDateTime=StiJson.jsonDateFormatToDate(t.value)).setXml(t=>this.maximumDateTime=DateTime.tryParse(t.textContent).result),new StiEnumMeta("CalculationMode","",Stimulsoft.Report["Gauge"].StiGaugeCalculationMode,Stimulsoft.Report["Gauge"].StiGaugeCalculationMode.Auto),new StiEnumMeta("RangeMode","",Stimulsoft.Report["Gauge"].StiGaugeRangeMode,Stimulsoft.Report["Gauge"].StiGaugeRangeMode.Percentage),new StiEnumMeta("Type","",Stimulsoft.Report["Gauge"].StiGaugeType,Stimulsoft.Report["Gauge"].StiGaugeType.FullCircular),new StiEnumMeta("RangeType","",Stimulsoft.Report["Gauge"].StiGaugeRangeType,Stimulsoft.Report["Gauge"].StiGaugeRangeType.None),new StiBoolMeta("ShortValue","",!0),new StiBoolMeta("CrossFiltering","",!0),new StiBoolMeta("ShowBlanks"),new StiBoolMeta("DateTimeMode"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiObjectMeta("Labels").check(()=>null!=this.labels),new StiObjectMeta("TargetSettings").check(()=>null!=this.targetSettings),new StiObjectMeta("Value").check(()=>null!=this.value).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.T.StiValueGaugeMeter);null!=e&&(this.value=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.T.StiValueGaugeMeter);null!=e&&(this.value=e)}),new StiObjectMeta("Series").check(()=>null!=this.series).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(StiSeriesGaugeMeter);null!=e&&(this.series=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(StiSeriesGaugeMeter);null!=e&&(this.series=e)}),new StiObjectMeta("Target").check(()=>null!=this.target).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.T.StiTargetGaugeMeter);null!=e&&(this.target=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.T.StiTargetGaugeMeter);null!=e&&(this.target=e)}),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=StiTitle.createFromXml(t)),new StiObjectMeta("Layout").check(()=>null!=this.layout).set(t=>this.layout=StiElementLayout.createFromJsonObject(t.value)).setXml(t=>this.layout=StiElementLayout.createFromXml(t)),new StiColorMeta("ForeColor","",Color.transparent),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiEnumMeta("DataMode","",StiDataMode,StiDataMode.UsingDataFields),new StiStringNullOrEmptyMeta("ManuallyEnteredData"),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("ValueFormat").check(()=>null!=this.valueFormat).set(t=>this.valueFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.valueFormat=StiFormatService.loadFormatFromXml(t,this.report)),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiGaugeDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiGaugeDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiGaugeDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiEventMeta("ClickEvent")]}addValue2(t){this.value=null!=t?StiMeterHelper.Gauge.getValue2(t):null}addValue(t){this.value=StiMeterHelper.Gauge.getValue(t.as(__.e.StiMeter))}removeValue(){this.value=null}getValue(){return this.value}getValue2(t){return null!=t?StiMeterHelper.Gauge.getValue(t.as(__.e.StiMeter)):null}createNewValue(){this.value=new __.T.StiValueGaugeMeter,this.value.expression="Sum()"}addSeries2(t){this.series=null!=t?StiMeterHelper.Gauge.getSeries2(t):null}addSeries(t){this.series=StiMeterHelper.Gauge.getSeries(t.as(__.e.StiMeter))}removeSeries(){this.series=null}getSeries(){return this.series}getSeries2(t){return null!=t?StiMeterHelper.Gauge.getSeries(t.as(__.e.StiMeter)):null}createNewSeries(){this.series=new StiSeriesGaugeMeter}addTarget2(t){this.target=null!=t?StiMeterHelper.Gauge.getTarget2(t):null}addTarget(t){this.target=StiMeterHelper.Gauge.getTarget(t.as(__.e.StiMeter))}removeTarget(){this.target=null}getTarget(){return this.target}getTarget2(t){return null!=t?StiMeterHelper.Gauge.getTarget(t.as(__.e.StiMeter)):null}createNewTarget(){this.target=new __.T.StiTargetGaugeMeter}getRanges(){let t=new List;return t.addRange(this.ranges),t}getPreferedColor(){if(this.ranges.all(t=>!Color.green.equals(t.color)))return Color.green;if(this.ranges.all(t=>!Color.yellow.equals(t.color)))return Color.yellow;if(this.ranges.all(t=>!Color.red.equals(t.color)))return Color.red;return Color.orange}addRange(){let t=new StiGaugeRange;return t.color=this.getPreferedColor(),this.ranges.add(t),t}removeRange(t){t<this.ranges.length&&this.ranges.removeAt(t)}createdDefaultRanges(){this.ranges.clear(),this.ranges.add(new StiGaugeRange(Color.red,"0","33")),this.ranges.add(new StiGaugeRange(Color.yellow,"33","66")),this.ranges.add(new StiGaugeRange(Color.green,"66","100"))}getManuallyEnteredDataTable(){if(this.dataMode!=StiDataMode.ManuallyEnteringData)return null;return __.e.StiManuallyEnteredDataParser.getGaugeDataTable(this.manuallyEnteredData,this.dateTimeMode,this)}async getGaugeComponent(t=null){let e=await StiElementDataCache.getOrCreate(this),i=(new StiGaugeElementBuilder).render2(this,null!=t?t:this.clientRectangle.size,e),r=new Stimulsoft.Report.Components.StiGauge;return 1==(await i()).count2()&&((r=(await i()).firstOrDefault().gauge).report=this.report,r.page=this.page,r.name=this.name+`_Content`,r.clientRectangle=null!=t?new Rectangle(0,0,t.width,t.height):this.clientRectangle.clone(),r.brush=new StiSolidBrush(this.backColor)),r}convertFrom(t){let e=t.fetchAllMeters();if(null==e)return;let i=e.firstOrDefault(t=>t.is(IStiValueMeter)),r=(null!=(i=null==i?i=e.firstOrDefault(t=>t.is(IStiMeasureMeter)):i)&&(this.value=null==this.value?new __.T.StiValueGaugeMeter:this.value,this.value.loadFromJsonObject(i.saveToJsonObject(StiJsonSaveMode.Report))),e.firstOrDefault(t=>t.is(IStiSeriesMeter))),l=(null!=(r=null==r?e.firstOrDefault(t=>t.is(IStiDimensionMeter)):r)&&(this.series=null==this.series?new StiSeriesGaugeMeter:this.series,this.series.loadFromJsonObject(r.saveToJsonObject(StiJsonSaveMode.Report))),e.firstOrDefault(t=>t.is(IStiTargetMeter)));null!=l&&(this.target=null==this.target?new __.T.StiTargetGaugeMeter:this.target,this.target.loadFromJsonObject(l.saveToJsonObject(StiJsonSaveMode.Report))),null==this.dashboardInteraction&&(this.dashboardInteraction=new StiGaugeDashboardInteraction)}fetchAllMeters(){let t=new List;return this.dataMode==StiDataMode.UsingDataFields&&(null!=this.value&&t.add(this.value),null!=this.series&&t.add(this.series),null!=this.target)&&t.add(this.target),t}getMeters(){let i=new List;if(this.dataMode==StiDataMode.UsingDataFields){if(null!=this.value&&(this.value.key=StiKeyHelper.getOrGeneratedKey(this.value.key),i.add(this.value),this.calculationMode==Stimulsoft.Report["Gauge"].StiGaugeCalculationMode.Auto)){let t=new __.T.StiMinGaugeMeter,e=(t.key=this.value.key,t.expression=StiExpressionHelper.replaceFunction(this.value.expression,"Min"),i.add(t),new __.T.StiMaxGaugeMeter);e.key=this.value.key,e.expression=StiExpressionHelper.replaceFunction(this.value.expression,"Max"),i.add(e)}null!=this.series&&i.add(this.series),null!=this.target&&i.add(this.target)}return i}retrieveUsedDataNames(){return this.dataMode==StiDataMode.UsingDataFields?StiUsedDataHelper.getMany(this.value,this.series,this.target):null}get isDefined(){return null!=this.value||null!=this.series||null!=this.target||this.dataMode==StiDataMode.ManuallyEnteringData}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text}throw new Error(`Property with name `+t)}getAllStrings(){return["Title.Text"]}get toolboxPosition(){return StiComponentToolboxPosition.GaugeElement}get localizedName(){return StiLocalization.get("Components","StiGauge")}static getValueFormatDefault(){let t=new StiNumberFormatService;return t.decimalDigits=0,t.state=__.a.StiTextFormatState.DecimalDigits|__.a.StiTextFormatState.Abbreviation,t}get minimum(){return StiValueHelper.tryToNumber(this.minimumValue)}set minimum(t){let e=CultureInfo.currentCulture;CultureInfo.currentCulture=CultureInfo.getCultureInfo("en-US"),this.minimumValue=StiValueHelper.tryToString(t),CultureInfo.currentCulture=e}get maximum(){return StiValueHelper.tryToNumber(this.maximumValue)}set maximum(t){let e=CultureInfo.currentCulture;CultureInfo.currentCulture=CultureInfo.getCultureInfo("en-US"),this.maximumValue=StiValueHelper.tryToString(t),CultureInfo.currentCulture=e}getMinimumValue(){return StiReportParser.parseNumber(this.minimumValue,this.report,!0,null,!0,!0)}getMaximumValue(){return StiReportParser.parseNumber(this.maximumValue,this.report,!0,null,!0,!0)}getNestedPages(){if(null==this.dashboardInteraction||this.dashboardInteraction.onClick!=StiInteractionOnClick.ShowDashboard)return null;let e=this.dashboardInteraction.drillDownPageKey;if(StiKeyHelper.isEmptyKey(e))return null;let t=this.report.pages.toList().firstOrDefault(t=>t.guid==e);if(null==t)return null;return new List([t])}constructor(t=Rectangle.empty){super(t),this.dataMode=StiDataMode.UsingDataFields,this.group="",this.title=new StiTitle,this.layout=new StiElementLayout,this.crossFiltering=!0,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.showBlanks=!1,this.dateTimeMode=!1,this.font=new Font("Arial",13),this.foreColor=Color.transparent,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.dataTransformation={},this.dataFilters=new List,this.userSorts=new List,this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.helpUrl="user-manual/dashboards_gauge.htm",this.valueFormat=StiGaugeElement.getValueFormatDefault(),this.shortValue=!0,this.labels=new StiGaugeLabels,this.targetSettings=new StiGaugeTarget,this.minimumValue="0",this.maximumValue="100",this.minimumDateTime=DateTime.now,this.maximumDateTime=DateTime.now.addYears(1),this.calculationMode=Stimulsoft.Report["Gauge"].StiGaugeCalculationMode.Auto,this.rangeMode=Stimulsoft.Report["Gauge"].StiGaugeRangeMode.Percentage,this.rangeType=Stimulsoft.Report["Gauge"].StiGaugeRangeType.None,this.type=Stimulsoft.Report["Gauge"].StiGaugeType.FullCircular,this.ranges=new List,this.isSampleForStyles=!1,this.title.text=this.localizedName,this.dashboardInteraction=new StiGaugeDashboardInteraction,this.previousAnimations=new List}}__.T.StiGaugeElement=StiGaugeElement}__.ab.StiGaugeRangeConverter=class{},__.V.StiTextMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Text")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.TextMeter}},__.X.StiImageMeter=class extends __.e.StiDimensionMeter{implements(){let t=super.implements().concat([IStiValueMeter]);return(this.implements=()=>t)()}get localizedName(){return Loc.get("PropertyMain","Image")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.ImageMeter}},__.Y.StiWebContentMeter=class extends __.e.StiDimensionMeter{get localizedName(){return Loc.get("Components","StiWebContent")}constructor(t,e,i){super(t,e,i),this.ident=__.e.StiMeterIdent.WebContentMeter}};let StiImageMeter=__.X.StiImageMeter,StiWebContentMeter=__.Y.StiWebContentMeter,StiTextMeter=__.V.StiTextMeter,StiStartValueChartMeter=__.H.StiStartValueChartMeter,StiArray=(__.G.StiMeterCreator=class{static neww(t){if(StiString.isNullOrEmpty(t))return null;let e,i=StiNumber.tryParse(t);return null!=(e=i.successfully?Enum.parse(__.e.StiMeterIdent,i.result):Enum.parse(__.e.StiMeterIdent,t))?this.neww2(e):null}static neww2(t){switch(t){case __.e.StiMeterIdent.ArgumentChartMeter:return new StiArgumentChartMeter;case __.e.StiMeterIdent.SeriesChartMeter:return new StiSeriesChartMeter;case __.e.StiMeterIdent.SortByChartMeter:return new StiSortByChartMeter;case __.e.StiMeterIdent.IndicatorValueChartMeter:return new StiIndicatorValueChartMeter;case __.e.StiMeterIdent.ValueChartMeter:return new StiValueChartMeter;case __.e.StiMeterIdent.StartValueChartMeter:return new StiStartValueChartMeter;case __.e.StiMeterIdent.EndValueChartMeter:return new StiEndValueChartMeter;case __.e.StiMeterIdent.OpenValueChartMeter:return new StiOpenValueChartMeter;case __.e.StiMeterIdent.CloseValueChartMeter:return new StiCloseValueChartMeter;case __.e.StiMeterIdent.LowValueChartMeter:return new StiLowValueChartMeter;case __.e.StiMeterIdent.HighValueChartMeter:return new StiHighValueChartMeter;case __.e.StiMeterIdent.WeightChartMeter:return new StiWeightChartMeter;case __.e.StiMeterIdent.XChartMeter:return new StiXChartMeter;case __.e.StiMeterIdent.YChartMeter:return new StiYChartMeter;case __.e.StiMeterIdent.KeyComboBoxMeter:return new StiKeyComboBoxMeter;case __.e.StiMeterIdent.NameComboBoxMeter:return new StiNameComboBoxMeter;case __.e.StiMeterIdent.MaxGaugeMeter:return new StiMaxGaugeMeter;case __.e.StiMeterIdent.MinGaugeMeter:return new StiMinGaugeMeter;case __.e.StiMeterIdent.SeriesGaugeMeter:return new StiSeriesGaugeMeter;case __.e.StiMeterIdent.ValueGaugeMeter:return new StiValueGaugeMeter;case __.e.StiMeterIdent.TargetGaugeMeter:return new StiTargetGaugeMeter;case __.e.StiMeterIdent.SeriesIndicatorMeter:return new StiSeriesIndicatorMeter;case __.e.StiMeterIdent.TargetIndicatorMeter:return new StiTargetIndicatorMeter;case __.e.StiMeterIdent.ValueIndicatorMeter:return new StiValueIndicatorMeter;case __.e.StiMeterIdent.KeyListBoxMeter:return new StiKeyListBoxMeter;case __.e.StiMeterIdent.NameListBoxMeter:return new StiNameListBoxMeter;case __.e.StiMeterIdent.LatitudeMapMeter:return new StiLatitudeMapMeter;case __.e.StiMeterIdent.LongitudeMapMeter:return new StiLongitudeMapMeter;case __.e.StiMeterIdent.LocationMapMeter:return new StiLocationMapMeter;case __.e.StiMeterIdent.LocationValueMapMeter:return new StiLocationValueMapMeter;case __.e.StiMeterIdent.LocationArgumentMapMeter:return new StiLocationArgumentMapMeter;case __.e.StiMeterIdent.LocationColorMapMeter:return new StiLocationColorMapMeter;case __.e.StiMeterIdent.KeyMapMeter:return new StiKeyMapMeter;case __.e.StiMeterIdent.NameMapMeter:return new StiNameMapMeter;case __.e.StiMeterIdent.GroupMapMeter:return new StiGroupMapMeter;case __.e.StiMeterIdent.ColorMapMeter:return new StiColorMapMeter;case __.e.StiMeterIdent.ValueMapMeter:return new StiValueMapMeter;case __.e.StiMeterIdent.PivotColumn:return new StiPivotColumn;case __.e.StiMeterIdent.PivotRow:return new StiPivotRow;case __.e.StiMeterIdent.PivotSummary:return new StiPivotSummary;case __.e.StiMeterIdent.SeriesProgressMeter:return new StiSeriesProgressMeter;case __.e.StiMeterIdent.TargetProgressMeter:return new StiTargetProgressMeter;case __.e.StiMeterIdent.ValueProgressMeter:return new StiValueProgressMeter;case __.e.StiMeterIdent.ColorScaleColumn:return new StiColorScaleColumn;case __.e.StiMeterIdent.DataBarsColumn:return new StiDataBarsColumn;case __.e.StiMeterIdent.DimensionColumn:return new StiDimensionColumn;case __.e.StiMeterIdent.IndicatorColumn:return new StiIndicatorColumn;case __.e.StiMeterIdent.MeasureColumn:return new StiMeasureColumn;case __.e.StiMeterIdent.SparklinesColumn:return new StiSparklinesColumn;case __.e.StiMeterIdent.BubbleColumn:return new StiBubbleColumn;case __.e.StiMeterIdent.ColorScaleCardsColumn:return new StiColorScaleCardsColumn;case __.e.StiMeterIdent.DataBarsCardsColumn:return new StiDataBarsCardsColumn;case __.e.StiMeterIdent.DimensionCardsColumn:return new StiDimensionCardsColumn;case __.e.StiMeterIdent.IndicatorCardsColumn:return new StiIndicatorCardsColumn;case __.e.StiMeterIdent.MeasureCardsColumn:return new StiMeasureCardsColumn;case __.e.StiMeterIdent.SparklinesCardsColumn:return new StiSparklinesCardsColumn;case __.e.StiMeterIdent.BubbleCardsColumn:return new StiBubbleCardsColumn;case __.e.StiMeterIdent.KeyTreeViewMeter:return new StiKeyTreeViewMeter;case __.e.StiMeterIdent.KeyTreeViewBoxMeter:return new StiKeyTreeViewBoxMeter;case __.e.StiMeterIdent.ValueDatePickerMeter:return new StiValueDatePickerMeter;case __.e.StiMeterIdent.ValueNumberBoxMeter:return new StiValueNumberBoxMeter;case __.e.StiMeterIdent.TextMeasureMeter:return new StiTextMeasureMeter;case __.e.StiMeterIdent.TextMeter:return new StiTextMeter;case __.e.StiMeterIdent.ImageMeter:return new StiImageMeter;case __.e.StiMeterIdent.WebContentMeter:return new StiWebContentMeter;default:throw new StiTypeNotRecognizedException(t)}}},__.G.StiMeterJsonConverter=class{},__.g.StiImageDashboardInteraction=class extends __.g.StiDashboardInteraction{isDefault(){return this.onHover==StiInteractionOnHover.ShowToolTip&&this.onClick==StiInteractionOnClick.OpenHyperlink&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)}constructor(t,e,i,r,l,n,o){super(t,e,i,r,l,n,o),this.ident=StiInteractionIdent.Image,this.availableOnClick=StiAvailableInteractionOnClick.OpenHyperlink|StiAvailableInteractionOnClick.ShowDashboard,this.onClick=StiInteractionOnClick.OpenHyperlink}},Stimulsoft.System.StiArray),StiHyperlinkProcessor=Stimulsoft.Report.Helpers.StiHyperlinkProcessor,StiImageDashboardInteraction=__.g.StiImageDashboardInteraction,Image=Stimulsoft.System.Drawing.Image,ImplementsIStiImageElement=Stimulsoft.Report.Dashboard.ImplementsIStiImageElement,StiImageConverter=Stimulsoft.Base.Drawing.StiImageConverter,StiDashboardImageHyperlinkCache=Stimulsoft.Report.Dashboard.Helpers.StiDashboardImageHyperlinkCache,IStiImageElement=Stimulsoft.Report.Dashboard.IStiImageElement,StiFontIconsHelper=Stimulsoft.Report.StiFontIconsHelper,StiIndicatorIconRangeMode=(StiExportToolAttribute.add("StiImageElement","Stimulsoft.Dashboard.Export.Tools.StiImageElementExportTool"),__.X.StiImageElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiHorAlignment,IStiVertAlignment,IStiImageElement,IStiCornerRadius,IStiSimpleShadow,IStiTitleElement,IStiGlobalizationProvider,...ImplementsIStiHorAlignment,...ImplementsIStiVertAlignment,...ImplementsIStiImageElement,...ImplementsIStiCornerRadius,...ImplementsIStiSimpleShadow,...ImplementsIStiTitleElement,IStiJsonReportObject,IStiElementInteraction]);return(this.implements=()=>t)()}clone(t){let e,i,r=super.clone(t);return r.title=null!=this.title?this.title.clone():null,r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r}meta(){return[...super.meta(),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiImageDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiImageDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiImageDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiBoolMeta("AspectRatio","",!0),new StiStringNullOrEmptyMeta("ImageHyperlink"),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Center),new StiEnumMeta("VertAlignment","",StiVertAlignment,StiVertAlignment.Center),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("Style"),new StiBoolMeta("CrossFiltering","",!0),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiObjectMeta("Padding").get(t=>this.padding.saveToJsonObject(0,0,0,0)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t)),new StiStringMeta("Image").check(()=>null!=this.image).get(()=>StiImageConverter.imageToString(this.image)).set(t=>this.image=StiImageConverter.stringToImage(t.value.toString())).setXml(t=>this.image=StiImageConverter.stringToImage(t.textContent)),new StiEnumMeta("Icon","",StiFontIcons).check(()=>null!=this.icon),new StiColorMeta("IconColor","",Color.fromArgb2(68,114,196)),new StiEventMeta("ClickEvent")]}get isDefined(){return this.isImageDefined||this.isImageHyperlinkDefined||this.isImageIconDefined}get isQuerable(){return this.isImageHyperlinkDataColumnDefined}fetchAllMeters(){return this.getMeters()}getMeters(){if(!this.isHyperlinkExpressionOrHyperlinkDataColumnDefined)return new List;if(this.isImageHyperlinkExpressionDefined)return StiExpressionHelper.fetchBlocksFromExpression(this.imageHyperlink).select(t=>new StiImageMeter(t,t,t)).cast().toList();{let t=StiHyperlinkProcessor.getRealDataColumnFromHyperlink(this.report,this.imageHyperlink),e=new List;return e.add(new StiImageMeter(t,t,t)),e}}retrieveUsedDataNames(){return StiUsedDataHelper.getMany2(this.getMeters()).distinct().toList()}get imageToDraw(){if(this.isImageDefined)return new Promise(t=>{t(this.image)});if(this.isImageIconDefined){let t=this.getPaintRectangle(!0,!1);return StiFontIconsHelper.convertFontIconToImageAsync(this.icon,this.iconColor,t.width,t.height,null,this.horAlignment)}if(this.isImageHyperlinkDefined)return new Promise(r=>{setTimeout(async()=>{if(this.isImageHyperlinkDataColumnDefined){let i=await StiElementDataCache.getOrCreate(this);if(null!=i){let t=i.rows.find(t=>!0),e=null!=t?t.find(t=>!0):null;if(StiArray.isArray(e)){let t=new Stimulsoft.System.Drawing.Image;t.bytes=e,r(t)}else if("string"==typeof e&&!StiString.isNullOrEmpty(e)){if(e[Stimulsoft.System.StiObject.stimulsoft]().isBase64String()){let t=new Stimulsoft.System.Drawing.Image;t.base64=e,r(t)}r(StiDashboardImageHyperlinkCache.get(e,this.report))}}r(null)}else if(this.isImageHyperlinkExpressionDefined){let t=await StiElementDataCache.getOrCreate(this);if(null!=t){let i=t.rows.firstOrDefault();if(null!=i)if(StiArray.isArray(i[Stimulsoft.System.StiObject.stimulsoft]().toList().firstOrDefault())){let t=new Stimulsoft.System.Drawing.Image;t.bytes=i,r(t)}else{let t=i[Stimulsoft.System.StiObject.stimulsoft]().toList().select(t=>null!=(null==t?void 0:t.toString())?t.toString():"").toList(),e=Stimulsoft.Data.Helpers.StiExpressionHelper.replaceExpressionBlocksByValues(this.imageHyperlink,t);r(StiHyperlinkProcessor.getImage(this.report,e))}}}r(StiDashboardImageHyperlinkCache.get(this.imageHyperlink,this.report))})});return new Promise(t=>{t(null)})}copyAllImageProperties(t){if(null==t)return;this.image=t.image,this.imageHyperlink=t.imageHyperlink,this.icon=t.icon,this.iconColor=t.iconColor}get style(){return this.componentStyle}set style(t){this.componentStyle=t}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text}throw new Error(`Property with name `+t)}getAllStrings(){return["Title.Text"]}get toolboxPosition(){return StiComponentToolboxPosition.ImageElement}get localizedName(){return StiLocalization.get("Components","StiImage")}getNestedPages(){if(null==this.dashboardInteraction||this.dashboardInteraction.onClick!=StiInteractionOnClick.ShowDashboard)return null;let e=this.dashboardInteraction.drillDownPageKey;if(StiKeyHelper.isEmptyKey(e))return null;let t=this.report.pages.toList().firstOrDefault(t=>t.guid==e);if(null==t)return null;return new List([t])}resetAllImageProperties(){this.image=new Image,this.imageHyperlink=null,this.icon=null}get isHyperlinkExpressionOrHyperlinkDataColumnDefined(){return this.isImageHyperlinkExpressionDefined||this.isImageHyperlinkDataColumnDefined}get isImageDefined(){return null!=this.image&&(null!=this.image.bytes||!StiString.isNullOrEmpty(this.image.url))}get isImageIconDefined(){return null!=this.icon}get isImageHyperlinkDefined(){return!StiString.isNullOrWhiteSpace(this.imageHyperlink)}get isImageHyperlinkExpressionDefined(){var t,e;return(null==(t=this.imageHyperlink)?void 0:t[Stimulsoft.System.StiObject.stimulsoft]().contains("{"))&&(null==(e=this.imageHyperlink)?void 0:e[Stimulsoft.System.StiObject.stimulsoft]().contains("}"))}get isImageHyperlinkDataColumnDefined(){return!this.isImageDefined&&!this.isImageIconDefined&&this.isImageHyperlinkDefined&&!StiString.isNullOrWhiteSpace(StiHyperlinkProcessor.getRealDataColumnFromHyperlink(this.report,this.imageHyperlink))}constructor(t=Rectangle.empty){super(t),this.group="",this.title=new __.e.StiTitle,this.image=null,this.aspectRatio=!0,this.icon=null,this.iconColor=Color.fromArgb2(68,114,196),this.crossFiltering=!0,this.horAlignment=StiHorAlignment.Center,this.vertAlignment=StiVertAlignment.Center,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.defaultClientRectangle=new Rectangle(0,0,120,120),this.helpUrl="user-manual/dashboards_image.htm",this.title.text=this.localizedName,this.title.visible=!1,this.padding=StiPadding.create(0),this.dashboardInteraction=new StiImageDashboardInteraction}},__._.StiImageBytesConverter=class{},__.g.StiIndicatorDashboardInteraction=class extends __.g.StiDashboardInteraction{implements(){let t=super.implements().concat([IStiAllowUserSortingDashboardInteraction,IStiJsonReportObject,IStiInteractionLayout]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiBoolMeta("AllowUserDrillDown"),new StiBoolMeta("AllowUserSorting","",!0),new StiBoolMeta("ShowFullScreenButton","",!0),new StiBoolMeta("ShowSaveButton","",!0),new StiBoolMeta("ShowViewDataButton","",!0),new StiStringNullOrEmptyMeta("FileName"),new StiStringNullOrEmptyMeta("HeaderText"),new StiStringNullOrEmptyMeta("FooterText")]}get isDefaultLayout(){return this.showFullScreenButton&&this.showSaveButton&&this.showViewDataButton&&null==this.fileName&&null==this.headerText&&!this.allowUserDrillDown&&null==this.footerText}isDefault(){return this.isDefaultLayout&&this.onHover==StiInteractionOnHover.ShowToolTip&&this.onClick==StiInteractionOnClick.None&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)&&!this.allowUserDrillDown&&this.allowUserSorting}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d){super(),this.ident=StiInteractionIdent.Indicator,this.availableOnClick=StiAvailableInteractionOnClick.OpenHyperlink|StiAvailableInteractionOnClick.ShowDashboard,this.availableOnDataManipulation=StiAvailableInteractionOnDataManipulation.AllowDrillDown|StiAvailableInteractionOnDataManipulation.AllowSorting,this.allowUserDrillDown=!1,this.allowUserSorting=!0,this.onClick=StiInteractionOnClick.None,this.showFullScreenButton=!0,this.showSaveButton=!0,this.showViewDataButton=!0,this.fileName=null,this.headerText=null,this.footerText=null,null!=t&&(this.onHover=t),null!=e&&(this.onClick=e),null!=i&&(this.hyperlinkDestination=i),null!=r&&(this.toolTip=r),null!=l&&(this.hyperlink=l),null!=n&&(this.drillDownPageKey=n),null!=o&&(this.drillDownParameters=o),null!=s&&(this.allowUserDrillDown=s),null!=u&&(this.fileName=u),null!=S&&(this.headerText=S),null!=m&&(this.footerText=m),null!=h&&(this.showFullScreenButton=h),null!=c&&(this.showSaveButton=c),null!=a&&(this.allowUserSorting=a),null!=d&&(this.showViewDataButton=d)}},Stimulsoft.Report.Dashboard.StiIndicatorIconRangeMode),StiIndicatorIconMode=Stimulsoft.Report.Dashboard.StiIndicatorIconMode,IStiAllowSortByVariation=Stimulsoft.Data.Engine.IStiAllowSortByVariation,StiTargetMode=Stimulsoft.Report.Dashboard.StiTargetMode,StiIndicatorDashboardInteraction=__.g.StiIndicatorDashboardInteraction,ImplementsIStiIndicatorElement=Stimulsoft.Report.Dashboard.ImplementsIStiIndicatorElement,ImplementsIStiAllowSortByVariation=Stimulsoft.Data.Engine.ImplementsIStiAllowSortByVariation,StiFontIconSet=Stimulsoft.Report.Helpers.StiFontIconSet,IStiIndicatorElement=Stimulsoft.Report.Dashboard.IStiIndicatorElement,Convert=Stimulsoft.System.Convert,StiFontSizeMode=Stimulsoft.Report.Dashboard.StiFontSizeMode,StiIndicatorValueType=Stimulsoft.Report.Dashboard.StiIndicatorValueType,IStiIndicatorElementCondition=(__.U.StiIndicatorElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiTextFormat,IStiIndicatorElement,IStiSimpleShadow,IStiCornerRadius,IStiTitleElement,IStiFont,IStiForeColor,IStiElementLayout,IStiElementInteraction,IStiGlobalizationProvider,IStiAllowSortByVariation,IStiShowBlanks,...ImplementsIStiTextFormat,...ImplementsIStiIndicatorElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiTitleElement,...ImplementsIStiFont,...ImplementsIStiForeColor,...ImplementsIStiElementLayout,...ImplementsIStiAllowSortByVariation,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(t){let e,i,r=super.clone(t);return r.value=null!=this.value?this.value.clone():null,r.target=null!=this.target?this.target.clone():null,r.series=null!=this.series?this.series.clone():null,r.userSorts=this.userSorts.select(t=>t.clone()).toList(),r.transformActions=this.transformActions.select(t=>t.clone()).toList(),r.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),r.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),r.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),r.topN=this.topN.clone(),r.textFormat=this.textFormat.clone(),r.targetFormat=this.targetFormat.clone(),r.title=null!=this.title?this.title.clone():null,r.layout=null!=this.layout?this.layout.clone():null,r.indicatorConditions=this.indicatorConditions.select(t=>t.clone()).toList(),r.dashboardInteraction=this.dashboardInteraction.clone(),r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r}meta(){return[...super.meta(),new StiObjectMeta("UserSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userSorts,t)).set(t=>this.userSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.userSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("IconRanges").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.iconRanges,t)).set(t=>this.iconRanges.addRange(t.value.properties().select(t=>__.U.StiIndicatorIconRange.loadFromJson(t.value)))).setXml(t=>this.iconRanges.addRange(t.childNodes.map(t=>__.U.StiIndicatorIconRange.loadFromXml(t)))),new StiBoolMeta("CrossFiltering","",!0),new StiObjectMeta("TopN").check(()=>null!=this.topN).set(t=>this.topN=StiDataTopN.createFromJsonObject(t.value)).setXml(t=>this.topN=StiDataTopN.createFromXml(t)),new StiObjectMeta("TextFormat").check(()=>null!=this.textFormat).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.textFormat=StiFormatService.loadFormatFromXml(t,this.report)),new StiObjectMeta("TargetFormat").check(()=>null!=this.targetFormat).set(t=>this.targetFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.targetFormat=StiFormatService.loadFormatFromXml(t,this.report)),new StiObjectMeta("Value").check(()=>null!=this.value).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(StiValueIndicatorMeter);null!=e&&(this.value=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(StiValueIndicatorMeter);null!=e&&(this.value=e)}),new StiObjectMeta("Target").check(()=>null!=this.target).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.U.StiTargetIndicatorMeter);null!=e&&(this.target=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.U.StiTargetIndicatorMeter);null!=e&&(this.target=e)}),new StiObjectMeta("Series").check(()=>null!=this.series).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.U.StiSeriesIndicatorMeter);null!=e&&(this.series=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.U.StiSeriesIndicatorMeter);null!=e&&(this.series=e)}),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t)),new StiObjectMeta("Layout").check(()=>null!=this.layout).set(t=>this.layout=StiElementLayout.createFromJsonObject(t.value)).setXml(t=>this.layout=StiElementLayout.createFromXml(t)),new StiColorMeta("ForeColor","",Color.transparent),new StiColorMeta("GlyphColor","",Color.transparent),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial13(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiEnumMeta("DataMode","",StiDataMode,StiDataMode.UsingDataFields),new StiStringNullOrEmptyMeta("ManuallyEnteredData"),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiEnumMeta("Icon","",StiFontIcons,StiFontIcons.Rating4),new StiEnumMeta("IconSet","",StiFontIconSet,StiFontIconSet.Rating),new StiEnumMeta("IconMode","",StiIndicatorIconMode,StiIndicatorIconMode.Auto),new StiEnumMeta("IconRangeMode","",StiIndicatorIconRangeMode,StiIndicatorIconRangeMode.Percentage),new StiStringMeta("CustomIcon").check(()=>null!=this.customIcon).get(()=>Convert.toBase64String(this.customIcon)).set(t=>this.customIcon=Convert.fromBase64String(t.value.toString())).setXml(t=>this.customIcon=Convert.fromBase64String(t.textContent)),new StiEnumMeta("IconAlignment","",StiIconAlignment,StiIconAlignment.Right),new StiEnumMeta("TargetMode","",StiTargetMode,StiTargetMode.Variation),new StiEnumMeta("ValueType","",StiIndicatorValueType,StiIndicatorValueType.Value),new StiEnumMeta("FontSizeMode","",StiFontSizeMode,StiFontSizeMode.Auto),new StiObjectMeta("IndicatorConditions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.indicatorConditions,t)).set(t=>this.indicatorConditions.addRange(t.value.properties().select(t=>__.U.StiIndicatorElementCondition.createFromJson(t.value)))).setXml(t=>this.indicatorConditions.addRange(t.childNodes.map(t=>__.U.StiIndicatorElementCondition.createFromXml(t)))),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiIndicatorDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiIndicatorDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiIndicatorDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiBoolMeta("ShowBlanks"),new StiEventMeta("ClickEvent")]}addValue2(t){this.value=null!=t?StiMeterHelper.Indicator.getValue2(t):null}addValue(t){this.value=StiMeterHelper.Indicator.getValue(t.as(__.e.StiMeter))}removeValue(){this.value=null}getValue(){return this.value}getValue2(t){return null!=t?StiMeterHelper.Indicator.getValue(t.as(__.e.StiMeter)):null}createNewValue(){this.value=new StiValueIndicatorMeter,this.value.expression="Sum()"}addTarget2(t){this.target=null!=t?StiMeterHelper.Indicator.getTarget2(t):null}addTarget(t){this.target=StiMeterHelper.Indicator.getTarget(t.as(__.e.StiMeter))}removeTarget(){this.target=null}getTarget(){return this.target}getTarget2(t){return null!=t?StiMeterHelper.Indicator.getTarget(t.as(__.e.StiMeter)):null}createNewTarget(){this.target=new __.U.StiTargetIndicatorMeter,this.target.expression="Sum()"}addSeries2(t){this.series=null!=t?StiMeterHelper.Indicator.getSeries2(t):null}addSeries(t){this.series=StiMeterHelper.Indicator.getSeries(t.as(__.e.StiMeter))}removeSeries(){this.series=null}getSeries(){return this.series}getSeries2(t){return null!=t?StiMeterHelper.Indicator.getSeries(t.as(__.e.StiMeter)):null}createNewSeries(){this.series=new __.U.StiSeriesIndicatorMeter}getIconRanges(){let t=new List;return t.addRange(this.iconRanges),t}addRange(){let t=new __.U.StiIndicatorIconRange;return this.iconRanges.add(t),t}removeRange(t){t<this.iconRanges.length&&this.iconRanges.removeAt(t)}createdDefaultRanges(){this.iconRanges.clear(),this.iconRanges.add(new __.U.StiIndicatorIconRange(StiFontIcons.Rating1,"0","25")),this.iconRanges.add(new __.U.StiIndicatorIconRange(StiFontIcons.Rating2,"25","50")),this.iconRanges.add(new __.U.StiIndicatorIconRange(StiFontIcons.Rating3,"50","75")),this.iconRanges.add(new __.U.StiIndicatorIconRange(StiFontIcons.Rating4,"75","100"))}getManuallyEnteredDataTable(){if(this.dataMode!=StiDataMode.ManuallyEnteringData)return null;return __.e.StiManuallyEnteredDataParser.getIndicatorDataTable(this.manuallyEnteredData,this)}addIndicatorCondition(t,e,i,r,l,n,o,s,a,u,S,m,h,c){this.indicatorConditions.add(new __.U.StiIndicatorElementCondition(t,e,i,r,l,n,o,s,a,u,S,m,h,c))}fetchIndicatorConditions(){let t=new List;return null!=this.indicatorConditions&&t.addRange(this.indicatorConditions),t}clearIndicatorConditions(){this.indicatorConditions.clear()}convertFrom(t){let e=t.fetchAllMeters();if(null==e)return;let i=e.firstOrDefault(t=>t.is(IStiValueMeter)),r=(null!=(i=null==i?e.firstOrDefault(t=>t.is(IStiMeasureMeter)):i)&&(this.value=null==this.value?new StiValueIndicatorMeter:this.value,this.value.loadFromJsonObject(i.saveToJsonObject(StiJsonSaveMode.Report))),e.firstOrDefault(t=>t.is(IStiTargetMeter))),l=(null!=r&&(this.target=null==this.target?new __.U.StiTargetIndicatorMeter:this.target,this.target.loadFromJsonObject(r.saveToJsonObject(StiJsonSaveMode.Report))),e.firstOrDefault(t=>t.is(IStiSeriesMeter)));null!=(l=null==l?e.firstOrDefault(t=>t.is(IStiDimensionMeter)):l)&&(this.series=null==this.series?new __.U.StiSeriesIndicatorMeter:this.series,this.series.loadFromJsonObject(l.saveToJsonObject(StiJsonSaveMode.Report))),null==this.dashboardInteraction&&(this.dashboardInteraction=new StiIndicatorDashboardInteraction)}fetchAllMeters(){let t=new List;return this.dataMode==StiDataMode.UsingDataFields&&(null!=this.value&&t.add(this.value),null!=this.target&&t.add(this.target),null!=this.series)&&t.add(this.series),t}getMeters(){let t=new List;return this.dataMode==StiDataMode.UsingDataFields&&(null!=this.value&&t.add(this.value),null!=this.target&&t.add(this.target),null!=this.series)&&t.add(this.series),t}retrieveUsedDataNames(){return this.dataMode==StiDataMode.UsingDataFields?StiUsedDataHelper.getMany(this.value,this.target,this.series):null}get isDefined(){return null!=this.value||null!=this.target||null!=this.series||this.dataMode==StiDataMode.ManuallyEnteringData}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text}throw new Error(`Property with name `+t)}getAllStrings(){return["Title.Text"]}get toolboxPosition(){return StiComponentToolboxPosition.IndicatorElement}get localizedName(){return Loc.get("Components","StiIndicator")}getNestedPages(){if(null==this.dashboardInteraction||this.dashboardInteraction.onClick!=StiInteractionOnClick.ShowDashboard)return null;let e=this.dashboardInteraction.drillDownPageKey;if(StiKeyHelper.isEmptyKey(e))return null;let t=this.report.pages.toList().firstOrDefault(t=>t.guid==e);if(null==t)return null;return new List([t])}constructor(t=Rectangle.empty){super(t),this.group="",this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.dataMode=StiDataMode.UsingDataFields,this.textFormat=new StiGeneralFormatService,this.font=new Font("Arial",13),this.foreColor=Color.transparent,this.showBlanks=!1,this.title=new __.e.StiTitle,this.layout=new StiElementLayout,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.topN=new StiDataTopN,this.dataTransformation={},this.dataFilters=new List,this.userSorts=new List,this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.defaultClientRectangle=new Rectangle(0,0,160,160),this.helpUrl="user-manual/dashboards_indicator.htm",this.glyphColor=Color.transparent,this.targetFormat=new StiPercentageFormatService,this.icon=StiFontIcons.Rating4,this.iconSet=StiFontIconSet.Rating,this.iconAlignment=StiIconAlignment.Right,this.targetMode=StiTargetMode.Variation,this.fontSizeMode=StiFontSizeMode.Auto,this.iconMode=StiIndicatorIconMode.Auto,this.iconRangeMode=StiIndicatorIconRangeMode.Percentage,this.iconRanges=new List,this.indicatorConditions=new List,this.crossFiltering=!0,this.valueType=StiIndicatorValueType.Value,this.isSampleForStyles=!1,this.title.text=this.localizedName,this.dashboardInteraction=new StiIndicatorDashboardInteraction}},Stimulsoft.Report.Dashboard.IStiIndicatorElementCondition),StiIndicatorFieldCondition=Stimulsoft.Report.Dashboard.StiIndicatorFieldCondition,StiIndicatorConditionPermissions=Stimulsoft.Report.Dashboard.StiIndicatorConditionPermissions;{class WT{implements(){let t=[ICloneable,IStiIndicatorElementCondition,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiStringMeta("Ident").get(()=>this[Stimulsoft.System.StiObject.stimulsoft]().getType()[Stimulsoft.System.StiObject.stimulsoft]().getTypeName()),new StiEnumMeta("Condition","",StiFilterCondition,StiFilterCondition.EqualTo),new StiEnumMeta("Field","",StiIndicatorFieldCondition,StiIndicatorFieldCondition.Value),new StiStringNullOrEmptyMeta("Value"),new StiColorMeta("IconColor","",Color.fromArgb2(68,114,196)),new StiEnumMeta("Icon","",StiFontIcons,StiFontIcons.Rating4),new StiColorMeta("TargetIconColor","",Color.fromArgb2(68,114,196)),new StiEnumMeta("TargetIcon","",StiFontIcons,StiFontIcons.Rating4),new StiStringMeta("CustomIcon").check(()=>null!=this.customIcon).get(()=>Convert.toBase64String(this.customIcon)).set(t=>this.customIcon=Convert.fromBase64String(t.value.toString())).setXml(t=>this.customIcon=Convert.fromBase64String(t.textContent)),new StiEnumMeta("Permissions","",StiIndicatorConditionPermissions,StiIndicatorConditionPermissions.All),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiColorMeta("TextColor","",Color.black),new StiColorMeta("BackColor","",Color.transparent),new StiEnumMeta("IconAlignment","",StiIconAlignment,StiIconAlignment.Right),new StiEnumMeta("TargetIconAlignment","",StiIconAlignment,StiIconAlignment.Right)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}static createFromJson(t){let e=new WT;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new WT;return e.loadFromXml(t),e}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c){this.iconColor=Color.fromArgb2(68,114,196),this.icon=StiFontIcons.Rating4,this.targetIconColor=Color.fromArgb2(68,114,196),this.targetIcon=StiFontIcons.Rating4,this.condition=StiFilterCondition.EqualTo,this.field=StiIndicatorFieldCondition.Value,this.permissions=StiIndicatorConditionPermissions.All,this.textColor=Color.black,this.backColor=Color.transparent,this.font=new Font("Arial",8),this.iconAlignment=StiIconAlignment.Right,this.targetIconAlignment=StiIconAlignment.Right,null!=t&&(this.field=t),null!=e&&(this.condition=e),null!=i&&(this.value=i),null!=n&&(this.targetIcon=n),null!=o&&(this.targetIconColor=o),null!=r&&(this.icon=r),null!=l&&(this.iconColor=l),null!=s&&(this.customIcon=s),null!=a&&(this.iconAlignment=a),null!=u&&(this.targetIconAlignment=u),null!=S&&(this.permissions=S),null!=m&&(this.font=m),null!=h&&(this.textColor=h),null!=c&&(this.backColor=c)}}__.U.StiIndicatorElementCondition=WT}let ImplementsStiIndicatorIconRange=Stimulsoft.Report.Dashboard.ImplementsStiIndicatorIconRange,IStiIndicatorIconRange=Stimulsoft.Report.Dashboard.IStiIndicatorIconRange;{class vU{implements(){let t=[IStiJsonReportObject,IStiIndicatorIconRange,...ImplementsStiIndicatorIconRange,ICloneable];return(this.implements=()=>t)()}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}meta(){return[new StiStringNullOrEmptyMeta("StartExpression"),new StiStringNullOrEmptyMeta("EndExpression"),new StiEnumMeta("Icon","",StiFontIcons)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static loadFromJson(t){let e=new vU;return e.loadFromJsonObject(t),e}static loadFromXml(t){let e=new vU;return e.loadFromXml(t),e}saveToString(){return this.saveToJsonObject(StiJsonSaveMode.Report).serialize()}getStringRepresentation(){return this.startExpression+` - `+this.endExpression}constructor(t,e,i){this.icon=StiFontIcons.Rating4,this.startExpression="0",this.endExpression="100",null!=t&&(this.icon=t),null!=e&&(this.startExpression=e),null!=i&&(this.endExpression=i)}}__.U.StiIndicatorIconRange=vU}let StiListBoxSelectionType=Stimulsoft.Report.Dashboard.StiListBoxSelectionType,ImplementsIStiListBoxElement=Stimulsoft.Report.Dashboard.ImplementsIStiListBoxElement,IStiListBoxElement=Stimulsoft.Report.Dashboard.IStiListBoxElement,DecimalRange=(StiExportToolAttribute.add("StiListBoxElement","Stimulsoft.Dashboard.Export.Tools.StiListBoxElementExportTool"),__.P.StiListBoxElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiListBoxElement,IStiSimpleShadow,IStiCornerRadius,IStiTitleElement,IStiGlobalizationProvider,...ImplementsIStiListBoxElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiTitleElement,IStiJsonReportObject,IStiElementInteraction]);return(this.implements=()=>t)()}clone(t){let e,i,r,l=super.clone(t);return l.keyMeter=null!=this.keyMeter?this.keyMeter.clone():null,l.nameMeter=null!=this.nameMeter?this.nameMeter.clone():null,l.userFilters=this.userFilters.select(t=>t.clone()).toList(),l.transformActions=this.transformActions.select(t=>t.clone()).toList(),l.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),l.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),l.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),l.textFormat=this.textFormat.clone(),l.title=null!=this.title?this.title.clone():null,l.shadow=null==(e=this.shadow)?void 0:e.clone(),l.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),l.dashboardInteraction=null==(r=this.dashboardInteraction)?void 0:r.clone(),l}meta(){return[...super.meta(),new StiStringNullOrEmptyMeta("ParentKey"),new StiStringNullOrEmptyMeta("InitialValue"),new StiObjectMeta("UserFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userFilters,t)).set(t=>this.userFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.userFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiColorMeta("ForeColor","",Color.transparent),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiBoolMeta("ShowAllValue"),new StiBoolMeta("ShowBlanks"),new StiEnumMeta("SelectionMode","",StiItemSelectionMode,StiItemSelectionMode.One).set(t=>{let e=Enum.parse(StiItemSelectionMode,t.value);null!=e&&(this.selectionMode=e)}).setXml(t=>{let e=Enum.parse(StiItemSelectionMode,t.textContent);null!=e&&(this.selectionMode=e)}),new StiEnumMeta("Orientation","",StiItemOrientation,StiItemOrientation.Vertical),new StiEnumMeta("SelectionType","",StiListBoxSelectionType,StiListBoxSelectionType.ListBox),new StiEnumMeta("InclusionMode","",StiFilterInclusionMode,StiFilterInclusionMode.SelectionOnly),new StiObjectMeta("NameMeter").check(()=>null!=this.nameMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(StiNameListBoxMeter);null!=e&&(this.nameMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(StiNameListBoxMeter);null!=e&&(this.nameMeter=e)}),new StiObjectMeta("KeyMeter").check(()=>null!=this.keyMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.P.StiKeyListBoxMeter);null!=e&&(this.keyMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.P.StiKeyListBoxMeter);null!=e&&(this.keyMeter=e)}),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t)),new StiObjectMeta("TextFormat").check(()=>!(this.textFormat.is(StiGeneralFormatService)||null==this.textFormat)).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.textFormat=StiFormatService.loadFormatFromXml(t,this.report)),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiFilterDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiFilterDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiNumberMeta("MaxSelectedItems")]}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}fetchAllMeters(){let t=new List;return null!=this.nameMeter&&t.add(this.nameMeter),null!=this.keyMeter&&t.add(this.keyMeter),t}getMeters(){let t=new List;return null!=this.nameMeter&&t.add(this.nameMeter),null!=this.keyMeter&&t.add(this.keyMeter),t}retrieveUsedDataNames(){return StiUsedDataHelper.getMany(this.nameMeter,this.keyMeter)}get isDefined(){return null!=this.nameMeter||null!=this.keyMeter}getParentKey(){return this.parentKey}setParentKey(t){this.parentKey=t}async applyDefaultFilters(){let t=await __.P.StiListBoxHelper.fetchDefaultUserFilters(this);null!=t&&(this.userFilters=t)}getIdentityFilters(){let t=new StiDataFilterRule;return t.condition=StiDataFilterCondition.Any,t.elementKey=this.key,t.path=__.P.StiListBoxHelper.getKeyMeterExpression(this),t.toList()}addKeyMeter2(t){this.keyMeter=null!=t?StiMeterHelper.ListBox.getKey2(t):null}addKeyMeter(t){this.keyMeter=null!=t?StiMeterHelper.ListBox.getKey(t.as(__.e.StiMeter)):null}getKeyMeter(){return this.keyMeter}removeKeyMeter(){this.keyMeter=null}createNewKeyMeter(){this.keyMeter=new __.P.StiKeyListBoxMeter}addNameMeter2(t){this.nameMeter=null!=t?StiMeterHelper.ListBox.getName2(t):null}addNameMeter(t){this.nameMeter=null!=t?StiMeterHelper.ListBox.getName(t.as(__.e.StiMeter)):null}getNameMeter(){return this.nameMeter}removeNameMeter(){this.nameMeter=null}createNewNameMeter(){this.nameMeter=new StiNameListBoxMeter}createNextMeter(t){null!=this.keyMeter&&null==this.nameMeter?this.nameMeter=StiMeterHelper.ListBox.getName2(t):this.keyMeter=StiMeterHelper.ListBox.getKey2(t)}convertFrom(t){let e=t.fetchAllMeters();if(null==e)return;let i=e.firstOrDefault(t=>t.is(IStiValueMeter)),r=(null!=(i=null==i?e.firstOrDefault(t=>t.is(IStiMeasureMeter)):i)&&(this.keyMeter=null==this.keyMeter?new __.P.StiKeyListBoxMeter:this.keyMeter,this.keyMeter.loadFromJsonObject(i.saveToJsonObject(StiJsonSaveMode.Report))),e.firstOrDefault(t=>t.is(IStiValueMeter)));null!=(r=null==r?e.firstOrDefault(t=>t.is(IStiDimensionMeter)):r)&&(this.nameMeter=null==this.nameMeter?new StiNameListBoxMeter:this.nameMeter,this.nameMeter.loadFromJsonObject(r.saveToJsonObject(StiJsonSaveMode.Report)))}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text}throw new Error(`Property with name `+t)}getAllStrings(){return["Title.Text"]}get toolboxPosition(){return StiComponentToolboxPosition.ListBoxElement}get localizedName(){return StiLocalization.get("Components","StiListBox")}constructor(t=Rectangle.empty){super(t),this.group="",this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.showAllValue=!1,this.showBlanks=!1,this.selectionMode=StiItemSelectionMode.One,this.orientation=StiItemOrientation.Vertical,this.selectionType=StiListBoxSelectionType.ListBox,this.maxSelectedItems=0,this.title=new __.e.StiTitle,this.inclusionMode=StiFilterInclusionMode.SelectionOnly,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.userFilters=new List,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.dataTransformation={},this.dataFilters=new List,this.font=new Font("Arial",8),this.foreColor=Color.transparent,this.textFormat=new StiGeneralFormatService,this.defaultClientRectangle=new Rectangle(0,0,200,300),this.helpUrl="user-manual/dashboards_data_filtering_list_box.htm",this.title.text=this.localizedName,this.title.visible=!1,this.dashboardInteraction=new StiFilterDashboardInteraction}},__.P.StiListBoxHelper=class{static fetchItems(r,t,l){if(null==t||t==StiDataTable.nullTable||0==t.rows.length)return null;let n=this.getNameMeterIndex(t),o=this.getKeyMeterIndex(t);if(-1==n&&1==o)return null;-1==o&&(o=n),-1==n&&(n=o);let s=new List;for(let i of t.rows){let t=i[o];if(null==t)continue;let e=i[n];!l&&this.isBlank(e)||s.add(new __.P.StiListBoxItem(this.format(r,i[n]),i[o]))}return s}static isBlank(t){return null==t||t==DBNull.value||"string"==typeof t&&StiString.isNullOrEmpty(t)}static async fetchDefaultUserFilters(e){let t=!StiString.isNullOrEmpty(e.initialValue);if(e.showAllValue&&!t)return null;if(e.selectionMode==StiItemSelectionMode.Multi&&!t)return null;let i=this.getKeyMeterExpression(e);if(null==i)return null;let r=await StiElementDataCache.getOrCreate(e),l=this.fetchItems(e,r,e.showBlanks);if(null==l)return null;return this.fetchInitialValues(e,l).select(t=>StiDataFilterCreator.createEqualBasedOnValue(t.value,i,e)).toList()}static fetchInitialValues(t,r){if(!StiString.isNullOrEmpty(t.initialValue)){let i=this.getInitialValues(t),e=r[Stimulsoft.System.StiObject.stimulsoft]().toList().where(t=>{var e;return i.contains(null==(e=t.value)?void 0:e.toString())});if(t.selectionMode==StiItemSelectionMode.One&&e.any()){let t=new List;return t.add(e.firstOrDefault()),t}return e.toList()}let e=new List;return e.add(r[Stimulsoft.System.StiObject.stimulsoft]().toList().firstOrDefault()),e}static getInitialValues(t){if(StiString.isNullOrEmpty(t.initialValue))return new List;let e=StiReportParser.parse2(t.initialValue,t.report),i=e.split(";")[Stimulsoft.System.StiObject.stimulsoft]().toList().select(t=>t.trim()).toList();return 0<t.maxSelectedItems&&i.length>t.maxSelectedItems&&i.removeRange(t.maxSelectedItems,i.length-t.maxSelectedItems),i}static getNameMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(__.P.StiNameListBoxMeter));return null!=e?t.meters.indexOf(e):-1}static getKeyMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(__.P.StiKeyListBoxMeter));return null!=e?t.meters.indexOf(e):-1}static getKeyMeterExpression(t){if(null!=t.keyMeter)return t.keyMeter.expression;if(null!=t.nameMeter)return t.nameMeter.expression;return null}static format(t,e){var i;if(e instanceof DateTime&&!(t.textFormat.is2(StiDateFormatService)||t.textFormat.is2(StiTimeFormatService)||t.textFormat.is2(StiCustomFormatService)))return e.toShortDateString();let r=null==(i=null==t?void 0:t.report)?void 0:i.culture;if(StiExtValueConverter.isEligable(e,r))return StiExtValueConverter.convert(e,r);return t.textFormat.format(e)}},__.P.StiListBoxItem=class{toString(){return null!=this.label?this.label:this.value.toString()}constructor(t,e=t){this.label=t,this.value=e}},Stimulsoft.Report.DecimalRange),StiNumberSelectionMode=Stimulsoft.Report.Dashboard.StiNumberSelectionMode,StiNumberCondition=Stimulsoft.Report.Dashboard.StiNumberCondition,StiNumberMinMaxMode=Stimulsoft.Report.Dashboard.StiNumberMinMaxMode,StiNumberBoxHelper=(__.R.StiNumberBoxHelper=class{static getInitialValue(t){return this.isRange(t)?this.getRangeInitialValue(t):this.getSingleInitialValue(t)}static async getRangeInitialValue(t){let e=StiValueHelper.tryToNumber(StiReportParser.parse2(t.initialValue,t.report)),i=StiValueHelper.tryToNumber(StiReportParser.parse2(t.initialToValue,t.report)),r=await this.getMinMaxRange(t);return e=Math.max(e,r.from),e=Math.min(e,r.to),i=Math.max(i,r.from),i=Math.min(i,r.to),new DecimalRange(e,i)}static async getSingleInitialValue(e){let t,i=null,r=null==(t=this.getVariableSpecifiedAsValue(e))?void 0:t.as(StiVariable);if(null!=r){let t=e.report.dictionary.getVariableValueByName(r.name);r.initBy!=StiVariableInitBy.Expression||StiString.isNullOrEmpty(t)||(t=StiParser.parseTextValue(`{${t}}`,e)),Stimulsoft.System.Type.isNumericType(r.type)&&(i=StiValueHelper.tryToNullableNumber(t))}else StiString.isNullOrEmpty(e.initialValue)||(i=StiValueHelper.tryToNullableNumber(StiReportParser.parse2(e.initialValue,e.report,!0)));let l=await this.getMinMaxRange(e);return i=null!=i?(i=Math.max(StiNumber.getValueOrDefault(i),l.from),Math.min(StiNumber.getValueOrDefault(i),l.to)):l.from,StiNumber.getValueOrDefault(i)}static async fetchDefaultUserFilters(t){let e=this.getValueMeterExpression(t);return t.selectionMode==StiNumberSelectionMode.Single?this.getSingleDefaultUserFilters(t,e):this.getRangeDefaultUserFilters(t,e)}static async getSingleDefaultUserFilters(t,e){let i=await this.getSingleInitialValue(t);return new StiDataFilterRule("",e,this.getCondition(t),t.textFormat.format(i)).toList()}static async getRangeDefaultUserFilters(t,e){let i=await this.getRangeInitialValue(t);return new StiDataFilterRule("",e,StiDataFilterCondition.Between,t.textFormat.format(i.from),t.textFormat.format(i.to),!0,!1).toList()}static async getAutoRange(t){let e=this.getValueMeterExpression(t);if(!StiString.isNullOrEmpty(e)){let e=await StiElementDataCache.getOrCreate(t);if(null!=e){let t=e.rows.select(t=>t[0]).where(t=>null!=t&&Stimulsoft.System.Type.isNumericType(Stimulsoft.System.Type.getType(t))).select(t=>StiValueHelper.tryToNumber(t));if(null!=t&&t.any())return new DecimalRange(t.min(),t.max())}}return new DecimalRange(0,65535)}static getValueMeterExpression(t){var e;return null==(e=t.valueMeter)?void 0:e.expression}static getCondition(t){switch(t.condition){case StiNumberCondition.EqualTo:return StiDataFilterCondition.EqualTo;case StiNumberCondition.NotEqualTo:return StiDataFilterCondition.NotEqualTo;case StiNumberCondition.GreaterThan:return StiDataFilterCondition.GreaterThan;case StiNumberCondition.GreaterThanOrEqualTo:return StiDataFilterCondition.GreaterThanOrEqualTo;case StiNumberCondition.LessThan:return StiDataFilterCondition.LessThan;case StiNumberCondition.LessThanOrEqualTo:return StiDataFilterCondition.LessThanOrEqualTo;default:return StiDataFilterCondition.EqualTo}}static getVariableSpecifiedAsValue(t){var e;return StiVariableExpressionHelper.getVariableSpecifiedAsExpression(t,null==(e=t.getValueMeter())?void 0:e.expression)}static isRange(e){if(this.isVariableSpecifiedAsValue(e)){let t=this.getVariableSpecifiedAsValue(e).as(StiVariable);return null!=t&&Range.isNumericRangeType(t.type)}return e.selectionMode==StiNumberSelectionMode.Range}static isVariableSpecifiedAsValue(t){var e;return StiVariableExpressionHelper.isVariableSpecifiedAsExpression(t,null==(e=t.getValueMeter())?void 0:e.expression)}static async getMinMaxRange(i){if(i.minMaxMode==StiNumberMinMaxMode.Auto)return this.getAutoRange(i);{let t=0,e=(StiString.isNullOrWhiteSpace(i.min)||(t=StiValueHelper.tryToNumber(StiReportParser.parse2(i.min,i.report,!0))),65535);return StiString.isNullOrWhiteSpace(i.max)||(e=StiValueHelper.tryToNumber(StiReportParser.parse2(i.max,i.report,!0))),new DecimalRange(t,e)}}},__.R.StiNumberBoxHelper),IStiNumberBoxElement=Stimulsoft.Report.Dashboard.IStiNumberBoxElement,ImplementsIStiNumberBoxElement=Stimulsoft.Report.Dashboard.ImplementsIStiNumberBoxElement,StiGeoMapProviderType=(StiExportToolAttribute.add("StiNumberBoxElement","Stimulsoft.Dashboard.Export.Tools.StiNumberBoxElementExportTool"),__.R.StiNumberBoxElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiNumberBoxElement,IStiSimpleShadow,IStiCornerRadius,IStiFixedHeightElement,IStiGroupElement,IStiHorAlignment,...ImplementsIStiNumberBoxElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiFixedHeightElement,...ImplementsIStiGroupElement,...ImplementsIStiHorAlignment,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiColorMeta("ForeColor","",Color.transparent),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiEnumMeta("Condition","",StiNumberCondition,StiNumberCondition.GreaterThanOrEqualTo),new StiEnumMeta("MinMaxMode","",StiNumberMinMaxMode,StiNumberMinMaxMode.Auto),new StiEnumMeta("SelectionMode","",StiNumberSelectionMode,StiNumberSelectionMode.Single).set(t=>{let e=Enum.parse(StiNumberSelectionMode,t.value);null!=e&&(this.selectionMode=e)}).setXml(t=>{let e=Enum.parse(StiNumberSelectionMode,t.textContent);null!=e&&(this.selectionMode=e)}),new StiStringNullOrEmptyMeta("InitialValue"),new StiStringNullOrEmptyMeta("InitialToValue"),new StiStringNullOrEmptyMeta("Min"),new StiStringNullOrEmptyMeta("Max"),new StiNumberMeta("DecimalDigits","",0),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Center),new StiObjectMeta("ValueMeter").check(()=>null!=this.valueMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(StiValueNumberBoxMeter);null!=e&&(this.valueMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(StiValueNumberBoxMeter);null!=e&&(this.valueMeter=e)}),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiRemoveMeta("MinSize"),new StiRemoveMeta("MaxSize"),new StiEnumMeta("InclusionMode","",StiFilterInclusionMode,StiFilterInclusionMode.SelectionOnly)]}clone(t){let e,i,r=super.clone(t);return r.valueMeter=null!=this.valueMeter?this.valueMeter.clone():null,r.userFilters=this.userFilters.select(t=>t.clone()).toList(),r.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r}getParentKey(){return null}setParentKey(t){}async applyDefaultFilters(){let t,r=null==(t=StiNumberBoxHelper.getVariableSpecifiedAsValue(this))?void 0:t.as(StiVariable);if(null==r){let t=await StiNumberBoxHelper.fetchDefaultUserFilters(this);null!=t&&(this.userFilters=t)}else if(Range.isRangeType(r.type)){let t=0,e=0,i=new Stimulsoft.Report.DecimalRange(t,e);StiVariableHelper.setVariableValue(this.report,r,i),r.initBy==StiVariableInitBy.Value&&(r.valueObject=i)}}getIdentityFilters(){let t=new StiDataFilterRule;return t.condition=StiDataFilterCondition.Any,t.elementKey=this.key,t.path=StiNumberBoxHelper.getValueMeterExpression(this),t.toList()}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}fetchAllMeters(){let t=new List;return null!=this.valueMeter&&t.add(this.valueMeter),t}getMeters(){let t=new List;return t.add(this.valueMeter),t}retrieveUsedDataNames(){return StiUsedDataHelper.getMany(this.valueMeter)}get isDefined(){return null!=this.valueMeter}addValueMeter2(t){this.valueMeter=null!=t?StiMeterHelper.NumberBox.getValue2(t):null}addValueMeter(t){this.valueMeter=null!=t?StiMeterHelper.NumberBox.getValue(t.as(__.e.StiMeter)):null}getValueMeter(){return this.valueMeter}removeValueMeter(){this.valueMeter=null}createNewValueMeter(){this.valueMeter=new StiValueNumberBoxMeter}convertFrom(t){let e=t.fetchAllMeters();if(null==e)return;let i=e.firstOrDefault(t=>t.is(IStiValueMeter));null!=(i=null==i?e.firstOrDefault(t=>t.is(IStiMeasureMeter)):i)&&(this.valueMeter=null==this.valueMeter?new StiValueNumberBoxMeter:this.valueMeter,this.valueMeter.loadFromJsonObject(i.saveToJsonObject(StiJsonSaveMode.Report)))}get textFormat(){let t=new StiNumberFormatService;return t.decimalDigits=this.decimalDigits,t.state=Stimulsoft.Report.Components.StiTextFormatState.DecimalDigits,t}getFonts(){return StiFont.get(...super.getFonts(),this.font)}get toolboxPosition(){return StiComponentToolboxPosition.NumberBoxElement}get localizedName(){return StiLocalization.get("Components","StiNumberBox")}getMinSize(){let t=null!=this.report?this.report.getCurrentPage():null;if(null==t)return Size.empty;let e=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,t.gridSize,!0);return new Size(0,e)}setMinSize(t){}getMaxSize(){let t=null!=this.report?this.report.getCurrentPage():null;if(null==t)return Size.empty;let e=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,t.gridSize,!0);return new Size(0,e)}setMaxSize(t){}constructor(t=Rectangle.empty){super(t),this.group="",this.isFixedHeight=!0,this.inclusionMode=StiFilterInclusionMode.SelectionOnly,this.userFilters=new List,this.dataFilters=new List,this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.font=new Font("Arial",8),this.foreColor=Color.transparent,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.horAlignment=StiHorAlignment.Center,this.defaultClientRectangle=new Rectangle(0,0,200,40),this.helpUrl="user-manual/dashboards_data_filtering_number_box.htm",this.decimalDigits=0,this.condition=StiNumberCondition.GreaterThanOrEqualTo,this.selectionMode=StiNumberSelectionMode.Single,this.minMaxMode=StiNumberMinMaxMode.Auto,this.initialValue="",this.initialToValue="",this.min="",this.max=""}},__.g.StiOnlineMapDashboardInteraction=class extends __.g.StiDashboardInteraction{implements(){let t=super.implements().concat([IStiJsonReportObject,IStiInteractionLayout]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiBoolMeta("ShowFullScreenButton","",!0),new StiBoolMeta("ShowSaveButton","",!0),new StiBoolMeta("ShowViewDataButton","",!0),new StiStringNullOrEmptyMeta("FileName"),new StiStringNullOrEmptyMeta("HeaderText"),new StiStringNullOrEmptyMeta("FooterText")]}get isDefaultLayout(){return this.showFullScreenButton&&this.showSaveButton&&this.showViewDataButton&&null==this.fileName&&null==this.headerText&&null==this.footerText}isDefault(){return this.isDefaultLayout}constructor(t,e,i,r,l,n){super(),this.ident=StiInteractionIdent.OnlineMap,this.availableOnClick=StiAvailableInteractionOnClick.None,this.availableOnHover=StiAvailableInteractionOnHover.None,this.availableOnDataManipulation=StiAvailableInteractionOnDataManipulation.None,this.showFullScreenButton=!0,this.showSaveButton=!0,this.showViewDataButton=!0,this.fileName=null,this.headerText=null,this.footerText=null,null!=t&&(this.fileName=t),null!=e&&(this.headerText=e),null!=i&&(this.footerText=i),null!=r&&(this.showFullScreenButton=r),null!=l&&(this.showSaveButton=l),null!=n&&(this.showViewDataButton=n)}},Stimulsoft.Report.Dashboard.StiGeoMapProviderType),StiOnlineMapDashboardInteraction=__.g.StiOnlineMapDashboardInteraction,ImplementsIStiOnlineMapElement=Stimulsoft.Report.Dashboard.ImplementsIStiOnlineMapElement,IStiOnlineMapElement=Stimulsoft.Report.Dashboard.IStiOnlineMapElement,StiOnlineMapLocationType=Stimulsoft.Report.Dashboard.StiOnlineMapLocationType,StiOnlineMapCulture=Stimulsoft.Report.Dashboard.StiOnlineMapCulture,StiOnlineMapLocationColorType=Stimulsoft.Report.Dashboard.StiOnlineMapLocationColorType,StiOnlineMapValueViewMode=Stimulsoft.Report.Dashboard.StiOnlineMapValueViewMode,IStiTableCells=(StiExportToolAttribute.add("StiOnlineMapElement","Stimulsoft.Dashboard.Export.Tools.StiOnlineMapElementExportTool"),__.O.StiOnlineMapElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiOnlineMapElement,IStiSimpleShadow,IStiCornerRadius,IStiTitleElement,IStiElementLayout,IStiElementInteraction,IStiGlobalizationProvider,...ImplementsIStiOnlineMapElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiTitleElement,...ImplementsIStiElementLayout,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(t){let e,i,r=super.clone(t);return r.latitude=null!=this.latitude?this.latitude.clone():null,r.longitude=null!=this.longitude?this.longitude.clone():null,r.location=null!=this.location?this.location.clone():null,r.locationColorMeter=null!=this.locationColorMeter?this.locationColorMeter.clone():null,r.locationValue=null!=this.locationValue?this.locationValue.clone():null,r.locationArgument=null!=this.locationArgument?this.locationArgument.clone():null,r.transformActions=this.transformActions.select(t=>t.clone()).toList(),r.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),r.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),r.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),r.title=null!=this.title?this.title.clone():null,r.layout=null!=this.layout?this.layout.clone():null,r.locationType=this.locationType,r.culture=this.culture,r.locationColorType=this.locationColorType,r.locationColor=this.locationColor,r.iconColor=this.iconColor,r.icon=this.icon,r.customIcon=null!=this.customIcon?Convert.fromBase64String(Convert.toBase64String(this.customIcon)):null,r.dashboardInteraction=this.dashboardInteraction.clone(),r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r.onePointZoom=this.onePointZoom,r.userBingKey=this.userBingKey,r.provider=this.provider,r}meta(){return[...super.meta(),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t)),new StiObjectMeta("Layout").check(()=>null!=this.layout).set(t=>this.layout=StiElementLayout.createFromJsonObject(t.value)).setXml(t=>this.layout=StiElementLayout.createFromXml(t)),new StiObjectMeta("Latitude").check(()=>null!=this.latitude).set(t=>this.latitude=StiMeterLoader.loadFromJson(t.value).as(__.O.StiLatitudeMapMeter)).setXml(t=>this.latitude=StiMeterLoader.loadFromXml(t).as(__.O.StiLatitudeMapMeter)),new StiObjectMeta("Longitude").check(()=>null!=this.longitude).set(t=>this.longitude=StiMeterLoader.loadFromJson(t.value).as(__.O.StiLongitudeMapMeter)).setXml(t=>this.longitude=StiMeterLoader.loadFromXml(t).as(__.O.StiLongitudeMapMeter)),new StiObjectMeta("Location").check(()=>null!=this.location).set(t=>this.location=StiMeterLoader.loadFromJson(t.value).as(__.O.StiLocationMapMeter)).setXml(t=>this.location=StiMeterLoader.loadFromXml(t).as(__.O.StiLocationMapMeter)),new StiObjectMeta("LocationColorMeter").check(()=>null!=this.locationColorMeter).set(t=>this.locationColorMeter=StiMeterLoader.loadFromJson(t.value).as(__.O.StiLocationColorMapMeter)).setXml(t=>this.locationColorMeter=StiMeterLoader.loadFromXml(t).as(__.O.StiLocationColorMapMeter)),new StiObjectMeta("LocationArgument").check(()=>null!=this.locationArgument).set(t=>this.locationArgument=StiMeterLoader.loadFromJson(t.value).as(__.O.StiLocationArgumentMapMeter)).setXml(t=>this.locationArgument=StiMeterLoader.loadFromXml(t).as(__.O.StiLocationArgumentMapMeter)),new StiObjectMeta("LocationValue").check(()=>null!=this.locationValue).set(t=>this.locationValue=StiMeterLoader.loadFromJson(t.value).as(__.O.StiLocationValueMapMeter)).setXml(t=>this.locationValue=StiMeterLoader.loadFromXml(t).as(__.O.StiLocationValueMapMeter)),new StiStringNullOrEmptyMeta("Group"),new StiEnumMeta("Culture","",StiOnlineMapCulture).set(t=>this.culture=Enum.parse(StiOnlineMapCulture,t.value,!1)).setXml(t=>this.culture=Enum.parse(StiOnlineMapCulture,t.textContent,!1)),new StiEnumMeta("LocationType","",StiOnlineMapLocationType),new StiColorMeta("LocationColor","",Color.limeGreen),new StiEnumMeta("LocationColorType","",StiOnlineMapLocationColorType),new StiEnumMeta("ValueViewMode","",StiOnlineMapValueViewMode),new StiEnumMeta("Provider","",StiGeoMapProviderType),new StiEnumMeta("Icon","",StiFontIcons),new StiColorMeta("IconColor","",Color.limeGreen),new StiBoolMeta("CrossFiltering","",!0),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiStringMeta("CustomIcon").check(()=>null!=this.customIcon).get(()=>Convert.toBase64String(this.customIcon)).set(t=>this.customIcon=Convert.fromBase64String(t.value.toString())).setXml(t=>this.customIcon=Convert.fromBase64String(t.textContent)),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiOnlineMapDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiOnlineMapDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiOnlineMapDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiNumberMeta("OnePointZoom","",1),new StiStringMeta("UserBingKey","")]}fetchAllMeters(){let t=new List;return null!=this.latitude&&t.add(this.latitude),null!=this.longitude&&t.add(this.longitude),null!=this.location&&t.add(this.location),null!=this.locationColorMeter&&t.add(this.locationColorMeter),null!=this.locationValue&&t.add(this.locationValue),null!=this.locationArgument&&t.add(this.locationArgument),t}getMeters(){let t=new List;return this.isDefined&&(null!=this.latitude&&t.add(this.latitude),null!=this.longitude&&t.add(this.longitude),null!=this.location&&t.add(this.location),null!=this.locationColorMeter&&t.add(this.locationColorMeter),null!=this.locationValue&&t.add(this.locationValue),null!=this.locationArgument)&&t.add(this.locationArgument),t}retrieveUsedDataNames(){let t=new List;return t.addRange(StiUsedDataHelper.getMany(this.latitude)),t.addRange(StiUsedDataHelper.getMany(this.longitude)),t.addRange(StiUsedDataHelper.getMany(this.location)),t.addRange(StiUsedDataHelper.getMany(this.locationColorMeter)),t.addRange(StiUsedDataHelper.getMany(this.locationValue)),t.addRange(StiUsedDataHelper.getMany(this.locationArgument)),t.distinct().toList()}get isDefined(){return null!=this.latitude||null!=this.longitude||null!=Location||null!=this.locationValue||null!=this.locationColorMeter||null!=this.locationArgument}createNextMeter(t){this.location=StiMeterHelper.OnlineMap.getLocation2(t)}addLatitudeMeter2(t){this.latitude=null!=t?StiMeterHelper.OnlineMap.getLatitude2(t):null}addLatitudeMeter(t){this.latitude=null!=t?StiMeterHelper.OnlineMap.getLatitude(t.as(__.e.StiMeter)):null}getLatitudeMeter(){return this.latitude}removeLatitudeMeter(){this.latitude=null}createNewLatitudeMeter(){this.latitude=new __.O.StiLatitudeMapMeter}addLongitudeMeter2(t){this.longitude=null!=t?StiMeterHelper.OnlineMap.getLongitude2(t):null}addLongitudeMeter(t){this.longitude=null!=t?StiMeterHelper.OnlineMap.getLongitude(t.as(__.e.StiMeter)):null}getLongitudeMeter(){return this.longitude}removeLongitudeMeter(){this.longitude=null}createNewLongitudeMeter(){this.longitude=new __.O.StiLongitudeMapMeter}addLocationMeter2(t){this.location=null!=t?StiMeterHelper.OnlineMap.getLocation2(t):null}addLocationMeter(t){this.location=null!=t?StiMeterHelper.OnlineMap.getLocation(t):null}getLocationMeter(){return this.location}removeLocationMeter(){this.location=null}createNewLocationMeter(){this.location=new __.O.StiLocationMapMeter}addLocationColorMeter2(t){this.locationColorMeter=null!=t?StiMeterHelper.OnlineMap.getLocationColor2(t):null}addLocationColorMeter(t){this.locationColorMeter=null!=t?StiMeterHelper.OnlineMap.getLocationColor(t.as(__.e.StiMeter)):null}getLocationColorMeter(){return this.locationColorMeter}removeLocationColorMeter(){this.locationColor=null}createNewLocationColorMeter(){this.locationColorMeter=new __.O.StiLocationColorMapMeter}addLocationValueMeter2(t){this.locationValue=null!=t?StiMeterHelper.OnlineMap.getLocationValue2(t):null}addLocationValueMeter(t){this.locationValue=null!=t?StiMeterHelper.OnlineMap.getLocationValue(t.as(__.e.StiMeter)):null}getLocationValueMeter(){return this.locationValue}removeLocationValueMeter(){this.locationValue=null}createNewLocationValueMeter(){this.locationValue=new __.O.StiLocationValueMapMeter}addLocationArgumentMeter(t){this.locationArgument=null!=t?StiMeterHelper.OnlineMap.getLocationArgument2(t):null}addLocationArgumentMeter2(t){this.locationArgument=null!=t?StiMeterHelper.OnlineMap.getLocationArgument(t):null}getLocationArgumentMeter(){return this.locationArgument}removeLocationArgumentMeter(){this.locationArgument=null}createNewLocationArgumentMeter(){this.locationArgument=new __.O.StiLocationArgumentMapMeter}convertFrom(t){let e=t.as(__.L.StiRegionMapElement);null==e||null==e.keyMeter||e.keyMeter.isDefault()||(this.location=new __.O.StiLocationMapMeter,this.location.label=e.keyMeter.label,this.location.expression=e.keyMeter.expression),null==this.dashboardInteraction&&(this.dashboardInteraction=new StiOnlineMapDashboardInteraction)}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text}throw new Error(`Property with name `+t)}getAllStrings(){return["Title.Text"]}get toolboxPosition(){return StiComponentToolboxPosition.OnlineMapElement}get localizedName(){return StiLocalization.get("Components","StiOnlineMap")}get onePointZoom(){return this._onePointZoom}set onePointZoom(t){this._onePointZoom=Math.max(Math.min(t,20),1)}constructor(t=Rectangle.empty){super(t),this.group="",this.title=new __.e.StiTitle,this.layout=new StiElementLayout,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.dataTransformation={},this.dataFilters=new List,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.helpUrl="user-manual/dashboards_maps_online_map.htm",this._onePointZoom=1,this.userBingKey="",this.locationType=StiOnlineMapLocationType.Auto,this.culture=StiOnlineMapCulture.en_US,this.locationColorType=StiOnlineMapLocationColorType.Single,this.valueViewMode=StiOnlineMapValueViewMode.Bubble,this.locationColor=Color.limeGreen,this.icon=StiFontIcons.MapMarker,this.iconColor=Color.maroon,this.crossFiltering=!0,this.provider=StiGeoMapProviderType.OpenStreetMap,this.title.text=this.localizedName,this.dashboardInteraction=new StiOnlineMapDashboardInteraction}},Stimulsoft.Report.Dashboard.IStiTableCells);{class StiTableCells{implements(){let t=[IStiTableCells,ICloneable,IStiJsonReportObject,IStiGetFonts];return(this.implements=()=>t)()}meta(){return[new StiObjectMeta("Columns").check(()=>null!=this.columns&&!this.columns.isDefault()).get(()=>this.columns.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.columns=__.K.StiTableSection.createFromJsonObject(t.value)).setXml(t=>this.columns=__.K.StiTableSection.createFromXml(t)),new StiObjectMeta("Data").check(()=>null!=this.data&&!this.data.isDefault()).get(()=>this.data.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.data=__.K.StiTableSection.createFromJsonObject(t.value)).setXml(t=>this.data=__.K.StiTableSection.createFromXml(t)),new StiObjectMeta("Totals").check(()=>null!=this.totals&&!this.totals.isDefault()).get(()=>this.totals.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.totals=__.K.StiTableSection.createFromJsonObject(t.value)).setXml(t=>this.totals=__.K.StiTableSection.createFromXml(t))]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static createFromJsonObject(t){let e=new StiTableCells;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new StiTableCells;return e.loadFromXml(t),e}clone(){let t,e,i,r=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return r.columns=null==(t=this.columns)?void 0:t.clone(),r.data=null==(e=this.data)?void 0:e.clone(),r.totals=null==(i=this.totals)?void 0:i.clone(),r}isDefault(){return!this.shouldSerializeColumns()&&!this.shouldSerializeData()&&!this.shouldSerializeTotals()}getFonts(){return StiFont.get(this.columns.font,this.data.font,this.totals.font)}getColumns(){return this.columns}getData(){return this.data}getTotals(){return this.totals}get columns(){return this._columns}set columns(t){this._columns!=t&&null!=(this._columns=t)&&(t.element=this.element)}shouldSerializeColumns(){return null==this.columns||!this.columns.isDefault()}get data(){return this._data}set data(t){this._data!=t&&null!=(this._data=t)&&(t.element=this.element)}shouldSerializeData(){return null==this.data||!this.data.isDefault()}get totals(){return this._totals}set totals(t){this._totals!=t&&null!=(this._totals=t)&&(t.element=this.element)}shouldSerializeTotals(){return null==this.totals||!this.totals.isDefault()}get element(){return this.getElement()}set element(t){this.setElement(t)}getElement(){return this._element}setElement(t){this._element!=t&&(this._element=t,this.columns.element=t,this.totals.element=t,this.data.element=t)}constructor(){this.columns=new __.K.StiTableSection,this.data=new __.K.StiTableSection,this.totals=new __.K.StiTableSection}}__.K.StiTableCells=StiTableCells}let IStiPivotTableCells=Stimulsoft.Report.Dashboard.IStiPivotTableCells;{class StiPivotTableCells extends __.K.StiTableCells{implements(){let t=[IStiPivotTableCells,ICloneable,IStiJsonReportObject,IStiGetFonts];return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiObjectMeta("Rows").check(()=>null!=this.rows&&!this.rows.isDefault()).get(()=>this.rows.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.rows=__.K.StiTableSection.createFromJsonObject(t.value)).setXml(t=>this.rows=__.K.StiTableSection.createFromXml(t))]}saveToJsonObject(t){let e=super.saveToJsonObject(t);return StiMetaHelper.saveToJsonObject(t,this,e)}loadFromJsonObject(t){super.loadFromJsonObject(t),StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){super.loadFromXml(t),StiMetaHelper.loadFromXml(t,this)}static createFromJsonObject(t){let e=new StiPivotTableCells;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new StiPivotTableCells;return e.loadFromXml(t),e}clone(){let t,e=super.clone();return e.rows=null==(t=this.rows)?void 0:t.clone(),e}isDefault(){return super.isDefault()&&!this.shouldSerializeRows()}getFonts(){return StiFont.get(...super.getFonts(),this.rows.font)}getRows(){return this.rows}get rows(){return this._rows}set rows(t){this._rows!=t&&null!=(this._rows=t)&&(t.element=this.element)}shouldSerializeRows(){return null==this.rows||!this.rows.isDefault()}setElement(t){super.getElement()!=t&&(super.setElement(t),this.rows.element=t)}constructor(){super(),this.rows=new __.K.StiTableSection}}__.K.StiPivotTableCells=StiPivotTableCells}__.N.StiPivotTableColumnVisibilityHelper=class{static getVisible(t,e){if(t.visibility==StiTableColumnVisibility.True)return!0;if(t.visibility==StiTableColumnVisibility.False)return!1;if(StiString.isNullOrWhiteSpace(t.visibilityExpression))return!1;let i=StiReportParser.parse2(t.visibilityExpression,e);return StiValueHelper.tryToBool(i)}};let Hashtable=Stimulsoft.System.Collections.Hashtable;{class StiPivotTableElementSelection{static getSelected(t){let e=this.hash.get(t.key);if(null==e)return null;return e.keys.toList()}static getSelectedObjects(t){let e=this.getSelected(t);return null!=e?e.toList():null}static isSelected(t,e){let i=this.hash.get(t.key);return null==i&&(i=new Hashtable,this.hash.set(t.key,i)),null!=i.get(e)}static select(t,e){let i=this.hash.get(t.key);null==i&&(i=new Hashtable,this.hash.set(t.key,i)),i.set(e,e)}static resetSelection(t){this.hash.containsKey(t.key)&&this.hash.remove(t.key)}}StiPivotTableElementSelection.hash=new Hashtable,__.h.StiPivotTableElementSelection=StiPivotTableElementSelection}let IStiInteractionPivotLayout=Stimulsoft.Report.Dashboard.IStiInteractionPivotLayout,StiPivotTableCells=(__.g.StiPivotTableDashboardInteraction=class extends __.g.StiDashboardInteraction{implements(){let t=super.implements().concat([IStiJsonReportObject,IStiInteractionLayout,IStiInteractionPivotLayout]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiBoolMeta("ShowFullScreenButton","",!0),new StiBoolMeta("ShowSaveButton","",!0),new StiBoolMeta("ShowViewDataButton","",!0),new StiBoolMeta("ShowExpandAllButton","",!0),new StiBoolMeta("ShowCollapseAllButton","",!0),new StiStringNullOrEmptyMeta("FileName"),new StiStringNullOrEmptyMeta("HeaderText"),new StiStringNullOrEmptyMeta("FooterText")]}get isDefaultLayout(){return this.showFullScreenButton&&this.showSaveButton&&this.showViewDataButton&&this.showExpandAllButton&&this.showCollapseAllButton&&null==this.fileName&&null==this.headerText&&null==this.footerText}isDefault(){return this.isDefaultLayout}constructor(t,e,i,r,l,n,o,s){super(),this.ident=StiInteractionIdent.PivotTable,this.availableOnClick=StiAvailableInteractionOnClick.None,this.availableOnHover=StiAvailableInteractionOnHover.None,this.availableOnDataManipulation=StiAvailableInteractionOnDataManipulation.None,this.showFullScreenButton=!0,this.showSaveButton=!0,this.showViewDataButton=!0,this.showExpandAllButton=!0,this.showCollapseAllButton=!0,this.fileName=null,this.headerText=null,this.footerText=null,null!=t&&(this.fileName=t),null!=e&&(this.headerText=e),null!=i&&(this.footerText=i),null!=r&&(this.showFullScreenButton=r),null!=l&&(this.showSaveButton=l),null!=n&&(this.showViewDataButton=n),null!=o&&(this.showExpandAllButton=o),null!=s&&(this.showCollapseAllButton=s)}},__.K.StiPivotTableCells),StiSummaryDirection=Stimulsoft.Report.CrossTab.Core.StiSummaryDirection,StiPivotTableDashboardInteraction=__.g.StiPivotTableDashboardInteraction,ImplementsIStiPivotTableElement=Stimulsoft.Report.Dashboard.ImplementsIStiPivotTableElement,StiPivotTableElementSelection=__.h.StiPivotTableElementSelection,IStiPivotTableElement=Stimulsoft.Report.Dashboard.IStiPivotTableElement,StiParserParameters=Stimulsoft.Report.Engine.StiParserParameters,StiText=Stimulsoft.Report.Components.StiText,StiAsmCommandType=Stimulsoft.Report.Engine.StiAsmCommandType,StiPivotTableConditionType=(StiExportToolAttribute.add("StiPivotTableElement","Stimulsoft.Dashboard.Export.Tools.StiPivotTableElementExportTool"),__.N.StiPivotTableElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiPivotTableElement,IStiSimpleShadow,IStiCornerRadius,IStiTitleElement,IStiElementLayout,IStiElementInteraction,IStiGlobalizationProvider,...ImplementsIStiPivotTableElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiTitleElement,...ImplementsIStiElementLayout,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(t){let e,i,r=super.clone(t),l={};return r.columns=this.columns.select(t=>this.cloneMeter(t,l)).toList(),r.rows=this.rows.select(t=>this.cloneMeter(t,l)).toList(),r.summaries=this.summaries.select(t=>this.cloneMeter(t,l)).toList(),r.transformActions=this.transformActions.select(t=>t.clone()).toList(),r.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),r.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),r.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),r.cells=this.cells.clone(),r.title=null!=this.title?this.title.clone():null,r.layout=null!=this.layout?this.layout.clone():null,r.dashboardInteraction=this.dashboardInteraction.clone(),r.pivotTableConditions=this.pivotTableConditions.select(t=>t.clone()).toList(),r.totalLabel=this.totalLabel,r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r.pivotTableConditions.forEach(t=>{t.destinationValueMeter=this.findKey(t.destinationValueMeter,l),t.keyValueMeter=this.findKey(t.keyValueMeter,l),t.measureField=this.findKey(t.measureField,l)}),r}meta(){return[...super.meta(),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("Cells").check(()=>null!=this.cells&&!this.cells.isDefault()).get(()=>this.cells.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.cells=StiPivotTableCells.createFromJsonObject(t.value)).setXml(t=>this.cells=StiPivotTableCells.createFromXml(t)),new StiObjectMeta("Columns").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.columns,t)).set(t=>this.columns.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value).as(StiPivotColumn)).where(t=>null!=t))).setXml(t=>this.columns.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("Rows").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.rows,t)).set(t=>this.rows.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value).as(__.N.StiPivotRow)).where(t=>null!=t))).setXml(t=>this.rows.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("Summaries").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.summaries,t)).set(t=>this.summaries.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value).as(StiPivotSummary)).where(t=>null!=t))).setXml(t=>this.summaries.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiBoolMeta("CrossFiltering","",!0),new StiColorMeta("ForeColor","",Color.transparent),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t)),new StiObjectMeta("Layout").check(()=>null!=this.layout).set(t=>this.layout=StiElementLayout.createFromJsonObject(t.value)).setXml(t=>this.layout=StiElementLayout.createFromXml(t)),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("TotalLabel"),new StiObjectMeta("PivotTableConditions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.pivotTableConditions,t)).set(t=>this.pivotTableConditions.addRange(t.value.properties().select(t=>__.N.StiPivotTableElementCondition.loadFromJson(t.value).as(__.N.StiPivotTableElementCondition)).where(t=>null!=t))).setXml(t=>this.pivotTableConditions.addRange(t.childNodes.map(t=>__.N.StiPivotTableElementCondition.loadFromXml(t)))),new StiEnumMeta("SummaryDirection","",StiSummaryDirection,StiSummaryDirection.UpToDown),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiPivotTableDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiPivotTableDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiPivotTableDashboardInteraction);null!=i&&(this.dashboardInteraction=i)})]}retrieveUsedDataNames(){let t=StiUsedDataHelper.getMany2(this.columns);return t.addRange(StiUsedDataHelper.getMany2(this.rows)),t.addRange(StiUsedDataHelper.getMany2(this.summaries)),t}fetchAllMeters(){let t=this.columns.cast();return t.addRange(this.rows.cast()),t.addRange(this.summaries.cast()),t}getMeters(){let t=this.columns.cast();return t.addRange(this.rows.cast()),t.addRange(this.summaries.cast()),t}getUsedMeters(){let i=this.getMeters();try{this.summaries.forEach(t=>{let e=this.getPushCommands(t.expression);1<e.length&&e.forEach(t=>{let e=new StiPivotSummary(StiKeyHelper.generateKey(),t,"label");i.add(e)})})}catch(t){}return i}get isDefined(){return null!=this.columns&&0<this.columns.length||null!=this.rows&&0<this.rows.length||null!=this.summaries&&0<this.summaries.length}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}createNextMeter(t){0==this.columns.length?this.columns.add(StiMeterHelper.Pivot.getColumn2(t)):0==this.rows.length?this.rows.add(StiMeterHelper.Pivot.getRow2(t)):0==this.summaries.length?this.summaries.add(StiMeterHelper.Pivot.getSummary2(t)):this.columns.add(StiMeterHelper.Pivot.getColumn2(t))}createNewColumn(){this.columns.add(new StiPivotColumn)}getColumn2(t){return null!=t?StiMeterHelper.Pivot.getColumn2(t):null}getColumn(t){return null!=t?StiMeterHelper.Pivot.getColumn(t.as(__.e.StiMeter)):null}getColumnByIndex(t){return t<this.columns.length?this.columns[t]:null}insertColumn(t,e){let i=e.as(StiPivotColumn);null!=i&&(0<=t&&t<this.columns.length?this.columns.insert(t,i):this.columns.add(i))}removeColumn(t){t<this.columns.length&&this.columns.removeAt(t)}removeAllColumns(){this.columns.clear()}createNewRow(){this.rows.add(new __.N.StiPivotRow)}getRow2(t){return null!=t?StiMeterHelper.Pivot.getRow2(t):null}getRow(t){return null!=t?StiMeterHelper.Pivot.getRow(t.as(__.e.StiMeter)):null}getRowByIndex(t){return t<this.rows.length?this.rows[t]:null}insertRow(t,e){let i=e.as(__.N.StiPivotRow);null!=i&&(0<=t&&t<this.rows.length?this.rows.insert(t,i):this.rows.add(i))}removeRow(t){t<this.rows.length&&this.rows.removeAt(t)}removeAllRows(){this.rows.clear()}createNewSummary(){let t=new StiPivotSummary;t.expression="Sum()",this.summaries.add(t)}getSummary2(t){return null!=t?StiMeterHelper.Pivot.getSummary2(t):null}getSummary(t){return null!=t?StiMeterHelper.Pivot.getSummary(t.as(__.e.StiMeter)):null}getSummaryByIndex(t){return t<this.summaries.length?this.summaries[t]:null}insertSummary(t,e){let i=e.as(StiPivotSummary);null!=i&&(0<=t&&t<this.summaries.length?this.summaries.insert(t,i):this.summaries.add(i))}removeSummary(t){t<this.summaries.length&&this.summaries.removeAt(t)}removeAllSummaries(){this.summaries.clear()}addPivotTableCondition(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d,g,p,b,C,f){this.pivotTableConditions.add(new __.N.StiPivotTableElementCondition(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d,g,p,b,C,f))}getAllMeters(){let t=new List;return t.addRange(this.columns),t.addRange(this.rows),t.addRange(this.summaries),t}fetchPivotTableConditions(){let t=new List;return null!=this.pivotTableConditions&&t.addRange(this.pivotTableConditions),t}clearPivotTableConditions(){this.pivotTableConditions.clear()}getFonts(){return StiFont.get(...super.getFonts(),this.title.font,...this.cells.getFonts())}convertFrom(t){let e=t.fetchAllMeters();if(this.columns.clear(),this.rows.clear(),this.summaries.clear(),null==e)return;let i=0;e.cast().forEach(e=>{if(e.is2(IStiDimensionMeter))if(0==(1&i)){let t=new StiPivotColumn;t.loadFromJsonObject(e.saveToJsonObject(StiJsonSaveMode.Report)),this.columns.add(t)}else{let t=new __.N.StiPivotRow;t.loadFromJsonObject(e.saveToJsonObject(StiJsonSaveMode.Report)),this.rows.add(t)}else if(e.is2(IStiMeasureMeter)){let t=new StiPivotSummary;t.loadFromJsonObject(e.saveToJsonObject(StiJsonSaveMode.Report)),this.summaries.add(t)}},this),null==this.dashboardInteraction&&(this.dashboardInteraction=new StiPivotTableDashboardInteraction)}setString(i,r){switch(i){case"Title.Text":this.title.text=r;break;case"TotalLabel":this.totalLabel=r;break}let l=0;for(let e of this.columns){let t=`Column${l++}.Label`;i==t&&(e.label=r)}l=0;for(let e of this.rows){let t=`Row${l++}.Label`;i==t&&(e.label=r)}}cloneMeter(t,e){let i=t.clone();return e[t.key]=i.key,i}findKey(t,e){return!StiString.isNullOrEmpty(t)&&t in e?e[t]:t}getString(i){switch(i){case"Title.Text":return this.title.text;case"TotalLabel":return this.totalLabel}let r=0;for(let e of this.columns){let t=`Column${r++}.Label`;if(i==t)return e.label}r=0;for(let e of this.rows){let t=`Row${r++}.Label`;if(i==t)return e.label}throw new Error(`Property with name `+i)}getAllStrings(){let e=["Title.Text","TotalLabel"],i=0;return this.columns.forEach(t=>e.push(`Column${i++}.Label`)),i=0,this.rows.forEach(t=>e.push(`Row${i++}.Label`)),e}getCells(){return this.cells}get toolboxPosition(){return StiComponentToolboxPosition.PivotTableElement}get localizedName(){return Loc.get("Components","StiPivotTable")}get foreColor(){return this.cells.data.foreColor}set foreColor(t){this.cells.data.foreColor=t}get cells(){return this._cells}set cells(t){null!=t&&(t.element=this),this._cells=t}shouldSerializeCells(){return null==this.cells||!this.cells.isDefault()}getColumnFont(){return StiDashboardStyleHelper.getElementFontFromStyle(this,this.cells.columns.font)}getRowFont(){return StiDashboardStyleHelper.getElementFontFromStyle(this,this.cells.rows.font)}getDataFont(){return StiDashboardStyleHelper.getElementFontFromStyle(this,this.cells.data.font)}getTotalFont(){return StiDashboardStyleHelper.getElementFontFromStyle(this,this.cells.totals.font)}getFormatObjects(){return StiPivotTableElementSelection.getSelectedObjects(this)}getNestedPages(){let t,r,l=new List,e=new List;e.add(this),e.addRange(this.columns),e.addRange(this.rows),e.addRange(this.summaries);for(let i of e)if(null!=(null==i?void 0:i.dashboardInteraction)&&i.dashboardInteraction.onClick==StiInteractionOnClick.ShowDashboard&&StiKeyHelper.isKey(null==(t=i.dashboardInteraction)?void 0:t.drillDownPageKey)){let e=null==(r=i.dashboardInteraction)?void 0:r.drillDownPageKey,t=this.report.pages.toList().firstOrDefault(t=>t.guid==e);null!=t&&l.add(t)}return 0==l.length?null:l.distinct()}getPushCommands(t){let e=new StiPage,i=(e.report=this.report,new StiParserParameters),r=(i.returnAsmList=!0,new StiText),l=(r.report=this.report,r.page=e,new List),n=[];try{n=StiParser.parseTextValue2(`{${t}}`,r,null,i)}catch(t){}let o=0;while(o<n.length){try{n[o].type==StiAsmCommandType.PushValue&&o+1<n.length&&n[o+1].type==StiAsmCommandType.PushFunction?l.add(`${Enum.getName(Stimulsoft.Report.Engine.StiFunctionType,n[o+1].parameter1)}(${n[o].parameter1[0].parameter1})`):n[o].type==StiAsmCommandType.PushDataSourceField&&o+1<n.length&&n[o+1].type==StiAsmCommandType.PushFunction&&l.add(`${Enum.getName(Stimulsoft.Report.Engine.StiFunctionType,n[o+1].parameter1)}(${n[o].parameter1})`)}catch(t){}o++}return l}constructor(t=Rectangle.empty){super(t),this.maxIconSize=50,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.group="",this.title=new __.e.StiTitle,this.layout=new StiElementLayout,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.dataTransformation={},this.dataFilters=new List,this.crossFiltering=!0,this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.summaryDirection=StiSummaryDirection.UpToDown,this.helpUrl="user-manual/dashboards_pivot_table.htm",this.columns=new List,this.rows=new List,this.summaries=new List,this.totalLabel="",this.pivotTableConditions=new List,this.cells=new StiPivotTableCells,this.title.text=this.localizedName,this.dashboardInteraction=new StiPivotTableDashboardInteraction}},Stimulsoft.Report.Dashboard.StiPivotTableConditionType),StiDataTopNMode=Stimulsoft.Data.Engine.StiDataTopNMode,StiConditionPermissions=Stimulsoft.Report.Components.StiConditionPermissions,StiScale=Stimulsoft.Base.StiScale,IStiPivotTableElementCondition=Stimulsoft.Report.Dashboard.IStiPivotTableElementCondition;{let w=__.a.StiFilterDataType,y=__.a.StiFilterCondition;class Rba{implements(){let t=[IStiPivotTableElementCondition,IStiJsonReportObject];return(this.implements=()=>t)()}is(t){if(t instanceof Stimulsoft.System.Interface)return-1!=this.implements().indexOf(t);if("function"==typeof t)return this instanceof t;if(null==t)throw new Error("Type for comparison is 'undefined'");return!1}is2(t){return this.is(t)}as(t){if(this.is(t))return this;return null}clone(){let t=this.saveToJsonObject(null),e=new Rba;return e.loadFromJsonObject(t),e}meta(){return[new StiStringMeta("Ident").get(()=>"StiPivotTableElementCondition"),new StiStringNullOrEmptyMeta("KeyValueMeter"),new StiStringNullOrEmptyMeta("DestinationValueMeter"),new StiEnumMeta("Condition","",y),new StiEnumMeta("DataType","",w),new StiStringNullOrEmptyMeta("Value"),new StiColorMeta("TextColor","",Color.black),new StiColorMeta("BackColor","",Color.transparent),new StiFontMeta("Font"),new StiEnumMeta("Permissions","",StiConditionPermissions),new StiEnumMeta("IconAlignment","",StiIconAlignment),new StiColorMeta("IconColor","",Color.maroon),new StiEnumMeta("Icon","",StiFontIcons),new StiStringMeta("CustomIcon").check(()=>null!=this.customIcon).get(()=>Convert.toBase64String(this.customIcon)).set(t=>this.customIcon=Convert.fromBase64String(t.value.toString())).setXml(t=>this.customIcon=Convert.fromBase64String(t.textContent)),new StiEnumMeta("ConditionType","",StiPivotTableConditionType),new StiEnumMeta("TopNMode","",StiDataTopNMode),new StiNumberMeta("TopNCount"),new StiStringNullOrEmptyMeta("MeasureField"),new StiBoolMeta("TopNConditionCell"),new StiBoolMeta("TopNConditionHeader"),new StiBoolMeta("TopNConditionTotal","",!0)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static loadFromJson(t){let e=new Rba;return e.loadFromJsonObject(t),e}static loadFromXml(t){let e=new Rba;return e.loadFromXml(t),e}get iconFontSize(){return 18*StiScale.factor}get customIcon(){return this._customIcon}set customIcon(t){this._customIcon=t,this._iconSize=null}get destinationValueMeter(){return StiString.isNullOrEmpty(this._destinationValueMeter)?this.keyValueMeter:this._destinationValueMeter}set destinationValueMeter(t){this._destinationValueMeter=t}get iconSize(){try{if(null==this._iconSize&&null!=this.customIcon){let t=new Image;t.bytes=this.customIcon,this._iconSize=new Size(t.width,t.height)}else null==this._iconSize&&(this._iconSize=new Size(this.iconFontSize,this.iconFontSize))}catch(t){}return this._iconSize}async getIcon(){if(null!=this.customIcon)return this.customIcon;{let t=await StiFontIconsHelper.convertFontIconToImageAsync(this.icon,this.iconColor,this.iconFontSize,this.iconFontSize,"0.9em");return t.bytes}}getUniqueCode(){return 0}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d,g,p,b,C,f){this.textColor=Color.black,this.backColor=Color.transparent,this.font=new Font("Arial",8),this.permissions=StiConditionPermissions.All,this.icon=StiFontIcons.Adjust,this.iconAlignment=StiIconAlignment.None,this.condition=y.EqualTo,this.dataType=w.Numeric,this._destinationValueMeter="",this.iconColor=Color.maroon,this.conditionType=StiPivotTableConditionType.Condition,this.topNMode=StiDataTopNMode.Top,this.topNCount=5,this.topNConditionCell=!1,this.topNConditionHeader=!1,this.topNConditionTotal=!0,null!=t&&(this.keyValueMeter=t),null!=e&&(this.destinationValueMeter=e),null!=i&&(this.dataType=i),null!=r&&(this.condition=r),null!=l&&(this.value=l),null!=n&&(this.font=n),null!=o&&(this.textColor=o),null!=s&&(this.backColor=s),null!=a&&(this.permissions=a),null!=u&&(this.icon=u),null!=S&&(this.iconAlignment=S),null!=m&&(this.customIcon=m),null!=h&&(this.iconColor=h),null!=c&&(this.conditionType=c),null!=d&&(this.topNMode=d),null!=g&&(this.topNCount=g),null!=p&&(this.measureField=p),null!=b&&(this.topNConditionCell=b),null!=C&&(this.topNConditionHeader=C),null!=f&&(this.topNConditionTotal=f)}}__.N.StiPivotTableElementCondition=Rba}__.ac.StiPivotColumnConverter=class extends StiMeterConverter{},__.ac.StiPivotRowConverter=class extends StiMeterConverter{},__.ac.StiPivotSummaryConverter=class extends StiMeterConverter{},__.g.StiProgressDashboardInteraction=class extends __.g.StiDashboardInteraction{implements(){let t=super.implements().concat([IStiAllowUserDrillDownDashboardInteraction,IStiAllowUserSortingDashboardInteraction,IStiJsonReportObject,IStiInteractionLayout]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiBoolMeta("AllowUserDrillDown"),new StiBoolMeta("AllowUserSorting","",!0),new StiBoolMeta("ShowFullScreenButton","",!0),new StiBoolMeta("ShowSaveButton","",!0),new StiBoolMeta("ShowViewDataButton","",!0),new StiStringNullOrEmptyMeta("FileName"),new StiStringNullOrEmptyMeta("HeaderText"),new StiStringNullOrEmptyMeta("FooterText")]}get isDefaultLayout(){return this.showFullScreenButton&&this.showSaveButton&&this.showViewDataButton&&null==this.fileName&&null==this.headerText&&!this.allowUserDrillDown&&null==this.footerText}isDefault(){return this.isDefaultLayout&&this.onHover==StiInteractionOnHover.ShowToolTip&&this.onClick==StiInteractionOnClick.None&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)&&!this.allowUserDrillDown&&this.allowUserSorting}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d){super(),this.ident=StiInteractionIdent.Progress,this.availableOnClick=StiAvailableInteractionOnClick.OpenHyperlink|StiAvailableInteractionOnClick.ShowDashboard,this.availableOnDataManipulation=StiAvailableInteractionOnDataManipulation.AllowDrillDown|StiAvailableInteractionOnDataManipulation.AllowSorting,this.allowUserDrillDown=!1,this.allowUserSorting=!0,this.onClick=StiInteractionOnClick.None,this.showFullScreenButton=!0,this.showSaveButton=!0,this.showViewDataButton=!0,this.fileName=null,this.headerText=null,this.footerText=null,null!=t&&(this.onHover=t),null!=e&&(this.onClick=e),null!=i&&(this.hyperlinkDestination=i),null!=r&&(this.toolTip=r),null!=l&&(this.hyperlink=l),null!=n&&(this.drillDownPageKey=n),null!=o&&(this.drillDownParameters=o),null!=s&&(this.allowUserDrillDown=s),null!=u&&(this.fileName=u),null!=S&&(this.headerText=S),null!=m&&(this.footerText=m),null!=h&&(this.showFullScreenButton=h),null!=c&&(this.showSaveButton=c),null!=a&&(this.allowUserSorting=a),null!=d&&(this.showViewDataButton=d)}};let StiProgressDashboardInteraction=__.g.StiProgressDashboardInteraction,ImplementsIStiProgressElement=Stimulsoft.Report.Dashboard.ImplementsIStiProgressElement,StiProgressElementMode=Stimulsoft.Report.Dashboard.StiProgressElementMode,IStiProgressElement=Stimulsoft.Report.Dashboard.IStiProgressElement,StiProgressValueType=Stimulsoft.Report.Dashboard.StiProgressValueType,IStiProgressElementCondition=(__.M.StiProgressElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiTextFormat,IStiSimpleShadow,IStiCornerRadius,IStiProgressElement,IStiTitleElement,IStiFont,IStiForeColor,IStiElementLayout,IStiElementInteraction,IStiGlobalizationProvider,IStiSeriesColors,IStiAllowSortByVariation,IStiShowBlanks,...ImplementsIStiTextFormat,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiProgressElement,...ImplementsIStiTitleElement,...ImplementsIStiFont,...ImplementsIStiForeColor,...ImplementsIStiElementLayout,...ImplementsIStiSeriesColors,...ImplementsIStiAllowSortByVariation,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(t){let e,i,r=super.clone(t);return r.value=null!=this.value?this.value.clone():null,r.target=null!=this.target?this.target.clone():null,r.series=null!=this.series?this.series.clone():null,r.userSorts=this.userSorts.select(t=>t.clone()).toList(),r.transformActions=this.transformActions.select(t=>t.clone()),r.transformFilters=this.transformFilters.select(t=>t.clone()),r.transformSorts=this.transformSorts.select(t=>t.clone()),r.dataFilters=this.dataFilters.select(t=>t.clone()),r.topN=this.topN.clone(),r.textFormat=this.textFormat.clone(),r.title=null!=this.title?this.title.clone():null,r.layout=null!=this.layout?this.layout.clone():null,r.seriesColors=null!=this.seriesColors?this.seriesColors.slice():null,r.progressConditions=this.progressConditions.select(t=>t.clone()).toList(),r.dashboardInteraction=this.dashboardInteraction.clone(),r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r}meta(){return[...super.meta(),new StiObjectMeta("UserSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userSorts,t)).set(t=>this.userSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.userSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TopN").check(()=>null!=this.topN).set(t=>this.topN=StiDataTopN.createFromJsonObject(t.value)).setXml(t=>this.topN=StiDataTopN.createFromXml(t)),new StiObjectMeta("TextFormat").check(()=>null!=this.textFormat).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.textFormat=StiFormatService.loadFormatFromXml(t,this.report)),new StiObjectMeta("Value").check(()=>null!=this.value).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.M.StiValueProgressMeter);null!=e&&(this.value=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.M.StiValueProgressMeter);null!=e&&(this.value=e)}),new StiObjectMeta("Target").check(()=>null!=this.target).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(StiTargetProgressMeter);null!=e&&(this.target=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(StiTargetProgressMeter);null!=e&&(this.target=e)}),new StiObjectMeta("Series").check(()=>null!=this.series).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.M.StiSeriesProgressMeter);null!=e&&(this.series=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.M.StiSeriesProgressMeter);null!=e&&(this.series=e)}),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t)),new StiObjectMeta("Layout").check(()=>null!=this.layout).set(t=>this.layout=StiElementLayout.createFromJsonObject(t.value)).setXml(t=>this.layout=StiElementLayout.createFromXml(t)),new StiColorMeta("ForeColor","",Color.transparent),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiEnumMeta("DataMode","",StiDataMode,StiDataMode.UsingDataFields),new StiStringNullOrEmptyMeta("ManuallyEnteredData"),new StiObjectMeta("SeriesColors").get(t=>StiJsonReportObjectHelper.Serialize.colorArray(this.seriesColors)).set(t=>this.seriesColors=StiJsonReportObjectHelper.Deserialize.colorArray(t)).setXml(t=>this.seriesColors=StiReportObjectStringConverter.convertStringToColorArray(t.textContent)),new StiEnumMeta("Mode","",StiProgressElementMode,StiProgressElementMode.Circle),new StiEnumMeta("ValueType","",StiProgressValueType,StiProgressValueType.Percentage),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("Group"),new StiBoolMeta("ColorEach","",!0),new StiObjectMeta("ProgressConditions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.progressConditions,t)).set(t=>this.progressConditions.addRange(t.value.properties().select(t=>__.M.StiProgressElementCondition.createFromJson(t.value)))).setXml(t=>this.progressConditions.addRange(t.childNodes.map(t=>__.M.StiProgressElementCondition.createFromXml(t)))),new StiBoolMeta("CrossFiltering","",!0),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiProgressDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiProgressDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiProgressDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiBoolMeta("ShowBlanks"),new StiEventMeta("ClickEvent")]}addValue2(t){this.value=null!=t?StiMeterHelper.Progress.getValue2(t):null}addValue(t){this.value=StiMeterHelper.Progress.getValue(t.as(__.e.StiMeter))}removeValue(){this.value=null}getValue(){return this.value}getValue2(t){return null!=t?StiMeterHelper.Progress.getValue(t.as(__.e.StiMeter)):null}createNewValue(){this.value=new __.M.StiValueProgressMeter,this.value.expression="Sum()"}addTarget2(t){this.target=null!=t?StiMeterHelper.Progress.getTarget2(t):null}addTarget(t){this.target=StiMeterHelper.Progress.getTarget(t.as(__.e.StiMeter))}removeTarget(){this.target=null}getTarget(){return this.target}getTarget2(t){return null!=t?StiMeterHelper.Progress.getTarget(t.as(__.e.StiMeter)):null}createNewTarget(){this.target=new StiTargetProgressMeter,this.target.expression="Sum()"}addSeries2(t){this.series=null!=t?StiMeterHelper.Progress.getSeries2(t):null}addSeries(t){this.series=StiMeterHelper.Progress.getSeries(t.as(__.e.StiMeter))}removeSeries(){this.series=null}getSeries(){return this.series}getSeries2(t){return null!=t?StiMeterHelper.Progress.getSeries(t.as(__.e.StiMeter)):null}createNewSeries(){this.series=new __.M.StiSeriesProgressMeter}getManuallyEnteredDataTable(){if(this.dataMode!=StiDataMode.ManuallyEnteringData)return null;return __.e.StiManuallyEnteredDataParser.getProgressDataTable(this.manuallyEnteredData,this)}convertFrom(t){let e=t.fetchAllMeters();if(null==e)return;let i=e.firstOrDefault(t=>t.is(IStiValueMeter)),r=(null!=(i=null==i?e.firstOrDefault(t=>t.is(IStiMeasureMeter)):i)&&(this.value=null==this.value?new __.M.StiValueProgressMeter:this.value,this.value.loadFromJsonObject(i.saveToJsonObject(StiJsonSaveMode.Report))),e.firstOrDefault(t=>t.is(IStiTargetMeter))),l=(null!=r&&(this.target=null==this.target?new StiTargetProgressMeter:this.target,this.target.loadFromJsonObject(r.saveToJsonObject(StiJsonSaveMode.Report))),e.firstOrDefault(t=>t.is(IStiSeriesMeter)));null!=(l=null==l?e.firstOrDefault(t=>t.is(IStiDimensionMeter)):l)&&(this.series=null==this.series?new __.M.StiSeriesProgressMeter:this.series,this.series.loadFromJsonObject(l.saveToJsonObject(StiJsonSaveMode.Report))),null==this.dashboardInteraction&&(this.dashboardInteraction=new StiProgressDashboardInteraction)}fetchAllMeters(){let t=new List;return this.dataMode==StiDataMode.UsingDataFields&&(null!=this.value&&t.add(this.value),null!=this.target&&t.add(this.target),null!=this.series)&&t.add(this.series),t}getMeters(){let t=new List;return this.dataMode==StiDataMode.UsingDataFields&&(null!=this.value&&t.add(this.value),null!=this.target&&t.add(this.target),null!=this.series)&&t.add(this.series),t}retrieveUsedDataNames(){return this.dataMode==StiDataMode.UsingDataFields?StiUsedDataHelper.getMany(this.value,this.target,this.series):null}get isDefined(){return null!=this.value||null!=this.target||null!=this.series||this.dataMode==StiDataMode.ManuallyEnteringData}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text}throw new Error(`Property with name `+t)}getAllStrings(){return["Title.Text"]}get toolboxPosition(){return StiComponentToolboxPosition.ProgressElement}get localizedName(){return StiLocalization.get("Components","StiProgress")}addProgressCondition(t,e,i,r,l,n,o,s){this.progressConditions.add(new __.M.StiProgressElementCondition(t,e,i,r,l,n,o,s))}fetchProgressConditions(){let t=new List;return null!=this.progressConditions&&t.addRange(this.progressConditions),t}clearProgressConditions(){this.progressConditions.clear()}getNestedPages(){if(null==this.dashboardInteraction||this.dashboardInteraction.onClick!=StiInteractionOnClick.ShowDashboard)return null;let e=this.dashboardInteraction.drillDownPageKey;if(StiKeyHelper.isEmptyKey(e))return null;let t=this.report.pages.toList().firstOrDefault(t=>t.guid==e);if(null==t)return null;return new List([t])}constructor(t=Rectangle.empty){super(t),this.group="",this.dataMode=StiDataMode.UsingDataFields,this.textFormat=new StiGeneralFormatService,this.font=new Font("Arial",13),this.foreColor=Color.transparent,this.title=new __.e.StiTitle,this.layout=new StiElementLayout,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.showBlanks=!1,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.topN=new StiDataTopN,this.dataTransformation={},this.crossFiltering=!0,this.dataFilters=new List,this.userSorts=new List,this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.seriesColors=[],this.defaultClientRectangle=new Rectangle(0,0,160,160),this.helpUrl="user-manual/dashboards_progress.htm",this.colorEach=!0,this.mode=StiProgressElementMode.Circle,this.progressConditions=new List,this.valueType=StiProgressValueType.Percentage,this.isSampleForStyles=!1,this.title.text=this.localizedName,this.dashboardInteraction=new StiProgressDashboardInteraction}},Stimulsoft.Report.Dashboard.IStiProgressElementCondition),StiProgressFieldCondition=Stimulsoft.Report.Dashboard.StiProgressFieldCondition,StiProgressConditionPermissions=Stimulsoft.Report.Dashboard.StiProgressConditionPermissions;{class $2a{implements(){let t=[ICloneable,IStiJsonReportObject,IStiProgressElementCondition];return(this.implements=()=>t)()}meta(){return[new StiStringMeta("Ident").get(()=>this[Stimulsoft.System.StiObject.stimulsoft]().getType()[Stimulsoft.System.StiObject.stimulsoft]().getTypeName()),new StiEnumMeta("Condition","",StiFilterCondition,StiFilterCondition.EqualTo),new StiEnumMeta("Field","",StiProgressFieldCondition,StiProgressFieldCondition.Value),new StiStringNullOrEmptyMeta("Value"),new StiColorMeta("Color","",Color.transparent),new StiEnumMeta("Permissions","",StiProgressConditionPermissions,StiProgressConditionPermissions.All),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiColorMeta("TextColor","",Color.black),new StiColorMeta("TrackColor","",Color.transparent)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}static createFromJson(t){let e=new $2a;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new $2a;return e.loadFromXml(t),e}constructor(t,e,i,r,l,n,o,s){this.condition=StiFilterCondition.EqualTo,this.field=StiProgressFieldCondition.Value,this.permissions=StiProgressConditionPermissions.All,this.textColor=Color.black,this.color=Color.transparent,this.trackColor=Color.transparent,this.font=new Font("Arial",8),null!=t&&(this.field=t),null!=e&&(this.condition=e),null!=i&&(this.value=i),null!=r&&(this.permissions=r),null!=l&&(this.font=l),null!=n&&(this.textColor=n),null!=o&&(this.color=o),null!=s&&(this.trackColor=s)}}__.M.StiProgressElementCondition=$2a}__.g.StiRegionMapDashboardInteraction=class extends __.g.StiDashboardInteraction{implements(){let t=super.implements().concat([IStiJsonReportObject,IStiInteractionLayout]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiBoolMeta("ShowFullScreenButton","",!0),new StiBoolMeta("ShowSaveButton","",!0),new StiBoolMeta("ShowViewDataButton","",!0),new StiStringNullOrEmptyMeta("FileName"),new StiStringNullOrEmptyMeta("HeaderText"),new StiStringNullOrEmptyMeta("FooterText")]}get isDefaultLayout(){return this.showFullScreenButton&&this.showSaveButton&&this.showViewDataButton&&null==this.fileName&&null==this.headerText&&null==this.footerText}isDefault(){return this.onHover==StiInteractionOnHover.ShowToolTip&&this.onClick==StiInteractionOnClick.ApplyFilter&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)&&this.isDefaultLayout}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h){super(t,e,i,r,l,n,o),this.ident=StiInteractionIdent.RegionMap,this.availableOnClick=StiAvailableInteractionOnClick.ApplyFilter|StiAvailableInteractionOnClick.OpenHyperlink|StiAvailableInteractionOnClick.ShowDashboard,this.showFullScreenButton=!0,this.showSaveButton=!0,this.showViewDataButton=!0,this.fileName=null,this.headerText=null,this.footerText=null,null!=s&&(this.fileName=s),null!=a&&(this.headerText=a),null!=u&&(this.footerText=u),null!=S&&(this.showFullScreenButton=S),null!=m&&(this.showSaveButton=m),null!=h&&(this.showViewDataButton=h)}};let StiMapLabels=Stimulsoft.Report.Maps.StiMapLabels,StiRegionMapDashboardInteraction=__.g.StiRegionMapDashboardInteraction,ImplementsIStiRegionMapElement=Stimulsoft.Report.Dashboard.ImplementsIStiRegionMapElement,StiMap=Stimulsoft.Report.Maps.StiMap,StiDisplayNameType=Stimulsoft.Report.Maps.StiDisplayNameType,StiMapType=Stimulsoft.Report.Maps.StiMapType,StiMapSource=Stimulsoft.Report.Maps.StiMapSource,IStiRegionMapElement=Stimulsoft.Report.Dashboard.IStiRegionMapElement;{StiExportToolAttribute.add("StiRegionMapElement","Stimulsoft.Dashboard.Export.Tools.StiRegionMapElementExportTool");class StiRegionMapElement extends __.e.StiElement{implements(){let t=super.implements().concat([IStiRegionMapElement,IStiSimpleShadow,IStiCornerRadius,IStiSkipOwnFilter,IStiTitleElement,IStiElementLayout,IStiFont,IStiGlobalizationProvider,...ImplementsIStiRegionMapElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiSkipOwnFilter,...ImplementsIStiTitleElement,...ImplementsIStiElementLayout,...ImplementsIStiFont,IStiJsonReportObject,IStiElementInteraction,IStiNumberFormat]);return(this.implements=()=>t)()}clone(t){let e,i,r,l,n=super.clone(t);return n.keyMeter=null!=this.keyMeter?this.keyMeter.clone():null,n.nameMeter=null!=this.nameMeter?this.nameMeter.clone():null,n.valueMeter=null!=this.valueMeter?this.valueMeter.clone():null,n.groupMeter=null!=this.groupMeter?this.groupMeter.clone():null,n.colorMeter=null!=this.colorMeter?this.colorMeter.clone():null,n.userFilters=this.userFilters.select(t=>t.clone()).toList(),n.transformActions=this.transformActions.select(t=>t.clone()).toList(),n.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),n.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),n.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),n.valueFormat=null==(e=this.valueFormat)?void 0:e.clone(),n.labels=null==(i=this.labels)?void 0:i.clone(),n.title=null!=this.title?this.title.clone():null,n.layout=null!=this.layout?this.layout.clone():null,n.dashboardInteraction=this.dashboardInteraction.clone(),n.shadow=null==(r=this.shadow)?void 0:r.clone(),n.cornerRadius=null==(l=this.cornerRadius)?void 0:l.clone(),n}meta(){return[...super.meta(),new StiObjectMeta("UserFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userFilters,t)).set(t=>this.userFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.userFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiRegionMapDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiRegionMapDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiRegionMapDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiObjectMeta("Labels").check(()=>null!=this.labels).set(t=>this.labels=StiMapLabels.createFromJsonObject(t.value)).setXml(t=>this.labels=StiMapLabels.createFromXml(t)),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t)),new StiObjectMeta("Layout").check(()=>null!=this.layout).set(t=>this.layout=StiElementLayout.createFromJsonObject(t.value)).setXml(t=>this.layout=StiElementLayout.createFromXml(t)),new StiObjectMeta("KeyMeter").check(()=>null!=this.keyMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(StiKeyMapMeter);null!=e&&(this.keyMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(StiKeyMapMeter);null!=e&&(this.keyMeter=e)}),new StiObjectMeta("NameMeter").check(()=>null!=this.nameMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.L.StiNameMapMeter);null!=e&&(this.nameMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.L.StiNameMapMeter);null!=e&&(this.nameMeter=e)}),new StiObjectMeta("ValueMeter").check(()=>null!=this.valueMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.L.StiValueMapMeter);null!=e&&(this.valueMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.L.StiValueMapMeter);null!=e&&(this.valueMeter=e)}),new StiObjectMeta("GroupMeter").check(()=>null!=this.groupMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.L.StiGroupMapMeter);null!=e&&(this.groupMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.L.StiGroupMapMeter);null!=e&&(this.groupMeter=e)}),new StiObjectMeta("ColorMeter").check(()=>null!=this.colorMeter).set(t=>{let e=StiMeterLoader.loadFromJson(t.value).as(__.L.StiColorMapMeter);null!=e&&(this.colorMeter=e)}).setXml(t=>{let e=StiMeterLoader.loadFromXml(t).as(__.L.StiColorMapMeter);null!=e&&(this.colorMeter=e)}),new StiEnumMeta("DataFrom","",StiMapSource,StiMapSource.Manual),new StiEnumMeta("MapType","",StiMapType,StiMapType.Individual),new StiStringNullOrEmptyMeta("MapData"),new StiBoolMeta("ShowValue","",!0),new StiBoolMeta("ShortValue","",!0),new StiBoolMeta("ShowZeros","",!0),new StiBoolMeta("ColorEach"),new StiBoolMeta("ShowBubble"),new StiBoolMeta("Show3D"),new StiEnumMeta("ShowName","",StiDisplayNameType,StiDisplayNameType.Full),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("Language"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta(["MapIdent","MapID"]),new StiBoolMeta("CrossFiltering","",!0),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiStringNullOrEmptyMeta("ManuallyEnteredData"),new StiObjectMeta("ValueFormat").check(()=>null!=this.valueFormat).set(t=>this.valueFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.valueFormat=StiFormatService.loadFormatFromXml(t))]}get allowSkipOwnFilter(){return!0}fetchAllMeters(){let t=new List;return null!=this.keyMeter&&t.add(this.keyMeter),null!=this.nameMeter&&t.add(this.nameMeter),null!=this.valueMeter&&t.add(this.valueMeter),null!=this.groupMeter&&t.add(this.groupMeter),null!=this.colorMeter&&t.add(this.colorMeter),t}getMeters(){let t=new List;return this.isDefined&&this.dataFrom==StiMapSource.DataColumns&&(null!=this.keyMeter&&t.add(this.keyMeter),null!=this.nameMeter&&t.add(this.nameMeter),null!=this.valueMeter&&(StiExpressionHelper.isAggregationFunctionPresent(this.valueMeter.expression)?t.add(this.valueMeter):t.add(new __.L.StiValueMapMeter(this.valueMeter.key,`First(${this.valueMeter.expression})`))),null!=this.groupMeter&&t.add(this.groupMeter),null!=this.colorMeter)&&t.add(this.colorMeter),t}retrieveUsedDataNames(){let t=new List;return this.dataFrom==StiMapSource.DataColumns&&(t.addRange(StiUsedDataHelper.getMany(this.keyMeter)),t.addRange(StiUsedDataHelper.getMany(this.nameMeter)),t.addRange(StiUsedDataHelper.getMany(this.valueMeter)),t.addRange(StiUsedDataHelper.getMany(this.groupMeter)),t.addRange(StiUsedDataHelper.getMany(this.colorMeter))),t.distinct()}get isDefined(){return this.dataFrom!=StiMapSource.DataColumns||null!=this.keyMeter||null!=this.nameMeter||null!=this.valueMeter||null!=this.groupMeter||null!=this.colorMeter}get isQuerable(){return this.dataFrom==StiMapSource.DataColumns}get font(){return this.labels.font}set font(t){this.labels.font=t}static getValueFormatDefault(){let t=new StiNumberFormatService;return t.decimalDigits=1,t.state=__.a.StiTextFormatState.DecimalDigits|__.a.StiTextFormatState.Abbreviation,t}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}createNextMeter(t){null==this.keyMeter?this.keyMeter=StiMeterHelper.RegionMap.getKey2(t):null==this.nameMeter?this.nameMeter=StiMeterHelper.RegionMap.getName2(t):null==this.valueMeter?this.valueMeter=StiMeterHelper.RegionMap.getValue2(t):null==this.groupMeter?this.groupMeter=StiMeterHelper.RegionMap.getGroup2(t):null==this.colorMeter?this.colorMeter=StiMeterHelper.RegionMap.getColor2(t):this.keyMeter=StiMeterHelper.RegionMap.getKey2(t)}addKeyMeter2(t){this.keyMeter=null!=t?StiMeterHelper.RegionMap.getKey2(t):null}addKeyMeter(t){this.keyMeter=null!=t?StiMeterHelper.RegionMap.getKey(t.as(__.e.StiMeter)):null}getKeyMeter(){return this.keyMeter}removeKeyMeter(){this.keyMeter=null}createNewKeyMeter(){this.keyMeter=new StiKeyMapMeter}addNameMeter2(t){this.nameMeter=null!=t?StiMeterHelper.RegionMap.getName2(t):null}addNameMeter(t){this.nameMeter=null!=t?StiMeterHelper.RegionMap.getName(t.as(__.e.StiMeter)):null}getNameMeter(){return this.nameMeter}removeNameMeter(){this.nameMeter=null}createNewNameMeter(){this.nameMeter=new __.L.StiNameMapMeter}addValueMeter2(t){this.valueMeter=null!=t?StiMeterHelper.RegionMap.getValue2(t):null}addValueMeter(t){this.valueMeter=null!=t?StiMeterHelper.RegionMap.getValue(t.as(__.e.StiMeter),this.dashboard):null}getValueMeter(){return this.valueMeter}removeValueMeter(){this.valueMeter=null}createNewValueMeter(){this.valueMeter=new __.L.StiValueMapMeter}addGroupMeter2(t){this.groupMeter=null!=t?StiMeterHelper.RegionMap.getGroup2(t):null}addGroupMeter(t){this.groupMeter=null!=t?StiMeterHelper.RegionMap.getGroup(t.as(__.e.StiMeter)):null}getGroupMeter(){return this.groupMeter}removeGroupMeter(){this.groupMeter=null}createNewGroupMeter(){this.groupMeter=new __.L.StiGroupMapMeter}addColorMeter2(t){this.colorMeter=null!=t?StiMeterHelper.RegionMap.getColor2(t):null}addColorMeter(t){this.colorMeter=null!=t?StiMeterHelper.RegionMap.getColor(t.as(__.e.StiMeter)):null}getColorMeter(){return this.colorMeter}removeColorMeter(){this.colorMeter=null}createNewColorMeter(){this.colorMeter=new __.L.StiColorMapMeter}convertFrom(t){let e=t.as(__.O.StiOnlineMapElement);null==e||null==e.location||e.location.isDefault()||(this.keyMeter=new StiKeyMapMeter,this.keyMeter.label=e.location.label,this.keyMeter.expression=e.location.expression),null==this.dashboardInteraction&&(this.dashboardInteraction=new StiRegionMapDashboardInteraction)}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text}throw new Error(`Property with name `+t)}getAllStrings(){return["Title.Text"]}get toolboxPosition(){return StiComponentToolboxPosition.RegionMapElement}get localizedName(){return StiLocalization.get("Components","StiRegionMap")}get dashboardInteraction(){return this._dashboardInteraction}set dashboardInteraction(t){this._dashboardInteraction=t}getManuallyEnteredDataTable(){if(this.dataFrom==StiMapSource.Manual){let t=this.getMapData().orderBy(t=>t.key).toList(),i=new StiDataTable;i.meters.add(new StiKeyMapMeter("Key","Key")),i.meters.add(new __.L.StiNameMapMeter("Name","Name")),i.meters.add(new __.L.StiValueMapMeter("Value","Value"));for(let e of t){let t=[];t[0]=e.key,t[1]=e.name,t[2]=e.value,i.rows.add(t)}return i}return null}get language(){return this._language}set language(t){this._language!=t&&(this._language="EN"!=t?t:null)}getNestedPages(){if(null==this.dashboardInteraction||this.dashboardInteraction.onClick!=StiInteractionOnClick.ShowDashboard)return null;let e=this.dashboardInteraction.drillDownPageKey;if(StiKeyHelper.isEmptyKey(e))return null;let t=this.report.pages.toList().firstOrDefault(t=>t.guid==e);if(null==t)return null;return new List([t])}getMapData(){let t=new StiMap;return t.mapData=this.mapData,t.mapIdent=this.mapIdent,t.language=this.language,t.page=this.page,t.getMapData()}constructor(t=Rectangle.empty){super(t),this.group="",this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.title=new __.e.StiTitle,this.valueFormat=StiRegionMapElement.getValueFormatDefault(),this.layout=new StiElementLayout,this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.userFilters=new List,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.dataTransformation={},this.dataFilters=new List,this.helpUrl="user-manual/dashboards_maps_region_map.htm",this.dataMode=StiDataMode.UsingDataFields,this.labels=new StiMapLabels,this.mapIdent="USA",this.dataFrom=StiMapSource.Manual,this.mapType=StiMapType.Individual,this.showValue=!0,this.showZeros=!0,this.shortValue=!0,this.colorEach=!1,this.showBubble=!1,this.show3D=!1,this.showName=StiDisplayNameType.Full,this.crossFiltering=!0,this.title.text=this.localizedName,this.dashboardInteraction=new StiRegionMapDashboardInteraction}}__.L.StiRegionMapElement=StiRegionMapElement}__.g.StiShapeDashboardInteraction=class extends __.g.StiDashboardInteraction{isDefault(){return this.onHover==StiInteractionOnHover.ShowToolTip&&this.onClick==StiInteractionOnClick.OpenHyperlink&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)}constructor(t,e,i,r,l,n,o){super(t,e,i,r,l,n,o),this.ident=StiInteractionIdent.Shape,this.availableOnClick=StiAvailableInteractionOnClick.OpenHyperlink|StiAvailableInteractionOnClick.ShowDashboard,this.onClick=StiInteractionOnClick.OpenHyperlink}};let StiShapeTypeService=Stimulsoft.Report.Components.StiShapeTypeService,ImplementsIStiShapeElement=Stimulsoft.Report.Dashboard.ImplementsIStiShapeElement,StiRectangleShapeType=Stimulsoft.Report.Components.StiRectangleShapeType,IStiShapeElement=Stimulsoft.Report.Dashboard.IStiShapeElement,StiShapeDashboardInteraction=__.g.StiShapeDashboardInteraction;StiExportToolAttribute.add("StiShapeElement","Stimulsoft.Dashboard.Export.Tools.StiShapeElementExportTool"),__.Z.StiShapeElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiShapeElement,IStiTitleElement,IStiElementInteraction,IStiGlobalizationProvider,...ImplementsIStiShapeElement,...ImplementsIStiTitleElement,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(t){let e,i,r=super.clone(t);return r.title=null!=this.title?this.title.clone():null,r.shapeType=null==(e=this.shapeType)?void 0:e.clone(),r.dashboardInteraction=null==(i=this.dashboardInteraction)?void 0:i.clone(),r}meta(){return[...super.meta(),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>{this.title=new StiTitle,this.title.loadFromJsonObject(t)}).setXml(t=>{this.title=new StiTitle,this.title.loadFromXml(t)}),new StiBrushMeta("Fill"),new StiColorMeta("Stroke","",Color.black),new StiNumberMeta("Size","",1),new StiObjectMeta("ShapeType").set(t=>this.shapeType=StiShapeTypeService.createFromJsonObject(t.value)).setXml(t=>{this.shapeType=StiShapeTypeService.convertFromXml(t),this.shapeType.loadFromXml(t)}),new StiObjectMeta("Padding").get(t=>this.padding.saveToJsonObject(0,0,0,0)),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiShapeDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiShapeDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiShapeDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiEventMeta("ClickEvent")]}get toolboxPosition(){return StiComponentToolboxPosition.ShapeElement}get localizedName(){return StiLocalization.get("Components","StiShape")}get isDefined(){return!0}get isQuerable(){return!1}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text}throw new Error(`Property with name `+t)}getAllStrings(){return["Title.Text"]}get size(){return this._size}set size(t){t!=this._size&&(this._size=t<1?1:t)}getNestedPages(){var t;if(null==this.dashboardInteraction||this.dashboardInteraction.onClick!=StiInteractionOnClick.ShowDashboard)return null;let e=null==(t=this.dashboardInteraction)?void 0:t.drillDownPageKey;if(StiKeyHelper.isEmptyKey(e))return null;super.getNestedPages;let i=this.report.pages.toList().firstOrDefault(t=>t.guid==e);if(null==i)return null;return new List([i])}constructor(t=Rectangle.empty){super(t),this.helpUrl="user-manual/dashboards_shape.htm",this.title=new StiTitle,this.shapeType=new StiRectangleShapeType,this._size=1,this.fill=new StiSolidBrush,this.stroke=Color.black,this.title.text=this.localizedName,this.title.visible=!1,this.padding=StiPadding.create(0),this.dashboardInteraction=new StiShapeDashboardInteraction}};{let t;(t=>{t[t["LeftToRight"]=0]="LeftToRight",t[t["RighToLeft"]=1]="RighToLeft"})(t=__.K.StiDataBarsDirection||(__.K.StiDataBarsDirection={}));let e;(t=>{t[t["Solid"]=0]="Solid",t[t["Gradient"]=1]="Gradient"})(e=__.K.StiDataBarsBrushType||(__.K.StiDataBarsBrushType={}));let i;(t=>{t[t["Line"]=0]="Line",t[t["Area"]=1]="Area",t[t["Column"]=2]="Column",t[t["WinLoss"]=3]="WinLoss"})(i=__.K.StiSparklinesType||(__.K.StiSparklinesType={}))}{class StiTableElementSelection{static getSelected(t){let e=this.hash.get(t.key);if(null==e)return null;return e.keys.cast().toList()}static getSelectedObjects(t){let e=this.getSelected(t);return null!=e?e.cast():null}static isSelected(t,e){let i=this.hash.get(t.key);return null==i&&(i=new Hashtable,this.hash.set(t.key,i)),null!=i.get(e)}static select(t,e){let i=this.hash.get(t.key);null==i&&(i=new Hashtable,this.hash.set(t.key,i)),i.set(e,e)}static resetSelection(t){this.hash.containsKey(t.key)&&this.hash.remove(t.key)}}StiTableElementSelection.hash=new Hashtable,__.h.StiTableElementSelection=StiTableElementSelection}let IStiAllowUserColumnSelectionDashboardInteraction=Stimulsoft.Report.Dashboard.IStiAllowUserColumnSelectionDashboardInteraction,IStiTableDashboardInteraction=Stimulsoft.Report.Dashboard.IStiTableDashboardInteraction,IStiAllowUserFilteringDashboardInteraction=Stimulsoft.Report.Dashboard.IStiAllowUserFilteringDashboardInteraction,IStiTableElementCondition=(__.g.StiTableDashboardInteraction=class extends __.g.StiDashboardInteraction{implements(){let t=super.implements().concat([IStiTableDashboardInteraction,IStiAllowUserSortingDashboardInteraction,IStiAllowUserColumnSelectionDashboardInteraction,IStiAllowUserFilteringDashboardInteraction,IStiJsonReportObject,IStiInteractionLayout]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiBoolMeta("AllowUserColumnSelection","",!0),new StiBoolMeta("AllowUserSorting","",!0),new StiBoolMeta("AllowUserFiltering","",!0),new StiBoolMeta("DrillDownFiltered","",!0),new StiBoolMeta("FullRowSelect"),new StiBoolMeta("ShowFullScreenButton","",!0),new StiBoolMeta("ShowSaveButton","",!0),new StiBoolMeta("ShowViewDataButton","",!0),new StiStringNullOrEmptyMeta("FileName"),new StiStringNullOrEmptyMeta("HeaderText"),new StiStringNullOrEmptyMeta("FooterText")]}get isDefaultLayout(){return this.showFullScreenButton&&this.showSaveButton&&this.showViewDataButton&&null==this.fileName&&null==this.headerText&&null==this.footerText}isDefault(){return this.isDefaultLayout&&this.allowUserColumnSelection&&this.allowUserFiltering&&this.allowUserSorting&&this.drillDownFiltered&&!this.fullRowSelect&&super.isDefault()}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c,d,g,p,b){super(t,e,i,r,l,n,o),this.allowUserColumnSelection=!0,this.allowUserSorting=!0,this.allowUserFiltering=!0,this.drillDownFiltered=!0,this.fullRowSelect=!1,this.ident=StiInteractionIdent.Table,this.availableOnClick=StiAvailableInteractionOnClick.None,this.availableOnHover=StiAvailableInteractionOnHover.None,this.availableOnDataManipulation=StiAvailableInteractionOnDataManipulation.AllowFiltering|StiAvailableInteractionOnDataManipulation.AllowSorting,this.showFullScreenButton=!0,this.showSaveButton=!0,this.showViewDataButton=!0,this.fileName=null,this.headerText=null,this.footerText=null,null!=u&&(this.allowUserColumnSelection=u),null!=s&&(this.allowUserFiltering=s),null!=a&&(this.allowUserSorting=a),null!=S&&(this.drillDownFiltered=S),null!=m&&(this.fullRowSelect=m),null!=h&&(this.fileName=h),null!=c&&(this.headerText=c),null!=d&&(this.footerText=d),null!=g&&(this.showFullScreenButton=g),null!=p&&(this.showSaveButton=p),null!=b&&(this.showViewDataButton=b)}},Stimulsoft.Report.Dashboard.IStiTableElementCondition),StiTableConditionPermissions=Stimulsoft.Report.Dashboard.StiTableConditionPermissions;{class StiTableElementCondition{implements(){let t=[ICloneable,IStiTableElementCondition,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiStringMeta("Ident").get(()=>this[Stimulsoft.System.StiObject.stimulsoft]().getType()[Stimulsoft.System.StiObject.stimulsoft]().getTypeName()),new StiObjectMeta("KeyValueMeters").get(()=>StiJsonReportObjectHelper.Serialize.stringArray(this.keyValueMeters)).set(t=>this.keyValueMeters=StiJsonReportObjectHelper.Deserialize.stringArray(t.value)).setXml(t=>this.keyValueMeters=this.parseStringArray(t)),new StiObjectMeta("KeyDataFieldMeters").get(()=>StiJsonReportObjectHelper.Serialize.stringArray(this.keyDataFieldMeters)).set(t=>this.keyValueMeters=StiJsonReportObjectHelper.Deserialize.stringArray(t.value)).setXml(t=>this.keyValueMeters=this.parseStringArray(t)),new StiObjectMeta("KeyDestinationMeters").get(()=>StiJsonReportObjectHelper.Serialize.stringArray(this.keyDestinationMeters)).set(t=>this.keyDestinationMeters=StiJsonReportObjectHelper.Deserialize.stringArray(t.value)).setXml(t=>this.keyDestinationMeters=this.parseStringArray(t)),new StiEnumMeta("DataType","",__.a.StiFilterDataType,__.a.StiFilterDataType.Numeric),new StiEnumMeta("Condition","",StiFilterCondition,StiFilterCondition.EqualTo),new StiStringNullOrEmptyMeta("Value"),new StiBoolMeta("IsExpression"),new StiEnumMeta("Permissions","",StiTableConditionPermissions,StiTableConditionPermissions.All),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiColorMeta("ForeColor","",Color.black),new StiColorMeta("BackColor","",Color.transparent),new StiEnumMeta("IconAlignment","",StiIconAlignment),new StiColorMeta("IconColor","",Color.maroon),new StiEnumMeta("Icon","",StiFontIcons),new StiStringMeta("CustomIcon").check(()=>null!=this.customIcon).get(()=>Convert.toBase64String(this.customIcon)).set(t=>this.customIcon=Convert.fromBase64String(t.value.toString())).setXml(t=>this.customIcon=Convert.fromBase64String(t.textContent))]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}parseStringArray(i){let r=[];for(let e=0;e<i.childNodes.length;e++){let t=i.childNodes[e];"value"==t.nodeName&&(r[e]=t.textContent)}return r}clone(){let t=this.saveToJsonObject(null),e=new StiTableElementCondition;return e.loadFromJsonObject(t),e}get keyValueMeters(){return this.keyDataFieldMeters}set keyValueMeters(t){this.keyDataFieldMeters=t,this.keyDestinationMeters=t}static createFromJson(t){let e=new StiTableElementCondition;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new StiTableElementCondition;return e.loadFromXml(t),e}constructor(t,e,i,r,l,n,o,s,a,u,S,m,h,c){this.keyDataFieldMeters=[],this.keyDestinationMeters=[],this.dataType=Stimulsoft.Report.Components.StiFilterDataType.Numeric,this.condition=Stimulsoft.Report.Components.StiFilterCondition.EqualTo,this.permissions=StiTableConditionPermissions.All,this.font=new Font("Arial",8),this.foreColor=Color.black,this.backColor=Color.transparent,this.isExpression=!1,this.icon=StiFontIcons.Adjust,this.iconAlignment=StiIconAlignment.None,this.iconColor=Color.maroon,null!=t&&(this.keyDataFieldMeters=t),null!=e&&(this.keyDestinationMeters=e),null!=i&&(this.dataType=i),null!=r&&(this.condition=r),null!=l&&(this.value=l),null!=n&&(this.permissions=n),null!=o&&(this.font=o),null!=s&&(this.foreColor=s),null!=a&&(this.backColor=a),null!=u&&(this.isExpression=u),null!=S&&(this.icon=S),null!=m&&(this.iconAlignment=m),null!=h&&(this.customIcon=h),null!=c&&(this.iconColor=c)}}__.K.StiTableElementCondition=StiTableElementCondition}let StiTableCells=__.K.StiTableCells,StiTableDashboardInteraction=__.g.StiTableDashboardInteraction,StiTableSizeMode=Stimulsoft.Report.Dashboard.StiTableSizeMode,ImplementsIStiTableElement=Stimulsoft.Report.Dashboard.ImplementsIStiTableElement,StiTableElementSelection=__.h.StiTableElementSelection,IStiTableElement=Stimulsoft.Report.Dashboard.IStiTableElement,StiTableElementCondition=__.K.StiTableElementCondition;{StiExportToolAttribute.add("StiTableElement","Stimulsoft.Dashboard.Export.Tools.StiTableElementExportTool");class StiTableElement extends __.e.StiElement{implements(){let t=super.implements().concat([IStiTableElement,IStiSimpleShadow,IStiCornerRadius,IStiTitleElement,IStiElementLayout,IStiGlobalizationProvider,...ImplementsIStiTableElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiTitleElement,...ImplementsIStiElementLayout,IStiJsonReportObject,IStiElementInteraction,IStiSkipOwnFilter]);return(this.implements=()=>t)()}clone(t){let e,i,r=super.clone(t),l=(r.columns=this.columns.select(t=>t.clone()).toList(),r.userFilters=this.userFilters.select(t=>t.clone()).toList(),r.userSorts=this.userSorts.select(t=>t.clone()).toList(),r.transformActions=this.transformActions.select(t=>t.clone()).toList(),r.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),r.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),r.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),r.cells=this.cells.clone(),r.title=null!=this.title?this.title.clone():null,r.layout=null!=this.layout?this.layout.clone():null,r.tableConditions=this.tableConditions.select(t=>t.clone()).toList(),new Dictionary);for(let i=0;i<this.columns.length;i++){let t=this.columns[i].key,e=r.columns[i].key;l.set(t,e)}for(let i of r.tableConditions){for(let e=0;e<i.keyDataFieldMeters.length;e++){let t={ref:""};l.tryGetValue(i.keyDataFieldMeters[e],t)&&(i.keyDataFieldMeters[e]=t.ref)}for(let e=0;e<i.keyDestinationMeters.length;e++){let t={ref:""};l.tryGetValue(i.keyDestinationMeters[e],t)&&(i.keyDestinationMeters[e]=t.ref)}}return r.dashboardInteraction=this.dashboardInteraction.clone(),r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r}meta(){return[...super.meta(),new StiObjectMeta("Columns").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.columns,t)).set(t=>this.columns.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value).as(StiTableColumn)).where(t=>null!=t))).setXml(t=>this.columns.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)).filter(t=>null!=t))),new StiObjectMeta("UserFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userFilters,t)).set(t=>this.userFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.userFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("UserSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userSorts,t)).set(t=>this.userSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.userSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("Cells").check(()=>null!=this.cells&&!this.cells.isDefault()).get(()=>this.cells.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.cells=StiTableCells.createFromJsonObject(t.value)).setXml(t=>this.cells=StiTableCells.createFromXml(t)),new StiColorMeta("HeaderForeColor","",Color.transparent),new StiColorMeta("FooterForeColor","",Color.transparent),new StiColorMeta("ForeColor","",Color.transparent),new StiStringNullOrEmptyMeta("HeaderFont").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.headerFont)).set(t=>this.headerFont=StiJsonReportObjectHelper.Deserialize.font(t.value,this.headerFont)).setXml(t=>this.headerFont=Stimulsoft.System.Convert.toFont(t.textContent)),new StiStringNullOrEmptyMeta("FooterFont").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.footerFont)).set(t=>this.footerFont=StiJsonReportObjectHelper.Deserialize.font(t.value,this.footerFont)).setXml(t=>this.footerFont=Stimulsoft.System.Convert.toFont(t.textContent)),new StiFontMeta("Font","","Arial",10),new StiBoolMeta("CrossFiltering","",!0),new StiObjectMeta("TableConditions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.tableConditions.select(t=>t[Stimulsoft.System.StiObject.stimulsoft]().as(StiTableElementCondition)),t)).set(t=>this.tableConditions.addRange(t.value.properties().select(t=>StiTableElementCondition.createFromJson(t.value)))).setXml(t=>this.tableConditions.addRange(t.childNodes.map(t=>StiTableElementCondition.createFromXml(t)))),new StiObjectMeta("Title").check(()=>null!=this.title),new StiObjectMeta("Layout").check(()=>null!=this.layout),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction.as(StiTableDashboardInteraction)).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiTableDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiTableDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiEnumMeta("SizeMode","",StiTableSizeMode,StiTableSizeMode.AutoSize),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiNumberMeta("RowsPerPage","",0),new StiNumberMeta("PageTurnTime","",0)]}createMeters(t){let e=t.as(StiTableElement);this.columns.clear();for(let t of e.columns)this.columns.add(t)}createMeters2(e){this.columns.clear();for(let t of e.columns.list)null!=t&&null!=t.type&&Type.isNumericType(t.type)?this.columns.add(StiMeterHelper.Table.getMeasure2(t)):this.columns.add(StiMeterHelper.Table.getDimension2(t))}createMeter3(t){let e=t.as(StiDataColumn),i=t.as(StiVariable),r=null!=e?e.type:null==i?void 0:i.type;if(null!=r&&Type.isNumericType(r)){let t=StiMeterHelper.Table.getMeasure2(e);t.showTotalSummary=!0,t.summaryType=StiSummaryColumnType.Sum,this.columns.add(t)}else this.columns.add(StiMeterHelper.Table.getDimension2(t))}removeMeter(t){t<this.columns.length&&this.columns.removeAt(t)}removeAllMeters(){this.columns.clear()}insertMeter(t,e){let i=e.as(StiTableColumn);if(null==i)return;0<=t&&t<this.columns.length?this.columns.insert(t,i):this.columns.add(i)}insertNewDimension(t){let e=new __.K.StiDimensionColumn;e.horAlignment=StiHorAlignment.Left,this.insertMeter(t,e)}insertNewMeasure(t){let e=new __.K.StiMeasureColumn;e.expression="Sum()",e.horAlignment=StiHorAlignment.Right,this.insertMeter(t,e)}getMeasure(t){return StiMeterHelper.Table.getMeasure2(t)}getDimension(t){return StiMeterHelper.Table.getDimension2(t)}getFonts(){return StiFont.get(...super.getFonts(),this.font,...this.cells.getFonts())}getCells(){return this.cells}convertFrom(t){let e=t.fetchAllMeters();if(this.columns.clear(),null==e)return;e.cast().forEach(t=>{let e=null;t.is2(IStiDimensionMeter)?e=new __.K.StiDimensionColumn:t.is2(IStiSparklinesColumn)?e=new __.K.StiSparklinesColumn:t.is2(IStiDataBarsColumn)?e=new __.K.StiDataBarsColumn:t.is2(IStiIndicatorColumn)?e=new __.K.StiIndicatorColumn:t.is2(IStiColorScaleColumn)?e=new __.K.StiColorScaleColumn:t.is2(IStiBubbleColumn)?e=new __.K.StiBubbleColumn:t.is2(IStiMeasureMeter)&&((e=new __.K.StiMeasureColumn).horAlignment=StiHorAlignment.Right),null!=e&&(e.loadFromJsonObject(t.saveToJsonObject(StiJsonSaveMode.Report)),this.columns.add(e))},this),null==this.dashboardInteraction&&(this.dashboardInteraction=new StiTableDashboardInteraction)}fetchAllMeters(){return this.columns.cast()}getMeters(){return this.columns.cast()}retrieveUsedDataNames(){return StiUsedDataHelper.getMany2(this.columns)}get isDefined(){return null!=this.columns&&0<this.columns.length}get allowSkipOwnFilter(){return!this.dashboardInteraction.drillDownFiltered}get foreColor(){return this.cells.data.foreColor}set foreColor(t){this.cells.data.foreColor=t}get font(){return this.cells.data.font}set font(t){this.cells.data.font=t}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}get cells(){return this._cells}set cells(t){null!=t&&(t.element=this),this._cells=t}shouldSerializeCells(){return null==this.cells||!this.cells.isDefault()}setString(i,r){switch(i){case"Title.Text":this.title.text=r;break}let l=0;for(let e of this.columns){let t=`Column${l++}.Label`;i==t&&(e.label=r)}}getString(i){switch(i){case"Title.Text":return this.title.text}let r=0;for(let e of this.columns){let t=`Column${r++}.Label`;if(i==t)return e.label}throw new Error(`Property with name `+i)}getAllStrings(){let e=["Title.Text"],i=0;return this.columns.forEach(t=>e.push(`Column${i++}.Label`)),e}addTableCondition(t,e,i,r,l,n,o,s,a,u,S,m,h,c){null==this.tableConditions&&(this.tableConditions=new List),this.tableConditions.add(new StiTableElementCondition(t,e,i,r,l,n,o,s,a,u,S,m,h,c))}get toolboxPosition(){return StiComponentToolboxPosition.TableElement}get localizedName(){return StiLocalization.get("Components","StiTable")}get headerForeColor(){return this.cells.columns.foreColor}set headerForeColor(t){this.cells.columns.foreColor=t}get headerFont(){return this.cells.columns.font}set headerFont(t){this.cells.columns.font=t}get footerForeColor(){return this.cells.totals.foreColor}set footerForeColor(t){this.cells.totals.foreColor=t}get footerFont(){return this.cells.totals.font}set footerFont(t){this.cells.totals.font=t}getColumnFont(){return StiDashboardStyleHelper.getElementFontFromStyle(this,this.cells.columns.font)}getDataFont(){return StiDashboardStyleHelper.getElementFontFromStyle(this,this.cells.data.font)}getTotalFont(){return StiDashboardStyleHelper.getElementFontFromStyle(this,this.cells.totals.font)}getNestedPages(){let t,e,i=new List,r="";if(null!=this.dashboardInteraction&&this.dashboardInteraction.onClick==StiInteractionOnClick.ShowDashboard&&(r=null==(t=this.dashboardInteraction)?void 0:t.drillDownPageKey,StiKeyHelper.isKey(r))){let t=this.report.pages.toList().firstOrDefault(t=>t.guid==r);null!=t&&i.add(t)}for(let t of this.columns)if(null!=(null==t?void 0:t.dashboardInteraction)&&t.dashboardInteraction.onClick==StiInteractionOnClick.ShowDashboard&&(r=null==(e=null==t?void 0:t.dashboardInteraction)?void 0:e.drillDownPageKey,StiKeyHelper.isKey(r))){let t=this.report.pages.toList().firstOrDefault(t=>t.guid==r);null!=t&&i.add(t)}return 0==i.length?null:i.distinct()}getFormatObjects(){return StiTableElementSelection.getSelectedObjects(this)}constructor(t=Rectangle.empty){super(t),this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.title=new __.e.StiTitle,this.layout=new StiElementLayout,this.group="",this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.userFilters=new List,this.userSorts=new List,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.dataTransformation={},this.dataFilters=new List,this.tableConditions=new List,this.crossFiltering=!0,this.helpUrl="user-manual/dashboards_table.htm",this.columns=new List,this.sizeMode=StiTableSizeMode.AutoSize,this.rowsPerPage=0,this.pageTurnTime=0,this.currentPageIndex=-1,this.cells=new StiTableCells,this.title.text=this.localizedName,this.dashboardInteraction=new StiTableDashboardInteraction}}__.K.StiTableElement=StiTableElement}let Exception=Stimulsoft.System.Exception,IStiTableSection=(__.K.StiTableElementConditionHelper=class{static async getConditionResult(r,e,l){let t=!1;if(null!=r){try{if(e.dataType==__.a.StiFilterDataType.Numeric){let t=StiNumber.tryParse(r);t.successfully&&(r=t.result)}else if(e.dataType==__.a.StiFilterDataType.DateTime){let t=DateTime.fromString(r.toString(),!1);r=null!=t?t:DateTime.fromOADate(r[Stimulsoft.System.StiObject.stimulsoft]().toNumber())}}catch(t){}let i=await this.getConditionValue(e,l),t=r;if(null!=t&&null!=i){r[Stimulsoft.System.StiObject.stimulsoft]().getType()!=i[Stimulsoft.System.StiObject.stimulsoft]().getType()&&(r=r.toString(),i=i[Stimulsoft.System.StiObject.stimulsoft]().toString(),t=r);try{switch(e.condition){case __.a.StiFilterCondition.EqualTo:return 0==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case __.a.StiFilterCondition.NotEqualTo:return 0!=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case __.a.StiFilterCondition.GreaterThan:return 1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case __.a.StiFilterCondition.GreaterThanOrEqualTo:return 0<=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case __.a.StiFilterCondition.LessThan:return-1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case __.a.StiFilterCondition.LessThanOrEqualTo:return t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i)<=0;case __.a.StiFilterCondition.Containing:{let t=r.toString(),e=i.toString();return-1!=t.indexOf(e)}case __.a.StiFilterCondition.NotContaining:{let t=r.toString(),e=i.toString();return-1==t.indexOf(e)}case __.a.StiFilterCondition.BeginningWith:{let t=r.toString(),e=i.toString();return t.startsWith(e)}case __.a.StiFilterCondition.EndingWith:{let t=r.toString(),e=i.toString();return t.endsWith(e)}}}catch(t){}}}return t}static async getConditionValue(i,r){try{let e=i.isExpression?await StiReportParser.parseAsync(`{${i.value}}`,r):i.value;switch(i.dataType){case __.a.StiFilterDataType.String:return e;case __.a.StiFilterDataType.Numeric:return null!=e?e[Stimulsoft.System.StiObject.stimulsoft]().toNumber():0;case __.a.StiFilterDataType.DateTime:{let t=DateTime.fromString(e,!1);if(null!=t)return t;break}case __.a.StiFilterDataType.Boolean:return"true"==e.toLowerCase()}}catch(t){let e=`Problem when parsing Table Element ${i} value
|
|
9
9
|
`;throw Exception.log(t,r,e),t}return null}static async processBackColor(t,e,r,l,n){for(let i of r.tableConditions.where(t=>t.keyDestinationMeters.includes(e)))for(let e=0;e<n.length;e++){let t=n[e];if(0<=i.keyDataFieldMeters.indexOf(t)&&0<(i.permissions&StiTableConditionPermissions.BackColor)){let t=l[e];if(await this.getConditionResult(t,i,r))return i.backColor}}return t}static async processForeColor(t,e,r,l,n){for(let i of r.tableConditions.where(t=>t.keyDestinationMeters.includes(e)))for(let e=0;e<n.length;e++){let t=n[e];if(i.keyDataFieldMeters.includes(t)&&0<(i.permissions&StiTableConditionPermissions.ForeColor)){let t=l[e];if(await this.getConditionResult(t,i,r))return i.foreColor}}return t}static async processForeAndBackColor(t,e,i,l,n,o){let s={foreColor:null,backColor:null};for(let r of l.tableConditions.where(t=>0<=t.keyDestinationMeters.indexOf(i)))for(let i=0;i<o.length;i++){let t=o[i],e=n[i];if((null==s.foreColor||null==s.backColor)&&0<=r.keyDataFieldMeters.indexOf(t)&&await this.getConditionResult(e,r,l)&&(0<(r.permissions&StiTableConditionPermissions.ForeColor)&&(s.foreColor=r.foreColor),0<(r.permissions&StiTableConditionPermissions.BackColor))&&(s.backColor=r.backColor),null!=s.backColor&&null!=s.foreColor)return s}return null==s.foreColor&&(s.foreColor=t),null==s.backColor&&(s.backColor=e),s}static async processFontStyle(t,e,i,r,l){let n=0<i.tableConditions.length?await this.processFontBold(t.bold,e,i,r,l):t.bold,o=0<i.tableConditions.length?await this.processFontItalic(t.italic,e,i,r,l):t.italic,s=0<i.tableConditions.length?await this.processFontUnderline(t.underline,e,i,r,l):t.underline,a=0<i.tableConditions.length?await this.processFontStrikeout(t.strikeout,e,i,r,l):t.strikeout,u=FontStyle.Regular;return n&&(u^=FontStyle.Bold),o&&(u^=FontStyle.Italic),s&&(u^=FontStyle.Underline),a&&(u^=FontStyle.Strikeout),u}static async processFontStrikeout(t,e,l,n,o){for(let r of l.tableConditions.where(t=>t.keyDestinationMeters.includes(e)))for(let i=0;i<o.length;i++){let t=o[i],e=n[i];if(r.keyDataFieldMeters.includes(t)&&0<(r.permissions&StiTableConditionPermissions.FontStyleStrikeout)&&await this.getConditionResult(e,r,l))return r.font.strikeout}return t}static async processFontUnderline(t,e,l,n,o){for(let r of l.tableConditions.where(t=>t.keyDestinationMeters.includes(e)))for(let i=0;i<o.length;i++){let t=o[i],e=n[i];if(r.keyDataFieldMeters.includes(t)&&0<(r.permissions&StiTableConditionPermissions.FontStyleUnderline)&&await this.getConditionResult(e,r,l))return r.font.underline}return t}static async processFontItalic(t,e,l,n,o){for(let r of l.tableConditions.where(t=>t.keyDestinationMeters.includes(e)))for(let i=0;i<o.length;i++){let t=o[i],e=n[i];if(r.keyDataFieldMeters.includes(t)&&0<(r.permissions&StiTableConditionPermissions.FontStyleItalic)&&await this.getConditionResult(e,r,l))return r.font.italic}return t}static async processFontBold(t,e,l,n,o){for(let r of l.tableConditions.where(t=>t.keyDestinationMeters.includes(e)))for(let i=0;i<o.length;i++){let t=o[i],e=n[i];if(r.keyDataFieldMeters.includes(t)&&0<(r.permissions&StiTableConditionPermissions.FontStyleBold)&&await this.getConditionResult(e,r,l))return r.font.bold}return t}static async getIconCondition(e,l,n,o){for(let r of l.tableConditions.filter(t=>t.keyDestinationMeters&&0<=t.keyDestinationMeters.indexOf(e)))for(let i=0;i<o.length;i++){let t=o[i],e=n[i];if(0<=r.keyDataFieldMeters.indexOf(t)&&await this.getConditionResult(e,r,l))return r}return null}},Stimulsoft.Report.Dashboard.IStiTableSection),StiPivotTableElement=__.N.StiPivotTableElement,StiPivotToContainerCache=Stimulsoft.Report.Dashboard.StiPivotToContainerCache;{class z7a{implements(){let t=[IStiTableSection,IStiJsonReportObject];return(this.implements=()=>t)()}meta(){return[new StiColorMeta("BackColor","",Color.transparent),new StiColorMeta("ForeColor","",Color.transparent),new StiFontMeta("Font","","Arial",10)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static createFromJsonObject(t){let e=new z7a;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new z7a;return e.loadFromXml(t),e}clone(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return t.font=this.font.clone(),t}isDefault(){return!this.shouldSerializeBackColor()&&!this.shouldSerializeForeColor()&&!this.shouldSerializeFont()}get backColor(){return this._backColor}set backColor(t){t.equals(this._backColor)||(this._backColor=t,this.clearElementCache())}shouldSerializeBackColor(){return!this.backColor.equals(Color.transparent)}get foreColor(){return this._foreColor}set foreColor(t){t.equals(this._foreColor)||(this._foreColor=t,this.clearElementCache())}shouldSerializeForeColor(){return!this.foreColor.equals(Color.transparent)}get font(){return this._font}set font(t){this._font!=t&&(this._font=t,this.clearElementCache())}shouldSerializeFont(){return!(null!=this.font&&"Arial"==this.font.name&&10==this.font.sizeInPoints&&this.font.style==FontStyle.Regular)}clearElementCache(){var t;null!=(t=this.element)&&t.is(StiPivotTableElement)&&this.element.isDesigning&&StiPivotToContainerCache.remove(this.element.as(StiPivotTableElement))}constructor(t,e,i){this._backColor=Color.transparent,this._foreColor=Color.transparent,this._font=new Font("Arial",10),null!=t&&(this.font=t),null!=e&&(this.foreColor=e),null!=i&&(this.backColor=i)}}__.K.StiTableSection=z7a}__.ad.StiDataBarsColumnConverter=class extends StiMeterConverter{},__.ad.StiDimensionColumnConverter=class extends StiMeterConverter{},__.ad.StiSparklinesColumnConverter=class extends StiMeterConverter{},__.ad.StiTableColumnConverter=class extends StiMeterConverter{},__.g.StiTextDashboardInteraction=class extends __.g.StiDashboardInteraction{isDefault(){return this.onHover==StiInteractionOnHover.ShowToolTip&&this.onClick==StiInteractionOnClick.OpenHyperlink&&this.hyperlinkDestination==StiInteractionOpenHyperlinkDestination.NewTab&&StiString.isNullOrEmpty(this.hyperlink)&&StiString.isNullOrEmpty(this.drillDownPageKey)&&null!=this.drillDownParameters&&0==this.drillDownParameters.length&&StiString.isNullOrEmpty(this.toolTip)}constructor(t,e,i,r,l,n,o){super(t,e,i,r,l,n,o),this.ident=StiInteractionIdent.Text,this.availableOnClick=StiAvailableInteractionOnClick.OpenHyperlink|StiAvailableInteractionOnClick.ShowDashboard,this.onClick=StiInteractionOnClick.OpenHyperlink}};let StiParserType=Stimulsoft.Report.StiParserType,StiTextDashboardInteraction=__.g.StiTextDashboardInteraction,StiDashboardDesignAssembly=Stimulsoft.Report.Dashboard.StiDashboardDesignAssembly,ImplementsIStiTextElement=Stimulsoft.Report.Dashboard.ImplementsIStiTextElement,IStiTextElement=Stimulsoft.Report.Dashboard.IStiTextElement,IStiTextFont=Stimulsoft.Report.Components.IStiTextFont,ImplementsIStiTreeViewElement=(StiExportToolAttribute.add("StiTextElement","Stimulsoft.Dashboard.Export.Tools.StiTextElementExportTool"),__.V.StiTextElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiTextFont,IStiSimpleShadow,IStiCornerRadius,IStiForeColor,IStiTextHorAlignment,IStiVertAlignment,IStiTextElement,IStiTitleElement,IStiGlobalizationProvider,...ImplementsIStiTextFormat,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiForeColor,...ImplementsIStiTextHorAlignment,...ImplementsIStiVertAlignment,...ImplementsIStiTextElement,...ImplementsIStiTitleElement,IStiJsonReportObject,IStiElementInteraction]);return(this.implements=()=>t)()}clone(t){let e,i,r,l=super.clone(t);return l.title=null!=this.title?this.title.clone():null,l.shadow=null==(e=this.shadow)?void 0:e.clone(),l.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),l.dashboardInteraction=null==(r=this.dashboardInteraction)?void 0:r.clone(),l.measures=this.measures.select(t=>t.clone()).toList(),l}meta(){return[...super.meta(),new StiRemoveMeta("HorAlignment"),new StiRemoveMeta("Padding"),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("Style"),new StiObjectMeta("DashboardInteraction").check(()=>null!=this.dashboardInteraction).set(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromJsonObject(t.value))?void 0:e.as(StiTextDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}).setXml(t=>{let e,i=null==(e=StiDashboardInteractionLoader.loadInteractionFromXml(t))?void 0:e.as(StiTextDashboardInteraction);null!=i&&(this.dashboardInteraction=i)}),new StiObjectMeta("Padding").get(()=>this.padding.saveToJsonObject(0,0,0,0)),new StiColorMeta("ForeColor","",Color.transparent),new StiStringNullOrEmptyMeta("Text"),new StiEnumMeta("VertAlignment","",StiVertAlignment,StiVertAlignment.Center),new StiEnumMeta("SizeMode","",StiTextSizeMode,StiTextSizeMode.Fit),new StiBoolMeta("CrossFiltering","",!0),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t)),new StiBoolMeta("RightToLeft","",!1),new StiObjectMeta("Measures").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.measures,t)).set(t=>this.measures.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value).as(StiTextMeasureMeter)).where(t=>null!=t))).setXml(t=>this.measures.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)).filter(t=>null!=t))),new StiEventMeta("ClickEvent")]}get isDefined(){return!StiString.isNullOrWhiteSpace(this.text)}get isQuerable(){return!this.isReportParserExpression&&!StiString.isNullOrEmpty(this.text)&&this.text.includes("{")}fetchAllMeters(){return this.getMeters()}getMeters(){if(this.isReportParserExpression)return new List;{if(StiString.isNullOrEmpty(this.text))return null;let e=new List,i=StiExpressionHelper.fetchBlocksFromExpression(this.text),r=StiTextMeasureMeter.getUniqueNames(this.measures);for(let t of i)r.containsKey(t)?e.add(r.get(t)):e.add(new __.V.StiTextMeter(t,t,t));return e.cast().toList()}}retrieveUsedDataNames(){return this.isReportParserExpression?super.retrieveUsedDataNames():StiUsedDataHelper.getMany2(this.getMeters()).distinct().toList()}getSimpleText(){return this.getHtmlTextHelper().getSimpleText(this.text,StiDashboardStyleHelper.getForeColor(this))}getMeasures(){return this.measures.cast().toList()}addMeasure(){let t=new StiTextMeasureMeter;t.expression="Sum(DataSource.Field)",this.measures.add(t)}getMeasure(t){return StiMeterHelper.Text.getMeter2(t)}removeMeasure(t){t<this.measures.length&&this.measures.removeAt(t)}removeAllMeasures(){this.measures.clear()}insertMeasure(t,e){let i=e.as(StiTextMeasureMeter);0<=t&&t<this.measures.length?this.measures.insert(t,i):this.measures.add(i)}getFont(){let t=this.getHtmlTextHelper();if(null==t)return null;return t.getFont(this,this.text,StiDashboardStyleHelper.getForeColor(this))}setFontName(t){let e=this.getHtmlTextHelper();null!=e&&(this.text=e.setFontName(this,this.text,t,StiDashboardStyleHelper.getForeColor(this)))}setFontSize(t){let e=this.getHtmlTextHelper();null!=e&&(this.text=e.setFontSize(this,this.text,t,StiDashboardStyleHelper.getForeColor(this)))}growFontSize(){let t=this.getHtmlTextHelper();null!=t&&(this.text=t.growFontSize(this,this.text,StiDashboardStyleHelper.getForeColor(this)))}shrinkFontSize(){let t=this.getHtmlTextHelper();null!=t&&(this.text=t.shrinkFontSize(this,this.text,StiDashboardStyleHelper.getForeColor(this)))}setFontBoldStyle(t){let e=this.getHtmlTextHelper();null!=e&&(this.text=e.setFontBoldStyle(this,this.text,t,StiDashboardStyleHelper.getForeColor(this)))}setFontItalicStyle(t){let e=this.getHtmlTextHelper();null!=e&&(this.text=e.setFontItalicStyle(this,this.text,t,StiDashboardStyleHelper.getForeColor(this)))}setFontUnderlineStyle(t){let e=this.getHtmlTextHelper();null!=e&&(this.text=e.setFontUnderlineStyle(this,this.text,t,StiDashboardStyleHelper.getForeColor(this)))}get horAlignment(){let t=this.getHtmlTextHelper();return t.getHorAlign(this,this.text,StiDashboardStyleHelper.getForeColor(this))}set horAlignment(t){this.text=this.getHtmlTextHelper().setHorAlignment(this,this.text,t,StiDashboardStyleHelper.getForeColor(this))}get style(){return this.componentStyle}set style(t){this.componentStyle=t}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break;case"Text":this.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text;case"Text":return this.text}throw new Error(`Property with name `+t)}getAllStrings(){return["Title.Text","Text"]}get toolboxPosition(){return StiComponentToolboxPosition.TextElement}get localizedName(){return StiLocalization.get("Components","StiText")}get isReportParserExpression(){return Stimulsoft.StiOptions.Engine.dashboardTextElementExpressionParser==StiParserType.ReportParser||StiExpressionHelper.isThisExpression(this.text)}getNestedPages(){if(null==this.dashboardInteraction||this.dashboardInteraction.onClick!=StiInteractionOnClick.ShowDashboard)return null;let e=this.dashboardInteraction.drillDownPageKey;if(StiKeyHelper.isEmptyKey(e))return null;let t=this.report.pages.toList().firstOrDefault(t=>t.guid==e);if(null==t)return null;return new List([t])}getHtmlTextHelper(){return StiDashboardDesignAssembly.getHtmlTextHelper()}constructor(t=Rectangle.empty){super(t),this.title=new __.e.StiTitle,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.text="",this.rightToLeft=!1,this.group="",this.foreColor=Color.transparent,this.crossFiltering=!0,this.vertAlignment=StiVertAlignment.Center,this.defaultClientRectangle=new Rectangle(0,0,100,40),this.helpUrl="user-manual/dashboards_text.htm",this.sizeMode=StiTextSizeMode.Fit,this.measures=new List,this.title.text=this.localizedName,this.title.visible=!1,this.padding=StiPadding.create(0),this.dashboardInteraction=new StiTextDashboardInteraction}},__.aa.StiTextConverter=class{},__.J.StiTreeItem=class{toString(){return null==this.key?"":this.key.toString()}constructor(t,e){this.key=t,this.meter=e}},Stimulsoft.Report.Dashboard.ImplementsIStiTreeViewElement),IStiTreeViewElement=Stimulsoft.Report.Dashboard.IStiTreeViewElement,StiItemFilterMode=Stimulsoft.Report.Dashboard.StiItemFilterMode,StiTreeItem=(StiExportToolAttribute.add("StiTreeViewElement","Stimulsoft.Dashboard.Export.Tools.StiTreeViewElementExportTool"),__.J.StiTreeViewElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiTreeViewElement,IStiSimpleShadow,IStiCornerRadius,IStiTitleElement,IStiGlobalizationProvider,...ImplementsIStiTreeViewElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiTitleElement,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(t){let e,i,r=super.clone(t);return r.keyMeters=this.keyMeters.select(t=>t.clone()).toList(),r.userFilters=this.userFilters.select(t=>t.clone()).toList(),r.transformActions=this.transformActions.select(t=>t.clone()).toList(),r.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),r.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),r.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),r.textFormat=this.textFormat.clone(),r.title=null!=this.title?this.title.clone():null,r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r}meta(){return[...super.meta(),new StiStringNullOrEmptyMeta("ParentKey"),new StiObjectMeta("UserFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userFilters,t)).set(t=>this.userFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.userFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiColorMeta("ForeColor","",Color.transparent),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiBoolMeta("ShowAllValue"),new StiBoolMeta("ShowBlanks"),new StiObjectMeta("KeyMeters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.keyMeters,t)).set(t=>this.keyMeters.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.keyMeters.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t)),new StiEnumMeta("SelectionMode","",StiItemSelectionMode,StiItemSelectionMode.Multi),new StiEnumMeta("FilterMode","",StiItemFilterMode,StiItemFilterMode.SelectedOnly),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiEnumMeta("InclusionMode","",StiFilterInclusionMode,StiFilterInclusionMode.SelectionOnly),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("TextFormat").check(()=>null!=this.textFormat).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.textFormat=StiFormatService.loadFormatFromXml(t,this.report))]}getParentKey(){return this.parentKey}setParentKey(t){this.parentKey=t}async applyDefaultFilters(){let t=await __.J.StiTreeViewHelper.fetchDefaultUserFilters(this);null!=t&&(this.userFilters=t)}getIdentityFilters(){return __.J.StiTreeViewHelper.getValueMeterExpressions(this).select(t=>{let e=new StiDataFilterRule;e.condition=StiDataFilterCondition.Any,e.elementKey=this.key,e.path=t}).toList().cast()}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}fetchAllMeters(){let t=new List;return t.addRange(this.keyMeters),t}getMeters(){let t=new List;return t.addRange(this.keyMeters),t}retrieveUsedDataNames(){return StiUsedDataHelper.getMany2(this.keyMeters)}get isDefined(){return null!=this.keyMeters&&0<this.keyMeters.length}getKeyMeter(t){return null!=t?StiMeterHelper.TreeView.getKey2(t):null}getKeyMeterByIndex(t){return t<this.keyMeters.length?this.keyMeters[t]:null}insertKeyMeter(t,e){let i=e.as(__.J.StiKeyTreeViewMeter);null!=i&&(0<=t&&t<this.keyMeters.length?this.keyMeters.insert(t,i):this.keyMeters.add(i))}removeKeyMeter(t){t<this.keyMeters.length&&this.keyMeters.removeAt(t)}removeAllKeyMeters(){this.keyMeters.clear()}addNewKeyMeter(){let t=new __.J.StiKeyTreeViewMeter;return this.keyMeters.add(t),t}addKey(t){null==this.keyMeters&&(this.keyMeters=new List),this.keyMeters.add(StiMeterHelper.TreeView.getKey2(t))}convertFrom(t){let e=t.fetchAllMeters();if(null==e)return;let i=e.firstOrDefault(t=>t.is(IStiValueMeter));if(null!=(i=null==i?e.firstOrDefault(t=>t.is(IStiMeasureMeter)):i)){let t=new __.J.StiKeyTreeViewMeter;t.loadFromJsonObject(i.saveToJsonObject(StiJsonSaveMode.Report)),this.keyMeters.clear(),this.keyMeters.add(t)}}setString(t,e){switch(t){case"Title.Text":this.title.text=e;break}}getString(t){switch(t){case"Title.Text":return this.title.text}throw new Error(`Property with name `+t)}getAllStrings(){return["Title.Text"]}get toolboxPosition(){return StiComponentToolboxPosition.TreeViewElement}get localizedName(){return StiLocalization.get("Components","StiTreeView")}constructor(t=Rectangle.empty){super(t),this.group="",this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.inclusionMode=StiFilterInclusionMode.SelectionOnly,this.title=new __.e.StiTitle,this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.userFilters=new List,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.dataTransformation={},this.dataFilters=new List,this.font=new Font("Arial",8),this.foreColor=Color.transparent,this.showAllValue=!1,this.showBlanks=!1,this.selectionMode=StiItemSelectionMode.Multi,this.filterMode=StiItemFilterMode.SelectedOnly,this.textFormat=new StiGeneralFormatService,this.defaultClientRectangle=new Rectangle(0,0,200,300),this.helpUrl="user-manual/dashboards_data_filtering_tree_view.htm",this.keyMeters=new List,this.title.text=this.localizedName,this.title.visible=!1}},__.J.StiTreeItem),ImplementsIStiTreeViewBoxElement=(__.J.StiTreeViewHelper=class{static fetchItems(o,s){let e=new StiTreeItem;for(let t of o.rows){let l=0,n=e;for(let r of t){let t=null==r,e="string"==typeof r?StiString.isNullOrEmpty(r):null==r,i=t||e;if(s||!i){let t=null!=n.items?n.items.firstOrDefault(t=>t.key==r):null;null==t&&(t=new StiTreeItem(r,o.meters[l]),null==n.items&&(n.items=new List),n.items.add(t)),n=t}l++}}return e.items}static async fetchDefaultUserFilters(t){if(t.showAllValue)return null;if(t.selectionMode==StiItemSelectionMode.Multi)return null;let e=await StiElementDataCache.getOrCreate(t),i=this.fetchItems(e,t.showBlanks);if(null==i)return null;let r=i.firstOrDefault();if(null==r)return null;let l=r.meter,n=l.expression;return StiDataFilterCreator.createEqualBasedOnValue(r.key,n,t).toList()}static format(t,e){var i;if(e instanceof DateTime&&!(t.textFormat.is2(StiDateFormatService)||t.textFormat.is2(StiTimeFormatService)||t.textFormat.is2(StiCustomFormatService)))return e.toShortDateString();let r=null==(i=null==t?void 0:t.report)?void 0:i.getParsedCulture();if(StiExtValueConverter.isEligable(e,r))return StiExtValueConverter.convert(e,r);return t.textFormat.format(e)}static getValueMeterExpressions(t){var e,i;return null==(i=null==(e=t.keyMeters)?void 0:e.select(t=>t.expression))?void 0:i.toList()}},Stimulsoft.Report.Dashboard.ImplementsIStiTreeViewBoxElement),IStiTreeViewBoxElement=Stimulsoft.Report.Dashboard.IStiTreeViewBoxElement,StiTreeViewHelper=(StiExportToolAttribute.add("StiTreeViewBoxElement","Stimulsoft.Dashboard.Export.Tools.StiTreeViewBoxElementExportTool"),__.I.StiTreeViewBoxElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiTreeViewBoxElement,IStiSimpleShadow,IStiCornerRadius,IStiFixedHeightElement,...ImplementsIStiTreeViewBoxElement,...ImplementsIStiSimpleShadow,...ImplementsIStiCornerRadius,...ImplementsIStiFixedHeightElement,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[new StiBoolMeta("FixedHeight","",!0),...super.meta(),new StiStringNullOrEmptyMeta("ParentKey"),new StiObjectMeta("UserFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userFilters,t)).set(t=>this.userFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.userFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformActions").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformActions,t)).set(t=>this.transformActions.addRange(t.value.properties().select(t=>StiDataActionRule.loadFromJson(t.value)))).setXml(t=>this.transformActions.addRange(t.childNodes.map(t=>StiDataActionRule.loadFromXml(t)))),new StiObjectMeta("TransformFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformFilters,t)).set(t=>this.transformFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.transformFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiObjectMeta("TransformSorts").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.transformSorts,t)).set(t=>this.transformSorts.addRange(t.value.properties().select(t=>StiDataSortRule.loadFromJson(t.value)))).setXml(t=>this.transformSorts.addRange(t.childNodes.map(t=>StiDataSortRule.loadFromXml(t)))),new StiObjectMeta("DataFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.dataFilters,t)).set(t=>this.dataFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.dataFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiColorMeta("ForeColor","",Color.transparent),new StiStringNullOrEmptyMeta("Font").get(()=>StiJsonReportObjectHelper.Serialize.fontArial8(this.font)).set(t=>this.font=StiJsonReportObjectHelper.Deserialize.font(t.value,this.font)).setXml(t=>this.font=Stimulsoft.System.Convert.toFont(t.textContent)),new StiBoolMeta("ShowAllValue"),new StiBoolMeta("ShowBlanks"),new StiEnumMeta("SelectionMode","",StiItemSelectionMode,StiItemSelectionMode.Multi),new StiEnumMeta("FilterMode","",StiItemFilterMode,StiItemFilterMode.SelectedOnly),new StiObjectMeta("KeyMeters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.keyMeters,t)).set(t=>this.keyMeters.addRange(t.value.properties().select(t=>StiMeterLoader.loadFromJson(t.value)))).setXml(t=>this.keyMeters.addRange(t.childNodes.map(t=>StiMeterLoader.loadFromXml(t)))),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiStringNullOrEmptyMeta("Group"),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("TextFormat").check(()=>null!=this.textFormat).set(t=>this.textFormat=StiFormatService.createFromJsonObject(t.value)).setXml(t=>this.textFormat=StiFormatService.loadFormatFromXml(t,this.report)),new StiRemoveMeta("MinSize"),new StiRemoveMeta("MaxSize"),new StiEnumMeta("InclusionMode","",StiFilterInclusionMode,StiFilterInclusionMode.SelectionOnly)]}clone(t){let e,i,r=super.clone(t);return r.keyMeters=this.keyMeters.select(t=>t.clone()).toList(),r.userFilters=this.userFilters.select(t=>t.clone()).toList(),r.transformActions=this.transformActions.select(t=>t.clone()).toList(),r.transformFilters=this.transformFilters.select(t=>t.clone()).toList(),r.transformSorts=this.transformSorts.select(t=>t.clone()).toList(),r.dataFilters=this.dataFilters.select(t=>t.clone()).toList(),r.textFormat=this.textFormat.clone(),r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r}get isFixedHeight(){return this.fixedHeight}getParentKey(){return this.parentKey}setParentKey(t){this.parentKey=t}async applyDefaultFilters(){let t=await __.I.StiTreeViewBoxHelper.fetchDefaultUserFilters(this);null!=t&&(this.userFilters=t)}getIdentityFilters(){return __.I.StiTreeViewBoxHelper.getValueMeterExpressions(this).select(t=>{let e=new StiDataFilterRule;e.condition=StiDataFilterCondition.Any,e.elementKey=this.key,e.path=t}).toList().cast()}get style(){return this._style}set style(t){(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}fetchAllMeters(){let t=new List;return t.addRange(this.keyMeters),t}getMeters(){let t=new List;return t.addRange(this.keyMeters),t}retrieveUsedDataNames(){return StiUsedDataHelper.getMany2(this.keyMeters)}get isDefined(){return null!=this.keyMeters&&0<this.keyMeters.length}getKeyMeter(t){return null!=t?StiMeterHelper.TreeViewBox.getKey2(t):null}getKeyMeterByIndex(t){return t<this.keyMeters.length?this.keyMeters[t]:null}insertKeyMeter(t,e){let i=e.as(__.I.StiKeyTreeViewBoxMeter);null!=i&&(0<=t&&t<this.keyMeters.length?this.keyMeters.insert(t,i):this.keyMeters.add(i))}removeKeyMeter(t){t<this.keyMeters.length&&this.keyMeters.removeAt(t)}removeAllKeyMeters(){this.keyMeters.clear()}addNewKeyMeter(){let t=new __.I.StiKeyTreeViewBoxMeter;return this.keyMeters.add(t),t}addKey(t){null==this.keyMeters&&(this.keyMeters=new List),this.keyMeters.add(StiMeterHelper.TreeViewBox.getKey2(t))}convertFrom(t){let e=t.fetchAllMeters();if(null==e)return;let i=e.firstOrDefault(t=>t.is(IStiValueMeter));if(null!=(i=null==i?e.firstOrDefault(t=>t.is(IStiMeasureMeter)):i)){let t=new __.I.StiKeyTreeViewBoxMeter;t.loadFromJsonObject(i.saveToJsonObject(StiJsonSaveMode.Report)),this.keyMeters.clear(),this.keyMeters.add(t)}}get toolboxPosition(){return StiComponentToolboxPosition.TreeViewBoxElement}get localizedName(){return StiLocalization.get("Components","StiTreeViewBox")}getMinSize(){let t=null!=this.report?this.report.getCurrentPage():null;if(null==t)return Size.empty;let e=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,t.gridSize,!0);return new Size(0,e)}setMinSize(t){}getMaxSize(){if(!this.fixedHeight)return super.getMaxSize();let t=null!=this.report?this.report.getCurrentPage():null;if(null==t)return Size.empty;let e=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,t.gridSize,!0);return new Size(0,e)}setMaxSize(t){this.fixedHeight||super.setMaxSize(t)}get fixedHeight(){return this._fixedHeight}set fixedHeight(t){var e;this._fixedHeight!=t&&(this._fixedHeight=t)&&(this.height=StiAlignValue.alignToMaxGrid(this.defaultClientRectangle.height,null==(e=this.page)?void 0:e.gridSize,!0))}constructor(t=Rectangle.empty){super(t),this.group="",this.inclusionMode=StiFilterInclusionMode.SelectionOnly,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this._style=StiElementStyleIdent.Auto,this.customStyleName="",this.userFilters=new List,this.transformActions=new List,this.transformFilters=new List,this.transformSorts=new List,this.dataTransformation={},this.dataFilters=new List,this.font=new Font("Arial",8),this.foreColor=Color.transparent,this.showAllValue=!1,this.showBlanks=!1,this.selectionMode=StiItemSelectionMode.Multi,this.filterMode=StiItemFilterMode.SelectedOnly,this.textFormat=new StiGeneralFormatService,this.defaultClientRectangle=new Rectangle(0,0,200,40),this.helpUrl="user-manual/dashboards_data_filtering_tree_view_box.htm",this._fixedHeight=!0,this.keyMeters=new List}},__.J.StiTreeViewHelper),ImplementsIStiWebContentElement=(__.I.StiTreeViewBoxHelper=class{static async fetchDefaultUserFilters(t){if(t.showAllValue)return null;if(t.selectionMode==StiItemSelectionMode.Multi)return null;let e=await StiElementDataCache.getOrCreate(t),i=StiTreeViewHelper.fetchItems(e,t.showBlanks);if(null==i)return null;let r=i.firstOrDefault();if(null==r)return null;let l=r.meter,n=l.expression;return StiDataFilterCreator.createEqualBasedOnValue(r.key,n,t).toList()}static format(t,e){var i,r;return e instanceof DateTime&&!(t.textFormat.is2(StiDateFormatService)||t.textFormat.is2(StiTimeFormatService)||t.textFormat.is2(StiCustomFormatService))?e.toShortDateString():StiExtValueConverter.isEligable(e,null==(i=null==t?void 0:t.report)?void 0:i.culture)?StiExtValueConverter.convert(e,null==(r=null==t?void 0:t.report)?void 0:r.culture):t.textFormat.format(e)}static getValueMeterExpressions(t){var e,i;return null==(i=null==(e=t.keyMeters)?void 0:e.select(t=>t.expression))?void 0:i.toList()}},Stimulsoft.Report.Dashboard.ImplementsIStiWebContentElement),IStiWebContentElement=Stimulsoft.Report.Dashboard.IStiWebContentElement;StiExportToolAttribute.add("StiWebContentElement","Stimulsoft.Dashboard.Export.Tools.StiWebContentElementExportTool"),__.Y.StiWebContentElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiWebContentElement,IStiCornerRadius,IStiSimpleShadow,IStiTitleElement,...ImplementsIStiWebContentElement,...ImplementsIStiCornerRadius,...ImplementsIStiSimpleShadow,...ImplementsIStiTitleElement,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(t){let e,i,r=super.clone(t);return r.title=null!=this.title?this.title.clone():null,r.shadow=null==(e=this.shadow)?void 0:e.clone(),r.cornerRadius=null==(i=this.cornerRadius)?void 0:i.clone(),r}meta(){return[...super.meta(),new StiStringNullOrEmptyMeta("URL","url"),new StiStringNullOrEmptyMeta("EmbedCode"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("Title").check(()=>null!=this.title).set(t=>this.title=__.e.StiTitle.createFromJsonObject(t.value)).setXml(t=>this.title=__.e.StiTitle.createFromXml(t))]}get isDefined(){return!StiString.isNullOrWhiteSpace(this.url)||!StiString.isNullOrWhiteSpace(this.embedCode)}get isQuerable(){return this.isDefined}fetchAllMeters(){return null}getMeters(){if(!this.isURLExpressionOrHyperlinkDataColumnDefined)return new List;if(this.isURLExpressionDefined)return StiExpressionHelper.fetchBlocksFromExpression(this.url).select(t=>new StiWebContentMeter(t,t,t)).cast().toList();{let t=StiHyperlinkProcessor.getRealDataColumnFromHyperlink(this.report,this.url),e=new List;return e.add(new StiWebContentMeter(t,t,t)),e}}retrieveUsedDataNames(){return StiUsedDataHelper.getMany2(this.getMeters()).distinct().toList()}get toolboxPosition(){return StiComponentToolboxPosition.WebContentElement}get localizedName(){return StiLocalization.get("Components","StiWebContent")}get isURLExpressionOrHyperlinkDataColumnDefined(){return this.isURLExpressionDefined||this.isHyperlinkDataColumnDefined}get isURLExpressionDefined(){var t,e;return(null==(t=this.url)?void 0:t[Stimulsoft.System.StiObject.stimulsoft]().contains("{"))&&(null==(e=this.url)?void 0:e[Stimulsoft.System.StiObject.stimulsoft]().contains("}"))}get isHyperlinkDataColumnDefined(){return!StiString.isNullOrWhiteSpace(StiHyperlinkProcessor.getRealDataColumnFromHyperlink(this.report,this.url))}constructor(t=Rectangle.empty){super(t),this.title=new __.e.StiTitle,this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.defaultClientRectangle=new Rectangle(0,0,120,120),this.helpUrl="user-manual/dashboards_image.htm",this.title.text=this.localizedName,this.title.visible=!1,this.padding=StiPadding.create(0)}},__.k.StiInplaceDesigner=class{};{let t;(t=>{t[t["Left"]=1]="Left",t[t["Right"]=2]="Right",t[t["Center"]=3]="Center",t[t["Justify"]=4]="Justify"})(t=__.r.StiRichTextAlignment||(__.r.StiRichTextAlignment={}))}__.r.StiRichBoxControl=class{selectAll(){this.selectedText=this.text}select(t,e){!StiString.isNullOrEmpty(this.text)&&t<this.text.length&&(this.selectedText=this.text.substr(t,e))}beginUpdate(){}endUpdate(){}setSelectionFont(t){return this.selectionFont=StiFontUtils.changeFontName(this.selectionFont,t),!0}setSelectionSize(t){return this.selectionFont=StiFontUtils.changeFontSize(this.selectionFont,t),!0}setSelectionBold(t){return this.selectionFont=StiFontUtils.changeFontStyleBold(this.selectionFont,t),!0}setSelectionItalic(t){return this.selectionFont=StiFontUtils.changeFontStyleItalic(this.selectionFont,t),!0}setSelectionUnderlined(t){return this.selectionFont=StiFontUtils.changeFontStyleUnderline(this.selectionFont,t),!0}constructor(){this.selectionFont=new Font("Arial",12),this.selectionColor=Color.black,this.font=new Font("Arial",12),this.text="",this.selectedText=""}};let StiTextRenderer=Stimulsoft.Base.Drawing.StiTextRenderer,StiRichTextAlignment=__.r.StiRichTextAlignment,ColorTranslator=Stimulsoft.System.Drawing.ColorTranslator,StiHtmlState=Stimulsoft.Base.Drawing.StiHtmlState,StiHtmlTagsState=Stimulsoft.Base.Drawing.StiHtmlTagsState,StiRichBoxControl=__.r.StiRichBoxControl,StiHtmlTextRender=(__.r.StiHtmlTextHelper=class{setFontName(t,e,i,r){let l=new StiRichBoxControl;return this.setHtmlText(e,t,l,r),l.selectAll(),l.setSelectionFont(i),this.getHtmlText(l,r)}setFontSize(t,e,i,r){let l=new StiRichBoxControl;return this.setHtmlText(e,t,l,r),l.selectAll(),l.setSelectionSize(Math.round(i)),this.getHtmlText(l,r)}growFontSize(t,e,i){let r=new StiRichBoxControl;return this.setHtmlText(e,t,r,i),r.selectAll(),r.setSelectionSize(Math.round(r.selectionFont.size+1)),this.getHtmlText(r,i)}shrinkFontSize(t,e,i){let r=new StiRichBoxControl;return this.setHtmlText(e,t,r,i),r.selectAll(),0<r.selectionFont.size-1&&r.setSelectionSize(Math.round(r.selectionFont.size-1)),this.getHtmlText(r,i)}setFontBoldStyle(t,e,i,r){let l=new StiRichBoxControl;return this.setHtmlText(e,t,l,r),l.selectAll(),l.setSelectionBold(i),this.getHtmlText(l,r)}setFontItalicStyle(t,e,i,r){let l=new StiRichBoxControl;return this.setHtmlText(e,t,l,r),l.selectAll(),l.setSelectionItalic(i),this.getHtmlText(l,r)}setFontUnderlineStyle(t,e,i,r){let l=new StiRichBoxControl;return this.setHtmlText(e,t,l,r),l.selectAll(),l.setSelectionUnderlined(i),this.getHtmlText(l,r)}setColor(t,e,i,r){let l=new StiRichBoxControl;return this.setHtmlText(e,t,l,r),l.selectAll(),l.selectionColor=i,this.getHtmlText(l,r)}setHorAlignment(t,e,i,r){let l=new StiRichBoxControl;return this.setHtmlText(e,t,l,r),l.selectAll(),l.selectionAlignment=this.getAlignment(i),this.getHtmlText(l,r)}getFont(t,e,i){let r=new StiRichBoxControl;return this.setHtmlText(e,t,r,i),r.selectAll(),r.selectionFont}getColor(t,e,i){let r=new StiRichBoxControl;return this.setHtmlText(e,t,r,i),r.selectAll(),r.selectionColor}getHorAlign(t,e,i){let r=new StiRichBoxControl;return this.setHtmlText(e,t,r,i),r.selectAll(),this.getAlignment2(r.selectionAlignment)}setHtmlText(t,e,o,i){let r="Arial",l=12,n=(o.selectAll(),o.setSelectionFont(r),o.setSelectionSize(l),new StiHtmlTagsState(!1,!1,!1,!1,l,r,i,Color.white,!1,!1,0,0,0,StiTextHorAlignment.Center)),s=null,a=new StiHtmlState(n,0),u=StiTextRenderer.parseHtmlToStates(t,a,!1);for(let n of u){let t=o.text.length,e=(o.select(t,0),null),i=(e=StiString.isNullOrEmpty(n.ts.href)?n.text.toString():`<a href="${n.ts.href}">${n.text.toString()}</a>`,o.text+=e,o.select(t,n.text.length),FontStyle.Regular),r=(n.ts.bold&&(i|=FontStyle.Bold),n.ts.italic&&(i|=FontStyle.Italic),n.ts.underline&&(i|=FontStyle.Underline),n.ts.fontName),l=n.ts.fontSize;null==s&&(s=o.font=new Font(r,l)),o.selectionFont=StiFontUtils.changeFontStyle2(r,l,i),o.selectionColor=n.ts.fontColor,o.selectionAlignment=this.getAlignment(n.ts.textAlign)}o.select(0,0)}getHtmlText(s,a){let u=!1,S=!1,m=!1,h=a,c="",t=(s.selectAll(),null!=s.selectionFont?s.selectionFont.name:"Arial"),e=null!=s.selectionFont?s.selectionFont.sizeInPoints:12,i=Enum.getName(StiRichTextAlignment,s.selectionAlignment);c=c+`<font face="${t}" size="${e}">`+`<text-align="${i}">`;for(let o=0;o<s.text.length;o++){s.select(o,1);let t=s.selectionFont,e=null!=t&&t.style&FontStyle.Bold,i=null!=t&&t.style&FontStyle.Italic,r=null!=t&&t.style&FontStyle.Underline,l=s.selectionColor,n="\n"==s.text[o];n&&(c+="<br />"),e&&!u&&(u=!0,c+="<b>"),!e&&u&&(u=!1,c+="</b>"),i&&!S&&(S=!0,c+="<i>"),!i&&S&&(S=!1,c+="</i>"),r&&!m&&(m=!0,c+="<u>"),!r&&m&&(m=!1,c+="</u>"),h.equals(l)||(h=(h.equals(a)?c+=`<font-color="${ColorTranslator.toHtml(l)}">`:l.equals(a)?c+="</font-color>":c=(c+="</font-color>")+`<font-color="${ColorTranslator.toHtml(l)}">`,l)),c+=s.text[o]}return h.equals(a)||(c+="</font-color>"),m&&(c+="</u>"),S&&(c+="</i>"),u&&(c+="</b>"),(c=c+"</text-align>"+"</font>").toString()}getAlignment(t){switch(t){case StiTextHorAlignment.Left:return StiRichTextAlignment.Left;case StiTextHorAlignment.Center:return StiRichTextAlignment.Center;case StiTextHorAlignment.Right:return StiRichTextAlignment.Right;case StiTextHorAlignment.Width:return StiRichTextAlignment.Justify;default:throw new Error("NotSupportedException")}}getAlignment2(t){switch(t){case StiRichTextAlignment.Left:return StiTextHorAlignment.Left;case StiRichTextAlignment.Center:return StiTextHorAlignment.Center;case StiRichTextAlignment.Right:return StiTextHorAlignment.Right;case StiRichTextAlignment.Justify:return StiTextHorAlignment.Width;default:throw new Error("NotSupportedException")}}getSimpleText(t,e){let i=new StiRichBoxControl;return this.setHtmlText(t,null,i,e),i.text}},Stimulsoft.Report.Components.StiHtmlTextRender),StringTrimming=Stimulsoft.System.Drawing.StringTrimming,HotkeyPrefix=Stimulsoft.System.Drawing.Text.HotkeyPrefix,StiTextElement=__.V.StiTextElement,StiTextOptions=Stimulsoft.Base.Drawing.StiTextOptions,StiTextDrawing=(__.h.StiAutoSizeHtmlTextHelper=class{static measure(t,e,i,r,l=null){let n=this.getTextScale(l,r),o=(e.height=1e3,new Font("Arial",12)),s=new StiText,a=(s.font=o,s.clientRectangle=e.clone(),s.text=i,r.as(StiTextElement)),u=(null==a||a.sizeMode!=StiTextSizeMode.WordWrap&&a.sizeMode!=StiTextSizeMode.FitAndWordWrap||(s.wordWrap=!0),StiHtmlTextRender.measureString(s));return new Size(u.width*n,u.height*n)}static getDefaultTextOptions(){return new StiTextOptions(!1,!1,!1,0,HotkeyPrefix.None,StringTrimming.None)}static getTextScale(t,e){if(null!=t)return t;let i=e[Stimulsoft.System.StiObject.stimulsoft]().as(IStiElement);return null!=i&&i.isDesigning?e.zoom:1}},Stimulsoft.Base.Drawing.StiTextDrawing);__.h.StiAutoSizeTextHelper=class{static toAlignment(t){switch(t){case StiHorAlignment.Left:return StiTextHorAlignment.Left;case StiHorAlignment.Center:return StiTextHorAlignment.Center;case StiHorAlignment.Right:return StiTextHorAlignment.Right;default:throw new StiTypeNotRecognizedException(t)}}static measure(t,e,i){let r=StiTextDrawing.measureString(t,e,i);return new Size(r.width,r.height)}static measure2(t,e,i,r){let l=new StiTextOptions,n=(l.angle=0,l.wordWrap=!0,StiTextDrawing.measureString(t,e,i,r,l));return new Size(n.width,n.height)}static measureFontSize(t,e,i,r){let l=this.measure(t,e,r),n=l.width>i.width?i.width/l.width:1,o=i.height<l.height?i.height/l.height:1,s=Math.min(Math.abs(n),Math.abs(o));return r.size*s}};{class StiBingMapHelper{static getContent(){let t=Stimulsoft.System.compactBase64("ba\frT4>*qvsmN/~Unև=O%Y=6%8;)mֲ%:bc+{DvZ+R)OƊ:I,UMN5o?/@d,@Èlr;E16Nҋ>@5i#]|'gkUt{4~YMOg0Jy_y\vVx?vLBˬjX)dVƳKQcWERQ}cun~;'3o/,hM\vG>k~/A~d?5_FpsʳϥphCsOcο2JsyxvaQI\vκt^Xvr)=R?:{Q5Y`~r].-.ZVU{F\tB>t~:o]ïs\v?T#F(~1>|CQy/c[kS$[~=Zl<ʿO#/`/^><FCAc|;8~]Nk|2/.qnF63\f+Ͻ lb%5DҾzX,$j+ˋ|wpi\bs#֚Qm_>\vJVg<>F$ʩkUλQK>l9qaw%HODBI\v}\b<D#|joz]S7{jf\v~Ϭ`6:?d74;/F|4S]azw;ӭÏS4=*~y3ҴM\tptrb3Ɖ\vO.Ljˊo4KS0y\b^--m\v16>%ưTJ2o[ˣ`h/Aʒ|<.#5S/i.,O҈nXU$`˦#rAP)q8OGS/7kGks|z8^nWQA!_-RVƗ(y%f7#}oBi,rʎ>'u|jחG%n:'Ҧu\vqfCB=T|r\va~|<ҥ?F,Iʳ9Zî]JkgIwoҨ9?T}UjaYTQE˞c7E\vjgZT/\tE^~oU>/;bFFǛWiY+e< e%#.!-(Y-!,¤[qN]d3R'TLDcVkiJ?f[%#+Ә֑<X^j\fVN4 ,[h53\bW@2yr+\f_\b\bc'Vgˍt.-Fg[/K6X@Xm!<{p\f!g*+z7.< G'RpuF.TZʞ[W\b@OitM>u@>3|7=^,\tuDCϴ?-2:θ`ƠJuN\vlq_:h2CLb9bgU@p]_)G¶GúsNG19M!x`E\f{!/T>ufV#eQy-\v5$SPBW|ʆdgJo!nsceUi~Fjw_7kz~j]Rf5Vf{w-s#iNMch!5^A]cO1}@*3Dv+קi|P/{_|uBұW#Pr_U81(\ba=Y =X6EP]*/#<0*'L\v\vklC=i%Q0ҩFHa:zt~}\tD]<ƑE{F;N'}k xF)Yq{Dҵa|LYO`^ׄ.U@Ew%ˎNGWr;˰G8uoElD$D|E|\tκ)QNNARMxqBz071ezC#?YxtWtʙL֑Hav@`ch_UP*`OַIPn(\tֆM5\fb=,$#>x(i7k75W\vWWFDz<lU2lHpUSjÝ\t{{DS}$\vKT<+*xdDּu#!V#ֽEtET˨81E~YhdƶDeYV/;8+b RƓS=\t3.LBM(6>0)8u]|EiO,}z\bp'H00 X7MV3$t{K3}.f_)Wa\tER/5ϒRi4CHd.\fR*Ϫ 7.6~td.%:y'k]mn{NҒ/G/S{)iXFOK%8=!/;rQA-83<UY#-V\v[V*ˠIʓk,bk:>z|>!?gt_.7PWk?oQmã\b;ln\fs>dyLE%'gsmgu=%)524'l\bYkcC'!0PUB6,5\bV}at;._w{m/+Ur~)a'rQ@\b78L\v{i\bΒ`R;7N$x( `!\bd6kSR]II\bv2il7KRAfr#8gʆs09MaT)LKj7zM@sSw\f{a/p>CwkF\bH \f^H|5gjJf6tfO_i҄JxM`@\v;9$i(҄~6Y_d;dPxdә\tmru'Ӗ7LσL4Y.1]tҠN]%>osGZKW#65`9De0:|@s\b4\v8!?8X'@'5F:T?K1ÈGW8)Hmr rZ`j$YZQi\v(h\f:GX4t)NSˤCb+,kDjzEi2өED˒\bUu\b!\bTF%pH0w[Rk`>(}Q0Q@ӵzMP67@jrQql@v\vksvY[7+OָI>#7$+ӿQbJ+ҎviQ5V92cvu!^vϩi<˾UkloҰM3Z;%(=AzX^^5aJ0;p,}ot>m\t/6_1aSCQ}{!GʟISYaM8zO$8}îepJg1{'v*EON|Jz eyv<$\v\f4ϱ{<Dr4eFQǐψNa/Ia,dOy+reW5n4u<_.3mlsz`JDGw2EP0=j9_k\vz3[o?(=;){jSu,Q?qV#wu3%/MdKsm8K*[3\b§^-.Ϡ5˾kqfeL%4S,'ʣv P0\fE{iWƖp%:Xp15?U>ews0qZHLGSu5BfҏFfY4ӓ|\b1/e|SF#jTֿ,H1sA1:T(KoF]\b`fibQq)kr|9ozAT|tcǜ:iZ_x49Á3(o7\fl\b^Gk`\vud)w3$wֵi\vJft>5u8v7W.VI\v˖\vpm˙na5V֩עA8dtʞTzYM%jJ,%?KkADl6IG˯R9ieӕRV3,Ӧoc1x'6-rH%\bvTLXJïXp0vI1vU3\f:Fq5seB,l*eB]Vb0+ǜ(_vY[\bCΠ'ςp;BBmnW :H֏nvH1וp,Z,-AT<!\fϕB˴$x7\bq?K+VX\t9!S^AHp`f2w/7BuB%X@\b[Iϗ@yHF6TS½ʗsBLa@BL:u5\vfL5Àdƪ:.I($T-.QvlE%CI!j[2'%[rt^Go\tӕwUttg6EY-˨z-N@,#Ï.J*GhIҢ3hf{CHlJӷ4<kYm;eʚ}.$}-K7A+c>?%e\fhd\fZnc~\b\bhZ7DֳaoybʛrtYrJc;[rbL_Kr\bb5fDE=6ph6K.X@['SǬLj+0<ÊHv5NXgQ{*dž!\f%3FD+Ɔ*_eMˢCUvJMK%\f,.~CdC',ίX(wʵ!*Thm^qz~<_<pW)NMM,\v\t- mqm!0J$eDw{)zEp/[Q7cPC.n3>/WM-9QR0\t{z6?Ұï$:AeA\vbO,xװ<~WAt$ ~<0#f'u/G#֚H-Ar:5UPG?m]gW.Rʍwp`.7[F$=>kK!6rzQp@6ʥI;c1|4Ry00ρӊ_t@)IQp`[tFoX.H`?lllEeIl9j|5t`\v3[5?V4tW!9WlhtsO1 ~2˄oǞsdIl@tϩIj֧jǐ=#*sEju!+,:yCaxiC=ǀ\t,?x$cvLJ3zO}-zjfP%,Z!:HZJ:a B_\t\vU|[aHF~?Zk\t:1fxvc)j.^.\f]xlsw*e,:_@-gWff+k9r-A{ӗ3?;!¯~g27k1@<j9)l'j>M$ƾ#0$c|?϶X\v\tD\bG\v{)'@^Gp^z|FaÆ?OVE=Rw)-0laHoosWj\fIғ\vV`W`r(q+oF\fv;3Ix;a_˻=dNZ϶[6]\f$E!.a([,^:2ca%91:E_k209~/,DHǥu0Gb=FYMKna;C'\f{5'I%I(.QZN{)=+@6z]b6 7:+lnCmr!%Ko'MҮoeïq\vXCBK<4!V8[4,=)Lvdie?t`d4~@<A'hNΨ8dH0SCM?$~%$+xe[L.EG-`5W(}\bW!oI6^=ʰ[n=Wb\vE8^g3M-f3kw9;lQAXr;U91)'SRa<)NJ|U{1=reUg.{fqNGA1LPd<Mmf7\fX_Q92r#%[\b\f8=iXW~0#U\fH7\bC#CHAsIdDqn+< /gDbcˬKӨ{ҩ'q]JO\f4ƃE%)\t'z]YS#L\t-\b0ʩ\tjVÔkDMipqa%g?Hƥ2QDηzwxaAO2:)G`*_(?( U3-.)GR>N{Ue%7W%GGҡ|~֪,Q%_%Dһ_G/+-;֔SǷ\ba'w)<y4.zlKʍEt}\tvow\tbP/,`>I^1)$Erw[p.]H˩Jdyk#<4X;4A|0-x/{Q,2E{z8϶%kW}L!; \vaS\vFH%Ӷ\vx\f1gxִ[=a8Ahq?@`ZD9%^#nZOK|_JqVHF24%ӓ_Z:]]0`-OGqfvEnh\b\v/M#4Q,vb0MAzBn]PZvP;>Yhx#V*ʘ?WטsH~΄o.Ɔ>-qVz@WI8gXLRK>Ekp`0CO9\v'tsi|/K7KuQS>S?)CMNue`+>bCT4)+,P\tM:^K\t]dg@.p\vrfk>sy%h_8vJ~sZcr[[jfm)h>dD0E$X1(JmMbyVC*GToW R/7x9*W} ΰ7<\bfCU?T2~]I2pi2\vê:G(D4w|=+{Ò3$#q`^V:wJ0bj8 \f4KþNhmO#:N_~%db9'w}>tI\b^V(\bfI9@irʅ>Zo[(v@C(4G:LD/}8:~ϼ`taYfh7bf\t\b\vgq Q|tT+]n9x5*_Ӡo/$Ґg}'4\bTQF4k_`\b6B43QI|~U`tQ{27EPKa'1nvZ=/;}~n]gGNʕ?g\f<~uz_g|:djroW6!=W%\v;E 4bzpʣlǭ1:OaM,)8BS:f9@C`O!y`_naq1ItI{\fAyu r(ӌ=fIô|iq0.@-ְ!Zhw/*EHךr2Oa9\va%a=:0tvn1R]vH;t[\bʑjO-V[ITwRRθ}֭Ɵ8Rq+ny%Ano8\vˠE*`a[/nWh4U`//^h83Esx0ioP>[X%uF*%rcn]ewp,~T|87Y9>LX5ENiQuP-0\tY2(ӯQMo-%|Tcr\f_C)/){HFKV22Ng=0)T_RFxEz<-^%҆ita}UXBZω>(i֬DTbdX_mT.~0XfDmU:Kh>N+\tSϹ{qk0hCPyƂm@Uf{p?VWM \t]=F91DQ#gV#iK@S(6N@h)\bǙ4\b4<l%<;Sx$h}>F:a9g2ICi֓7(viR9҄`^ue;RvV`פ5oKeI2]g#A3pC*E\t^t]nQ:1G= pm4c*2).`ioD,NEsgOeNZmDNLQ*7UURG\t{uEI\vRSBÉCOpOA*x.l5zg9?*Em`pt{k|,m.E\v2bI0D?Cr2y6Q< 5aTO7(0dFm\bbeZk/+ .8lLWycFmp-:ZDYV12U!n%tB_ϜӒl#@GwOOmgz)*r!zvHvDw+,$CezXoJ~Oh;wwK\fL<f:D`P\b)K#V\b(9.P*wL$QR*4hӁIZRVNX]c\f\tgN_zB!@}/ϴϗRY6.8 _\bhw_\tqaJadI9p\tdPC^E]C2]/f6G4S?TMFV$7:1Ӵ6rfү;\tZʧ`Iqu[kJ@P%+X(vc1>0Slpz[DKd;1)fDVWkDevyIXB^-GOba8=>e6az@C;Hge\b!e@9T.'ά)zv=i{M%([.hr})l˾6Q/exnZ\vgϦI WW7tzE}aM~)H.T9]/.=C8h2@(OjQ8((oyNHEMX9\tֽVT2?j\vjrIηvdEC_7Kk|25~?.ό,3h:8)XG^=>7}os0]jl|H%gN- Q7C3.VVe6VFje$HLiu\f+]O֫n)(V0CqKsXyD)\b|nA|ӂx\t^R3iO8?z\f`:8m)'FhW{u$GS@[k ZBo{p0#F#V'-$8c)Lciy=lyit/ckzG?|N\fό{%>ހ"),e=Stimulsoft.Base.StiGZipHelper.unpack(t,!0),i=Stimulsoft.Report.Resources.StimulsoftFont.getBase64Content();return e=e.replace("<style>",`<style>@font-face {font-family: 'Stimulsoft';src: url(data:font/ttf;base64,${i}) format('truetype');font-weight: normal;font-style: normal;}</style><style>`),StiBingMapHelper.getContent=()=>e,StiBingMapHelper.getContent()}static getScript(i){let r=this.getContent();if(null!=i["locations"]){let t=JSON.stringify(i["locations"]),e=(r=r.replace("_DATA_",t),i["locationType"].toString());r="Auto"!=e?r.replace("_entityType_",e):r.replace("entityType: '_entityType_',","")}else if(null!=i["pushpins"]){let t=JSON.stringify(i["pushpins"]);r=(r=r.replace("_DATA_",t)).replace(`document.mapType = "locations";`,`document.mapType = "pushpins";`)}else r=(r=r.replace("_DATA_","[]")).replace(`entityType: "_entityType_",`,"");return r=(r=(r=(r=(r=(r=r.replace("_KEY_",Stimulsoft.Base.Helpers.StiBingMapHelper.getBingKey(i["userBingKey"]))).replace("_THEME_",i["theme"])).replace("_LANGUAGE_",i["culture"])).replace("_BACKGROUND_COLOR_",`"${i["backgroundColor"]}"`)).replace("_BACKGROUND_COLOR2_",i["backgroundColor"])).replace("_ONEPOINTZOOM_",i["onePointZoom"]),null!=i["outerStyle"]&&(r=r.replace("display: table;",i["outerStyle"].toString())),null!=i["title"]&&(r=r.replace(`display: none"></div>`,i["title"].toString())),r=null!=i["customIcon"]?(r=(r=r.replace("document.customIcon = null",`document.customIcon = "${i["customIcon"].toString()}"`)).replace("document.customIconAnchorX = null",`document.customIconAnchorX = "${i["customIconAnchorX"].toString()}"`)).replace("document.customIconAnchorY = null",`document.customIconAnchorY = "${i["customIconAnchorY"].toString()}"`):r}}__.h.StiBingMapHelper=StiBingMapHelper}__.h.StiCardsElementHelper=class{static minDataColumnValue(t,e,i){if(!(t.is2(StiDataBarsCardsColumn)||t.is2(StiColorScaleCardsColumn)||t.is2(StiBubbleCardsColumn)))return 0;return e.any()?e.min(t=>StiValueHelper.tryToNumber(t[i])):0}static maxDataColumnValue(t,e,i){if(!(t.is2(StiDataBarsCardsColumn)||t.is2(StiColorScaleCardsColumn)||t.is2(StiBubbleCardsColumn)))return 0;return e.any()?e.max(t=>StiValueHelper.tryToNumber(t[i])):0}};let StiLinesSegmentGeom=Stimulsoft.Base.Context.StiLinesSegmentGeom,StiFontGeom=(__.j.StiVisual=class{async draw(t,e){}drawArrowMore(t,e,i){let r=[],l=(r[0]=new Point(e.right-5*i,e.bottom-5*i),r[1]=new Point(e.right-5*i,e.bottom-15*i),r[2]=new Point(e.right-15*i,e.bottom-5*i),new List([new StiLinesSegmentGeom(r)]));t.fillPath(Color.fromArgb2(140,140,140),l,e.clone(),null)}},Stimulsoft.Base.Context.StiFontGeom),StiRotationMode=Stimulsoft.Base.Drawing.StiRotationMode,StiImageHelper=(__.h.StiStringFormatHelper=class{static getStringFormatGeom(t){let e=t.getGenericStringFormat();return e.trimming=StringTrimming.None,e.alignment=StringAlignment.Center,e.lineAlignment=StringAlignment.Center,e}static measureAlignmentParameters(t,e,i,r){switch(t){case StiHorAlignment.Left:i.ref=StiRotationMode.LeftCenter,r.ref.x=e.x,r.ref.y=e.y+e.height/2;break;case StiHorAlignment.Center:i.ref=StiRotationMode.CenterCenter,r.ref.x=e.x+e.width/2,r.ref.y=e.y+e.height/2;break;case StiHorAlignment.Right:i.ref=StiRotationMode.RightCenter,r.ref.x=e.x+e.width,r.ref.y=e.y+e.height/2;break}}static getFontSize(t,e,i,r){let l=new Font(r.fontFamily.name,25,r.style,r.unit),n=t.measureString(i,StiFontGeom.create(l));if(0==n.width||0==n.height)return 0;let o=e.width/n.width,s=e.height/n.height,a=s<o?s:o;return 25*a}},Stimulsoft.Report.Components.StiImageHelper),StiLineSegmentGeom=Stimulsoft.Base.Context.StiLineSegmentGeom,StiWinLossSparklinesCellPainter=Stimulsoft.Report.Painters.StiWinLossSparklinesCellPainter,StiLineSparklinesCellPainter=Stimulsoft.Report.Painters.StiLineSparklinesCellPainter,StiColumnSparklinesCellPainter=Stimulsoft.Report.Painters.StiColumnSparklinesCellPainter,StiSparklinesType=__.K.StiSparklinesType,StiStringFormatHelper=__.h.StiStringFormatHelper;{class StiCardsCellDrawer{static dataBarsDraw(e,t,i,r,l,n,o,s,a,u){let S,m=StiTextFormatHelper.formatBasedOnColumnType2(i,n.textFormat,n,s);if(null==s||0==s)return;0<a&&(a=0),u<0&&(u=0);let h=t.clone(),c=(h.inflate(-1*o,-1*o),e.fillRectangle(Color.fromArgb3(40,r.cellDataBarsPositive),h.clone(),null),u+Math.abs(a)),d=h.width*Math.abs(a)/c,g=h.width*u/c,p=h.width*Math.abs(s)/c,b=p>g;if(b&&(p=g),h.x+=s<0?d-p:d,h.width=p,0<h.width&&0<h.height){let t=s<0?r.cellDataBarsNegative:r.cellDataBarsPositive;if(e.fillRectangle(t,h,null),b){let t=new Rectangle(h.right-6*o,h.y,6*o,h.height);e.fillRectangle(r.cellDataBarsOverlapped,t,null)}}let C=null!=(S=StiDashboardStyleHelper.getFont(i))?S:n.font,f=new Font(C.fontFamily.name,C.size*o),w=e.measureString(m,new StiFontGeom(f.fontFamily.name,f.size,f.style,Stimulsoft.System.Drawing.GraphicsUnit.Point));StiCardsCellDrawer.drawText(e,m,C,l,n.horAlignment,n.vertAlignment,t,w,o)}static colorScaleDraw(t,e,i,r,l,n,o,s,a,u){let S,m=StiTextFormatHelper.formatBasedOnColumnType2(i,n.textFormat,n,s),h=this.getScaleColor(StiValueHelper.tryToNumber(s),a,u,r.cellBackColor,n.minimumColor,n.maximumColor),c=e.clone(),d=(c.inflate(-1*o,-1*o),t.fillRectangle(h,c,null),null!=(S=StiDashboardStyleHelper.getFont(i))?S:n.font),g=new Font(d.fontFamily.name,d.size*o),p=t.measureString(m,new StiFontGeom(g.fontFamily.name,g.size,g.style,Stimulsoft.System.Drawing.GraphicsUnit.Point));this.drawText(t,m,d,l,n.horAlignment,n.vertAlignment,e,p,o)}static getScaleColor(e,i,r,l,n,o){let s=(r-i)/2,a=(e=Math.min(e,r),0),u,S;if(s<(e=Math.max(e,i))){let t=r-s;S=0!=t?(a=(e-s)/t,u=Color.fromArgb3(255,l),Color.fromArgb3(255,o)):(u=Color.lightGray,Color.lightGray)}else{let t=s-i;S=0!=t?(a=e/t,u=Color.fromArgb3(255,n),Color.fromArgb3(255,l)):(u=Color.lightGray,Color.lightGray)}let t=(S.a-u.a)*a+u.a,m=(S.r-u.r)*a+u.r,h=(S.g-u.g)*a+u.g,c=(S.b-u.b)*a+u.b;return t=Math.min(t,255),m=Math.min(m,255),h=Math.min(h,255),c=Math.min(c,255),t=Math.max(t,0),m=Math.max(m,0),h=Math.max(h,0),c=Math.max(c,0),Color.fromArgb(Math.round(t),Math.round(m),Math.round(h),Math.round(c))}static sparklinesDraw(e,i,r,t,l){let n=this.castToArray(t);if(null!=n){let t=n;switch(r.type){case StiSparklinesType.Column:StiColumnSparklinesCellPainter.draw(e,i,t,r.allowCustomColors?r.positiveColor:l.cellSparkline,r.allowCustomColors?r.negativeColor:l.cellSparkline);break;case StiSparklinesType.Line:StiLineSparklinesCellPainter.draw(e,i,t,r.allowCustomColors?r.positiveColor:l.cellSparkline,!1,r.showFirstLastPoints,r.showHighLowPoints);break;case StiSparklinesType.Area:StiLineSparklinesCellPainter.draw(e,i,t,r.allowCustomColors?r.positiveColor:l.cellSparkline,!0,r.showFirstLastPoints,r.showHighLowPoints);break;case StiSparklinesType.WinLoss:StiWinLossSparklinesCellPainter.draw(e,i,t,r.allowCustomColors?r.positiveColor:l.cellWinLossPositive,r.allowCustomColors?r.negativeColor:l.cellWinLossNegative);break;default:throw new StiTypeNotRecognizedException(r.type)}}}static castToArray(t){return StiArray.isArray(t)?t:null}static bubbleDraw(l,n,o,r,s,a,u,S,t,e,i=!0){var m;if(0==S)return;let h=StiTextFormatHelper.formatBasedOnColumnType2(o,a.textFormat,a,S),c=(0<t&&(t=0),e<0&&(e=0),a.horAlignment),d=n.clone();if(d.inflate(-1,-1),d=this.calculateBubbleRect(d,a,Math.abs(S),t,e,u),i&&c!=StiHorAlignment.Center){let t=a.horAlignment==StiHorAlignment.Left?StiHorAlignment.Right:StiHorAlignment.Left,e=null!=(m=StiDashboardStyleHelper.getFont(o))?m:a.font,i=new Font(e.fontFamily.name,e.size*u),r=l.measureString(h,new StiFontGeom(i.fontFamily.name,i.size,i.style,Stimulsoft.System.Drawing.GraphicsUnit.Point));this.drawText(l,h,e,s,t,a.vertAlignment,n,r,u)}if(0<d.width&&0<d.height){let t=a.allowCustomColors?a.positiveColor:r.cellDataBarsPositive,e=a.allowCustomColors?a.negativeColor:r.cellDataBarsNegative,i=S<0?e:t;l.fillEllipse(i,d.x,d.y,d.width,d.height,null)}}static calculateBubbleRect(t,e,i,r,l,n){let o=e.as(IStiHorAlignment);if(null==o)return t;let s=t.height,a=Math.max(Math.abs(r),Math.abs(l)),u=Math.abs(s*i/a);switch(o.horAlignment){case StiHorAlignment.Right:return new Rectangle(t.right-s+(s-u)/2,t.y+(t.height-u)/2,u,u);case StiHorAlignment.Center:return new Rectangle(t.x+(t.width-u)/2,t.y+(t.height-u)/2,u,u);case StiHorAlignment.Left:return new Rectangle(t.x+(s-u)/2,t.y+(t.height-u)/2,u,u)}return t}static indicatorDraw(t,e,i,r,l,n,o){let s,a=this.getCellText(i,l,o),u=null!=(s=StiDashboardStyleHelper.getFont(i))?s:l.font,S=__.t.StiCardsVisual.getFontGeom(u,n),m=t.measureString(a,S).width,h=this.calculateIndicatorRect(e,l,n,m,i.isExporting),c=(this.drawIndicator(t,h,o,r,i.isExporting),this.getColor(l.foreColor,o,r)),d=StiCardsCellDrawer.calculateTextRect(e,l,n,m,i.isExporting),g=new Font(u.fontFamily.name,u.size*n),p=t.measureString(a,new StiFontGeom(g.fontFamily.name,g.size,g.style,Stimulsoft.System.Drawing.GraphicsUnit.Point));this.drawText(t,a,u,c,l.horAlignment,l.vertAlignment,d,p,n)}static calculateTextRect(t,e,i,r,l){let n=this.calculateIndicatorRect(t,e,i,r,l),o=2*n.width;switch(this.getHorAlignment(e)){case StiHorAlignment.Left:return new Rectangle(t.x+o,t.y,t.width-o,t.height);case StiHorAlignment.Right:return new Rectangle(t.x,t.y,t.width-o,t.height);case StiHorAlignment.Center:return new Rectangle(t.x,t.y,t.width,t.height)}return t}static getColor(t,e,i){if(!t.equals(Color.transparent))return t;if(0<e)return i.cellIndicatorPositive;if(e<0)return i.cellIndicatorNegative;return i.cellIndicatorNeutral}static calculateIndicatorRect(e,t,i,r,l){let n=16*i;switch(this.getHorAlignment(t)){case StiHorAlignment.Left:e=new Rectangle(e.x,e.y,n,e.height);break;case StiHorAlignment.Right:e=new Rectangle(e.right-n,e.y,n,e.height);break;case StiHorAlignment.Center:{let t=r+n;e=new Rectangle(e.right-(e.width-t)/2-n,e.y,n,e.height);break}}return e.inflate(-4*i,-4*i),e}static getHorAlignment(t){let e=t.as(IStiHorAlignment);return null!=e?e.horAlignment:StiHorAlignment.Right}static getCellText(t,e,i){if(null==i)return"";return StiTextFormatHelper.formatAsPercentage2(null==t?void 0:t.report,e.textFormat,i)}static drawIndicator(S,m,h,c,t){let d=Math.min(m.width,m.height);if(null==h||0==h)S.fillRectangle(c.cellIndicatorNeutral,new Rectangle(m.x+(m.width-d)/2,m.y+(m.height-4)/2,d,5),null);else{let t=.75*d,e=(m=new Rectangle(m.x+(m.width-d)/2,m.y+(m.height-t)/2,d,t)).width/2,i,r,l,n=(l=0<h?(i=new Point(m.left+e,m.top),r=new Point(m.left,m.bottom),new Point(m.right,m.bottom)):(i=new Point(m.left+e,m.bottom),r=new Point(m.left,m.top),new Point(m.right,m.top)),0<h?c.cellIndicatorPositive:c.cellIndicatorNegative),o=new List,s=new StiLineSegmentGeom(i,r),a=new StiLineSegmentGeom(r,l),u=new StiLineSegmentGeom(l,i);o.add(s),o.add(a),o.add(u),S.fillPath(n,o,m,null)}}static imageDraw(t,e,i){let r=StiImageHelper.getImageBytesFromObject(i);t.drawImage(r,e)}static drawWordWrapText(t,e,i,r,l,n,o,s,a){let u=t.getGenericStringFormat();switch(u.trimming=StringTrimming.None,u.lineAlignment=StringAlignment.Center,l){case StiHorAlignment.Left:u.alignment=StringAlignment.Near;break;case StiHorAlignment.Center:u.alignment=StringAlignment.Center;break;case StiHorAlignment.Right:u.alignment=StringAlignment.Far;break}let S=0,m=(o.width<s.width?o:s).width,h=StiRotationMode.CenterCenter;switch(l){case StiHorAlignment.Left:S=o.x;break;case StiHorAlignment.Center:S=o.x+o.width/2-m/2;break;case StiHorAlignment.Right:S=o.x+o.width-m;break}let c=0;switch(n){case StiVertAlignment.Top:c=o.y;break;case StiVertAlignment.Center:c=o.y+o.height/2-s.height/2;break;case StiVertAlignment.Bottom:c=o.y+o.height-s.height;break}let d=new Rectangle(S,c,m,s.height),g=__.t.StiCardsVisual.getFontGeom(i,a);t.drawRotatedString6(e,g,r,d,u,h,0,!0,o.width)}static drawText(t,e,i,r,l,n,o,s,a){let u=StiStringFormatHelper.getStringFormatGeom(t),S=(u.alignment=StringAlignment.Far,0),m=(o.width<s.width?o:s).width;switch(l){case StiHorAlignment.Left:S=o.x;break;case StiHorAlignment.Center:S=o.x+o.width/2-m/2;break;case StiHorAlignment.Right:S=o.x+o.width-m;break}let h=0;switch(n){case StiVertAlignment.Top:h=o.y;break;case StiVertAlignment.Center:h=o.y+o.height/2-s.height/2;break;case StiVertAlignment.Bottom:h=o.y+o.height-s.height;break}let c=new Rectangle(S,h,m,s.height),d=__.t.StiCardsVisual.getFontGeom(i,a),g=this.getMeasureText(t,e,d,o.width);t.drawString(g,d,r,c,u)}static getMeasureText(i,r,l,n){if(!StiString.isNullOrEmpty(r))for(let e=0;r.length>e;e++){let t=r.substring(0,e);if(n<i.measureString(t,l).width){if(4<t.length)return t.substring(0,t.length-3)+"...";if(1<t.length)return t.substring(0,1)+"..."}}return r}}__.t.StiCardsCellDrawer=StiCardsCellDrawer}let StiInteractionDataGeom=Stimulsoft.Base.Context.StiInteractionDataGeom,StiCardInteractionData=Stimulsoft.Base.Context.StiCardInteractionData,ListExt=Stimulsoft.Data.Extensions.ListExt,StiMeterIdent=__.e.StiMeterIdent,StiContextRoundedRectangleCreator=Stimulsoft.Report.Painters.StiContextRoundedRectangleCreator,StiContextPainter=Stimulsoft.Base.Context.StiContextPainter,StiElementScale=Stimulsoft.Report.Dashboard.Helpers.StiElementScale,StiElementConsts=Stimulsoft.Base.Dashboard.StiElementConsts,StiCardsCellDrawer=__.t.StiCardsCellDrawer,StiPenGeom=Stimulsoft.Base.Context.StiPenGeom,StiCardsColumnVisibilityHelper=Stimulsoft.Report.Dashboard.StiCardsColumnVisibilityHelper,StiCardsElementHelper=__.h.StiCardsElementHelper,StiContext=Stimulsoft.Base.Context.StiContext;{class StiCardsVisual extends __.j.StiVisual{async draw(t,e){this.paintCards(t,e)}paintCards(n,o){let s=n.options.zoom,a=this.dataTable.meters.where(t=>t.is(StiCardsColumn)).cast().toList(),u=StiDashboardStyleHelper.getCardsStyle(this.element),t={},e={},S=this.processColumnsWithTopN(a),m=(this.getCardRectanglesList(a,S,o,s,t,e),t.ref),h=e.ref,c=new List,d=new List;for(let r=0;r<a.length;r++){let t=a[r],e=StiCardsElementHelper.minDataColumnValue(t,S,r),i=StiCardsElementHelper.maxDataColumnValue(t,S,r);c.add(e),d.add(i)}let g,p=1==h.length;for(let e=0;e<S.length;e++){let t=S[e],i=m[e],r=h[e],l=(g||p||!(1<i.right-o.right||1<i.bottom-o.bottom)||(g=!0),1);if(p){let t=this.unionRectangles(r),e=(o.height-this.element.cards.margin.top*s-this.element.cards.margin.bottom*s)/t.height;e<1&&(l=e,r=this.zoomAndMoveUp(r,l),i=new Rectangle(i.x,i.y,i.width,o.height))}this.paintCardItem(n,i,this.element,e,r,a,t,c,d,u,s,l)}if(g){let t=StiElementScale.factor(this.element);this.drawArrowMore(n,o,t)}}static processTopNElements(t,e,i){if(e.mode==StiDataTopNMode.None)return t;let r=new List;for(let e of t){let t=StiValueHelper.tryToNumber(e[i]);r.add({key:t,value:e})}e.mode==StiDataTopNMode.Bottom?r.sort((t,e)=>t.key[Stimulsoft.System.StiObject.stimulsoft]().compareTo(e.key)):r.sort((t,e)=>e.key[Stimulsoft.System.StiObject.stimulsoft]().compareTo(t.key));let l=r.take(e.count).select(t=>t.value).toList();return l}processColumnsWithTopN(t){let r=this.dataTable.rows,l=0;for(let i of t){let t=i.topN,e=StiCardsVisual.processTopNElements(r,t,l);r=e.select(t=>t).toList(),l++}return r}unionRectangles(t){let e=Math.min(...t.map(t=>t.x)),i=Math.min(...t.map(t=>t.y)),r=Math.max(...t.map(t=>t.right)),l=Math.max(...t.map(t=>t.bottom)),n=r-e,o=l-i;return new Rectangle(e,i,n,o)}zoomAndMoveUp(t,l){let n=[];for(let r of t){let t=r.height*l,e=r.y*l,i=new Rectangle(r.x,e,r.width,t);n.push(i)}return n}getCardRectanglesList(l,t,e,n,i,r){let o=new List,s=new List,a=new StiContextPainter,u=new StiContext(a,!0,!1,!1,n),S=0,m=0;for(let r of t){let t={ref:new List},e=StiCardsVisual.measureCards(u,this.element,l,r,t,n),i=t.ref;S=Math.max(S,e.width),m=Math.max(m,e.height),s.add(i)}if(0<this.element.columnCount&&this.element.orientation==Stimulsoft.Report.Dashboard.StiItemOrientation.Horizontal?S=e.width/this.element.columnCount:0<this.element.columnCount&&this.element.orientation==Stimulsoft.Report.Dashboard.StiItemOrientation.Vertical&&(m=e.height/this.element.columnCount),0==this.element.columnCount&&this.element.orientation==Stimulsoft.Report.Dashboard.StiItemOrientation.Horizontal&&(S=Math.max(S,e.width/t.length)),l.any(t=>t.wordWrap)){s.clear();for(let r of t){let t={ref:new List},e=S-this.element.cards.margin.left*n-this.element.cards.margin.right*n-this.element.cards.padding.left*n-this.element.cards.padding.right*n,i=StiCardsVisual.measureCards2(u,this.element,l,r,t,n,e);m=Math.max(m,i.height),s.add(t.ref)}}o=this.element.orientation==Stimulsoft.Report.Dashboard.StiItemOrientation.Horizontal?this.getRectanglesHorizontalOrientation(t,e,S,m):this.getRectanglesVerticalOrientation(t,e,S,m),i.ref=o,r.ref=s}getRectanglesHorizontalOrientation(e,i,r,l){let n=new List,o=Math.floor(i.width/r),s=(0==o&&(o=1),r=i.width/o,i.x),a=i.y,u=0;for(let t=0;t<e.length;t++){let t=new Rectangle(s,a,r,l);n.add(t),s+=t.width,++u>=o&&(s=i.x,a+=t.height,u=0)}return n}getRectanglesVerticalOrientation(e,i,r,l){let n=new List,o=Math.floor(i.height/l),s=(1<o&&(l=i.height/o),i.x),a=i.y,u=0;for(let t=0;t<e.length;t++){let t=new Rectangle(s,a,r,l);n.add(t),a+=t.height,++u>=o&&(a=i.y,s+=t.width,u=0)}return n}getContentRectangle(t){if(null==this.dataTable||this.dataTable.rows.length<=1)return t;let e=this.dataTable.meters.where(t=>t.is(StiCardsColumn)).cast().toList(),i=this.processColumnsWithTopN(e),r={},l={},n=(this.getCardRectanglesList(e,i,t,1,r,l),r.ref),o=Rectangle.empty;for(let t of n)o=Rectangle.union(t,o);return o}paintCardItem(g,p,b,e,n,C,f,w,y,M,I,T){let i=new Rectangle(p.x+b.cards.margin.left*I,p.y+b.cards.margin.top*I,p.width-b.cards.margin.left*I-b.cards.margin.right*I,p.height-b.cards.margin.top*I-b.cards.margin.bottom*I);if(g.pushClip(i),null==b.cards.cornerRadius||b.cards.cornerRadius.isEmpty)g.fillRectangle(this.getColor(e),i,null);else{let t=StiContextRoundedRectangleCreator.create(i,b.cards.cornerRadius,I);g.fillPath(this.getColor(e),t,i,null)}let r=new List,l=new List;for(let e=0;e<C.length;e++){let t=C[e];l.add(e),!t.wrapLine&&e!=C.length-1||(r.add(l),l=new List)}let x=new List;for(let l of r){let r=(p.width-b.cards.margin.left*I-b.cards.margin.right*I-b.cards.padding.left*I-b.cards.padding.right*I)/l.length;for(let i=0;i<l.length;++i){let t=l[i],e=n[t];x.add(new Rectangle(r*i,e.y,r,e.height))}}for(let d=0;d<f.length;d++){let n=C[d],t=StiCardsColumnVisibilityHelper.getVisible(n,b.report);if(!t)continue;let o=f[d],e=w[d],i=y[d],s=StiCardsVisual.getForeColor(b,C[d],M),r=StiDashboardStyleHelper.getFont(b),a=null!=r?r:n.font,l=x[d],u=p.x+b.cards.margin.left*I+b.cards.padding.left*I+l.x,S=p.y+b.cards.margin.top*I+b.cards.padding.top*I+l.y,m=l.width,h=l.height-b.cards.padding.top*I-b.cards.padding.bottom*I,c=new Rectangle(u,S,m,h);if(!this.element.isDesigning){let t=Color.transparent,e=StiDashboardStyleHelper.getHotBackColor(this.element);g.fillRectangle3(new StiSolidBrush(t),new StiSolidBrush(e),c,this.getInteractionDataGeom(o?o.toString():"",n,d))}if(n.is2(StiDataBarsCardsColumn)){let t=n.as(StiDataBarsCardsColumn);StiCardsCellDrawer.dataBarsDraw(g,c,b,M,s,t,I,StiValueHelper.tryToNumber(o),e,i)}else if(n.is2(StiColorScaleCardsColumn)){let t=n.as(StiColorScaleCardsColumn);StiCardsCellDrawer.colorScaleDraw(g,c,b,M,s,t,I,StiValueHelper.tryToNumber(o),e,i)}else if(n.is2(StiSparklinesCardsColumn)){let t=n.as(StiSparklinesCardsColumn);StiCardsCellDrawer.sparklinesDraw(g,c,t,o,M)}else if(n.is2(StiBubbleCardsColumn)){let t=n.as(StiBubbleCardsColumn);StiCardsCellDrawer.bubbleDraw(g,c,b,M,s,t,I,StiValueHelper.tryToNumber(o),e,i)}else if(n.is2(StiIndicatorCardsColumn)){let t=n.as(StiIndicatorCardsColumn);StiCardsCellDrawer.indicatorDraw(g,c,b,M,t,I,StiValueHelper.tryToNullableNumber(o))}else{let l=StiImageHelper.getImageFromObject(o);if(null!=l&&null!=l.height){let t=c.height/l.height,e=l.width*t,i=0;switch(n.horAlignment){case StiHorAlignment.Left:i=c.x;break;case StiHorAlignment.Center:i=c.x+(c.width-e)/2;break;case StiHorAlignment.Right:i=c.x+c.width-e;break}let r=new Rectangle(i,c.y,e,c.height);StiCardsCellDrawer.imageDraw(g,r,o)}else{let t=this.processRowValue(o,n),i=StiTextFormatHelper.formatBasedOnColumnType2(b,n.textFormat,n,t),e=n.as(IStiWordWrap),r=new StiFontGeom(a.fontFamily.name,a.size*T,a.style,Stimulsoft.System.Drawing.GraphicsUnit.Point);if(null!=e&&e.wordWrap){let t=g.getGenericStringFormat(),e=(t.trimming=StringTrimming.None,t.alignment=StringAlignment.Center,t.lineAlignment=StringAlignment.Center,g.measureString2(i,r,c.width,t));StiCardsCellDrawer.drawWordWrapText(g,i,a,s,n.horAlignment,n.vertAlignment,c,e,I*T)}else{let t=g.measureString(i,r);StiCardsCellDrawer.drawText(g,i,a,s,n.horAlignment,n.vertAlignment,c,t,I*T)}}}}g.popClip();let o=new StiPenGeom(M.lineColor,1);if(null==b.cards.cornerRadius||b.cards.cornerRadius.isEmpty)g.drawRectangle(o,i);else{let t=StiContextRoundedRectangleCreator.create(i,b.cards.cornerRadius,I);g.drawPath(o,t,i)}}processRowValue(t,e){let i,r=e.ident==StiMeterIdent.SparklinesColumn;return t=ListExt.isList(t)?r?ListExt.toList(t):null==(i=ListExt.toList(t))?void 0:i.firstOrDefault():t}static measureItem(l,n,o,s,a,u){let S;if(o.is2(StiDataBarsCardsColumn)||o.is2(StiColorScaleCardsColumn))S=this.measureDataBarsCell(l,n,o,s,a);else if(o.is2(StiSparklinesCardsColumn)){let t=o.as(StiSparklinesCardsColumn);S=this.measureSparklinesCell(t,a)}else if(o.is2(StiIndicatorCardsColumn)){let t=o.as(StiIndicatorCardsColumn);S=this.measureIndicatorCell(l,n,t,s,a)}else if(o.is2(StiBubbleCardsColumn)){let t=o.as(StiBubbleCardsColumn);S=this.measureBubbleCell(l,n,t,s,a)}else if(StiImageHelper.isImage(s)){let t=StiImageHelper.getImageFromObject(s),e=50*a,i=e/t.height,r=t.width*i;S=new Size(r,e)}else{let e=StiTextFormatHelper.formatBasedOnColumnType2(n,o.textFormat,o,s),t=StiDashboardStyleHelper.getFont(n),i=this.getFontGeom(null!=t?t:o.font,a),r=o.as(IStiWordWrap);if(null!=r&&r.wordWrap){let t=l.getGenericStringFormat();S=l.measureString2(e,i,u,t),S=new Size(u,S.height)}else S=l.measureString(e,i)}let t=Math.max(S.height,o.height*a);return new Size(S.width,t)}static measureCards(t,e,i,r,l,n){return this.measureCards2(t,e,i,r,l,n,0)}static measureCards2(l,a,n,o,t,u,s){let S=t.ref,e=0,m=0,i=new List,r=new List;for(let e=0;e<o.length;e++){let t=n[e];r.add(e),!t.wrapLine&&e!=o.length-1||(i.add(r),r=new List)}let h=new List;for(let r=0;r<o.length;r++){let t=n[r],e=o[r],i=StiCardsColumnVisibilityHelper.getVisible(t,a.report);i||h.add(Size.empty),h.add(this.measureItem(l,a,t,e,u,s))}for(let t=0;t<i.length;t++){let l=i[t],r=0,n=0;for(let i=0;i<l.length;i++){let t=l[i],e=h[t];r=Math.max(e.height,r),n+=e.width}let o=new Size(n,r),s=0;for(let r=0;r<l.length;r++){let t=l[r],e=h[t],i=new Rectangle(s,m,e.width+a.cards.padding.left*u+a.cards.padding.right*u,o.height+a.cards.padding.top*u+a.cards.padding.bottom*u);s+=e.width,S.add(i)}e=Math.max(e,o.width+a.cards.padding.left*u+a.cards.padding.right*u),m+=o.height}return t.ref=S,new Size(e,m+a.cards.padding.top*u+a.cards.padding.bottom*u+a.cards.margin.top*u+a.cards.margin.bottom*u)}static measureDataBarsCell(t,e,i,r,l){let n=StiCardsCellDrawer.getCellText(e,i,StiValueHelper.tryToNullableNumber(r)),o=StiDashboardStyleHelper.getFont(e),s=this.getFontGeom(null!=o?o:i.font,l),a=t.measureString(n,s);return new Size(a.width,1.5*a.height)}static measureSparklinesCell(t,e){let i=0==t.height?20:t.height;return new Size(0,i*e)}static measureIndicatorCell(t,e,i,r,l){let n=i.as(StiIndicatorCardsColumn),o=StiCardsCellDrawer.getCellText(e,n,StiValueHelper.tryToNullableNumber(r)),s=StiDashboardStyleHelper.getFont(e),a=this.getFontGeom(null!=s?s:i.font,l),u=t.measureString(o,a);return new Size(u.width,1.5*u.height)}static measureBubbleCell(t,e,i,r,l){let n=StiTextFormatHelper.formatBasedOnColumnType2(e,i.textFormat,i,r),o=StiDashboardStyleHelper.getFont(e),s=this.getFontGeom(null!=o?o:i.font,l),a=t.measureString(n,s);return a.width+=4,a=new Size(a.width+a.height,1.5*a.height)}static getForeColor(t,e,i){if(!e.foreColor.equals(Color.transparent))return e.foreColor;let r=StiDashboardStyleHelper.getForeColor(t);if(!r.equals(Color.transparent))return r;if(null!=i)return i.cellForeColor;return StiElementConsts.Table.Font.Color}static getFontGeom(t,e){let i=StiFontGeom.changeFontSize(t,t.size*e);return i}getColor(t){return this.element.cards.colorEach?this.getStyleColor(t):this.style.cellBackColor}getStyleColor(t){let e=(null!=this.element.seriesColors&&0<this.element.seriesColors.length?this.element:StiDashboardStyleHelper.getCardsStyle(this.element)).seriesColors;return e[t%=e.length]}getInteractionDataGeom(t,e,i){if(this.element.isDesigning)return null;let r=new StiCardInteractionData,l=(r.valueText=t,new StiInteractionDataGeom);return l.interactionToolTip=this.getToolTip(e),l.interactionHyperlink=this.getHyperlink(e),l.interactionData=r,l.elementIndex=i.toString(),l}getToolTip(t){let e=this.getConstants(),i=this.getInteraction(t);return StiReportParser.parse(null==i?void 0:i.toolTip,this.element,!1,e)}getHyperlink(t){let e=this.getConstants(),i=this.getInteraction(t);return StiReportParser.parse(null==i?void 0:i.hyperlink,this.element,!1,e)}getInteraction(t){return null==t?void 0:t.dashboardInteraction.as(StiCardsColumnDashboardInteraction)}getConstants(){return null}constructor(t,e){super(),this.element=t,this.dataTable=e,this.style=StiDashboardStyleHelper.getCardsStyle(this.element)}}__.t.StiCardsVisual=StiCardsVisual}let StiCardsVisual=__.t.StiCardsVisual,IStiCardsVisualSvgHelper=Stimulsoft.Report.Dashboard.Visuals.IStiCardsVisualSvgHelper,IStiManuallyEnteredData=Stimulsoft.Report.Dashboard.IStiManuallyEnteredData,StiContextSvgHelper=Stimulsoft.Report.Export.Services.Helpers.StiContextSvgHelper;{class kxa{implements(){let t=[IStiCardsVisualSvgHelper];return(this.implements=()=>t)()}async writeCards(t,e,i,r,l){let n=new Rectangle(0,0,e.width,e.height),o=e.component.as(__.F.StiCardsElement),s=await kxa.getDataTable(o);if(null==s)return;let a=new StiContextPainter,u=new StiContext(a,!0,!1,!1,1),S=new StiCardsVisual(o,s);if(i&&(i.needToVertScroll||i.needToHorScroll)){let t=S.getContentRectangle(n);i.needToVertScroll=t.height>n.height+5,i.needToHorScroll=t.width>n.width+5,i.needToVertScroll&&(n.width-=15,t=S.getContentRectangle(n),n=t,i.needToHorScroll||(n.height+=10),r.ref=Stimulsoft.System.Convert.toInt32(n.height)),i.needToHorScroll&&(n.height-=15,t=S.getContentRectangle(n),n=t,i.needToVertScroll||(n.height+=10),l.ref=Stimulsoft.System.Convert.toInt32(n.width))}await S.draw(u,n.clone()),t.writeStartElement("g");let m=i&&(i.needToVertScroll||i.needToHorScroll)?0:e.x,h=i&&(i.needToVertScroll||i.needToHorScroll)?0:e.y;t.writeAttributeString("transform",`translate(${m},${h})`),StiContextSvgHelper.writeGeoms(t,u,!1),t.writeEndElement()}static async getDataTable(t){let e,i=null==(e=t.as(IStiManuallyEnteredData))?void 0:e.getManuallyEnteredDataTable();if(null!=i)return i;return StiElementDataCache.tryToGetOrCreate(t)}}__.h.StiCardsVisualSvgHelper=kxa}{class StiElementLocationHelper{static getSumRectangle(e){let i=new Rectangle(0,0,0,0);for(let t of e)t.right>i.right&&(i=new Rectangle(i.x,i.y,t.right-i.x,i.height)),t.bottom>i.bottom&&(i=new Rectangle(i.x,i.y,i.width,t.bottom-i.y));return i}static getLocationRectangles(e,i,t){if(1==i)return new List([e.clone()]);let r=e.toString()+" "+i.toString();if(this.hashLocations.contains(r))return this.hashLocations.get(r);let l=this.getSimpleRect(e.clone(),i,t),n=this.getSimpleRect(new Rectangle(e.x,e.y,e.height,e.width),i,t),o=l.width*l.height,s=n.width*n.height,a=(o<s&&(l=new Rectangle(n.x,n.y,n.height,n.width)),new List),u=l.x,S=l.y;for(let t=0;t<i;t++){let t=new Rectangle(u,S,l.width,l.height);a.add(t),u=Math.floor(t.right+t.width)<=e.right?t.right:(S=t.bottom,e.x)}this.hashLocations.add(r,a);let m=this.getSumRectangle(a),h=m.toString()+" "+i.toString();return this.hashLocations.contains(h)||this.hashLocations.add(h,a),a}static getMinRectangle(t,e){let i=t.width*t.height/e,r=t;while(r.width*r.height>i||r.isEmpty)r=r.width>r.height?new Rectangle(r.x,r.y,r.width/2,r.height):new Rectangle(r.x,r.y,r.width,r.height/2);return r}static prepareColumnRow(e,i,r,l,n){e.ref=1,i.ref=1;let o=l.x,s=l.y;for(let t=0;t<n-1;t++){let t=new Rectangle(o,s,l.width,l.height);o=t.right+t.width<=r.right?(1==i.ref&&e.ref++,t.right):(i.ref++,s=t.bottom,r.x)}}static getUsingRect(e,i,r){let l=i,n=i.x,o=i.y,s=i.width,a=i.height;for(let t=0;t<r;t++){let t=new Rectangle(n,o,i.width,i.height);s<t.right-e.x&&(s=t.right-e.x),a<t.bottom-e.y&&(a=t.bottom-e.y),l=new Rectangle(e.x,e.y,s,a),n=t.right+t.width<=e.right?t.right:(o=t.bottom,e.x)}return l}static checkMinRect(t,e){let i=StiElementScale.factor(e);return t.width<80*i&&(t.width=80*i),t.height<50*i&&(t.height=50*i),t}static getSimpleRect(t,e,i){let r=this.getMinRectangle(t.clone(),e),l=(r=this.checkMinRect(r,i),{ref:0}),n={ref:0},o=(this.prepareColumnRow(l,n,t.clone(),r,e),this.getUsingRect(t.clone(),r,e));return o.width<t.width&&(r=new Rectangle(t.x,t.y,r.width+(t.width-o.width)/l.ref,r.height)),r=o.height<t.height?new Rectangle(t.x,t.y,r.width,r.height+(t.height-o.height)/n.ref):r}}StiElementLocationHelper.hashLocations=new Hashtable,__.h.StiElementLocationHelper=StiElementLocationHelper}let StiGaugeInteractionData=Stimulsoft.Base.Context.StiGaugeInteractionData,StiRadialTickLabelCustomValue=Stimulsoft.Report.Components.Gauge.StiRadialTickLabelCustomValue,StiLinearTickLabelCustomValue=Stimulsoft.Report.Components.Gauge.StiLinearTickLabelCustomValue,Orientation=Stimulsoft.System.Drawing.Orientation,StiGaugeSvgHelper=Stimulsoft.Report.Export.StiGaugeSvgHelper,Graphics=Stimulsoft.System.Drawing.Graphics,StiSvgData=Stimulsoft.Report.Export.StiSvgData,IStiGaugeVisualSvgHelper=Stimulsoft.Report.Dashboard.Visuals.IStiGaugeVisualSvgHelper;{class StiGaugeVisualSvgHelper{implements(){let t=[IStiGaugeVisualSvgHelper];return(this.implements=()=>t)()}async writeGauge(n,t,o,e,i){let r=new Rectangle(t.x,t.y,t.width,t.height),s=t.component,a=await StiGaugeVisualSvgHelper.getDataTable(s);if(null==a)return;let l=new Size(t.width,t.height),u=(new __.i.StiGaugeElementBuilder).render2(s,l,a),S=__.h.StiElementLocationHelper.getLocationRectangles(r.clone(),(await u()).count2(),s);if(null==(u=1<(await u()).count2()?(new __.i.StiGaugeElementBuilder).render2(s,new Size(S[0].width,S[0].height),a):u)||!(await u()).any())return;let m=await StiGaugeVisualSvgHelper.getTitleHeight(null,u,r.clone(),s,null),h=null!=m?m:0,c=StiDashboardStyleHelper.getElementFontFromStyle(s),d=S[0].clone(),g=await StiGaugeVisualSvgHelper.getTitleMinFontSize(null,u,c,d.width,d.height),p=(g<s.font.size&&(m=await StiGaugeVisualSvgHelper.getTitleHeight(null,u,r.clone(),s,g),h=null!=m?m:0),0);if(e&&e.needToVertScroll){let t=__.h.StiElementLocationHelper.getSumRectangle(S);e.needToVertScroll=t.height>r.height+r.top+5,e.needToVertScroll&&(r.width-=15,S=__.h.StiElementLocationHelper.getLocationRectangles(r.clone(),(await u()).count2(),s),u=(new __.i.StiGaugeElementBuilder).render2(s,new Size(S[0].width,S[0].height),a),r=__.h.StiElementLocationHelper.getSumRectangle(S),i.ref=Stimulsoft.System.Convert.toInt32(r.height),h=0)}for(let l of await u()){let e=S[p].clone();if(null!=m){let t=new Rectangle(e.x,e.y,e.width,h);this.paintTitle(s,null,n,t,l.series,g)}let i=new StiSvgData;if(i.x=e.x/2,i.y=(e.y+h)/2,i.width=e.width,i.height=e.height-h,i.component=l.gauge,this.isEmptyData(s,a)&&!s["isSampleForStyles"]){let t=this.getEmptyDataGauge(s);null!=t&&(i.component=t)}let t=this.getInteractionDataGeom(s,l),r=new StiSolidBrush(StiDashboardStyleHelper.getHotBackColor(s));StiGaugeSvgHelper.writeGauge(n,i,1,o,s["isSampleForStyles"],!1,t,r),s.previousAnimations=i.component.previousAnimations,p++}}paintTitle(l,t,n,o,s,a){if(StiString.isNullOrEmpty(s))return;let e=StiDashboardStyleHelper.getElementFontFromStyle(l),u=StiFontUtils.changeFontSize(e,a),i=__.h.StiTitleMeasureHelper.measureTitle4(t,o.clone(),e,s),S=new Rectangle(o.x,o.y,o.width,i.height);if(!StiString.isNullOrWhiteSpace(s)){let t=StiDashboardExpressionHelper.getForeColor(l,l.foreColor),e=Color.transparent.equals(t)?StiDashboardStyleHelper.getForeColor(l):t,i=Graphics.measureString(s,u),r=new Point(S.x+o.width/2-.39*i.width,S.y+i.height/2);StiGaugeSvgHelper.writeText(n,s,u,new StiSolidBrush(e),r,a)}o.y+=S.height,o.height-=S.height}static async getTitleMinFontSize(i,t,r,e,l){let n=null,o=new Rectangle(0,0,e,l);for(let e of await t()){let t=__.h.StiAutoSizeTextHelper.measureFontSize(i,e.series,o,r);n=null==n?t:Math.min(n,t)}return n}static async getTitleHeight(t,e,i,r,l){let n=(await e()).firstOrDefault(t=>!StiString.isNullOrEmpty(t.series));if(null==n)return null;let o=StiDashboardStyleHelper.getElementFontFromStyle(r),s=o,a=(null!=l&&(s=new Font(s.name,l,s.style)),__.h.StiTitleMeasureHelper.measureTitle4(t,i.clone(),s,n.series).height);if(a>i.height/2)return null;return a}getInteractionDataGeom(t,e){if(t.isDesigning)return null;let i=new StiGaugeInteractionData,r=(i.value=e.value,i.seriesText=e.series,i.target=e.target,new StiInteractionDataGeom);return r.interactionToolTip=this.getToolTip(t,i),r.interactionHyperlink=this.getHyperlink(t,i),r.interactionData=i,r}getToolTip(t,e){let i,r=null==(i=t.dashboardInteraction)?void 0:i.toolTip;return StiString.isNullOrEmpty(r)?r:this.parseConstants(t,r,e)}getHyperlink(t,e){let i,r=null==(i=t.dashboardInteraction)?void 0:i.hyperlink;return StiString.isNullOrEmpty(r)?r:this.parseConstants(t,r,e)}parseConstants(e,i,r){if(!StiString.isNullOrEmpty(i)){let t=new Hashtable;return t.set("Value",r.value),t.set("Series",r.seriesText),t.set("Target",r.target),StiReportParser.parse(i,e,!1,t)}return i}isEmptyData(t,e){return null!=e&&e.isEmpty&&t.isQuerable}static async getDataTable(t){let e,i=null==(e=t.as(IStiManuallyEnteredData))?void 0:e.getManuallyEnteredDataTable();if(null!=i)return i;return StiElementDataCache.tryToGetOrCreate(t)}getEmptyDataGauge(t){switch(t.type){case StiGaugeType.FullCircular:return this.getFullCircularEmptyDataGauge(t);case StiGaugeType.HalfCircular:return this.getHalfCircularEmptyDataGauge(t);case StiGaugeType.Linear:return this.getLinearEmptyDataGauge(t);case StiGaugeType.HorizontalLinear:return this.getHorizontalLinearEmptyDataGauge(t);case StiGaugeType.Bullet:return this.getBulletEmptyDataGauge(t)}return null}getBulletEmptyDataGauge(t){let e=StiDashboardStyleHelper.getDataEmptyColor(t),i=StiDashboardStyleHelper.getDataEmptyForeColor(t),r=new StiGauge,l=new StiLinearScale,n=(l.allowApplyStyle=!1,l.relativeHeight=.85,l.orientation=Orientation.Horizontal,l.startWidth=.1,l.endWidth=.1,l.maximum=1,l.majorInterval=1,l.borderBrush=new StiEmptyBrush,l.brush=new StiSolidBrush(e),new StiLinearTickLabelMajor);if(n.allowApplyStyle=!1,n.textBrush=new StiSolidBrush(i),l.items.add(n),t.showBlanks){let t=new StiLinearTickLabelCustom;t.offset=.1,t.font=new Font("Arial",14),t.textBrush=new StiSolidBrush(i),t.placement=StiPlacement.Inside,t.textObj=StiLocalization.get("Dashboard","Blank"),t.values.add(new StiLinearTickLabelCustomValue(.5,StiLocalization.get("Dashboard","Blank"))),l.items.add(t)}return r.scales.add(l),r}getHorizontalLinearEmptyDataGauge(t){let e=StiDashboardStyleHelper.getDataEmptyColor(t),i=StiDashboardStyleHelper.getDataEmptyForeColor(t),r=new StiGauge,l=new StiLinearScale,n=(l.allowApplyStyle=!1,l.relativeHeight=.92,l.orientation=Orientation.Horizontal,l.startWidth=.1,l.endWidth=.1,l.maximum=1,l.majorInterval=1,l.borderBrush=new StiEmptyBrush,l.brush=new StiSolidBrush(e),new StiLinearTickLabelMajor);if(n.allowApplyStyle=!1,n.textBrush=new StiSolidBrush(i),l.items.add(n),t.showBlanks){let t=new StiLinearTickLabelCustom;t.offset=.1,t.font=new Font("Arial",14),t.textBrush=new StiSolidBrush(i),t.placement=StiPlacement.Inside,t.textObj=StiLocalization.get("Dashboard","Blank"),t.values.add(new StiLinearTickLabelCustomValue(.5,StiLocalization.get("Dashboard","Blank"))),l.items.add(t)}return r.scales.add(l),r}getLinearEmptyDataGauge(t){let e=StiDashboardStyleHelper.getDataEmptyColor(t),i=StiDashboardStyleHelper.getDataEmptyForeColor(t),r=new StiGauge,l=new StiLinearScale,n=(l.allowApplyStyle=!1,l.relativeHeight=.84,l.orientation=Orientation.Vertical,l.startWidth=.1,l.endWidth=.1,l.maximum=1,l.majorInterval=1,l.borderBrush=new StiEmptyBrush,l.brush=new StiSolidBrush(e),new StiLinearTickLabelMajor);if(n.allowApplyStyle=!1,n.textBrush=new StiSolidBrush(i),l.items.add(n),t.showBlanks){let t=new StiLinearTickLabelCustom;t.font=new Font("Arial",14),t.textBrush=new StiSolidBrush(i),t.placement=StiPlacement.Overlay,t.textObj=StiLocalization.get("Dashboard","Blank"),t.values.add(new StiLinearTickLabelCustomValue(.5,StiLocalization.get("Dashboard","Blank"))),l.items.add(t)}return r.scales.add(l),r}getHalfCircularEmptyDataGauge(t){let e=StiDashboardStyleHelper.getDataEmptyColor(t),i=StiDashboardStyleHelper.getDataEmptyForeColor(t),r=new StiGauge,l=new StiRadialScale,n=(l.allowApplyStyle=!1,l.startAngle=180,l.sweepAngle=180,l.startWidth=.13,l.endWidth=.13,l.minimum=0,l.maximum=1,l.radius=.92,l.majorInterval=1,l.center=new Point(.5,.7),l.borderBrush=new StiEmptyBrush,l.brush=new StiSolidBrush(e),new StiRadialTickLabelMajor);if(n.allowApplyStyle=!1,n.textBrush=new StiSolidBrush(i),l.items.add(n),t.showBlanks){let t=new StiRadialTickLabelCustom;t.offset=.8,t.font=new Font("Arial",14),t.textBrush=new StiSolidBrush(i),t.placement=StiPlacement.Overlay,t.values.add(new StiRadialTickLabelCustomValue(.5,StiLocalization.get("Dashboard","Blank"))),l.items.add(t)}return r.scales.add(l),r}getFullCircularEmptyDataGauge(t){let e=StiDashboardStyleHelper.getDataEmptyColor(t),i=StiDashboardStyleHelper.getDataEmptyForeColor(t),r=new StiGauge,l=new StiRadialScale,n=(l.allowApplyStyle=!1,l.startAngle=120,l.sweepAngle=300,l.startWidth=.13,l.endWidth=.13,l.minimum=0,l.maximum=1,l.majorInterval=1,l.borderBrush=new StiEmptyBrush,l.brush=new StiSolidBrush(e),new StiRadialTickLabelMajor);if(n.allowApplyStyle=!1,n.textBrush=new StiSolidBrush(i),l.items.add(n),r.scales.add(l),t.showBlanks){let t=new StiRadialTickLabelCustom;t.offset=.8,t.font=new Font("Arial",14),t.textBrush=new StiSolidBrush(i),t.placement=StiPlacement.Overlay,t.values.add(new StiRadialTickLabelCustomValue(.5,StiLocalization.get("Dashboard","Blank"))),l.items.add(t)}return r.scales.add(l),r}}__.h.StiGaugeVisualSvgHelper=StiGaugeVisualSvgHelper}__.u.StiIndicatorIteration=class{constructor(t,e,i){this.series=t,this.value=e,this.target=i}};let StiDataSortDirection=Stimulsoft.Data.Engine.StiDataSortDirection,StiDataSortVariation=Stimulsoft.Data.Engine.StiDataSortVariation,StiIndicatorIteration=__.u.StiIndicatorIteration;{class StiIndicatorElementBuilder extends __.i.StiElementBuilder{async render(o,s){this.storedCulture=StiCultureHelper.set(o.report);try{let e=this.getValueMeterIndex(s),i=this.getTargetMeterIndex(s),r=this.getSeriesMeterIndex(s),t=this.getSeriesKeys(s,r,this.getSeriesKeysLimitCount(o)),l=t.count2(),n=t.select(t=>new StiIndicatorIteration(this.getSeries(s,r,t,o.report),this.getValue(s,e,r,l,t),this.getNullableValue(s,i,r,l,t)));return n=StiIndicatorElementBuilder.processVariationSort(o,n),await StiIndicatorElementBuilder.processTopNElements(o,n)}finally{__.h.StiCultureHelper.restore(this.storedCulture)}}static processVariationSort(t,e){let i=t.userSorts;return e=null!=i&&i.any(t=>t.key==StiDataSortVariation.ident)?i.firstOrDefault().direction==StiDataSortDirection.Ascending?e.orderBy(t=>0!=t.target?t.value/t.target:0):e.orderByDescending(t=>0!=t.target?t.value/t.target:0):e}static async processTopNElements(l,n){if(l.topN.mode==StiDataTopNMode.None)return n;let o=(n=l.topN.mode==StiDataTopNMode.Bottom?n.orderBy(t=>t.value):n.orderByDescending(t=>t.value)).take(l.topN.count);if(n.count2()>l.topN.count&&l.topN.showOthers){let t=n.skip(l.topN.count).sum(t=>StiValueHelper.tryToNumber(t.value)),e=n.skip(l.topN.count),i=e.all(t=>null!=t?null==t.target:null)?null:e.sum(t=>StiValueHelper.tryToNullableNumber(t.target)),r=StiString.isNullOrEmpty(l.topN.othersText)?Loc.get("FormDesigner","Others"):await StiReportParser.parseAsync(l.topN.othersText,l);o.add(new StiIndicatorIteration(r,t,i))}return o}getValueMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiValueIndicatorMeter));return null!=e?t.meters.indexOf(e):-1}getTargetMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiTargetIndicatorMeter));return null!=e?t.meters.indexOf(e):-1}getSeriesMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiSeriesIndicatorMeter));return null!=e?t.meters.indexOf(e):-1}}__.i.StiIndicatorElementBuilder=StiIndicatorElementBuilder}let StiNegativeColorChecker=Stimulsoft.Report.Components.TextFormats.StiNegativeColorChecker,GraphicsUnit=Stimulsoft.System.Drawing.GraphicsUnit,StiIndicatorInteractionData=Stimulsoft.Base.Context.StiIndicatorInteractionData,StiIndicatorElement=(__.u.StiIndicatorVisual=class extends __.j.StiVisual{async draw(t,e){let i=.06*e.width,r=(12<(i=i<4?4:i)&&(i=12),new Rectangle(e.x+i/2,e.y+i/2,e.width-i,e.height-i));try{t.pushClip(e),1==this.iterations.length?await this.drawSingleMode(t,e,r):0<this.iterations.length&&await this.drawMultiMode(t,r),t.popClip()}finally{}}getContentRectangle(e){if(1<this.iterations.length){let t=e.height/this.iterations.length;return t<this.minSide&&(t=this.minSide),new Rectangle(e.x,e.y,e.width,t*this.iterations.length)}return e}async drawSingleMode(s,e,t){if(0==this.iterations.length)return;let i=null!=this.iterations[0].target,r=null,a=null,l=null,n={ref:r},o={ref:a},u={ref:l},S=this.getDisplayText(this.iterations[0]),m=(this.getRectanglesSingleMode(s,S,t,n,o,u),r=n.ref,a=o.ref,l=u.ref,StiDashboardStyleHelper.getElementFontFromStyle(this.element)),h=this.processFontName(m.fontFamily.name,this.iterations[0]),c=this.processFontStyle(m,this.iterations[0]),d=new Font(h,8,c),g=null;if(null==this.element.series)g=this.element.icon;else{let t=await this.calculateDeltaIconList(this.iterations[0].value,this.iterations[0].value);g=t[0]}null==g&&(g=StiFontIcons.CircleCross);let p=this.processBackColor(this.iterations[0]),b=this.processForeColor(this.iterations[0]),C=this.processGlyphColor(this.iterations[0]),f=this.processIcon(g,this.iterations[0]),w=this.processIconAlignment(this.iterations[0]),y=this.processCustomIcon(this.iterations[0]);if(null!=p&&s.fillRectangle(p,e,null),!this.element.report.isDesigning){let t=StiDashboardStyleHelper.getHotBackColor(this.element);null==p&&(p=Color.transparent),s.fillRectangle3(p,t,e,this.getInteractionDataGeom(this.iterations[0]))}let M=b;if(this.iterations[0].value<0&&StiNegativeColorChecker.isNegativeInRed(this.element.textFormat)&&(M=Stimulsoft.StiOptions.Engine.negativeColor),this.drawTextIcon(s,S,d,StiFontIconsHelper.getContent(f),M,C,r,w,y),i){let t=this.getVariation(this.iterations[0]),e=StiDashboardStyleHelper.getIndicatorStyle(this.element),i=0<=t?e.positiveColor:e.negativeColor,r=(i=this.processTargetIconColor(i,this.iterations[0]),0<=t?StiFontIcons.ArrowUp:StiFontIcons.ArrowDown),l=(r=this.processTargetIcon(r,this.iterations[0]),StiTextFormatHelper.formatAsPercentage2(this.element.report,this.element.targetFormat,t)),n=0==t?StiIconAlignment.None:StiIconAlignment.Right,o=this.processTargetIconAlignment(n,this.iterations[0]);this.drawTextIcon(s,l,d,StiFontIconsHelper.getContent(r),i,i,a,o,null)}let I=null,T={ref:I};if(this.measureFontSize(s,l,this.iterations[0].series,T),null!=(I=.88*T.ref)&&0<I){let t=new Font(h,I,c),e=StiFontGeom.create(t);s.drawRotatedString5(this.iterations[0].series,e,b,l,StiStringFormatHelper.getStringFormatGeom(s),StiRotationMode.CenterCenter,0,!0)}}getVariation(t){let e=t.value,i=StiValueHelper.tryToNumber(t.target),r=0;if(0!=i)switch(this.element.targetMode){case StiTargetMode.Variation:r=e/i-1,i<0&&(r=-r);break;case StiTargetMode.Percentage:r=e/i;break}return r}getFactorByFontSize(i,r,l,n){switch(l.fontSizeMode){case StiFontSizeMode.Auto:return.7;case StiFontSizeMode.Value:case StiFontSizeMode.Target:{let t=StiDashboardStyleHelper.getElementFontFromStyle(l),e=i.measureString(r,StiFontGeom.create(t));return e.height/n.height}}return 0}getRectanglesSingleMode(t,e,i,r,l,n){let o=this.iterations[0].target,s=null!=o,a=!StiString.isNullOrEmpty(this.iterations[0].series),u=.7,S=(1-u)/2,m=1-S-u,h=i.y;!a&&s?(this.element.fontSizeMode==StiFontSizeMode.Value?(u=this.getFactorByFontSize(t,e,this.element,i),S=1-u):this.element.fontSizeMode==StiFontSizeMode.Target&&(S=this.getFactorByFontSize(t,e,this.element,i),u=1-S),m=0):a&&!s?(S=0,m=1-u):a||s||(this.element.fontSizeMode!=StiFontSizeMode.Value?u=1:(u=this.getFactorByFontSize(t,e,this.element,i),h=i.y+(i.height-i.height*u)/2),S=0,m=0),r.ref=new Rectangle(i.x,h,i.width,i.height*u),l.ref=new Rectangle(r.ref.x,r.ref.bottom,i.width,i.height*S),n.ref=new Rectangle(r.ref.x,l.ref.bottom,i.width,i.height*m)}processFontStyle(t,e){let i=this.processFontBold(t.bold,e),r=this.processFontItalic(t.italic,e),l=this.processFontUnderline(t.underline,e),n=this.processFontStrikeout(t.strikeout,e),o=FontStyle.Regular;return i&&(o^=FontStyle.Bold),r&&(o^=FontStyle.Italic),l&&(o^=FontStyle.Underline),n&&(o^=FontStyle.Strikeout),o}processFontStrikeout(t,e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.FontStyleStrikeout)&&this.getConditionResult(e,t))return t.font.strikeout;return t}processFontUnderline(t,e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.FontStyleUnderline)&&this.getConditionResult(e,t))return t.font.underline;return t}processFontItalic(t,e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.FontStyleItalic)&&this.getConditionResult(e,t))return t.font.italic;return t}processFontBold(t,e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.FontStyleBold)&&this.getConditionResult(e,t))return t.font.bold;return t}processFontName(t,e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.Font)&&this.getConditionResult(e,t))return t.font.name;return t}processIcon(t,e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.Icon)&&this.getConditionResult(e,t))return t.icon;return t}processTargetIcon(t,e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.TargetIcon)&&this.getConditionResult(e,t))return t.targetIcon;return t}processCustomIcon(e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.Icon)&&this.getConditionResult(e,t))return t.customIcon;return this.element.customIcon}processIconAlignment(e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.Icon)&&this.getConditionResult(e,t))return t.iconAlignment;return this.element.iconAlignment}processTargetIconAlignment(t,e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.TargetIcon)&&this.getConditionResult(e,t))return t.targetIconAlignment;return t}processBackColor(e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.BackColor)&&this.getConditionResult(e,t))return t.backColor;return null}processForeColor(e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.TextColor)&&this.getConditionResult(e,t))return t.textColor;return StiDashboardStyleHelper.getForeColor(this.element)}processGlyphColor(e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.Icon)&&this.getConditionResult(e,t))return t.iconColor;return StiDashboardStyleHelper.getGlyphColor(this.element)}processTargetIconColor(t,e){for(let t of this.element.indicatorConditions)if(0<(t.permissions&StiIndicatorConditionPermissions.TargetIcon)&&this.getConditionResult(e,t))return t.targetIconColor;return t}getConditionResult(r,e){let l=null;switch(e.field){case StiIndicatorFieldCondition.Value:l=r.value;break;case StiIndicatorFieldCondition.Series:l=r.series;break;case StiIndicatorFieldCondition.Target:l=r.target;break;case StiIndicatorFieldCondition.Variation:{let t=this.getVariation(r),e=new StiPercentageFormatService,i=(e.decimalDigits=3,StiTextFormatHelper.formatAsPercentage2(this.element.report,e,t));l=i.replace("%","")[Stimulsoft.System.StiObject.stimulsoft]().toNumber();break}}let t=!1,i=this.getConditionValue(e);if(null!=l){let t=l=e.field!=StiIndicatorFieldCondition.Value&&e.field!=StiIndicatorFieldCondition.Target&&e.field!=StiIndicatorFieldCondition.Variation?l:null==l?0:l[Stimulsoft.System.StiObject.stimulsoft]().toNumber();if(null!=t&&null!=i){l[Stimulsoft.System.StiObject.stimulsoft]().getType()!=i[Stimulsoft.System.StiObject.stimulsoft]().getType()&&(l=l.toString(),i=i[Stimulsoft.System.StiObject.stimulsoft]().toString(),t=l);try{switch(e.condition){case Stimulsoft.Report.Components.StiFilterCondition.EqualTo:return 0==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.NotEqualTo:return 0!=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.GreaterThan:return 1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.GreaterThanOrEqualTo:return 0<=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.LessThan:return-1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.LessThanOrEqualTo:return t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i)<=0;case Stimulsoft.Report.Components.StiFilterCondition.Containing:{let t=l.toString(),e=i.toString();return-1!=t.indexOf(e)}case Stimulsoft.Report.Components.StiFilterCondition.NotContaining:{let t=l.toString(),e=i.toString();return-1==t.indexOf(e)}case Stimulsoft.Report.Components.StiFilterCondition.BeginningWith:{let t=l.toString(),e=i.toString();return t.startsWith(e)}case Stimulsoft.Report.Components.StiFilterCondition.EndingWith:{let t=l.toString(),e=i.toString();return t.endsWith(e)}}}catch(t){}}}return t}getConditionValue(t){if(StiString.isNullOrEmpty(t.value))return null;switch(t.field){case StiIndicatorFieldCondition.Value:case StiIndicatorFieldCondition.Target:case StiIndicatorFieldCondition.Variation:return t.value[Stimulsoft.System.StiObject.stimulsoft]().toNumber();default:return t.value.toString()}}async drawMultiMode(t,e){if(0==this.iterations.length)return;let i=this.getTargetValues();i.some(t=>null!=t)?this.drawMultiModeWithTarget(t,e.clone(),i):await this.drawMultiModePresent(t,e.clone())}async drawMultiModePresent(c,d){let t=this.iterations.select(t=>t.value),e=t.max(),i=t.min(),h=d.height/this.iterations.length,g=(h<this.minSide&&(h=this.minSide),await this.calculateDeltaIconList(i,e)),p=[],b=[];for(let t of this.iterations)p.push(t.series),b.push(this.getDisplayText(t));let C=StiDashboardStyleHelper.getElementFontFromStyle(this.element),l=null,n=new Font(C.fontFamily.name,1,C.style,C.unit);for(let r=0;r<this.iterations.length;r++){let t=p[r]+b[r]+"Icon",e=new Rectangle(d.x,d.y,d.width,h),i=StiStringFormatHelper.getFontSize(c,e,t,n);(null==l||l>i)&&(l=i)}let f=StiStringFormatHelper.getStringFormatGeom(c),r=StiDashboardStyleHelper.getElementFontFromStyle(this.element),w=r.size/13*l;if((w=w>l?l:w)<1)return;let y=[],M=null,I=new StiFontGeom("Stimulsoft",.6*w,Stimulsoft.System.Drawing.FontStyle.Regular,Stimulsoft.System.Drawing.GraphicsUnit.Point);for(let m=0;m<this.iterations.length;m++){let t=this.processFontName(C.fontFamily.name,this.iterations[m]),e=this.processFontStyle(C,this.iterations[m]),i=new Font(t,w,e),r=StiFontGeom.create(i),l=[],n=d.y+h*m,o=new Rectangle(d.x,n,d.width,h),s=(l.push(o),c.measureString(p[m],r)),a=new Rectangle(o.x,o.y,s.width,h),u=(l.push(a),c.measureString(StiFontIconsHelper.getContent(g[m]),I)),S=((null==M||M>d.right-u.width-this.indent)&&(M=d.right-u.width-this.indent),new Rectangle(M,o.y,u.width,h));l.push(S),y.push(l)}for(let h=0;h<this.iterations.length;h++){let t=this.processFontName(C.fontFamily.name,this.iterations[h]),e=this.processFontStyle(C,this.iterations[h]),i=new Font(t,w,e),r=StiFontGeom.create(i),l=y[h],n=l[0];if(!n.intersectsWith(d))return;let o=this.processBackColor(this.iterations[h]);if(null!=o&&c.fillRectangle(o,n,null),!this.element.report.isDesigning){let t=StiDashboardStyleHelper.getHotBackColor(this.element);null==o&&(o=Color.transparent),c.fillRectangle3(o,t,n,this.getInteractionDataGeom(this.iterations[h]))}let s=new Rectangle(l[1].x+this.indent,l[1].y,l[1].width,l[1].height),a=this.processForeColor(this.iterations[h]),u=(c.drawRotatedString5(p[h],r,a,s,f,StiRotationMode.CenterCenter,0,!0),l[2]),S=this.processGlyphColor(this.iterations[h]),m=g[h];if(null!=m){let t=this.processIcon(m,this.iterations[h]);c.drawRotatedString5(StiFontIconsHelper.getContent(t),I,S,u,StiStringFormatHelper.getStringFormatGeom(c),StiRotationMode.CenterCenter,0,!0)}c.drawRotatedString4(b[h],r,a,new Point(M-4,u.y+u.height/2),f,StiRotationMode.RightCenter,0,!0)}}async calculateDeltaIconList(l,t){let i=[],n=t-l,o=StiFontIconsHelper.getFontIcons(this.element.iconSet),s=[];if(this.element.iconMode==StiIndicatorIconMode.Auto){let r=1/o.length;for(let i=0;i<o.length;i++){let t=l+i*r*n,e=l+(1+i)*r*n;s.push(new __.u.StiIndicatorIconRangeValue(t,e,o[i]))}}else for(let i of this.element.iconRanges){let t=StiValueHelper.tryToNumber(await StiReportParser.parseAsync(i.startExpression,this.element)),e=StiValueHelper.tryToNumber(await StiReportParser.parseAsync(i.endExpression,this.element));this.element.iconRangeMode==StiIndicatorIconRangeMode.Percentage&&(t=l+t/100*n,e=l+e/100*n),s.push(new __.u.StiIndicatorIconRangeValue(t,e,i.icon))}for(let e of this.iterations){let t=s.filter(t=>t.isBetween(e.value))[0];i.push(null!=t?t.icon:null)}return i}drawMultiModeWithTarget(f,w,t){let y=w.height/this.iterations.length,M=(y<this.minSide&&(y=this.minSide),[]),I=[],T=[],x=[],D=[];for(let l=0;l<this.iterations.length;l++){let t=this.iterations[l],e=(M.push(t.series),I.push(this.getDisplayText(t)),this.getVariation(this.iterations[l])),i=StiTextFormatHelper.formatAsPercentage2(this.element.report,this.element.targetFormat,e),r=0<=e?StiFontIcons.ArrowUp:StiFontIcons.ArrowDown;T.push(i),x.push(r),D.push(0==e?StiIconAlignment.None:StiIconAlignment.Right)}let l=null,v=StiDashboardStyleHelper.getIndicatorStyle(this.element),F=StiDashboardStyleHelper.getElementFontFromStyle(this.element),n=new Font(F.fontFamily.name,1,F.style,F.unit);for(let r=0;r<this.iterations.length;r++){let t=M[r]+I[r]+T[r]+"DeltaIcon",e=new Rectangle(w.x,w.y,w.width,y),i=StiStringFormatHelper.getFontSize(f,e,t,n);(null==l||l>i)&&(l=i)}let A=StiStringFormatHelper.getStringFormatGeom(f),E=this.element.font.size/13*l;if((E=E>l?l:E)<1)return;let R=new StiFontGeom(F.fontFamily.name,E,F.style,F.unit),H=new StiFontGeom("Stimulsoft",.99*E,Stimulsoft.System.Drawing.FontStyle.Regular,Stimulsoft.System.Drawing.GraphicsUnit.Point),O=null;for(let t=0;t<this.iterations.length;t++){let e=x[t];if(null!=e){let t=f.measureString(StiFontIconsHelper.getContent(e),H);(null==O||O>w.right-t.width-+this.indent)&&(O=w.right-t.width-+this.indent)}}let L=null;for(let e=0;e<this.iterations.length;e++){let t=f.measureString(T[e],R);(null==L||L>O-t.width)&&(L=O-t.width)}for(let C=0;C<this.iterations.length;C++){let t=this.processForeColor(this.iterations[C]),e=this.processFontName(F.fontFamily.name,this.iterations[C]),i=this.processFontStyle(F,this.iterations[C]),r=new Font(e,E,i),l=(R=StiFontGeom.create(r),w.y+y*C),n=new Rectangle(w.x,l,w.width,y);if(!n.intersectsWith(w))return;let o=this.processBackColor(this.iterations[C]);if(null!=o&&f.fillRectangle(o,n,null),!this.element.report.isDesigning){let t=StiDashboardStyleHelper.getHotBackColor(this.element);null==o&&(o=Color.transparent),f.fillRectangle3(o,t,n,this.getInteractionDataGeom(this.iterations[C]))}let s=f.measureString(M[C],R),a=new Rectangle(n.x+this.indent,n.y,s.width,y),u=(f.drawString(M[C],R,t,a,A),x[C]==StiFontIcons.ArrowUp?v.positiveColor:v.negativeColor),S=(u=this.processTargetIconColor(u,this.iterations[C]),f.measureString(StiFontIconsHelper.getContent(x[C]),H)),m=new Rectangle(O,n.y,S.width,y),h=f.measureString(T[C],R),c=new Rectangle(O-h.width,n.y,h.width,y),d=x[C],g=(d=this.processTargetIcon(d,this.iterations[C]),f.drawRotatedString5(T[C],R,u,c,A,StiRotationMode.CenterCenter,0,!0),this.processTargetIconAlignment(D[C],this.iterations[C])),p=(g!=StiIconAlignment.None&&f.drawRotatedString5(StiFontIconsHelper.getContent(d),H,u,m,StiStringFormatHelper.getStringFormatGeom(f),StiRotationMode.CenterCenter,0,!0),this.iterations[C].value<0&&StiNegativeColorChecker.isNegativeInRed(this.element.textFormat)&&(t=Stimulsoft.StiOptions.Engine.negativeColor),f.measureString(I[C],R)),b=new Rectangle(L-p.width,l,p.width,y);f.drawRotatedString4(I[C],R,t,new Point(b.right,b.y+b.height/2),A,StiRotationMode.RightCenter,0,!0)}}getInteractionDataGeom(t){if(this.element.isDesigning)return null;let e=new StiIndicatorInteractionData,i=(e.value=t.value,e.seriesText=t.series,e.target=t.target,new StiInteractionDataGeom);return i.interactionToolTip=this.getToolTip(e),i.interactionHyperlink=this.getHyperlink(e),i.interactionData=e,i}getToolTip(t){let e,i=null==(e=this.element.dashboardInteraction)?void 0:e.toolTip;return StiString.isNullOrEmpty(i)?i:this.parseConstants(i,t)}getHyperlink(t){let e,i=null==(e=this.element.dashboardInteraction)?void 0:e.hyperlink;return StiString.isNullOrEmpty(i)?i:this.parseConstants(i,t)}parseConstants(e,i){if(!StiString.isNullOrEmpty(e)){let t=new Hashtable;return t.set("Value",i.value),t.set("Series",i.seriesText),t.set("Target",i.target),StiReportParser.parse(e,this.element,!1,t)}return e}getMaxValue(){let e=0;for(let t of this.iterations)e<t.value&&(e=t.value);return e}getTargetValues(){let e=[];for(let t of this.iterations)e.push(t.target);return e}drawTextIcon(h,c,d,g,e,i,p,b,t){let C,f,w=null;if(b==StiIconAlignment.None){C=Rectangle.empty,f=new Rectangle(p.x,p.y,p.width,p.height);let t={ref:w};this.measureFontSize(h,f.clone(),c,t),w=t.ref}else if(b==StiIconAlignment.Right||b==StiIconAlignment.Left){let t={ref:w};if(this.measureFontSize(h,p.clone(),c,t),null==(w=t.ref)&&w<=0)return;let e=new StiFontGeom("Stimulsoft",w,Stimulsoft.System.Drawing.FontStyle.Regular,Stimulsoft.System.Drawing.GraphicsUnit.Point),i=new StiFontGeom(d.fontFamily.name,w,d.style,Stimulsoft.System.Drawing.GraphicsUnit.Point),r=h.measureString(c,i),l=h.measureString(g,e),n=r.width+l.width>p.width?p.width/(r.width+l.width):1,o=(w*=n,new Size(r.width*n,r.height*n)),s=new Size(l.width*n,l.height*n),a=b==StiIconAlignment.Right?p.x+(p.width-o.width-s.width)/2:p.x+(p.width-o.width-s.width)/2+s.width,u=p.y+(p.height-o.height)/2,S=(f=new Rectangle(a,u,o.width,o.height),b==StiIconAlignment.Right?f.right:f.x-s.width),m=p.y+(p.height-s.height)/2;C=new Rectangle(S,m,s.width,s.height)}else{f=b==StiIconAlignment.Bottom?new Rectangle(p.x,p.y,p.width,p.height/2):new Rectangle(p.x,p.y+p.height/2,p.width,p.height/2),C=b==StiIconAlignment.Bottom?new Rectangle(p.x,p.y+p.height/2,p.width,p.height/2):new Rectangle(p.x,p.y,p.width,p.height/2);let t={ref:w};this.measureFontSize(h,f,c,t),w=t.ref}if(null!=w&&0<w){let t=new StiFontGeom(d.fontFamily.name,w,d.style,GraphicsUnit.Pixel);h.drawRotatedString5(c,t,e,f,StiStringFormatHelper.getStringFormatGeom(h),StiRotationMode.CenterCenter,0,!0)}if(null!=w&&0<w&&b!=StiIconAlignment.None)if(null==t||0==t.length){let t=new StiFontGeom("Stimulsoft",.6*w,Stimulsoft.System.Drawing.FontStyle.Regular,Stimulsoft.System.Drawing.GraphicsUnit.Point);h.drawRotatedString5(g,t,i,C,StiStringFormatHelper.getStringFormatGeom(h),StiRotationMode.CenterCenter,0,!0)}else h.drawImage(t,C)}getFontGeom(t){return new StiFontGeom("Arial",t,FontStyle.Bold,GraphicsUnit.Point)}measureFontSize(t,e,i,r){let l=t.measureString(i,this.getFontGeom(1e3));if(0==l.width||0==l.height)return void(r.ref=0);let n=e.width/l.width*1e3,o=e.height/l.height*1e3,s=o<n?o:n;(null==r.ref||r.ref>s)&&(r.ref=s)}getElementSide(t,e){let i=t?e.height:e.width,r=t?e.width:e.height,l=i/this.iterations.length;return l=l>r?r:l}getDisplayText(t){switch(this.element.valueType){case StiIndicatorValueType.Value:return StiTextFormatHelper.format(this.element.report,this.element.textFormat,t.value);case StiIndicatorValueType.ValueTarget:return StiTextFormatHelper.format(this.element.report,this.element.textFormat,t.value)+` / `+StiTextFormatHelper.format(this.element.report,this.element.textFormat,null!=t.target?t.target:0);default:return StiTextFormatHelper.format(this.element.report,this.element.textFormat,t.value)}}constructor(t,e){super(),this.indent=4,this.minSide=20,this.element=t,this.iterations=e}},__.U.StiIndicatorElement),IStiIndicatorVisualSvgHelper=Stimulsoft.Report.Dashboard.Visuals.IStiIndicatorVisualSvgHelper,StiIndicatorElementBuilder=__.i.StiIndicatorElementBuilder,StiIndicatorVisual=__.u.StiIndicatorVisual;{class iHa{implements(){let t=[IStiIndicatorVisualSvgHelper];return(this.implements=()=>t)()}async writeIndicator(t,e,i,r){let l=new Rectangle(0,0,e.width,e.height),n=e.component.as(__.U.StiIndicatorElement),o=await iHa.getDataTable(n);if(null==o)return;let s=await(new StiIndicatorElementBuilder).render(n,o);if(n["isSampleForStyles"]?s=this.getStyleSampleIterations():this.isEmptyData(n,o)&&(s=this.getEmptyDataIterations(n),n=this.getEmptyDataIndicatorElement(n)),null==s||!s.any())return;let a=new StiContextPainter,u=new StiContext(a,!0,!1,!1,1),S=new StiIndicatorVisual(n,s.toList());if(i&&i.needToVertScroll){let t=S.getContentRectangle(l);i.needToVertScroll=t.height>l.height+5,i.needToVertScroll&&(l.width-=15,t=S.getContentRectangle(l),(l=t).height+=10,r.ref=Stimulsoft.System.Convert.toInt32(l.height))}await S.draw(u,l.clone()),t.writeStartElement("g");let m=i&&i.needToVertScroll?0:e.x,h=i&&i.needToVertScroll?0:e.y;t.writeAttributeString("transform",StiString.format("translate({0},{1})",this.p(m),this.p(h))),StiContextSvgHelper.writeGeoms(t,u,!1),t.writeEndElement()}p(t){return t.toString().split(",").join(".")}isEmptyData(t,e){return null!=e&&e.isEmpty&&t.isQuerable}getStyleSampleIterations(){let t=new List,e=new StiIndicatorIteration;return e.value=100,t.add(e),t}getEmptyDataIterations(t){let e=new List,i=new StiIndicatorIteration;return i.value=0,t.showBlanks&&(i.series=StiLocalization.get("Dashboard","Blank")),e.add(i),e}getEmptyDataIndicatorElement(t){let e=t.clone(!0).as(StiIndicatorElement);return e.glyphColor=Color.fromArgb2(240,240,240),e}static async getDataTable(t){let e,i=null==(e=t.as(IStiManuallyEnteredData))?void 0:e.getManuallyEnteredDataTable();if(null!=i)return i;return StiElementDataCache.tryToGetOrCreate(t)}}__.h.StiIndicatorVisualSvgHelper=iHa}{class LHa{static getContent(){let t=Stimulsoft.System.compactBase64("ba\b8U4>cuRsˑz.7^XtOEU\tsY#.mfZ-\txʣKt0\tS @l%~}OIv2UjUPƹsdn6196\b%8g+ǵ|V)u8x}Y^=<ESRf9˟;,C~FQ^NaZ$qJ)D_\b~Ͼ?13D(dIv6Ӆ[l+Ae_^5(Җi~/i|mn_lOGvIr3ӸH}HdITOcϬHf\v:dxFY)xg$mNiy\f#Td[<i}G$9m{'GRX~IƚGv^'qq:ktD%l2$oE]KHiKt+ctp%TiYgEJ>|}06z_/v[(qOCg?n#1Wb1t6'G/g?9jm5:/vDs|}7ß+9q(MYLgNTf3l5IUIQ\b;S'x[MIV'\fβ]KN'xX%U]iF~,VASY|>Vs=<?\vdx/eL3eWw%lWO%2<ҶT?E*xWdbf1gx3Ns$Ob~ƽ|iEe8dKGE?-TZuҰx%o3H;ng{#dq?o H$^T[|Ee zv#t'4hWYeO2%CKbdN'p/6gIZa:c7\tn6L184%A` ;f{8;8GGW}Zfsdf<bYadBr~Kb0q%K\tG^4ҠGY15~_0PT.9@[Cxwӥ|,zkbx_,~CFnj֮b,bsc |K3Za$\v3\fzzdX06%}4<zmϮ֢ic(HJst8P Xt.>a\b0DרW(sX;tg9L\b%?zéffUAN8
9<D)NjR<׀=l)^2EG>`λϺ.gN i\tgw\vICf_˟ʨm\bu_VGv{=Ҩ9LN\bK.d-93Vvҳ[)ftLD6~_1?Y[811$~x\vZ'~tbi!=>h@]ӗӜ$\fI?eLJÂydnCP25?a^#8(oγ!\fgMt;n9KǥI,zB+x\b,%[<l9bBT,>i8}UK\tjOIccKmvd =1ZV2tΊˉ\b,ET)k@6w]R#Hsxl\t:fv`Jy:qfyJeMJ\v.4I1;pu5B0m=.:v*T*ayC}rx֦Ga8:n<>rl\t4H\thb(;gc_t$J:>(db~5nLS}_%y>ҹK8!]i4.~MZX,w1oW\f/-Dh6`/æCptZg6x#TI2}l\fw>/}\t`R3hl7>CP+me~/:Uj,}gPB#k hoPs=+|=#y0!$S)aq\tXq|~1'K8VUcS0UDYex-k~Q53ZpUI/*ƺc$|6Ni*S,k/8M?)D7vq9]YjZhs_}^vy^Emg+9]V\tK>x~H!6eO0!\tʞΧR/i;TIX!Y8_?x_v*73ETD/Xy9:<-Y\v36^? >Bl^r!CVӲZb_U:B.{H9ZWI˃R!'XBk4yJ{Qg lPy\vqqHr8aDs~1p777;=_g?05vW%<ח7eMD;jT{R\tK.)]ʫ Zhe`|z45m|He)o@Ouilsd[RtfPfu=^hҥm9Qg7k.\tB*W[2\vy6%t])|ny$IpZ\ffrum/iIZcL`[)BlNTǷFfoaI˰9-?^<מ|)2GtpUGtʴ@rBF`e2h0L HF|n֚ZKA,:[Z4TCƭː3^3e>H4wώ5=2[jp/Z.2Gdnd)%Cyyzo[6IexBIAXHnϯIKU#6hL{IQ4,G?/y?Em]`Zz,,QiLÅ/UIWJq+*//T}=%+/nm=*,M%$l501ulRMf5/FlPuM4j;\t0V]5#:C0(v˥@Q1U.PD׀ӝ]TSUZ+\tkM5ʫ6{;91P9Q$7Ҙ(au|±Y0naR\t3,Ө[qV NW knE\f\v\t]{#G6J1DK]n\bBXst\vO$O:zZJ~t|]xfPcBM{zIkVl^Ukl1SJ:RCך[˾Sj ^ u-NL<B']k] {Ң\vV\bHqH[yzze{6w^$<imt*F#Z^C8RQ<8ǩ?E\vm|S/UI.jfU:i\b\bZbdNz5CQm0S3>o,X=4¹o,iT(?\v,wcM+ҁÍP,@f2.Z!UC`(,.iʳ֕zX4u9dlj5';ru.gIN,NUS8´Lus+q/kʲI)/fg!v-fTҞ4Ơ)@nʒ/uk7F''k*Mu*\v\tP*xg\bK65!'R'σq:bƒ1vo\t?KhIATzYYd9.h7~v>PNp=aR%^kGfQ0V/Hz7RU:|7E.JXF[)r\fz#*usui֟|9C4>y\v\vEIjmaUz#}7yJ0dçeI9\bOG~Q[˩/{ls(Y*?v;kso_Q^Kvd5*B#]/Ӈa }{ooyiHV{!ECno!Zt{{5nn+^CLaHMv5NXtz<Uv5y<Aq\fBuV' mY|L#g\f3;QUyөΣLo\vmPEoϜfd`ϧ4_EEKX$H9>k)Us[]]NI\b-6@2n-}0hom3/#=,U|0+vai2@.)\t7xoeH\fF^8|]p-N>-5pp@IpUcY(FxXK\v7C/e|.n[0lZ\bÇM\fƦ:^_w]]e(kJY`g~Ϝ<xysd+JrhchG.\f$QrփGmDgMi:*æx/Ξ5<LW!sel3NCy_J`zhq{crMPJ>i!Ӹ7C\t}VNhBT`~!UK6Vz'mqR/eMB{0s_z^gNqӬ:2;$Q Pҧ@W\b\fE+m.Rҁ:}x#v#֩U@Ώ#=\to)@J;EWJM/.DsӜÚ6He6pHJB|ku=oZh8]WHh0oZT]5RV *!KWCy)95.U%Rch0ΝrTVEe6Ll3UwC72VTHeQ-2#H!Ij/\f9yccFn/K?.A`OӱI=5Qer'r=5P 1B1b3n\v-=07LlT#FI,o^AVǚ\tF<6YOAFEk<l$m%_R F;.\vADS]_1:{-c,f6hD^OΩ}N[m\ff9h=fPmӊiEH2U;\t>W[qoCN'_^d\f5+td\b KW5h-VdnJ^!%l96.U1F%\bn^ oIm\tRM8oJBK7YrNOQ[4I?Sdz9>Uw.XFj8\v7pQb7'[mwu;ׇׅahnu-vwʤt('K7,`,+R˧ZW`*QD\t}0p\fLWk,zD_שB{$p;+8If|Ӝmy-sSloP|(5iMM`H=6pdG*WHIIr%h4q-0*:d,ma\v0[Zmǽ;c4SNjD=UEo/UHj2TҖ TB4Gdp{+]\t0emw.9SB2c3E4I'tM\b/sM]M{fӐ%$Me^KeDE!23av@ySƎva0/0KEϥ\v?`j L-<kGn2v:!lA5Gt_Zϻ\fAR-\vO3=_{ySfU)0YkDZv/I2PumFYQ;-\vebr~Vҋx_˘k@כ.x|ǿ-78U?5¬5K«s$;h`hw2C=<RPa\v`Z;KOON~FRJfR@HZ4S:F)8?[Ik+9WpuǖG>7UFS'[]]]Jq\f')[CN[|q]boY`/}ex+j#5Νl0pXa=YwTUz.dVX12/RrlJYBӇn}3-,u{9X+\f?^,Al:oakdj%Yª@fTam*HYV(~RPJ*\b5;;){7||O3-<qnW4?U\f*\v7)W,*e=4JMk|ZsYV=2ec-.NHmK[TXe=9˚pbnI)DּZ-rƊ1`zR+.sVIm)ÔGǛr:m!1ӛz[1ʻNO\vI5>Sv<pk6X2Q2~l!B9?\v;f֊Aϩ/]s_q+-$[3ko%arp\t4Yb\bP˟:/'7H/UniSK?F%x^fr=iOjRcIzn^u{Md=#!1mcפ÷v.577R0QvVJ}'NrX/-({,%(PZMceN~RihJM,(>UG$v]=QCq|e- ?hKi7P8R?=r?6El9,f==QhסY2lJY5/x\tU@KD;W?Ce!}syd@WNO[9-ew?8O0k/η~1JZVvZZB~WklP{~|kwBf[XR[\f{5.#\fKM}nA9|^8e7Z?-ϒjLg\fJ\f^zzyF8MC:,ӟN4p/9%f2RV{~#cϹ\fPrkk2}z8(\vwng=S[_]aZ,c7w?״mX0%{gc^¼|0ëg/{2T\f?Jq%8/ u\b)nkiK4mD%Lx5qETB=+6l()}Xy+M4i-qI$F{S֟Ha ,\tc}tm95MC)q#XPI:V!Ƒioq;;5LaOyRCFx_SUJav6,%Fonw;]uft7pwC^dˏff 05yʱJ\td4aK9c[G\b=/<MӅÝ9 J0S#)+Er@Kyz1ǚfEgWc>g(USMqM(NkO O_A9hr\fq,d/r8_n+'8JykS*;]U;E*RUSN\v{vX3jJ7{J^PˍyPǛhU;1v\f c$.8>Gcg)rʤfW6[KQK@##+|Ɵ/KpM2=eK{q*Jw# |jvO5?@]Y\fe:b>>\b)-;\fwJulicg}$DUaW}rh^$'fVI h0XY_~=%AMe39\v]B8.CҒ^ϲG)`:O';/sCm^ӃKXO.NpK}jv9~pPg%χkc@q|YfL#A4n6\f*+15N%{|֙0}-1\bXr\v\tyew u:TMxF_n]i\t;7sM3~]4[(}k=\f|/uvP|]{9Ar@WjZ~<W3ϼq\b-D1BT]:.;V(a%Ǔ3jp<Z)y?H$ [%7ƛb]2YƬ#kG6ve)A_\tM_5g,}$)OGny0Vug%{z2{kj]k\veחUwPXZzm\v,-PI+8iƔcb0_:EX3'%ƶR;{mMZ¼q8CqC{[T8D2=Y^#a rQNn\tiXp3/lG1cʁ7[f||.,I:@U-{\tk(c*A{*WN ;kWnMU Q2Uc^Kn!CRQCHG,xTse7.qNUT;'Қ!?,R]e|Y6IoeNU}g+7??\tj!C9PK6UsIʰUZQ00¯)éqvt?x\f7'2D2qZSA_x=_,_vYb6]3B h]ʙKG\vBfhBҊCnp z*\bd])(1db='I4vw5ú˱X(S^*?7~NjzU}q[Oi:4(@oֵ@җcD.ˈQ'!#y7bt-ʟQox^?BUac)LD9?%^'K_JVfOe=)>Ί5gY`'_ׄwZʔ;_i+v[=\fr^q\v:%iKQDE[t77QP4)-RvZgsrS\v_HhE'q*__Dh|~2] V?JDK}Om}g'^_7{kpu[ov;{OLzuR^7Ad-S(\fmo*o{MGz.]Dt˱µl:%ʗ Xp2!/24S-m`%cHsggMGx.{>9|N#
^ZVvhC]X^5QbOC6cy(_foZofbw\f/rw1y^6ˉo7[ֶ-CRwxxgǩ%jZI/vVtUe^l[8#l<5\v[>uC3?\b_{\b@\b0o@]X#mk?«6lZVuhK;D[Ү@z%/IkXnZf%N3~m,_c%utib4KeQflhlxZZ'v}u}}iX7W/Cxf)+Kמ8a#;ӺGy]5\bhBD%{qyy`yd)=Wg.FKʍ<l>9Ag/pjk|Ns{y| `\t\v֞_˫ydX\vo\tYk7v/]N|g=Tcs7Q/c~iiw\t1^<TW*_ RZy$S#9i6*u7Pώ}U<;xgAq)0\bfm1)?uvZ=tN)R2+ncHpI\bwSf/o}Nh$Ug{a_%hq^TjuӹZ=M\tk997el;r~p>]ֶǦn$yE$\ty{KF~z*9zNf1\f`oWyVk1f\tdq~tfWt{PFf{P|1[TB-GGS[\tHΡע*\fk%Ì W@\fqfD8l?qqZ7Y˨y=QAus`TTkGc?M R}`zm/{$O}KDL4bmVm[?~'OOOVh|_EVYnn:[.P\bsRd{:1zp5T\b'~:wʘx\vαs^PG,µ|NP 24/GjγQHu\t\b,]eXK?3\bf.\b[_bczDaP/Ƒ#Yp'Rb|hhƫ4\f7-*G`]oy|x'iX6.<gvu~ΜGEdu{;6ylyQfHogX8|JM/.mXQwpwӐ)2~ms\f4dӿ?7]EP?ZfY7Dΰumcj2N`Z@֙*I=G3v?+s[pLKGeuIq-;aoVx7I}AseHd=|XI)+O'4%ϗ3a-],C~`8<tajd`?b)rfd93B\vE[Yθ9k}tdt^1aHj7ӞZ[cǝqh6'D9i<7Azo7A2Ù'Bc<n0(!LA~'|xl\fX%'t@X92*\takGgʽ\f}(J PyA*spҚ/OP\v-\v}u8פT)pSl@^ssBR'9)jTYZBN3Gj+\v0h7A=b;;nN<@MszG-SDס^c>ll.m-3Ê-#gD=]uz_U'hӂD|=;7Q÷9v4AY5\tY~}]FAnHT xk80ʑu]uchǨ;XeQ@}!~wI?/8Qʯ?Lg@\bPNLnHB<~%YS}LF\f.$C0MEӲF]i3k{=lq]tI=ǀ<1\ffZ#K3ƆzhR<toO֦V R\fubc\fzˉBPã\vQӎ(IcIҮvw}\v/?Mpn\tU]79SdW4\b$bPy\b4k9\b|or:i-Dy\fP*-!G}!RKd/B$x/QJ }n_{OT\f:iwvF5}cH!lH)+|CVZyRXy<<Kb[QҰy!{7IR7\t* 'wCyw+.YL+y29ÇӐJqygI_,x\fJ[-tsyb)lp|%WYBңӛ\f~^+{4%-T˅3yy{**v12\tjyS°$Isw8)g/\vXy!nG,estʂ˓-pdn>> Bi#Su8tLor/>6vo˃QT*_[L;6C}mtossvt9jWCH-qäOi7$*V8-7-KV]?ÿ:|H\t~V:4gEERjBw1o%y֭p\tgFizw*{xoӶ\v,Π!ÅhPk,[\v>qM>>C|n8!POhAOש\v\tpuF\vƦd8k҄V9bIEYI)H\tqN*}Q\fôS\ve%^:σX3<8ZGhaXjB_@Y2bJ`M\f+A7F3\bg*k_#- t>,S*3X.ib*GeYzm4U]3@p-F<6iKӬa}Jʔ%uXHI$l):3Soitt'k1lRG0TwC0!=XnI[U)UJM1;3\fc-yvQ,)X@r}ӨS~5Tc2^[×7=I%2woʨG:-w}^{/_O\b(ֶDE; Ӧ hastE8[yHff[7oEZFUU]s_, ;Qxfv>5,]H%zayAIEtd#HL-+7oef,p`(V:=ҊWϽ~DKzǸ#^KE<6X\f28)Xv˩XZh/UUG#n!N`O-UF\f\bƳ<11(W4Irc8?0J*qXXqsV1zh˨a$Ae)mZʊ1[UZCƴ~4_#f.QR$ұ{yf\vr_K'>KZ5mhl@l1q}q8FOZ6gVo6MֺMcpaoQR%qv'(vSCg=Yo?a%cJϯMDzjGVLD:\tf{PV҅y]9zW+הkw/yuG]hs;QX~}--\v5k|.}Yj^K}*=u˞`hA+GT~XRPeBhǑb7%(Ϻ/Bj{_;\fׄ ^P\fRօY,deLl;[<@ys8'a3cpW˝vsO\bywzoK}[2|l;t*QqI]N?0`tJ{nQyMv`ƋlI\f6óV6KrY;y˶\v,*26%tO]^Ar8;'nVwҦO]h8(V?{mnzqeMK6|Ϣ+@c\f$sBaBI;:!w+$D`|T%z2L6927aY>vR1;336EtgogwzEn],/pˏs5Fʫ/^};8u6wJ<(@Eg2LNOw\t/R/ôKe$2t?l-;}HIVUDF]$qNw'~slBW=94;juג4Q>´%J\tW1F9Ƽ R4<wnryQҭOWO[7mf4hRii9%1`1Y/MU \tm1msNfƌVǜ@tL7n<_PtN->*I3_h˥k,LA8mKM e*_t1RQhhKQZ{~awP3w5vFr]l{yLƎf8v3a]ë)400fe2\fv5aHx9f`@=^{~˱$x'L4Xw:ƑE4I;0`3_1#mx0H~Untxr)i6k|{(>]is,r(Zo,Eo^FBmsyE|pJCb#[RF QP-M9.6)oN\f_4)ϰ4A>kG8ʂ}h;TgӱW^CB<~a;=<Nf!`oRέu?0TÁӀ P/IW/Ulc*co(mB(z~`\fm +:SgufRD6sdN!l;!04LH.YnZx;]m6BcϏ2,[yο{;b*[...rrD$%BӚH$5\v>P+h>IX>'֒ǫ,Ӡ67IF/MarsY|Mg0/ph@CNj_bU~mǷ@2ƴlsa1q3f\ffbRVjd.ΓMӐX'/Ӱ\t!K2RMǷq~dB`3*{V(ױ?3ECMb*]PbnGF+9OD#NgIWY56kK>.GOhk:G+r3mu˃a*+6DDKmʱ|T(7MCU}ʳ]\trs9(yC?l\vb4J!wAZ\t vʹbSP@5G`d?gd<);Zan\bPs3X5b -JUJeҳҸN8ӝ+iJA)MK|2KQ7^#2!X2[8/His,5Z+ʽGvPiXӈ!æHҴgE\bB<~!2Gˏo[Vǟ7cZV2s*}ǻd֞Ҡ<}\b-j2C4|?n:ZwҟnhqdS:G{kB,>J\b}itw;|[OgÖl\vPNZ#=rZv{hsd7\ff<[<MF7vJYupӹÿYEH9=Bpl8.;'1UI_JO\b6EB3ïη%mpA[I<ʈU{|:y1.A't.q\vQcE<yfry6Z-S0Us=PH^ah\bc\v~Q_<Ɯ.:M0]#7Qj֮|h!p\f_-hiIxBp:o-ms \b>uT?6 78FW!M8C$[:DAKb0'Wa8+.-;(VP\v/B?bL cH~Ά4!P\fxRu(Lr5zσx~y^F\fDJ4S@7Ҵ$|GvyC0a\bqM`y\v2U<eS\ty+t,~x0^V?gX!;ZESjw˲4Mq*uK:9zf,Aipǃ:tCy2G*E,-ncq0ƥuD.3;MYO_ʱ.(5)ϛeñ'uqQf-dGk>\vUHoS:n=`gpKVq2$@<a.A\tYT.GMmsp8aU˿q{|Ô8.al\bE(|kAYkC(%vs3!QÌ~@y13x`wׅYdS-|QEm.8 e!xvYל6:\f 0NHH_V}ˑ7?LCxxpQ +P-'d\vG\t:/Xa]L9Lc$b! %vύT?z\vs\f%_c:-~];mGFfRCb+1lB)H}A#SdA-fREsuL-XVtC ΔXdb.hC6cJ<W?Qρk/b7c@Bm_zw_yV{{/[!U]a=]Â7mp7A'Gt,*6(_[9q@)CUNo3faC¥<_F7YB0#A0cd!r3J*Y ƃ!U>״{^>E7,CXp\t(O=]19$PMAwOk6Tzp?JX6^R\te+Apª+M4(GөK]cN}q{O);]NʈaX^\tʢ< ZÙJgcӸ\bJl@fƺeD@<n46av2H?sUkqyֳ^1whXm85d?sP}aS^ΦK_u~֖Pc:h?]>!U?_n#oc/gVh(q{N02cˣ3<Û[\bAt}\b[σ 3vt5Çâ+dy>K:eϻi`Ƹ]l'[%$.ToDz3q[*#PueozWec(6;{7SY\v<`8þqo:p`N!M>|elǺS(ZaRxI`f\v`LsQ8ʋj#Ϟ]!Gy!eR7-d}:QBs=9j~W3oiCuit9~xz>7OIe}t24:?N]ONa43pLLWC6Sf^>G^>L#!)rH)8/|kF?4MӸ\t=a!N.8zc@X4Vo=ӵ˔=}u8f=B' -TI51(`P\t,|G<(^lnf=Ol0U]Ka7Su}7P,Hv\fVӑ4Fg-Hi\tKN4)ײlYw>FJ+Ψi9}( OFo$WYo_N*OJ)bPˁ5T!L$2#gm?0*'\b>aӝEwh!NG!p~:0 t,/\bI`%9cS4ZZY\t1\bHPX=\b-\bKs`}p|uJ?'rΟ0j[Mi>ok\bbCjKNxZq6xhy½4N_Y}Fs\f]GJrL==QnxBbD.paz/6v]ƈI[֚`-tq[H{yM9HVQvij'1v;`[4xoo ʌu+HOws'lZQnHƮQ /V\f*rqw}`X.X+WsQRK<UqjL\vQd`Zqb`ơJ Z+.X%_yia5Px^}`AQƙך2ұL%˘Yt6=#vcr<G$:Lu@c<@S7th_sIhDc2(~\fR=6cPB\v\vMDy!,CmI3i%, #sV25 #B7kHǩ3 xC\tE{ƥ|lp1%|h\fMKM{PZ I*\tƤiAy5cfTDQ(Y*[5bUuA\v}dҚvM`dGt_UV_0yo!`no#N! c@v\f}V4D?G\t^Zu3A=YibTvjqo_C$D\fxG+M`Ø%ׂw)Xf*/Jd//4zx$,!%׀Q!<`Wv(dNHAl20\f(<\b-4Pzcu;ghQ3Yi$\t+.6^K\fg7|ֈ%ϥϒP\f +Q?\vVnG\f)W>T#mwRDK8^w0$-Z-\v 9qB`]S\f$p1bE B356N(|AFaֵ5jATKM1vCYK9\f5CKK+2=o s<-@* ]?nen|0tfAsqKQRRal7'6,;rjQOE^)MEu\v`%$[FhkulDv,eP2H~PHW/q+m@iU;\bu,2zW,K:֒E*)KMB$P {BU>IEpnSpJ%a3cI|%4Y ʑ=ҷƂtQwCOIII,bV0(Cejf-E]lӺE!`q(BÀ9KEJI \b9d!1T::e1<G(C~AW, ZD'Lub x*]Ý[fuSrAN'bpd;]״955_sVpj/R6O1l?n\vXKփB~ÆD,J.f`@\bAh15Ri@}פ=p:\f(n/`5qXHJ\v|rfd6>q(se:t!^J8@5AÔ6-Fҭb0Q..tփhcʕ'u83zVcGqZ һ\fÂ1VjX*0;)o~>)thlXW7bv$%M[#4d%gVDUsbN)ÁK\v%.8m\t*1aXU=2\bD)\tvbHt{#\f7`PlJ\f7YEv]Ƙ0T;3`f/oI%OIa%U{Y:yXμlSdT> o5JJccp9^h)+Hx>hO\tJ`V48%DkjU3c;($e(C5Pk}y%-*'eF?wI$DtSsË]5O%%B[1<נ7\v!Fye8MFIZӄ-WDQ#U$f*S\vt\fkpF -Nfp?a7vJuΘҘ@5«WYC*'C3~9Έcydӧ4m7llҤf^\t\b{jM$nRg4d\v Wo\tA<::SÕww\t-X^q:1Ӄpdx*l-8Z\v-J;\b/Y^nvư,QM%sk:9Y5~Y!2w1|v}I\b\f~H%T,Ymjg\vn4|T`XQ,ETG)KRP\v'[7H2upf0tT))\t*.Q)֊Mm6\fDUgS҃mG UBפ@Jv1Ӵe6t8%qh>dD\th:-iGRmJLSe\f1V1Z+);RsH~ǭ0\t=eYθ^3%Έsn(#-MbYQ~Zv yKA/V'cM!#k*vd2$>\th%@*\v*HPSO%d^joPyToJǁg;0LGJP>crd>I+Y\v9]6AWҝ~x+dDHNV.4hz='ƌ_,vOP{Yj?F(XҒs3 i;uʤe˻c-Ӕoa6':a˲7(ωj8%)E>H#6TG$Ll8ok+'y+;;1\buCV+sTK^~IAN+},w,F0!5TX4t6L%\b8Pª\f'c[?SKg\b1AˏLhliBu^JJ9[yr_O65ij2Ϊ4TƳ';;ǎgiHH=Z!kH;nVr%(A]`4yF|mq1B*vke:\vsE)/f$r6UKpi7^5PK7x58a:³A$˘\v*sg<lS^k:+#[=pB@t>;BHe|+b\bƤ-W.icrLeXf1`\t^ӵD;f0'H}Bp?!/JnG(2HlL?bƑ|H3ea1[9gmPK>,'J |@1%{%v0nXJ\tcFR@fK5n](mC:}@R10Ǵj8#҇\f|7B\fy#Y\b{R$QYim'6NZg=H4K\v>E@[o/%mhK))zNWƝ!g39a$h@-#z+570g;dR.Wo'LTc0<lPFK\b,]'+=z\b5ʰ:!0r4`0rq>C\f8]k@X)0^\fZZKt2iDÁ;4lsa,Y8\bY<Bh<hX]#ˏBMLXOfu6v\f$^ER9?U5XV|\t5YEϐeW.(e!Uv\v0Ys5gid(Tdj>9B^<\b*-bdf*8S-6Qb2ʥKp|F/havu`$O4#P<Cr|\fGIxpϠu$:(5ë5D$#S(@B7h`!.*F[Z$Vz*o ,B!R`}PAңýҨ21=xEh5PDqwA< #b4XrZV^z\tOn]E˙Ab(+,S_ϻ36rw/D4;3loӂY\t:K\b^48ik4Tҟl4n|3srDLmc_Yh$! /^rv2#vמXf\ta«JSdƑWJY}o7gng\v7#:T/Fңjbd5[vE@\t<2H8WRk\v40o@yXd\fv3ZMCA0U`HG]YxM¢2d,=(qe0;4qeE8:+ח4^`b$,_o5IeSOJRwQXwQ*2,lZ*t4TI<b,L;oe)@~:V#NÝH#û+l-fM7R\vc0A\t2:qt\t^%!{!(IQ7ƻV(}2@bJip7,OR[GW+\tm\vLU+}ˢ6Dv*]mgqUb%[eIIG$LVc[<)YMǞt:κcFd+;iZQ|w4U(]*uc\t?Zq\t)8]|!~D*o1:wPR)<idjtƦ@w˱CxIa=;3l|36n<hMITV]tmtHWU0A9)2ajʐEsHƾAƷND/g,\f,æj8?w@\f@sD2°Nxn`x4+#nAWM><\fU^A*-ˣL(xMLxφK%$@>A@5oҗ|#NNT1\bB`CRXΡ?M1mdd/˩+k?jΌn:'s,fS@_bvσוn..!syMT-+ʃGQ1@Pr%K)qFxAHrr\fsBfE_11(Y֪8Vhq(1t\f3hm,U1@6\b%v<`B}c-IN*XbH~xxGqǗj=[\t1*m1Iz_gwx0NedElq˼}0Yj%~Hk_Uka?RWrpdE T1@q'!!n\vSNC4u~iZft!\fC2C0Jp/:Ύ*π6(dqc9*vaZ!YGX-;8f28ROgZ,><ZgLy^*L#xUzwM+xr02uv?=5+*{5v+5Y>fU7QKl+ʼYm2\tKH\fx$\b$5i_L:l`jV?ÌUQpjk0}6E7u3s]$WBm;U\vJqMETq^4]0habEP2= 5[ִZtdI:/S!G֫K$p9D\bPnQΆ_hBB$҉u/AK0!rm'<#=D.9Zr\tgưTGBv)3LJ(@aL(C˭5aL2J%z,ϓ/K@t:X0Xdn,(9U1<_e%[+÷cH{`Tϼ˼^-rt:hx8iǎv$:[<(Ar>Ye;F4`{41C7YGIJ_Ge)Z!ӳ,Id%8d.3X4,xc<Mb\v2qN^@t!A7[HZl] :+D{28zrFǨ5f-gRp.gk{dgViΆ!(!8Kmao$>eA#41vcF=ʺ(nt5'V7Uyo,E,TΑǬQ_OM4<_?KMr0\tHPnoh%B$^^vFK`]jBHO6\vb˳Sw]ƝDYe.{Pzi(tUi`V4\fR|MG˯<.lf{u(R 7z!cC[U^3e8v]3OJ9Z,?eotƽJ@J2/GútIO*O]3$vJ|/{De2lʖwλp5!\t44@JuөFWʐYVZs6,1үcK0iPP%^0kXgC\fP(YbNxQ`+2AaV{=[]^nww[҈Ff?LziK{f$)wCNo˃SO++<aKS^`aKBRN/DZnb\t>X9Q\fT*.9f6Y$V4\bA ,=M@ZXT,)C{W~57/dukpie|t\f'`x3'V{p%<}hn{@M2Cֺ_uZ֚E$xKezpL{!^F2+`oQn(\f+gkK]o,%p5cB+p*ML*LNKc˘Ue*M\bƳNC0m/Od\b7ti=W-VH\vaL^1l>5]qҴ{efzs)QEJdMÔIΐPn(b5wY\v8xC4$hz:\fPiӨ\f>0xbNkbR7YC09YC~Óz6=pkײv7\teֵnuJrS8E\tCs[\b1Ӭ9K>Jkb~C^i]mv8>tV_N.#7K#/ckccko|nSiy5w7vf?Ylo.o?9z<<UxQa0gStTyQoAiӷD?qMEp]a%c˧pwK %d(Z2ӋYSƹTǿ20}k'%n7]m@`buws-v^eh 8ULDaBDE3[M.JRGh7dbBWmV-yVˬR\vA/iRs><r5YA5֕?!d]sL|,c*9DiPu!(O|E@pwg]K{k_>2@1P,i1\tSBW[lua)f.S.v5D5r>61Hv3IIE{n|+\t;}<x{)Nw5DiK-u1!ab0G@#Eä\voMAn6M'KCOƂ[jT]OxW4\b5k@ZNB[\vdLI>=8UhjXYQ\v:h28|VӮ?K#-ƹHIvT`p`U/WFtx{9|?vz{[<9ӳ:%J\bM;@nvhe\fo 0`YRP@<ζylG> ^34ˬ`b3t`;w<_o/W{G;cCǩF<FM<p/T.I1Nbq(^;ǟPVo;3vk?HCDs;[!a%o;wKj2Bnv:B*dhUg[Y,ӃLy'~VULRG*r#XXCv?Gx0Aw>z7hT(zh^$98K0ç6^H^jP i0`C}tRgtaWʬ9t8Py9?<dy˓i>oζ\tN4:k>x4db\fmc>I+uK<|E=w|*#\bO;_jyw]-^rU\bxv/j/13\fJ>fTm~9$xYP5Mk31zl<EÌ0$;N\tz^s1y%Ay[f<Fe:dt%mvGnR{DWaCIo-/d[m~O\v?[Ӑ}_7v\b\b<=Y6!dR7nOFArv42\t£S[Pew[ \b@N_\tH3<\tsiyQsׯ.m87UP9$\tu~daib(?r/)LF^;g6-<HnAPg 7F@<do#ˉOU'm2@j< f Ҏ}mZ(:^?DcbҬ ZL:!E1gK%QX<?!m^WW|\bvC;UǷ8x/G;T,~qEhAMV_h?3{1X`GcVʞ,v=$tt.]vgqý\tDfֆF<Nh'6oOgD\fVS6!{[lDc[u[abt:>8_{'Y*t%`x}RQA[\tKZ< 7/}0*BZUCfBgӾ@JD@5*>49#JY{8p<z@,dSGZC$^~#ǯϫT4UZMYcHn<\t\f״Y{D\v?zLmcu_|8JLicx?Kgkzt7=9|{x(Y`be4j?gA^Jk^3'gWex$}ˠ0@@|N5cMu/\bIp)R\vS@9GtXJ\tAKWspURӦ UI.\by@=I#6JLu$;B2h@PʙLQKnq:p-HoqBJ;beD?r\fZBr+Vt~4\v'GLK(lxFsoNJ!d\vxb\fF8q?TO(֔%zl2}q`O~LQa\fFCeRC-5wqa^ZSxhx)q?p!/«˹yYo`sGu|ϮhB^ʦ>^P}_^Z#\fuc]eexD,Qv5VsήX`YPJMX^f~#v\v\tL3w:hl!ϰKR{r^|NPGD866IBCӮ'Ϋ\v@#wR\vCAbWBYKü1\fO)EG`!lq}arr\t3'A.l]t ti FvE.NxASn!T n^qir.#u jXDַnANS:Ynqxƌ5GlABC[!ueƭCb\vz1#ҠR^^L,}p)z:#sZW}NEҙg%X1F:64lAvY0~^)E>JbU/ktJM{/Fbn^u^3k<uR[UAÇsǦn_4\thg|\v\bKpIL~_SI~Rpˬ]j[?\v\f*Y<[@ʌ_OoAx\bnOk;a!mvʖcwvʂ|!N}p@L{21. P%xP,^fQy\vD~?9<?> <tUW,]\bAL9{Hs[G>;/(~iex1LzS>f.sN(]1^'WKqM5~%<i>sqeE:pEϑo9r:׀h6Pݢ`C}4UsI5\tr~T\b/erWO'TWl3Js_+e:˼RP7Q~P8pÄyF1Jh;z[d3~l^mì4ҏv{XҲ#%giksk{ckmwtw-f|yJ}IS_`Js^Dv%!*UJ_e>\tnUU,+\b,}lX0H\tc@ϣ{zj,biN/QC_B;08H}ʮQIvג-n!u}%s\f).q?V\vta=/+E/5m>Lcqkw|^qj\b,H\t:0.d#γouAre.xPQAnFr~SX@J}:ҕu\v=gW)B!QΆ_\fA>;>Bl.[Lxeqh\v~h|)EdSI*X;a6[u_8?gE^dAgnP~)bw^$y@KkosS`MZov F`JY;\b \t~{'YF{S[54FM`AT.tPk$%K$;kB8L$H67h5a*lL/2!+,zQOUlD\fx8Y[P71)Yb:3{e\b\fcbXeҴ!qm2pcrρaW|I#8Ul`\fYKIvq:/,*f-xUBB\b.X_(?wO]gJ ^b<N `-zRq>Adz<CkBp#rY}}+'qΊm{|\b\b@W/E8\t{8\f0UcSάN(]L9mFv[ʸf0z#PA!cKd!5Fg\b0Ӱ)4`HrV?z\tLW6@P'88i[H×ÌvJøB\vs%9i~7-@OR'P!U8OGL{D6G!rT@ׄ;E9q=//o\v(4.dB*4H\tC7Q`T~|d*I\vwk}><pF|?pI?_b?a֣dE#\fv1AHs[2ӕ\bmK}\v>nCG}x\fU\t\b]WR6SbFtSaW94vOmM;5V7MEa\fZʅJTJ#@6!\fanC4g˞eh?NF4ҩVcf(˅âJ'q+>^AuGh(qM(GZG,+yKOwK\f[k\fZmO:pC\td#/\vDd2?# eχ^P)#9(cMazE`ZNM]lүdU,|ku]˧40q`>#VX\v8\tk|NQuvpq_˴ǝAo^%fgMy#BZ6Q҆JAya-c;ovW?i@Cl2u$҆h'Y]9[AW59*vfd1ILs~aHx*ktϼ\fWI,%xjCbM1a` S;kW4tJ4uu\fAҘ\fDq@HE֊W\fyMx4ex։TVB1\bbuv.}<DojNa^EjKRSmϺ4\t1Z2>!F:g?=5{L9yM~xkq{z-p#]Pdc?F-atmʄ\tPFB\b`_eBCzYK5^D|N4l3|w2NmGVhjfnjXix]u~#/e!-uhϚmkySBG`0}V^M\vy*kTXÄ%B|7qÔ4ּ3\t~*q=CLeL8nZJ#*t?n'Pn0Σ\fk\ty<g2=^<5`e¾8h$HM·Ri>))Ej%F(V.v,Gs<5XCaT+29\v#AZ2MiwtU%Gr\v~7Lqq8qrV{( `]Z!¡+cz~'0Zz*E{p)BKl`,\vss3'CB[Ypf1qLƇ3εd#<sӱéIF:.!09<@,\t\bʲD{'9Ǻk}\bE _Z}u\t˪zh2bNOw˳!uOV>\t3tƤ'1`G:,W)Μp\f\tUǓVTxa|I^p Ƽכ}q$kqA@+ì˳*a<hSҺqejRsNWQIf'0#<~fΫCxyAUQy;l91D<\t\fk=7\tJke<0{E 0X\fBQoRҟ{>}msaz>>Us#I[EqkD!CjR,`?>ilT.(}\f\bӍ-ZΏ<{'zMK>9M!Q$>҂|).wζ\tVo\vHC%Qg.|U6v.!dgGBw8fgRǬ?3FB{\f.k.rӬfAB(qTpBdv:\vyA7LNé\bWa!cU()y+T>V.8A[C?1+fAsb`U@` cRZ2@,F\ffnfμ`Ӫ_xc`3WY7ol>L<D\vtr5t$@Ƅ-x}+C1ϑAc\bI%cPNgce\b,fwyqE-Owz3\t7~4CMrl*ǥK`=a^\tv<'\fJG+h~r1ky1Dif6zo\tD^-ùK*8g'UYl/N\fBpf`i;]3:0GUé.1K9KaKy]mQupuy}{\t<(<|~gTW~Wh|zzzE 4DMg,$XmZ1XknqV\b<dΐw[_D0AGֳ$\tkH?<;˕k08evh-L{gr!sy֔@\ff^Kh^}]UqPB!p2xsˡrf1jOD)WKʾTGUǶ'_zF-ib1udb0u~T=;_*SƂ{xXlD4uCY%l0ҕƉEpjJT^qw#^3\b$|I4=:,Uza\v¶xh5:EEê_Sjf)w'5S=N*r5t0X8`\fN|'CkpY?`(Hxʻ$Fǡn/[\v'!h'WCbΖZI4ǪiO7G#-8Vg5Cs>\t?k#pUPa}'g7F+o@6\t\vƔpry/L@o,JKjVrXAsfd#Ka?eV:zjlq;J\b!).A,L5!A\tI8#Z0җw<FZi\beXmy,M*<nE/JZ֗ʄ=MxJ1H(7,\f$TnLjϞ\t@pӽ0`IC2+\tA=d/o[8WkW02>/\fp0E|rv\fY9f%9Y:)uַZ_Ya(T*ØA$ӯʿFƩpp>*AZ2`\vpg[Z9B RG?hTJ+0yC\v`VP:lLdY֎fY\ve:xlL*LJ-4j)LALifPL<7,@)JQ<8T4iZe`2M=cFB?\bCM3vn;ƹ?s,x@%s(MY`-@9D9C#~fbZdz~0FǎBW*g=)ʂI2}«VjW1@]iaT4 |.{lP_ǚ=H:/!4ZAN#}|$Ϫ<öjyǛ,ʀq@^<!$k(UQC7xF`N5}xmq\vJ֖^iQC*\bfnO`7ϲ|\bFbsTyaS~G3*<zDX}!+#֪f M,SIxRq>!_7B-^>e1NZ\vVC<\vn5ZaWA-\tVBJ2Cy*\f$Q?ƀ\fYMaSEx:T-y>F,VʱV0%LUX>>\fXQYy#IǞ$]<RT(dsd>/=_$T<]r68nD<dq!Fրy/b93h:U\bh[)C.(wr;cGt12Ɔ}V4i]QcVJee8/Ydll#(O*DcFL9u[\fǹu4K\b?L[?aX(pӇ;>z2y*\fpϋ4\bx=\b1u˶sʓғ%S`*+)QRx*[|p$dro[+G#/nKaxus3H%>AX)Xa\b*xV*<It.pw1wRA,_;D05vl׀Fer4>6b/k3{~'Ϡ˅@?6(N.F0\tƚ[.3j7:k= G+.*G%%_7B*{B$@(xX<XhRJjs+9?+E*]o~<\f8@jz>n M;<Bdj`m^R\fD\tx{OƞCZ;6l8Z\f+-Jq{Ʃc+ǕVʉ7zƻJE/e*Uy>srEh!ˠ+LP!\f$rl`KMDHI,IDӱ{]]m`=69;e]gs9ǭ_p9O#|+E8;<xIkéi^b6Yrhc:[Vn8eeQ54o{g>XG`1Q4E\v֩zDriOgK=a90X4iCUC'L\bBp\f'hznqKϵ]I|2OYq*TpP4en®NZPUp |qM?R/!c'ÏZ]ϻ9a\flc.Wuy@o?\vu;o>'1YI?\vn% E\vE#`91(1[iB@.i?OwYlR]hΥ:b\fi\t1MK\vsΖK.SIa5÷?PTtk@:7+(or+Hwo@Gmr?ʋǤb:-=P8҄`o\vHiBQ]x6}IƢ3GPLdvjXGJ;MƼZp/.-s_s}p%EsRӎMwrA[YU:;16ef|F3OB<)p>6s1h`q+|6?2V.{.Y\v;G˔njnfj\vr{k!>}YL>W'vBaA!B=WRfj_OA[Jx ]`KIPo{iiD*:Q]vkq#x7wƦ;6,59b3+.sp%g{kf~n;KY)sc37' FfUMiGMM`{W=˲X\t}Bo\v9>zC`\vW`L~xjMq+eVk\b8(.#|,YAϤheTQ_4;`m[3ul=v0_X :1O}`#Mh2\fp,qƾ4qX>gӦx;ә@B]C<qCkv7eL1?[]]]lqP]Ya03\t>Dap~\fY.l?>fyB.H>}|:)^|,tx:TCGsGsf`\f#FO3{m>G1OC,һK/%0F\f'uBy\vCW_N2MFʏ\b3pγQZ,1h,5@eh80[*]Wf#T)Uyt(Of<Zγ)b~s/5fPyi8oLI;Qk@I8,0ַDVs]YozHAQ6^U,AKm#p%S[=pz{IƕLUo_F=ih@]\tIf>gWP]tD6iL7:m3S5|yφΤ-CRpOMC]J)!Id{Aer%E@FA); $1%ҡ4vF'^qIL.5ado^2-7ҟGδo|M1H,>BqXp_QO5aGyS~k)rR#{y-q5=Ӽ|<[ƠeGs+$HeyEa<8Ǡ1o.qtcgF(R*dBTҝ(1RúlBI\b?+LlSC0*2uqN+EOμ]B!\b.!6*zAv{##5U'ӁU}ik@J;@ư/jyҩ=1>מFƟ80tFtyPEc@zV)Wn9Ӥ[\fo]8Hy.+*^q^IcMlL{qj'Jz 9|2-x;=KmDRUB@b;.)Is}E?)eos3k?zǺƯ5kdo:DC <r ?KY$Y sOId^)\v(LÔHZw@g [k<7JD2AD'ʁ\vClϗQ(N(Y!,PSGS2@uZA:Fk`I>Ƽ%1#CF;dg!%>fCn]h)a0|tE\tH$օr=Jd/X^,OƢi~0¸LIKjFcblM4ӼײEsd^x4#Wzd(\b]zed)P0s/wϺ]G\v0|pJ|*J17P=\bB6Өf_\b^7+Y#>)~XK϶bOgOs*am)gcGk!1bP%!pv`Ε@vXJnfDa(ǕGDl.$@K;v0ME}ף2,!B\fAY7xMAOTrgbbbm6vTVΘl LrXPZxR)^\b<)ºl4#Ǝ;HAJcG^O6kuhFWKjOFf|VB#`7?TLcυyG׆\t2*S3#{F;\tǁ6>skyV({^\b.M3UNC7fW_,Ӱ{XRSQǫ\bVYq11ҵ@u6>9N~HxYOs8?;xBN7Op%)Vjb\fb1<: EQ}iG_$|dnΎ)T^#<˅ZjK{#Dstno+44 c@hU7#D.Ohhh`vʴ6eLDi3@!VL! (PҒ,ekC'KRMSpO0P\t\t $au!u;BA% 8 }÷\vtƵϫ=Ƹw|o=tӥj3@@@BӦ}g`sWvc^Ehf%wE-ә^Z'}5BA8,+@p]^*%-v֔t+X3N!YBP`}\f5{6c385#Z`WPX?vndׂ+~zGh%nUce=e|F+,3D(p`x`8e#p`Dr\vfX+t`MbcP*ʆ;>G{?7SvJZ>:rn'>Uu>QVT~;/._\v,cvU,WZ#O@§6!\tL:D=T`DnX}^2֠rӼP1ida%1 p$IV;3{0r7S+\fu$R9Lp6q1\b¼qT@5£tHϝֈ3GjJ((\tV9ʉ@;spJh#s$Qp# vl|3`Kqp,$DǶ|xVMVwb%l^$RP]A\f.A\v}[S֦f.O2ֱ/4DǬj$Ϫ%7 J1ϋ)?+A}6'-x\vWʾtG+ETEӰ_-IT %q u1FC.E}b5v*8tLf2y*vJ;_+/z\b5n#fgq\t\b+$VTKj\vvw˯Cv<$PXd\f=rnj/wlduNs#rE^80>%*HHLOptxI2,ct+IlE)j,2֠K<AQjDS֬H0N8WyN^^aҼ)γLG/!hv\v!erN+qΈhiTZ\b!j,PHcQ${{EPe.^|ʱt h8eLDj8F^ZZ%x];0spAUFR:\vû^4w%;B'\bxhAP[ZrN|=E)3{cfg_Oֿ*[G]o3TtQW-Kl*\t\tI,}*S\bϊ+֗T~;|yuEʯ\f{N~qcTd~V;5z®zI!>ib_ZT^I/L|^9q8Z<i\vG2Sqoob}h[LGJzg_\b)r>`Kty\v9-|/<phϝpӓ9M\v#rOzZTyzxz=!Xǩ h\b|Ϸl;%?|x/j)z<DyEQRUHe|<QDyZ=jfOUAF׆JAlv$+6gBh*]sNGa)w [3xϣ?1ӽj[#(u|A$I֚CӒD7B}hhpQ{1zhkPA,{5_gPQL[=Ϟ4BS-hkR2,\vE5-!OIblaVI7^:<zU\fʼd24Nο/)iֵ!|UWm$pBU.'mu$K0.<`3zxrm?<O\v6U6Pn'KQA$H)\fϓ1.@uehloׄ^!/`wiʜf7>\vla%ZqrL:'ZnL[;4RYC~iJO˹m-X\b]T]3T!m\fBM tX+bJk/e-,]\bGWHPKy2>A;H0dIjV.4wyǷJoRXj7+Jv%JH2mvwǒ9'bPmmWufI{{+~])T5SƂV[e\f.<%Â]u);W9tt0|ʚ*>x0=w?:a\vl)F\v1Ak$ab(}2^pb${T)Q$ʍ)^!D=.5ZSJ\v\vv]bUa*$\b,80.\feaǬ:+sJ/!|eW#~`~\fCvM:bwHLtEN/F>Z':OXQ:[J{I|[aҵcEw,Y;L*D n<-UYrf:h\vR6.)\bf(V^TOprÌmu{N'δ]4nt]k6cN/0$hSjq*úra~*jҝm;\fOivt>}(r}Q\v7qZy:$4GD5SZJwQqu7]=L4D$pH\bNUP.\vrsf΄9Xin\vFD1Se@#y3`$`:0tVU93RfZ9x@u<v.}˳P/ג]ҲIYXP( P^;Ch%R)sI\bYiobBXZ>|Ιi%ˏZ3vI3nOj5dR)l,!YqN'X:EΓY>?+```N$gjp_ fDӀ\vS\vXʖ\bZ[Q6'֖\v~@V,ưh0@QYo3MTlPXE:O'p7w/(|DžK%Zʮ88h\b>.a`\f4i`3sYN5Z_m_AKK%xwc:DMm0-]GZ7Ko\vV4t-סa\v@E}KZ S!+פ6/()+<˭l_LxAbN\tZWÿΜ.mKF<aj\b%VHmp_:[y(JN7 c5C\to=o~94CzgJWfVwl4(if,ҦlMD0cr{-D4/`#cS:~161(lS\vju'`BUuˊrMZiRL9Dkk!:iP78H{h ~jӥa*90'%b7m*#EA,du{\fBSkFg}(,\b;a7@iH=s}|֊Jrg=dY*%ZV3J\tvQ\f8pVQTnDSQ,9UQQe\vBY3t+\v³`9Z+9\vӶOwIR҅.N)KeSEIq0>k)LEc`V7u8W Len-*q>Y:Mf^DZnRBI5'*n˘s<d(/C^*-W[y6^D`H$PIbl-Æ'\tnC\fbqGK@h.3*6MJ}mQ1_1\fKςBlAxJ\fUJ%1`ΑlhMίӃ[gd6qjh:dPHv10C$:zc#RǑEWD\f *T)f@ׂA\vhs#/ϳϨΌ'2!W%?wl4F cVZF`%eBP#yKMJ@'{d\twW,%mNnqW{PX?QnE3Pl\b3~nbE5Q@y7Ρ)>fF4(M7־Y`%+p{-C@.VBG˦)k\t%MP>bcq/!ǾQiִ%hI-;9<Ӆ(Q(u;EB{@OuT+NDzx64$7#\b.;-eבJh#['\f@VVyP{Pk@j\v-ּçQ;PnBEy .c;hEOgW^rV¦KTvCǖ1\t'RODG3Ds>_eCqqllm{[-#>6zES,r}A)_UT)%`9G}6P|~+\f}jA('ύ3\tt/gsfUnhN)8Z\ffMcb>czdafijJ9]MmR;txZvDw1\f*\f4iB*><gi 9 c*S,KaM+Lo*FrSF/ǝ2ns6ҴuXˮ-5z˳K+<e<FWr2!i}ΚCEfyRzJ}ytc4MFCIg;>eX=G/'/.c(m1/?[Fk46hӟ3D(fnMzuM^GBC/SYL-7vx{_=46ּΘiz\v{?=HvL+p'$B[BM<svQa/H*JYQ1©ʙ\v_?uog21/10v|No+)Knl LGs^<P\tK9:j\b$]CykLL_<)'\f<` Tq<tNbmƲeҞ*NMRQYOlB?rΒã#xe5$di)e\t>m)P)\v?M-=r42\b.'67sy K%+ ώ]0^\b'$>iO@!v q@ pc3dÏD-/DVig֑DP<8O/p>f%\t /r\fnʼ;Uτ^>h3+6Ɲ:ZUSFv~,P?^M+N2\f!lI<[!nk_L*xZʴxIhSw8H(.0a%$-j]`)ϗ-{T$8-t=|FT7d9~VSozx_%F1({t|^Ozu~+@}p\ve2a<>|5\v/<KZ %KӰ)Qy_Eg)jm5HXP4]φAT.hBUӕy\tWrUZքRkEPJ1F,j!O.6ʙֆ>y\v8Tq8( S.ʍjw@`J)LVP{i:tbv8]]R\vY5!r:zP5TzϒtPy*~m@2VEN(Hs#*>L0*kiBƭOGt~F7y}~<v!q5\f55)vքPvNb2ho@>a1\vN.#)_5z)v*ʃM31N\f1=[B,<xF.PK~b7k{rM3C3mhb}ONz.\vij0!qyrEF9_A\fu\vr7Ór/_$W(**O>7_-$U]MX\vX^6C;NY4Z9)V\fDQ]Ìpֱ,yU|a'bAçq4'Rj+(727TWFgr\fǽH]ND~`]OpʡDxt9sTzזH*%,J9)H\bg(CI/edU>^=Brsn$#¢0F7P .\vE^@WǴRO*.\ffKV71{wIWI0`4v\bke2'8Vl>-׀QKKGoxydib\v!\f[IM*DFLK1WҮ~°`^A+גңkfmx\f[IqNlR2[Coq_*1g+K4h^XsQҿE]$H!UM<ʑ5(BO}$/>y)A;Z0{G\vC9}bja^֏mNhHF#W\b,}'LJkT\v,(k%nh1Å]r $? t.@L`e Z9`p1:VR~!OS|YִbZ}dPgX8No%PjQ3B<s-.YxA3{%`p5eyf7qz05@1i\tZ9~nHfGK|h~Ge*Ƶ}r'JA/|BpFut:e\t4[/{EBuEʊ%\b[ךXFY;8\b\vWÎD(\bRPӸ[fqp_\bg='+\bε%NS\b2f\b4%,cʢʣ*wQH,*]rʀ`8V$I'{[.d\bQRfN<=:G\vyv@B6=E!TJόV(<}ydNfGGAF9;l 1k@E$HC]fCBM*#S7|q6[j-#%/lJd7ְP7s$JYCFʑ<JpVϳI4(Y\v$wǝDO\b\f϶>'bbDwAkFmgQui3Qsq\v=6)HH68qB6rv7`WM;'Js+CDa*;7l*leΈ#/MF I[Jӫ=niN.àwi:39$jU+(BpSMknp8J+;rAS\t,a+Θ\b^DSg|5ÄM_;GItF[2NHe5b[92˚v1rZ{YìOOhpE,F;Ay]a=îECN{ OI%ƊhjKob<$T\bT\f0/hj0G,Jj\b#zIwu:\fq!G2|dS2UDv/YHҺX:6!Ӟsl\bw?4ZWv;rl[yƾ1m6\b:GoP%0'oSR%<J-ZPph>U$h\tv>I<LPW\f#dURpThnGwh<))w@Qb_8zǛʞΑ\tv[2sF0JMCe]oOp<yQV+^^kYt`:lLAJrEQO3n\b_A]-+˵Z82V]WUK0hp[aL4!5XH+RL(qÑW! hii\ftvw#=\bA\b,*7*tΗg7]%K}^o^Z\vo. ?}5-t.LO;F!@1'>%>Xmk+/r#3RVN;!Ey)wzתL`Tw@õJRd:1B2kw2Mp60xI3)a )=,=5ˀ(cMTu)nα2E3r)\v+mCcRׄ=X'o ><ǦӎgF=q$9EM+s0JzBe3F3p\b!pZӖ#;V-0H#iyoαYSc=PK,zlT#ƭLd5SwxQҶS1ӡs7c@\f$%]$d(\bRhW}J?xixP'ZMzj9XZr}jҡBu VvӤÒ$@aox`1?xQ`m֎1j5=XEƥ[m<x0`@.SXIJ2$7J><:-jS/^O<dM?+,^QƴML\f#f9iW`LJ[ׇUc>i=F!>v^`cZ@5GqV c)s/\b5ǭ]9H:$0PoΡHAˣ~-=8ϵc0˥#ƥ}\t#/ FxdFC7w,>nmOJKS!V s\t0W$rg b-S,P2i7d:D|%ae3%VbHU$3AqUaBsuJ¼5L@S#@/tQCDδ+qA#B_cp>[e54feAǓsF\v5r%ϙTϢQXy\tMzwR0r!NKl)gMY?bsL3ynHS|Vk{*f?.[`Lp4JV2\tG$Rm/,4|OtVe]3`{DXF*B0*(
p`D3tVQ`@X#/2#D<_zN[8KyQClW<Dnc*\tBCY}wVAV^`>~@||\fӦr8U5ÿU֖Bi\fǶMLL/he֖FD[onX\fT*gΩ˘ëtA^ xH)JU,'@<Pm[ F@~ֳjR/Wkj(5lƃH,myBƎ0;Í3ӉZgbk)mHi9VGCjNK^xv9=q*`4h\txr=-\b\v}\bhg73zJIz!yu~CnhF,?OX<#MT>aOǁ?ρ-E]Y}<<ʽ`U\vW5Q{qmaFM2ʾKg<#Pӗ3=%DP?Xq=~Z!MK9R=5<L-_p~Ʋ-cg*v}^Z\bJECҔOG\b9uqg%P3u]B]t+IcMmAt:LV:\viwǢ=:c@\bo[8:V>uF/sYnǩK@]?$(99\vMwUJ@rZ[E/f~M$T>e0HbY;e}οux:XF!ʮ$ ӎ1$-J~@$dBH$|ZO6Ih5G/$Z@2ϑnqҐrU[q<|k\tґ.I$@:?,p#i''K\t\vPB-u9MT:Å's?9HױjlSc=-rhgYjv'n,Pt;SKIp+=ym9#q)mr~CEƋOC>\tYGy:\fYN,j9l'{8ҤBFyk81i#SAd~-E\t2>\f{p3X_(r*#9b%F9GR*euO+9HJVʲcvRn>Ӻ#fQ$ac{ZB`Ηlr8W+Fn-!LTaliΦCfq'tj-+#ơư\t~iүtd$?>xgU>lH(dUKY-j>\t:Z{E|-Rvz{I_Y,iD/rp6wx\f~u)=MF@gY:}o7ʫ@`Pe=:Q]ʗ\vrwtU1UMϾyB=aas]`M*PIsD\v2M!}y~k)ױa68`4NqL\tBnR7F'\fc<5Ú#^wJE8K1#fln{SIb~*\tSdμu?hL,eή4t%xe(-=CQJQ~r]qC$Gleal[2sV]:s6eS6u!+@U_B['ǥ6dI^%ZcY^n*H>BPg\tYaZR=ʟdLbgUar(p3\f7x9*9dDc\tJFTdqI)RHOJ4;kR{KS{8YkY%\tV7JףIE7?=swete[[u*zztd}CˍyWZ2:)U*=Drwϝ\v,¹Yjm9s7gDyJce+,uHN3nNxQ/j|ˉ)`Qu({:u3ǑWZ4\fz~sMEMM7;!R1E6/H_<*^J9+qE+uxWFPnu]jG}BfSjo-V[M0(R\fxEyc#6o8)?WOW~K<#!\t^|CcCBWT6@wuRW.%Ee].9!\t{wl|>-ҝd~;- {N^pfHM/9>Q>9I=_/]ӽϭjV:3sψ;v8}1u8\bt9GJG'8 W{rZ/[C;A N+<eXν/7ҸB|Xƞ1R9;MZUU{`Q@WdlO=BǼ$XwxAhҬ{K_@N|8u<:iIgcd5#.UbF-cp}`,,=OQ+b|X]@K''N.,;Hm'N=S}ƎǖƁ8Jlu)]pjӔgD;A/ru E0zMO7:'B'/wfρQMzEm0Cajzf2Ӏc+!qT?ҤFH_3%r4IN-{>wQ#cǯG24Y\toDvr-;P*q_oJP*0i_vVT=;,%4't[xNQ*p,gxiW9GS%XZtxʐvfC,R^@{x,fQ6U6A9Z;`.oFSb\vJ^8m2G0jP8P|A!-sdQMFPFRϕa!vdm\bne \tr,\vgfjehƼ\fxLzlgMYY\va=9n60]V8zҤTDZ}ngi\v N>2'7NWV ־VG.HӮ[IY3.+Y>2nי'BuBn QE18[^6tdHHr:%ƽ7Ƽ;t,v\v _T/SҭVRgB+[yB!oR\fZ Bl*nrQS>t$oWXip*(0Jq9.E~ֈ5:KeӔGk\f\tbUe6F.[lX0LyM\vmv#B$}JK}\v'viSfe\taJ:H,T(.oT\f,8DWI>,pJYL[t1Қz07STL\tvPh=ffKPvע50jf;Qcv46H%79X~4Lr^hS_vʱ#|x3Tol_n/(/F@G\b%\vjU/%za\bj'l$gw}C}iX`lIƧ5gfcfP.1D%+rEtq0}T)ּj*eFÇU%M)\f҆2lR=JX`y,wH8KUץI\vh¸5w![L\fV\f\f+/-]b-ibU_ GΊ \vxiJvs^\tijwtr)aUMiʦtKEEvӪLU83_\vƍEGO\fhb!:46i9'8υ%/5a g6`!zU'd?happpBHRWLga{%|S^!kVT?K+j+HkbIˤ$.\tNI#;pu|CV=>!H<xbMXQ?r[V~8^oP$/]i:s>þZdt/URntwG8R8h4ok$/az]4hu:ϵ{1embNϯQTCd[^;w;0_ʥ֚uvwSJv)L@V@zX#FLrk+H\bkW(C\bQFiZ¤M^>1J?(>LN_:Nʳh9Z*Ccirg5Qҧi\tz\v!5/HDXd9.\fWiW8(5\t^lJM;w-,|\ff~%wGҤK<ms?{zy=[,;tGVoIƭgrI bxy7c@uff8o?|::_siECT0Ǻe($Um^uqW*]wUMw;^]n?TƬLrA:##q||\b/%]r|w?\t9ty>!ӳ`q#=In~ s?הӱU!6dZ*jf%[JJHLMueCm(dz;'j6~\bGIT+m0Ϥ4p>~=XIA`b2{U3AC{$DGϩ=u=fm7!DUқ'.Q!)ׄuUc\b#pxFmRHG6em*]<J5O|Ϲ׃T!T<M/jg59>C4±,OG8le'PGRM]?\vDn|oz3i,=pÄ˽1j?5A^r_>Ya!#U>qFeǨKF>02a)B[!˘R~pBeש(K/@U)|)7νR8-?3w(KC_.{ʜXA>h,iY{s0/^]0'Ugn_H3ôf!=xY>DQ?%HZ PlNW=Ҫw-9;6[Gv9Jfzwl(c-nD7\b{aK/j$[1j4_~kEQ]S';9©MCm(n8C)0X.Ҫ0|7<2Lsm,- ғjO|Q|:gRL-\fRg3O(_/n?)`VCLuBNjƲ`JI]}p\tUXʍ9wQQw^x u8x{~xbCX[p^ʡ=%0xbU_IIGY/|_fnUsEӮ%\vUΉ1MMy;FNmJ\tX3V]Q5B;{1<^h41`LnaZ+\vI\b\v+,7Z\bu=3J_q\fZ])?4C|9wJi@jHc;0r=%yqEZ=#bxiӋb$iw[.uCP?N5Ry^:1HR4κ?Hy>dtGKS?kOǒX081Gc}Sz%`Mg<.-Yssdzo0[e\f!4F~8pmR\fL=I-LT֫lp*6t`]fo3=>{>mq>0O2lqY_bK,yC{;0eχWϑd6v=kg8yz$'TxSìǚ}kK#zr?uױjBQAu*_UVzkoknqe1D4['\fzw]1$) (*AbrZ\tovrʄQ`\bҞ×b@ʊ?C?w.M~61Lv~Ak^GüiwsgzwW}T}p-[gB<J\bkxmLr8]fhy8gOwWVT~~l<)6w3ש8m~@@\t$\t5/#B[g.(<@$zNPpXHk><a9Ƅ`y!OnӖJOwt9'tqS9>O9lm[#uuuug:ցϸ8E.q;;ES1]JTw+}vs:Qy`'9]6Dg.w7cMOsʉM;ׯj2F>àz6yx{^6_~A$,\b|W8|3:xu5[^}9_n `T8]/_>V_/~IhNVlo_?.5UWvAV>kVd}9{=e96-3.mmIb/#a~m{mp9jv:~XoR5*!HU5f|NT;aOz_)Ðv,oJp<Is,B:IwVb5]Y#Bf>)r2aWױJ\v@3i\t\blvY2=Z)$\terHǣP,}3eC/+m;o%'!Ma^:\fNs\b7^`j2$6;C)TmJK}5*mhAW7˽#ƚXY-!I'Mm\b,-Xj;NoJ,'l~cӾ@n7RG`MZtjI0OTu]u-w]R[mDeZzQqSU}JD:\fG<r6|tl,K]odwJRʏQV(<Қ+]a+U)O5,2g`Y_\v:(}T/zY_ϹWWʨf<[z119xh+GH\b~w|\tiZHjwKNZA\f\tF`D}P|:H[i5LVʝl˦>?fE1}ft:gf/r5f_ [7x,^E]O}sSu%XXƍ.'{}T[i.rϙr;M}9iK\tI7fGdwI]0eJoh@A\tU0`dICvX,PO!j@$m>Vm<Y**vǣ=06^Ô5l0[7b*Q(1pf+Bʢ>4w4ryaֻ4Ӆ}w\v`Ү\fMx\vpiU_.n?Yt.z(LZd\vˎ!LJiS7m_,+me(OMz@Ɗ>rUx6[a%~Tf@PeqpG;R~ƚjSuaҽӑG_qCC$q^-h/MyU\b8\fOJ^{r,_b~zʷf]ǨKMy)NGEQLGS4-DgK7ME8ΎH6:-.wb5:Kn`58XF f2=x6}C'VN'wam-ǖZ.gqe6oeQ#\t3jǍI_<){\f+kjiD\bNVa1x]v^R]l|-oF/wQ~y(KM5]4'\vgOXn`~*/}=ow+0c~\bFwA;BZ\b^bC,tV/kO_mL\t,tpstmzv_{~[ӗ5\b\t]VOx=+)fAF\b$[n$_S\t=JƥC!?g|_!)sXqA9msH=]_0fc_l=ZKסM.#i]Lf>x+}-\v[5S09Z3҄PLOjH-ӀDҾeq6S1km\v#1mn*ýKeDzx25k>`2fY\vU=Zc^5\vg|ha7j`˭Cjdž#X`rvv<]Azu+Q_,tJiי`P65<F\v 6,L;ƔX~4$$4qt>|t#rZPyf3j#Ts\t{1S}M2-RdA8tJ+,,Y#0\b ?ϟw:yw.hO< RZ9ƛQAPN$Gˠd<?Cy2Liljm?{1_f;^Ƌ'p=oKx7p>Wʫ/1]XyIbNDrBPE%LnEaא~.*ְ=ff`kl9ǝe$-amBzw[H>2T+Us{\fTo?AHqI~u<'kOr@'Yª}g\tz([A`z'tpEGribC@THHʁ?'t8!Z;xvqMIJ8;(-`_!w2D8du3Yi`w/ҙro|y u8qg4˚P~3rAP|MNfuyNMDV,Ft?pd;6$7f2˅twsΘI_l>41QiwP$m|\t5PJ_K41CTCϞ27ָRZӇzu ʅ:O:bGo(GaTw;,[F7T_Ww4-Ms\bUf(q$4Rh-/-;iʑ\tES<sNNPRfZζw<;O8@* CGOgj<eb]4eΣraqx9i*<kJ!!X4\tYO@mfH\fyʎ7+$ECƿӪPz[mbf״+906$do5>2a`t+<E7|@Uϲ?U7WW2.+\boWYr]w%\tiG9Ug]wt\fbCNÿ;!vK|p}#3SQbK^$QalӸ`_%}pC|^>җh-)90@/|7~qkTC|b6YZmLpXoL`Q'P<ҨA@'?@i=אd=|ChX ~pn`/A?[:(#%_%:OJ$zc_sv3,CSZV>*!].L0Ϥ,GzuMd\t:n.I#DP3xd`yDrILr=TY@`)8\v~t.E#x=6'vҤK}#[FHeT,<^|H/)uhQ|VEӔrx!˵jώdA1WUo4Yx@Ym1>=IIh3\tv=cZ\vo;/|}UcA?S,HBzJ4z>b2 BNp;R :S}\tQu ]<Q;IY>A\tQ2ӣ`dOG DzqǿSx^)Vϐ_ef*BDUg^#9\vF0^SHjX*ʥ7Gl7Z5,ҔtҫKspT)OGD +$+\bOTìLY:x[XveÙOp%}{elF5M|s.*_\vw'7'M|My.`h#Uw\bj5O3S4bQ\vV\biz~e=4yZ>-£]13@|g1uf;V\fis'eXàcill/J\tZ83\voN>W.#ëqk{5O:~PzSi}\b BE7bw\tǦy(fΒNQ:-OM5.-vp[Ϥ\v`5\f_vfs[,%;h#+XZI:I{N@ơE\fKƩ!u_.1Y_]0g-{Gsg ,X \fAVTC9a\vm[ןHK¦@?ʸ^futJ34s`#sCs\b5\t.ΓCFkNG@,y|APXq\b2©E!AV\b҈poHpbeq\fǍXYDtloVq?XLtˠ|Zx,Rl#֮z d.rB=8WZr6\f3{>zBD\bjls\bN*+#Pv/4ϧ:ϞYkH68tyDV,8teH%Y7Fñ\t01XO''UWjS3EYLXLt~C:7\tExmҳq#;ʌOdWHlQ*YFkh0Z3rpaRGHmK^K\fV}*:St;mHnM}\vZy.Q;D\f<7\bwWx\fL#fEnufso\fc\buN\fcGֺ\t7LM)UD% ΦZ$W%p$k(pgW1^:M.uÓ.Ʃk *6Dpt_9\v6|pÖYY:$`{*M=69TG8TEIFFmCb uIrәw$fVB\bǣMrҐk^iteS1h*9XSxzg$@h9@^B70,Rv;8s|#1b~6~ҔP®3ΐQƝedz#3)fXgW~/.ʭ7ǔII%25^lu0*ם^ʫ>0ucU6WbU61Xv]V7SK.8cae%~ƅQliA38!]:ʪ>+K .<+c3s*כnFjϛm3 `vA_^3v_X'5k%8g.gx 0dx%6CS;ϨzD}Bo#sr])3\v\t,SM`YAmN_Ӳ$.2Yn6}±y_.c$O29*8q+Ӊ4Ke-^dzwqrrspr]]%d)>.c'~8*yp@i~˅o<<#@r\tgǢzs}im8b@[`|>-gl\b$6qrb,]L<stIn!#4u8\tU)]A^/s=yl'RSnʰoj;85!mlpg-|f|*p^NzFӤWv1J5c[U\bCB-~$+vsPNz{cӡ2C]zl(\t:+=zP|37=],BFr(*MÔo~t}~MQg/ZO\f%Ǐr?xc>ngFOO[k[Wwzo\v;)}vpw~pyKgc-Mnw?Z]_l/.jZOC=8+/_VfZvw?Y]ly>~o,ln>|~jk,w7{W./MZ5m}kqFcMg}vg;;_s9#XxJ[;jni$25x27Fcrk`'.>`vBB\b}LuDiBvK_Pw?zǍAE#פQ\t,(I!Z_ .ιsF<)%bFVe_rS?9yEs҉][wGYeu{!J\tqy_t|ˠ3±c|rH>njM8B2!Uúz:f~~pGleL,21k҃-jHcT`5\b> -9l[mo8J2X<$ҲElS1usG\vqY JF imD9Z1!Afmm~PCG\f?bD|7yR\v-/2R[b'Mgo9[ϔX+9v'6dnj[ʆ6K\tVj9y)>yGzPW^xLƁ%<f/'Ytd5GI)dTB+,%0d1m>=r31}st2.y;Z}9iCCʬ6$X-X4D(]5zVYײ7}|]cfIln1ZsMZZW3_HMM~g5}ך2<ӨH Zg+a(p3OwImJ`%Z,IhkK=׳/{D Kp=JFVN]GÐ+=HfXpd!l\tw_wfPvTS\tP81y*[KAHB0qfXr,K[H;ETu#W fd'y<l>0mP<Ǘ/vDpnd>υ9><b~5JH}9;;ζQZʕakN#0.{NǷNo9j783Ò\fE|d˾f:³;Jc'@'#\vׯgr]0YӜ=YNE˃X*0ph}h8g53'~E XC 1gvOQN=DHKlAU|M<(â\b)NAef%V!#%ʮti:קsA\b kk^K:(DFI|jf<LQV,r;˵4҄,҄De)aH|<nSjd\vkgEm\t+DZIb0K`Jt=IA\b_\bˑ4tW0@N/vQËA@D(NNXm,E~a8p-%dap_yK #}>\vҸA1(8d?DZ9W8O!1ϊZB0*iNJ3#}yzKYS)dpY ^x}3$a41Mφl,g~Æ@|!Pq_h=mKu*fʌl(]4zʺ\vJjuP`$I´b+`Dwp#83\viβ-\t\v6dbe(E=lYO2v>,wӫkT_6A|`sf0Ϩæ1R;NgPMDjD5o5NF5,Yn˕ICtv.m/$PXA+PwIP\fTIo[_o(Y\tE4\vT6ZX/N07%rk8Izh<@.I<,)xk0@t2|)gj{0Α7W#\vLkCxqֽwengb~8|#l^6_rVzhI^zj\f(iPCljY˸tpOtS<K!uVgұUh$g,oO]Te>K»L<p\b!Hat>iXP,mj1aKIPƗlbӟ=g,=6#X[a*HM%+hBIT˷[JBD oJ\bY*IX (Hӆ1R<Vpk!lzSn_I`pR6z<bZ>4<iG-\bAMz9LMD$4#Ws:~l>?Z|kzuPTo2)o-}drXk!#l1.a[vX\bGw$ \b=^OA9,>Hmz;IҒbӁ%Ϩ>qb\bd\fBʘ[e'dϚ?i(5`NAMc$#='Һ{uZn6'KK>c7A{\vwQwusBSo1N|֎(QR4Ws7br5>*8FWS !Ck<!\ve4Ut]@^bqQ?jOqju};M-XQ,mrD~94-PnDQâ)f2;ex.5Zneʝ>_A^`Qhk\t9%?/<nS$#MPGs7iSg+D}nHDiY9awVbQ-J'~I>.#:)dz\ty;BtϦ^keJEq*DB5{ϑ>A0jruf\b|<ʆ_\f4PF=rxcΪ\vF)V#AR+UKU4>YG2OG54btKf,6/^R}X!\thh0kd>_OǒwPj'bh|bf~uaҵӃ|![KVOb|A\vimPCs)yCn\tsGfa]C%=~jƣ\tFUwA\bY3JQG\tl%xq<-207Y|yt\f8Hu[b\fB*w0=3N5NJV~cV}89\f2Lduu~sdiyrwREIVlL0\bh5@aQϡV¹.uwy!Â\v1<{x?/0C5<H,2*y'h~}Y)9s(ZZx!\b4\fec)L^A3l|epJaq$RENƠjca$0,=~'3kl'f-v xǴdV\f]g;wʵ7HFs%X-YCX9LGʨY^ÄF1L<-P)MYAo:Ki3KPfysʤGPtC_ϋl*w'(RӤ~Aa l4CV/l]*9$47-.DNMq~n/3Y'|vӠǰ*YBq<EOӞAqr/g(AYҍ5փaB|ipƃHFH$S-J 8g5lMDqT-jd(r|uJe7}kRj'~Gx_kt+3}\bèQP/-A$6;j~wA.PVʠ\t8wy,/TEsF>Ijy\v:`+v?(P{<#STJXX,q%x89Q-gl7OVeiC*ӂJWM(W YwʘBl)klR%PMMj6=MgΣguG|,Y:[qZG/ht07W˸1֣UKCC,J\vN[>I;@pxόFuWA4wD\tx`SdxQU_nK5`{)XZj#;,lBDPo#@i7AZEYFAPbϙtOXH/?aKJ?I\fRyz?KYxw~m5z}<m}?ynuYd:_|v~[jwst*NJ7[|sK/M}b]LrwCo,1_Ptø\fbVnqpX|ts7U):ü8}<\bI3Vle#t~[m=iUFGֳ\tM0^yC8nWrtbU)pgrNlNao>R\vQ?I+Lm<g2y|csgoR_քHdp{VD0@o4`8UW@Zs)g{YYfnsTw}ow$WÜgB0\v\vT<9z#\t)ΥҞwsf/oa~^ö6QI#x|hgG6s77=o%1@?f`\fXeuҤJ˩TrS(]ZIl,4ֲ4]k68}%H_>tF;)+n`f=g3OzLuU(zY7R+\v\tuVJ#(Xs$i$$`'E//\f%vϓ1rzhU{`Z52ð7F7UQj>C>hνf*fπ\v<Zi8j@FWKΧAxY_fcNeî!W\vz96:\tB{0vd(~OXdS~<J9P1D5'c6%NhfS)W#)\t{%]14=Ӈ-(aa=AL$iwfQ?֮)8.QEC$(6/+\vhlfTQtHMK!/_TT2]!,v/ tyÚ/ƍS)Sx-0cND}#1+obPJH~#f ϯUd<Ju?#jQGUr'?\bW3h!cbmtgGWG\t<cueè:_2K5lm=+Ӷ2bZd>,E\vfi(*PGZhPbvO.aPr:q+kT89E>>:{hb<RzS)#ViTvDló*8GP9rq+KÓ*v[ʴL\f}<'QW85$,/ƔxtfN}YD=r˿5c*)xd6Z0^X.+XXRJE%sJ}Rh֞fWCqʫgXQ\bY\b-Wydu2\b+0:r,b<#[weº!q\t=UֿFgba1FisLx~=|OG!T*\vt+'ʼTˇCY<gahq*GX]um%wr ?W5n>ϬF)5gּǙ3*]H^#>n)+>xcER'ù6ӅVt6hwmJ0*1Uj NQ:ToʘQ\bi;y#v4+YDx(vaRr|B88'*KH)\bP.*+ü['*'LǢ]'ϑ0 }f\f`k¨lHc>,OA!]xIWn/$ZLR'0C2aIˏ`ln\t!Π·8sTw%S\f˵OyӢS\b<җt>kD -r3gDJo ӕ¢uN(,];2DBS#`S^aRy:I-FyivWXxr,2_v2),\v)(gT9N^ab([W.SOMeSN/ZmIuCZy+b?S,`~1B'b}PtNd*a/khky-udmPAfhY$xlCq0s>4rS]He(83,')/9cn7|6Hi\t,@Fϩ,4dhT$yHϬO%YeGR\vE2ÆF4õt=?Z|ϯqJy=V^n%)~T$)wSa$2AJWvwUY_!^mutM@i|!Vg,]5[nNZ!/VP.-/1\v2])|-g*XORr(8E a\tU[K;ʕH\fb\b-ϵ=kHI|ym˄2]ZgdCaT^#)58MLkΎm;+M\t[:IH*Wӥ~[PI/p]CzQ:\vd@JcVho%,l^Yu'Ν_Υ\vU*±s֯-.k($Yk;fM,-(]BhDWD;G,t+{payld71;Yk\v;xPLy\v]\v~\vFy\t]_0v#uX8E]ˠ.!vp4Ygye)<])ΩE!Z]I`%_ʖ*.7FWeN(fy{jýM=,krE1d}[>'oskHBpR<8h^P>Y2֘KK8a*O]9ψnuwtN'TtP.T=tUi|PZi!3xknynוVnL$lL6'/<@Nn<7b]Q>~\vhG[ mf\tƛVq!#I93}Z\f 98iuC[yI>{oc+J!yQ$Җe P)s[HRWz9B;\v-D5)$ g,10?=G|}.!2bTbˎKA2ErUK~HeU`] {gY)5Iu-<LTב?¶`r0*3>ώ<Dh':,\t+X?wϞCyTE$S28tGl*q<i,Tvqv]=ӒK:Za}qa*[uAR=/Cq8-'IN^#t!\b=os+^o;;<|FҽK)ҏV9^dtF*@dd2rCty'Rp;DC3g]brs$q}(\f˼!TH32t{G\fvPl֗ʗe!ӬRL9h'='8!c\vAMAr:N'ut#J1~}QL;1c,DŽ6g[1CY|i=]]K,IvLw4ʴ9?:VƋP5386Z5h@?+l:!V\bsN^t!Tl3*\fΤ.}L,,p(oIi477CkDRpE[eq+%[Gi'!5K=A.vR5V]a,ʒ8rq;2Z{)-5ҿuz\v}7gK\vw[d` 6d0q13Vu[,_MOK)O;W#GLJ6_w2|(Nj<ƷNl ^N[g>jaZ\fqzFtyQ_ӸAEF+%E-_oRIxEjX^#nY\fHW;~=xSJmiX'aFPz=hOWH$kg(\vΒut;32*f[NW1=(au@_JQ3S*OcqFƎ^.,jye<a֖?X)˒1i++yFiv2%K\tjs2NApymǼ\tx҄~|1mTL[I7AG,.j'J%jzdʃuSjX5%.jP2]UF/ioFkbf?@V(\vwV?N/ҡ\tw[5PD9iV=z@\b`LuATFFS22m,unO0dUsqS.4g3ƻ,(XJuwDB_FpKS_@sp*'T$e֨|vþmH4I@z%#:\fuecg}3y@U2l7+<¸K}T\b-!mmI*d\f1d=wS.{d:+FnO*R\fp<@ƴA^};|2s%RGgj'%<XfSt#|9{ΜK5n[ fS<b*ϫJ(HxH(I1F%QXZ5q$gbxˮE%˓(@bI212nQ+42v(YPg@+jRtLIsh*' Mq$yiAE{5`NiN\tB;v+#1l@$C+(%B_BR#mh' JH$
\f$ױ@]:p>/)8LXWH3E{ 3CKP(ӫ7=HFERή-+P.S4^$Q9,:Tsr\f|ӍSKRF6(ҳG8B.ü)st\f9(,Kki }*JKZ\tmC6k Ks0clvjvnNji t%)0c hVgχO6\t#=N+Irqz\v lי^Z\ti0%#<tKP>˫4PXӍIMù/9iK#.VC%E|mr593;+++S>x( »RTLymCgGIrT\t@vSPJt1WkhDEka*EDž= (dJdǥXǠ,xn\bïWFgǮ\t9\vF*@d)|3¼UD'AA..e֜` .Ut(Bo{1Jׄ`\bm6\vBbfW6cIlab}DQMQ0)E(õbt9\tòAMfw00*(LZeiQA`'5(J)ҕʞ[+UWjV6JLjnʐty5p/ü0'|1\t74SIn#]~ӆoD'YG]uYPTU{'Χ1V>G#ýf7 S!?1\t@IF=)`z<<AǮXIE3a25Kƫ\t\vQ:cD6ʶΙ[h%J8vV<gv2`S\b'/\ben%C,pK$V z<aE)MMώ/\t6.'syyoptj\v*\f>.;fGrV><HHD7?p<uOw `B}F84m2.>wl\fAnXK]Sfϔ-XWLJ<CU+0ק\tNv©Dre(<V>t$7~(=d8{,M;ӽ\v>qMíKWҿ2C-]\vme,XB|]'nT^a:DPiadÇy(H;-~֣8=6J:tIuS5E)%yQ5J\vE<tmv#YPs:[.W\vA8ybX3~LJ5ψS^Onfy(gy$X6J 0GH˴ϼ)POpDkz,]`_aMZUm0_?1O2eddpk~Vjo$A4\fsJ*D$0bZb8mBxl8{˲pxVcS\t]4XmfWk5|f]JfbW%F Od%bbfa>0Pfm1\b?lLcZUBj#,זY>R\t1$YFϲ@1ULIӁ+2?\t\bάΑ_QGX8qOr'%S4.Ӓl<>T@`F\thfbkBp\vrV;R3$I=J4\f5_K.Ie|g\t\vr``AuJ90GMITwriJjN'XFE|GWd/{zױnj|>8Q'~Ý44×o|HsQpGWӔG4[fDNf||hǑT9z\f?.Y=AuKR`g7nvagGY%n|Rna4k8<k48ӕ{dJxe}wA\to\bSjN`^)@<RϩKK:T04+p>/~<xj4LR_%ϾG\tFEA,7a3is%ChҸ3sӡʯR:,jjûb\bhBwq>e[kTKFJ:?Ó#<4ƙ=i ;]=i\t#\bAH^ƧTs^hxr`@L!FGΞ6Ph)0H#4`e{td4Cw`2(aJR2@TZt@Ҫüg'$_(#KʨҰ!aF[7\f<r.DJZ5|DÛQ$klZPN5r>ֻR(Ƕa.;!W v`='zZXD*H\vtIE!>B)k3$Ʃ48v(0q%)$2y9>N0oe9{|a+d$-t+p>/HV6P^W8Wr6|^\b{=0hEVW}7}_96vn.k\bJ KE]`aws0\b}c%PQgnYXXvj\b\vQ8~_edMpwk-*I%(I6\f\ta`ʏ]$P8DVHt\fAdOp·Ury.LӰ1{wQNHn*f6I˔3!C2riz$-7Jl8Bz.19:uo1׃%!:upTU0mp:b>D]sR95-2x_Py6ϵ`~czmv\vTft=%?3zs^(<[/(F9c$6CQF-l6F\fZKg\fHJAOL1#Pb%r4~H<woB_[y`|4cvB.*P%Uq8^H7jO27\tQhM@TW4Q.,gqB\bӝoJKcZ6[`?QCuҹʃƟQ4I^\f'kg%V.H|Qy2l}RS62,'E>O9w!:¼$aEz7CV|*\bow6O+^cK4+%^u-IˌE+-6B\ffNyS%=~fʀ8F~`w9R5uA;=4m+TEh6s3lǵU%t%2@81v\tN;yx\bO)J/B<d_?ifӣ0>[ôK\bzX*n,*9J'C6s|0Fdjfa\b1za,\fv|~H_`xKw'Ju^pr8>|6PXH>9 XG>J0»G|u:[OhrPWF0WJG~D~|t`6 bSƐ]preJ \bl.ss_nn^˙.Xz40|%+*G>$a2IdO`=uOM!˂\f5DA011'}tXNKAnMke \b/_??wxT~z.1bke{b3|BEd XïKZ+\f)xҢAih2ƣí4mP8p8Y}wyeiI^g2UdM~vvD:,V3=w^UmG=$oa_DdÉn!VD|$<\f>P?D@Ξv-2D>>VYtphuCPg,?GAeLӣoW4vM\fD^ÍuN4\b6>a0Y(~P˘0Jh(|(Jʝhb{9aE6'\fX4A iGd~[aAJh*k?(9}/֦V[E$:st$\f[J==[ְLϘg7*FTltNLot}(˗˨õf 9ϠMN\vL<v#dG>]RO>aGI_O)Ib/9{\bS nL{g[}n֔יjǏi5edzDb1v8;`'a9:Hh.gU>˜S4-bAY7OVˈH JH6u8z[Q:AEH3[#h@',.fL*ÂcG)_pHgw$!|eE {Q53H$ʶVʒC~ϻ':%NR*U aU#+1Uf$Bcxd$ΚOI_v::N^bYjb\f<>[$@A]Y40#W\vlƝO1fW|)cUYiMj,XGT<W(ϣw6azi5^hg$%eUvF֑i?|0Җ4`xBg#k%l^7h05`AX+T*0u>pc~x~l{mtN)hֻ|îe\tA`(Hny2,J*%(\bTPk$XLD1Ҫ@\vҞAx҂~9IT.=T$ʬ=äÅI1b`1r26֞V!gtw$e=^_|s4Y˝(r+cD|7Ia\fB~g#;w'j<nboi*+.gnJMJA~GE<O=>'opZL#={^-!bxjvU@[zhPbM~d bz[RhK:UjNnvX76)5}eMcH0B8.\vvEQyPz4O\f*m|8K¼%I,ˏ,R:`]=n~a7;6[z=(!2W%2B1}6>zC,d1eK`t!jv{V\f;K%I_/\txJƹ^ÿ(nje|Vbn;x=|YΌ1A\b}REA?0~eJ4@G F@q4*Θ'EgTu9D\frO;-L;8ϙZYrY/Ly2hY!t|JNω#,Spc>A,xc?8ZPu#NYN1fXKHXN4_G`_tKFc<!5m3D8Ƥ(3W8nl5~˾l:]{tYYE'֘K5w##N-GV@#<!~Xӛ\fu@Xk 9cjQ#%n~y*J`XADu1iOtHDl¤3@gU!%_3Ty<$2*R?'UGwyFj/8F!x[*4DžL\bl;8^S [#B<V; C8ǮwˊjKY_5S#AO-+e<`#Fa=R4ʶ77L:49@Rpn?'^Ϊ_ʗ6@aTn9!NzIDwh[\v5gELsIL<=SΤxBN*˹4o3mm}G˝y77SZ|}|X6pVp,fU {O_xDӠTHCS-m7n~5[>?hh¸GkX|?ƅXJbύUD)$MӂauIN.Y:M. Bsip4Sd\t,cE4*z;T4CJZÖ>V%y7U96U5ngː;ˈTZ.v{~3\vtWW#h$\vm%~vx0ei__E*wyLǐr>7:y1-Y<InG.!(/1Uq[PήKzCGL}9W=-ZZK_?`ghd\vLQOuK?Uʭ;(/xj:*N4E-S5Yָ1Nc0pҋe`fB3\v!@%J0D@Pk8\v\t;mP\b!֢./\bE)?\v8Et 4$0}>\bB6o~l\b\b(*a;e#atCUkδb.S)#S*b0i0Kv)pϔR2*/EE0Yk[u/Gө54>zg+~B\vK<rzxX\bY\b~UMF\vT+K9,h.n*fi9Z+j50r@8Ҹ!])Kj)\tO# f6|D#8)0\fa]SVZ-Hl99r1\bUD\vg4:Q(jJ+HIZf^$(.,P\tZa,F\vǯiI3n`\b-= uY_O֍PiXmÞl6s4{qL!sVJs+KZ+GquY{C9*_{Uâ/K*@~/\tEWaJF7֒װ+T8Ý0RƧYz\b?k)FH;K3Z67P2Mo17^D}=\vliӂWI1F\tM((ӈv$LC3/%0o5yXN\bd\b^5%rW$y.f|+n҅';'q[VfǶw((Wl!Q7o63zy[UǫdvtAE*a,\tjZif8/VDbhLce%Nf%5YJʣB\f :YnƥR!kH@áʌׁcR'ä6Qnr\fh{/+ƀtP+ǭ\t(\t^lk3ey!Qz|rm\fNZxpV@>=48k\fNQ.CT$('o6UsMQIvD2~7\vʘxXq?=i\b%5k|<]_?LG#6xh/Sgb4?[YX>vOZ'9py6/(=Fc+OdƲ~nYnIiIU0qV\fH`L0=XzJT$.%.K<d$Eyb$\feGmh`*:!Y7qY \tǂ{l,+@QC/plQohY~9D3J1CE[0!BtC,ָt6^-r{\f>QmRq$)_h?Q:DEyT{cXb#;<\ttVoBqIʁ/4ÀR}qpr*GBTƶ9CFUNE<ˆJ!uNΙ;d`lK>?-`7\f!HS)-:@1\feK6g,O`'=3l!ϣ9Fzbzefo\vvUl@qpZӚ-NO]Zk74\t\f[(X\tbc4:)mD!M0#)6MB.-\f1XM[Κlґa=xCsg_`x5~,xu8q9Qxf/F{*x49@ûRT(k6,C$^\vn2J`4~@zfHDJP{Swp1CVYVp#<v{-F*\b!IOd2x;Cz3vJ,v҄0oO?FϦ4:E/P9HZ!6N,:m<e`m%hDe+,~Tao!ʢ5Lu*EMi£;I.>dr`ע2?և(2f%WXl@o\tZRjV`!E/[ǃp˩֜t+tmDp(w*ׁ_2P/MCvj<#kk\b\fc=ju\v7){KN27*iv\f6Wr{-aDq'=x\b3Ov%g\b+,cJ%\fJsO=b+2Sc֜%LkƦ^ǡf,yHLfqBQZ\b8JSqG:oi=%-Kj\v$|osiSR~15u\tBw@K\t:uRztDh6t0.QJd+E9zr#4RcFu>ʠ(\f_nF=Doǘ|ӗi/Zǰf{Ql,*v2q.LYpv/R?ZqW>m-!Ù\t0]\ba]B4Ocax0OLSiurt+L֣kK}C{L%SYM#{CoewGD6 \t9*/=^.sy|<k}yzUuwc{GoK~a{A yӾ{Td=ҟ]?:T:KP8_j2[}ҊʓH8~'Gbt³BhRxǝM|<M;2/?N,o$MXy\bM!Ό,KTRf.If5\f4DYdzM@Hj{RR%Z6d)UGN)b+i{)-,<נ8<Ez2Trh@τƢ0ӎH_)-8(*x\thrsb-Mb1p<<NY0˘HUL+N#f\bֹ,dKoW-H?\f<Eg V~#=QE)lӬk%;O9:^0m>hvk:}gʺV2KG8\b`l'Nr.h%4a-)6w0Vp6\t1DOH/\vt5jo`96BjF\b$Z>-@!_L?C$o8Jaty.5X>29D:]$RB5>a]2k%I[ˠO\bhkLy8]zaH!h/O]K J]*T#|=!t5s)\bB2.H.!HLJG.K@!~G,300E\f/KdNyWh.rNc\f~k\vҩϿV__dX@ʄL4hewA>SHBCt}ʌZӃI5 !uc«Ϝ=Y(Xmw<֔ n\b}I¶K@*jddbz/ǔ_EWIEK*j+l,gWÞ0`˟XvzD8d0iZ.L5{:(FgF-moǢ}$+uˮ*_$!udOdR;-? 9jX{`P,DI!W^v[cc\bUR^GSQx\trfQA2uJyXh!uqB-B=pC)rAODq8\b+lÐϳd*[dy1(+ul9]%hFK{yXgSsҞHf<.Im\v~>h5ACQ5VkKi.tWE¾L2erǫnFRTKv9\f$daΣwϑ֭n|;}6c^U9oõv{k\tP^^vwpzVs)%,GX\t5J^MT\bX-Mn.eb,v5bK\b2=1Ftv1Ο(\tq ևZ(kεZIDBn5J(FRNMMsZU+U%bu2xot.j,\fd(V2ה$89YG~Ps ^x8Bw^n~S~2F_z9\tmU\bq.iR1bp4ҫ4X99t\tD9;PH{MnHdr)e]b%kYq(%Gˑ %J/NlIl6>D'%2`32H/TA\ti;,$N+{@U'U,ch>2`/r3ZgjYuˍl;SMxWO^_u1nnbKV-_+^AW$/\t.U)ur/Lu8RrmE)Px+$XB)ZL9n!-\t>A$`e)w.~L\f,K(AOñ10QQeK%6*yP,TZOiƊcfu(!MDiew ¿jK?i~G`gFk2KJ=dqϷni15;mϾƗn#;(\t=\bvA),q\bֲҵB:''\tm\f-.yˉJqu\bde(OzÉ_Jδ#DK\b;<\bE=#K|ʤdL!d?Pl8tOA#hEzEe*%/hC6\b^A hru1(8SI/*-U4q}8{mӊךY}tPi<?4/QkuIJ[2l!r}p[ӱKL#m$}<x;kN.^1DmczM9K/OP`z\bEel;Kx*Ie]5tQX17Cw)SE<Tk;+gd{5|o(m]'lxlvʺyL?Vo2җq2PD+m.yKQms/%_L*l-<g.*)PZZ5Ws/W>k2y]|Q\vFV:Rl%FN;<j>5G֦eZʭ1e_ӟ6z7X4>}7=.~0sX!Yci$Pr{,2`B`:¯>ʪ'!t~0*ʘõjd(e{@K 2m\b\f]6YM,\v%\v7Bvϱ381lIc˂\b#^c~Ó\f8{F6XY4m1Iinq.icΈFtΚO(VSD$py0ӄf%U}OwwmƦolƧt]T!C5RK)79M:ˣ{\tc'!Ynf81PrW +_8[+/Ρ4DǻLz־mxmJg5t,[r(k3GTBK,\vC,Vcv%80uu@[,Xxm8C-u[k\vv+JҭV+NtvLG:Xg0.}ezu,ӝ:Iet]5vrmiF7ΚY~V3(`pwK=?Қ<\f9).F[5˅#Df=Rho-;3fRMkokS\tu'rb5j+C{f6\f\to6yEr>^3HW{wǜ}:w'COMhqG:MSXAi-\faHT'm?wS\b0rLϓllY,93^H6\vh=+<=ÛkUqӂ~jT5W>%hJXBo(3:QbT8EoE9o+\vEt!+(қX$D4<ed9)$]:.]Kˎ5zrh-˅uL;%/Eyϸ\fʄ\tc{lSg\t\b~hDMLm7xuǪrx^O\fT\f.`3wcht:B3a:Veqh9G$_G{|}@X\v]}gl^!yj{#98*.Ǐ*>q.AE`KX.h9izoZ2AØˠ)PP]֑ҁ\bFm8iBUOzNHOMJ$,N6akI\b^YZf<QKSdK@hӆҒAD2O#@ƬmGsKP>B)`e0/J9\fL>1.}fvP'Yǎ{;EAϽ~f(FGfO_~]'\tL=h.??׳zrƁ/Gqt<$]o^_G\vL6rkKL_ʉBqòA%U$^[hjJ /UEƻrsúm<\tBւ7{X{%'SK4Igop`\fNL+#piU|rp)ӯv[sssoǰ8qm#\f!r1¯ '-[<hE\b]:n35\vƼ˚R_F@bTNak{Idq/½v)`=^NSSmZ]i%:X=hE;։o\bΤˈ=]am:^XljD}º#D'1#7+vI6='4MP|%5t*[oj=|CP2dWBR'E>XƜG8=rx5HW'<Ǣ\vjt@W);_(dיv7R3:^@\tҡ_2j֫hDK5l}.sw3Ýxym$ֆYt#B19xHB\feΛ]5ô6{al8bvMI#`,U\fU)0/+CIkuK\tnVJjdX/~ׄ:U`i?3nB.B|%$g@o\tt:/zc־gי5 ~XMmiRE{KN1f1DDbwc\b[ǮӅ$?yPH#-)=#(i#q9`-Ǹkdk_T?) F%#U#;ek+XZHTf6{<>ҡGA<=AL9֭ {f6)EǷϷ(F<h:g8Eb~ZbEKJTk$ h8rf`7BjҢv=<ˈU#Υw)@o'EoxYC.Q T+ nL\t+TA0c6HLo9TcDΦdKc\tP0<@rlgYzMMcD\b1a2gV+.@PtOe\vLaH@ @җpX}F%W,$ƸIL(LG:E|#`-`¸_eM˜qv7|{tJ¤2EҲH3bZyF?'Y_yҚ\tB=nʄ:D q\bS]NuTbZo!oy]`Xr˥kW@J)ǖv4Oc\tZ+ODwJ+Zh[^Y@;pSlC0FPJi_70o3]|*0+q:T^<`LJJUUqca;##+tF| jEB|DDeKcR]E-/5b@ZVNk-r!| bl(~YngS7ּ|o-kHT7kҩ#@xVrS4R3\tZJ'^m^Ƃ6Z!7:f>m|+9]Cp@tP;~!SY{MJ\t06m\vOzqa,@4l>fPCTTqk]VLk O= >%H!6>5aiMy^>^Tf#h|)h(I'Dw\b\vra{BSG҄}MƠopEΧh.Z*>O`;7OV\f>[<2,}olT¨33r4V5Giϟ\b˖_CEIjG{re8jvIQg_`i\bHU\b:,Vonvt/Akr-@Z3K^[t/=[S}aFº74@Oo_IFeAh'LU}?l\bz]'H6yb|QPed0^{t=vK3>QtU}_FgzpV_cS!@Stnvu$ϔ/'\t֍\tf)t}B@^i=,]HNe[ÓWTsan'(Eס+sMlvEU.rΈtxzp1E.foz$s~n>>B%1t5:Q-lKK%({p'}_h5AVG$fN\vr[_6B%0/!'G<,1gH:R !64`cr{T,II\bZB8iu\bBiΧ200¯MN?RU\bGPg2'1dR:B;]#\b:\bpnCl?NfU< g(1M\fA|S\ti45fxW\toǷG(SNϽO9|^_gLPN\t.eH4x0xFkSxGj*YY$R_:|-yGvr*[\t((6t}=Yfkg\b +GGLkV?xP3;+QlOcҢDM'Dwu+<f˱5h/x\tHaf+Qb,lLQuKL?*jDX+vI*ӱbZ%D%(\vT(+vSÅ@~nsL}C99iaa{{ZtZb7ZLB(NMI4S9Xm8c=Wm.Rϊ+gӊ:2l@)W[Ή@p(la.7A˖g2xUTyU>\bTEX`9`B@B\v$5m<Mr(-D)sE;?hY;×:xkl[aS\b31t?Cֺ7cjUZӾw01o9ce8URVp\b,ǛZ;?C#wϣ7xBqquz$Z_ҩF7mFS[uuƴrSIR.PlCIϳ}SҝMf,5ZcJ^ z7LCjˇ\f, I.p>{ci)@Vaα-os\fp9\fBO)hYGk6$[=iBk~JG}@^1=\f~vvj^^i'HZI`1Z)֠GdIPg(1kYBp0DY4D\tӻ,ZpQK^7)z\ff3`c7(*~xuTk\bLG˿xi6|7e\fVUrD.! =b@Yװ`:ϴE§˝Me9g_\tzt\bY1{uBKv)[}tNo9ƏH\f24AXrEE<}UYó-F[1SJ0tlYh@faa`GʱRR$$n*AF9KT/Jx:\f7Z0(OJyo˵W;RCH\b|JzϬ`zW{wg~f-owV\tJhgnw[.2oobUZ=Tָs^lj,5M!pe)Vև!@S`/XPˠ(e)U ÎsxF@.m7[+\b[PqҨET`QTdR\tDMlq|%_* >֟Ҡ8r3(höId,0_%b)'kA\fsFH/t6/8bg4R.ce)ye6y(XeCVnXPUb!kx\fϠe<RV4H.4I\bUTJOY\f6vT6\b++JƽzRH\tAs~F˴_rr88;2xxl'|DS;4yN`\b2F/b q}Z.>'D;Y08!Jd-D\vcu\bӉזBlDa1V\ttowX*gdrBcÕφ*1#LZ{QI4NçpJPt1Vr`6\v2[Tz}/s>1!W=ҫ֠)|>!/ia;[L/j#IT c8smUFnB8rwyiM][j\bQ1`Pj?%dϔ'SXA\t:\vXK8>BnN{BDD(Ψ\b'ӬY%bk:\b\b` MnT`/w!?<K$b3`nP!)WoKUw\bϱ7sgA>92]<1|3bnE~·Uek6#5xG/Qa1{+P@Ɨ3aMuqm4bNRv47X}yDJi>p%C\b3r %,D}Ǻ_jr9(:mVtX9:]zJ6-˺6֠Z~B0:.*[/hXb\fUS+1!w%6u<=:d!SW:ZP[Eeo/|bN8'U7Fvk9`yi1R3E3z/vP(Bג\fV39ƜUiG.XM*(=a@4·KGlzV8GҏvETrU'l6H,\f8ҧ$^JB\tGyXWK5M_W4\fE4+TX#ˉҳցq*FlZj~֓Äd-+zˇˉ](tiC!X1~eZq]u:>veP+y>,P46-l;\tn-bd%GQHJ)bE%_Q(AJV[.T(yAuzR>W`VEM1DbnqeAq\tD1!!=u\vO^DWYς2Q-%*z\fׂϑY]E,hpZ2m0\b?e)7l+oLKgrbw\vƯjӗ~qp$V5V\td\bQFR7HY,@I=40ZQRsF!Elz-\vwʨVD>8E^<C}NdR=dEF/R\thl^@ƹI 64Q;\vZV#KNLJ֣;uwr];cs8~\t֖}s[B{\f_t20m@.>'e|WD/l^_J74:YFR1dTOh<|~aw\fα҉$E{1xMM*\t]!bsH}T6-PJ`DfR1/\veAyJ|X\fu'iE $`cYjQVbrt?iP|`~i,,.buBSH>Ʃ/ά2×[g\t\bJM1eAbiMtfxlb_|Ʒ>?N \fp07!ÛI`H1דbc1{6#@x5=d>%\t9yҟpG ƚ:Ҏ82d0Z12ƴ9vC@O1þA,×!£5I\f`Q\fbIjFp v4\voi5oiµ_<mBϷM{rΔ 2#+ױD5EW~hdΛUh->hY<\fNR|oP:5,q,yr$.j,@tgDzDלG-zG-v%e)U}jH[<3Ӻ\t`Y\b>;aRL>\tIF;iiJdavq r]f=e?B@'}ptZ82yUVZ\vR`SPl`8VLI@Ö\bs bWc[\v-iWjB_EK.GϓVHr4OI/ʉdyVnQ_b^P|9YDžBQyfdk1pϋN/GAT$%+\v)y+<.ϗD9#jO3aGa\fӕ[mBg^hX˗ǯ\t.j5{JP(+#|IӋu:KvLʹ*,gN7ʻ|9֞]lwX\t+כ/AwΌ S(N+/+I5E4:)$m\b'_K\fR#bN<nw/[R'g'?yr\bLAqU@I 1>4ZBsOWfEαRQ%B(,\tLM6BT.b>5Q)+k-$iERb\b,I3O(+OjHsV l7Km$\tqX/\vMF\b;ʭo\t8q}8>X`H0\vehsY1<NSuuS<<Z073Y:3(I<iuCs8.[{_X4\bc΄qe5F:r*LN^WBXjlcƉDH\f=h6./E`v9\tL 1wrt42QUoiSus2+NdD1f3PW~YJ=A%%3V-~gq'mM#˳7} 2U1IN]AME~HO?>p3,mD?i)Q?rAbR˟S)ZxpT'_$|PkgSD\b,?)gx>r0,26FRo|dhN4M>wnhVH0wmXlWqU<>\b0è!J'^N\bS<Ul#sƘ_}9ˏdNJ\v:> GE½w6QGb_mp?Bx9\f!ds{MGB99|ad:-\b\bJ~F}?RV97?_2zWh.fAm\t?xQlǒ4V/ICzR=bxIJF7KϦ]RE;@PYC4jS6#\b<KM^k7N9]JD,f>ҤAWנIn:JSFmnq9Yzxg9FGj_m.(X:JH\bUx҄~ӠF֊f+)ֲx*,=\v:$\b'ƴ$e CU!a]k8Cq^.|GH8A,hR'HκV>h6iZ%'7}DOJ*X94x'R\tt.kʎKFaM}[oe2CnpBbOH_/x\b+qVsc@i1Ҏ'GPG7 '#Lw6m q+v+n73*!tE<sO7w//F}Lsi`p=Lo{ADžDilN:,ցQ{1zF]z5HaonCGqU7|da4OGtʏ_kz=ʙt}_L~YL5ZˎL4VEh8RguYt'SQ,H'(oQ`'˟8Z#Y%+l\b{j ,ǼӝD8ip5.LAI5|<$rC`\f1Lf)W|49?H1a/TwbwYz5%OiQMGSIiVl5L->˳_w9K+dB0nQ*LDO(s'ZH5>f0:WJsǃZ+,5/rW*^Dc:%4nsTYtfuGZ}/4|{0l#\vIy2u¶֙oDg4wea6QkN+->{kL=ZQֹ>,~.Up?:q-+;W]m®˳bN i\b.ӌ:}RWy=ǞD>`ҼO7v@ZNvW739҅lXxiP%B(e? Üq59K'K-q2րώpyiBf)$61ps|M3PkC5O=\tve:˴x:dKomh]B/g162Ü{ץ8b/-0^FJ<}7ʆP#n#Y?X.Sm\tzMK2b=^U7Je*zw2.lV2c4<HU:Kb>I]hcNhMG8Cϵ3Yҵý`ʛӴ`,39)$,ƃ?`xIǿyEnUJhaz33k\tkwsa@J\f:x%p-IXc-v\fyFqY<.A;Q3\bm!,@22]cGXOlsG*kkrCʪ|V)ǚ-\flh4:7 EJ]{I-+5+¬erN2Ke%{<VNW)ƉvM;0nEQ-ayҬ|-1\v:Xc/HABpXCneKH?DM=[%bƋZ=RJU+\tÌKƴpi#X<oq@RQl˧hej,T-\vuvx\v})Bl\ba?cM+HvR>I=Ff d@`~seTRl2g$:PlOk_xJL\ti#E\tb!S?hx_3p-MR`QVV]CΎFHl'qOV7JPQnjhksGU<VJd[-A+7PS{қxӶ+f0;9C'n5SDr%<gtH3ekjI;e!˂TWePIמg1W6)byxo^ғv-ғ#K4+q$dyL ?l3_'%TJGqVwKQF+{.B`N2Ǻ:I)S'PsqpduKgc-)Ye.l$RS\buuPfi3,fVAO;MOow2$0ʋ9¦uO\b3*@,17pHPi!\b_aʬ%6j˱LDʶ'Gkm3z.50]jO=qR6odˑuf?1(Roq~~jime˃m^5Q\vA f=_t^<2}DA)AΑGu{,3Np>BGQ/]60KRI'HW%.\vSZx' /n}uEha4>;O\fI}*Z}S\f:HAhcaxT5AsY51F\f4[kˤCZEV ?e/+,-qQT#{fD8{M#:B\vF |HR[T|i{{jJ),)/Wǎ7!*Ue3(L\vRGTchGg}fDx6.$2ӵIҕΓ74^]y6va6%hXg|C]`7:MXvc1ón#dC8De^!\fkS9ÜEֵRk>= ]4ÚC$B,q8Vs<|-T[k*$(fIjSZc|>0NKJ%FH`EoyU2JNu!Ϛ41;ʽDNfc#NJ:fI50^*;n2@n,xQ0rY}Q0I=ʕ/(Cׄ#|?xp?\f.ap\b+NZ^8z>1/>9L}=r$no0{1ǹ|+<bE>v!Dnj_`fKLpIKQxe<>iA1RwDMgOt}Mүb\vk6CC:f,0PEiuvO\f֊|ʨA!ZDSQpM5(2OPTN\fiD$3#h=ρǘ-ʔ(Fs=Cz)|9dB)v/=P>tc\tj<Jάu7^4Sʠ{֥Q zM9t1gR\tQY*Zֶ.$W^dy6j;ʶ>RCAplY]o{^ùe$UB*Nr^NfcFCy%>gtV!2$Q=_OS\vƖ`{d'sp_>GsB]\v:$\f|;)ƧH2 4(;=zGnƦ![jFhcØy\tk'p\vIy$LB@M{obVs[;N+W1v0?Wq^vbkפu!=`jϐ?-~uKT_/dlI$cl5.#]`JliCDrX~KdQ;<bf#ҝN.cHx ie+[9!Z=\tl;o\f-DgEOw@@D9ZEn|):((QzLiplY87iJYRZK/\f.?106AbRa2nl|e?jQBbzy.rCtEV0wBK}?s4]ejB^yM\fGyD.vOajA^\fr~\f_f0! %F0E2LKӣKrPϵI?/\b=#eI/FVwc2v#|NMo4|.RY. zP+vϕ9^.K+%cKmmAN3xPG45N+~5oW!ZXe/O\vs`;vl~L{]:d9C1IBVf\tu*]ijwf8F\bHuukU_5Z1~οhf ug0p}Q>B<\fUƼp2iU}hn^\b@H3LyXג;K\f=$I?n($Ä\v q2tA\bRƊc8|l+(rRGg|+v*dw[PJ\t[ƎD>0 CYR;x?3AKN {dP^s-_4};Qnn#RXePFc@JkMvʼ L\fD\tee`'։_?[KyYs+jo/uX>=BZra>G\t$Dqb^NS!W\vax~OϢ{Y\b'_3st$}8fC)RvNN,|N}5*=|{AxV~//~xatP?K˭*%Ww'yaf2QϹSvAYQ==,;$_j]aG-FrE_<ʆTRlV0<uy7ko\t]^hע,]|P#ǵchf/Yz H,%({L*ʊ\fe+(i2<y,0UcU\td~!DOxCuXjBhO_RnO ]=ñ9jv#ǪQƈϓ\fUv.,`!K@}R8IHSp;0\f]9xMm]!h@U/ƹpfy+km<Wp5ODQ^f*.kG|}r3-9H$eI+Ӷ3\b[GS@2_]]{d eAbTaCyELSxgkaY_\fH6~u ,n1S]<t<Hf0#@%çIMQjf]hl+'\btcGS{99Zm~,~?70Lˎ+45ւ'!ΘR\vy!E460y)7o7Lst+nOoNGΌR`ׁE]`r\bY\f]N)ib?Okg\bQ[eT8yi|5Η\b \vNQҞ1`DTvEq\v[y:֩s(ֱK'=)THi#KAz\ttR0\bFhH+@K|K27J|79O;}~E!J$[(Teˤ}aumyok_oOKK;-[1<kmG=+ZNR%Jq|JD3>Inj 2dÅ:ZaYFPϕ`}qD_U*l\t_;=]b+|>P)DK^SExW6C7B>B#fy<keP3\f*6U;υGj,\tOYMuOokZ#\b{D\tץׯ{W}*Ej>Ozo[Kf^#uTy0Kl@L#`C#\v,UIh+SpOO~w+/jQMvye `,\bCϫ.V4h/]M<:|h)|S7ytN?s84$CΥ.!\t):CCUR[f2\b,5o2aSUr%Gpu'oTI^L%K9=B5Gk'=CZB*_<Dn:fHt}g<|%|5[l3,D˄cFHj5d+pYSs=KYZzj1ƯYjv3=C[%R$(ie,@5+rV392TMj\tOpPIy֖0db\vƣRAΤ@C\bU!{F;ë}\frtPkҧV/,L.O>1)>ADXU'*JdLdEU!njk3 ?u2'h0|Cd6JÑRrbg,zeˉj)OH{'ʍ*PCZrҤ([PO$%mXr*in_* Pb R/EJzEVJEXRbӬ4>P(TM(tQiTǔNm\bDf\b:^ϴrGw. x<XPjq3^)=N@~klDfD:>>ejU\bz!k5<L)ƾuscEt<X{@J@W6Ql5+(Fxƚ{gg1\vDurϢ0OjdS/`d?DEfe\v(I-)Ң'qAcz\bes*=fDzjv`,/+<Tv˶y5!%5>Ado=JECw~Pb*Vk-O4 xKF\tdyI\t,ULҚlǫD:JÛU5@GQDH`dd].FҾ2_}`aWRtDfW->\f0,(+pJQ\t[AUt(Ӫl>KPW46t2StUk-HV PTE`|>vN)@P%adL6)/PM)bJIS i\tG\tizΕTNYXOӀF%\tf5=RZ)d0C5c#ˁmOEE57@ӽ_%iYMzÂ1F.,<]g$U/?uvOa:4xd6{/4hHdodK=IL9\v<t~X֎mׇ66|/I*zdS'rD<Xf3[փ3GAnƈ[0{q)<\btӶGV!p] ϓ1Hs0p)Y]wYL0~ku\fK+?P»$BNRWc%-[pR%u4Wm|Bç|y'c2ggEzƸ˔(]3KZS.,k5+mE[ơAlnזgpj2SIz^'qB#E}סPX|}YX0Xv3Dxx_Qh=\fίcdT| DWc@x4xe?7cE5'z)'SK>|mI\t5}YFWD+qǂ8$\toI:c8}A+wRAD|e8WfƴWWכd@nҫo\vCK]F]4n\t:}diLIXNK)p$.u5qY%Z%@-\bNxz!τ9GLJTXX\bB63rhjzagT0V-+TCR D[bϽ4RiH!ֳ$x\fmSj5TyZkt)ǒ>u1ZaZSHdlOR~}|7l6ʏ/l0K)!e>fþ>Ʒ;NQTƹ-LF1o1\fG|\vm cd]Jm<iJd4yךk\bc*{Aec΅Lq=gi΄tP}kF3vvY%_vx #FXG|pPr3o\t^\v!LR6*^ӥWF]yKbmׇXMC3||Sg)dҴ=Mf5b/UQV$|'J3w\bA¨ (o<~p~Wi-=]%}m2b~Zn\bÆY\fB'?^R/a_D>Lr9W9\vw(eQC67p<Eu5T!Kzu46eǂ\v.z)y<t`P'O8ˢR5>=uuIVv>|f·cxt5|.;pr4VnU.~b.7+hfxv;\f$c\vnpcP5#סlgqK/Kvv;W|z>XJq#PӽV#LpZ$uvM,q˦'DvC.We+N8'(T>D` D1nnPCs,:#Y>.KlIlώ8Tga3>(-,8Qt3n_Q$Q\tUL14Rw`pfGE\vA+=5έAq,Ǿ.0_@q\fq \fTSqJ4tB[S]+|b)ƺ'3yq<c-@f7q?|H@\bp+m2PM.xOm\fP*gF7}85F;+CFuYrU[c.N$54In-hdKQaUQzZ'^#}7E_˂h\fbCC0H{i`8.|^Kz:w^~ֿE3;LNOTP?0\t<EYҥZ$%J|,q1MpmZ}(EH:E,$PYWIƛ$bjxJNK<5bqV:qQ*ΘtNE$҇BFY֓QIU^(t=* 2[7I\bW_/(9]+:49(]G*\f57Zj?JY4-(Q#<>Wc!wh$HR/ARzBӞ:SA'+L(;W?;vX¢; ZC2%lr8]<UHFMƍ6qXH)27'p+>J!]86IϡèHYRc@1{R/pi\vIʭYR0҉qÈENEl|:Tg]K_GxAI^/.7=`F8#j|nckY\v9i=H8?F`KXPjKZHho\f/Z;o/kC0ubqeUǜu*Ya|@f\t8@PtvWEtP%.EH<5Gx*RoY!DXD3r2S,#j\vf 0 Z! T]IR~*P=JR}kLWiI_9kq5c5@|r=DDGa0һabgjf\f'(jƞ1.jo=Q3ig=x` q|PUא`R8;t;brwb8_)WBjE,gM\b0L\v\fb16gjnPC\tiH;˱ism\bEuG=ak#ah+iif^D\tu#!cKY$}t%t6?Lia$\bW'Y^|\buH9?l/lEWdF_dKE{S]w%*P]U)l`UbNlCOmnT^WJ3O?xm;S+L{y|3(#FP,<>LXmmH45fHʐ@sBFWQ}G\t**8M}gAd-Җ!He\t9Xjg])<ÍM(@ly)087+^hJa8$hWZIqDzb%zq'9ycaN^d\bFҷΛC(h,C`7\tOΨ\bB/a9A,B1acZf\fIb{SiRpc%Av-\bwo}Dg Dׯ~ʸ9tjyG \tthDH%:pDŽ\t) L7O`6*^ξΪ;m-ElK<a}eW_pnK|yYhh?`C1Ecwp{oH[|}\twka{Mυ\t*S,o/.]f\bt7g'tB\fuΗ*E^-#A~z'ƽʰMh R˻viV`'IP~8$|};RxxO}<(I_adYj+0i)_K6ӕ*}/(>(\v,R\v<*^B%!\v>gmH'gY=v4b,aoJKSUp8L4ƬcH?fӸ]\v.U\beOz2[yy(h<c(71AGa;2ZkӈMNÇ8c\vZRGמev.S6tg1/TgǤf8>YrZ,Rh! 4JϦm+{It=H~X) <xέ)eΩ?\f]k}~ΐZCcVo:\v+O\vSmơK0.π`C3ֺm<4yt}>E6+֫@{wH9q3Ҏ0R~?AӚ)ΙM>X0[O]BqJl{P}VtV}1J.]O6$~P^-C'4MJlGpGnlM5EGMQ\b˟*k#J}$WP-[jrR\t=Nz01Æ<0nch}Z`mDŽ*\bQ5;)6`\fˡw`IחautbӏeM3\vtZEurӷ+5CWAL_h2Ï\vtH]W*6xJMpegÞHeMa9'V(.|eYTQ89\t%N\tmAU1d)pӉʯ 1NOÁUNt\fwKfqT>y.0Bt~!:FbB?wCϻ8c.Ldsvq#i8\v`rItÆO XoLb;)l]O CL@\t1@QFn$k+L(Sk\fh`\vEƗ1WUr8;s`{xdbMίD{q|?S*aC\v^ׯ~22?WL_qN6=s!4uFourn+a[ʣ_MK({ҶN5Di,EQQ5IM=FnDS[k8(Z{k[kʕdPvct/CJ\t?\tWQ<kd\t.;!1ˈI'Ό14ptR-QQuJ1*),ֳGb<TWDžF]C\f@[L\tU.{Smǀp2Zf?nga%'\bLuJ%B-σMxuznf1tpT^d@ʲR>' KE~JˮF8egWkRa8No(i(A \tM|s[m3, XqdNI<q] Us|.T.lTQ7!,V\bgz/S* yO`$14Zc-G.at#Ίʒ\bwdˬ#n99wRmyj1`BMsHS2ʺ)d]6yhy19XK-y8}*3t6J/M\tZgWmt6{o+)7pˊY<LRy|\v#WoIv @#issegO\vDJ^z(4uJ=~P-pzVY%zff#3WT2cJCJqfҍ_eTpa-J/N3!c)$IfTX~DuB0\b\vkJ%Egu}?Q\vd¥-'QLq90WBN$~lUbXarRjqtTMjf-LO+(É'^4\thQ!zG0,xfQX]IF\fo(=7eVyV+`.#M:IևҊ66)<)a6Ƶ #)6=*`k_jXb[zR_bJJm^(_,K[D_o%8|%FVVm}֫c!h_e?B7ǜk_\vxDǖhII x\vq4mmj[a\b)EjvMEm\vúu9+G3AzIMH)P`)quLwRy<7t@IYA.ODƱcuSi_YFI~DDTj.Fc1dZ'xS$po,wXDwP`Nq9K6Op8=9V|~_pDq/%{\th1hWӮ$l',Ec[~J9CfH)(`!o1o!45fNRt0km/=m?FJ:%>hdw\bm%[Lj;Ә^/U*\bypQfSZ^ơJ\bx\f(lmB8/HG))5և6^NAyBGm´}N8Aa`:F%$4`I/F{u>;(m >94:{*gp, +a>b|f5D4|QbE9J;02 ,\v8JW>*u6v=bIy;`LzR_<bY*+§W^lUG)Sz\fʴLJ*L!\vIHoK(^ʪ=˽Ae}2j.i7,^KIFשHK9M5ˊQP\b(e\vvFTQLwU!L{L;_@Z@T$E'*SrA!G%?bcm9.q-or4+)|j',Ωxh1XM?0~]Sʑ{aboǘ~jӊq}]7P?R,RB#ʛǾ A4XQםZuU΄yY!Gp@=j)M.g/b~g*^?9VnxWIJL=o,s)ϯ9*+/Rw!nb/y_քx+^I,τ#;\bOiaRʴ-ơ.|xLQNHR71pUv6/0Z#!^xk\f^o59`YcCu^O+g\bu#3jrvIVׇ}#Tk2CDl>ʯf$6֛'ËS9Wn\vl}F8QvbNuD'RY9pp#x:m8n=4Aa>r?z@D\f\bnYs\bow076,~-ttnOyF gx%Β.\v>rQ@;d(ce)g:3}jIo\trG.'nnfYuq\b+_Ol3dZcocIq~2G+x>\v#|R%/zΊpyZ`SGCϊ7|.w+=n_a2q~4QׅiS\tXt6.|* (J|EΒgI%f0yHehK?6YyJ^Ncx#j~g^?˟p~S~<N\tO|c4MDp3\fpgF_Σ=]1`}fP^%d%\f\vi'-Db4~@r#sbGNZA[H.ZrWiI_h'Fzq't`yX\b::3_V+8 J4f@\t+y!,d.\biey3ku\tK(hP~kҡv\tKd0bO7/ϮT%N\b8f(i}I;SHl^%p|.unWa}zʒb\bczn42MT=8wzv<-tjϼm.Vy$^pIs.-)>K`ÆV4_>>spK/T+}VYO W;<*}Rxӽ9ׁҤqקdEDs%26B=z+Ab[-F]7[6fFCjN,u3Ap}dP+lKzSæEYXNlmD1F!#q>HY\f|Rol˷\fM+Ϗ[vijzuL>|TF5iu$ƷA5C9AHZk*\f\v.\v2}NNwj|[NaU!VHL=r]t|XrJ D<|MCbo]DQeuPA!r C/|xbÌx#@2w<?ha0oG/0WtKj-yH:ρ{7U=Q.B7q242D-u\fsa˫vo=_bӀo%Npq\v/.eIs(.-{\f'2Γn{OjtJsel^;XFZDvMvfw_Z`?gpӅ+dv>!Y0<x_rta~Cuz)#!fFeKO>ZSSr\tvmV0~`oW_Uee_{[kksJO]fg÷z{0M;C-qy>ӣG{RRuuuz\f-7`S!{4mq?W8Ɔ|\tZP5Aw16Jp=G[G]ǪXL`I5MgyPf?L/V1! j/_ngbY-mW+YT=O/Hc'])cLh8er;G#dR.LKO[#-ʪiG,vTOoFN\tiN[s7\b_Zap#\f|$oXX\tj2@_-ʞ?j/jXnzeX~r:l\bJ\v:tv=/Xʋ$M$Mg;~nMCCM2'k}g_iKQ'}]Mg#Nk--Sl;inS:Ot.*LCWs9Ia6Uc5u`ֈPB^^lwr\tz[Ad_9Lb@\tfvXHjʘR6+06gi\to.xf?=k?pz>#axsҤ-pc˖B;z3.~xRD%ӸO=k{[HG2]7I\bhtUI;:4}_X)!MmxB({gDJVI3DM]|{8>L/ydGb>Ζ.zDPA£Në?vAg7[cN2c?m/|{yO}K}F+lWf~v7t8n\fihMwsƊRq!w|}Αӳ$w]xMNB#oZ3s|:j~{Lrfumiv~\t^|-@VSOQ+Wʰ=jL8arB IzLJAP`זhv]tESu$R8{Ҁn!+s_Qg{wkZ-{\b<}0'gqJz\bO[V@qօ1qYlHxʭl;pASll/OÙF6bLWFd,bGju0Z82:R[:_c=5QtT=UhK<,i;QCss4s4?ER0Sm[GGgw_KQfc}sssi`s9QfyesMηN7mWs[Wd[$w^l1l¢M[LƣWGw?pwkDymHPcy0\v;tZ9~[`nQ}kK?#NֳvKAq_-ӧX4!qn)7iHMtTJGjeuyZ4|-άH\vґ]N I#6zM>+!#`C?:qzJg<>c3mSO*h=WcXe;)[V6r1nw7Z\t`oOSO}tgZQ%HKvGRҔz9=0R$6[0{[cvZ]R!v`gR=aT,0I3q*fai$>mw[U[[MzlT|κz[3[w]V3{gvƊ=p_cGb}6My3Swokmo{FcsfJu<}glz9c{Yc\f?>,XKhef\vYM\fӠ$=t@x3B%e_b?';;]\tw\teo%e7o|~,Xa|R_#)dzay{0s7\b@d{_wnMA?:TM/'tE3QFZYcRBuaG%/ngl\b11k֬ih\txc|ey;%Og1L3N\bY6m~v0?7G|)~v'1C\vif7{=v`X3m]'U=B|5Hus97]j5?/[Z|oʍB?Q+8(2=ldJ *^~¯GIWY+T-ZAJGXu62iʢZ`_o[w?L8%|I,r-'!#6L^a8AH9N6q\fTt$j4qu+?O\v#D?#h0JHj^tR$/g1]#sfW5:P`#'9>KE$$.JEN?d|\bQW'q k$#,!lOA\v2=yMO+U°,\b\fkkWq`v,(y^hǒA{nm2\vY2|{?K.Ty/\t@QD5_iNWU?\bogKױ\v(2F(eqC])X.X#4e?S5`tK-6rZ=W_ajwy~/*@\b[b;^*sn:u$bKz8k*,+\tqv,!8~tWT\bYng=I.'>'8rq-C<A-U3\bjN+*,'\f\v5mdYבcL!ARJ)w 8[?b/^0PHaleo\t#`\t[B1Ƌ<N8o.(F<WaoRbb;Vt'p|k]Gpoyyr1=GAW{ Ǔ_!I5S[R\bD=-uUAYlZ'66ku˴47H-57EacBO;Arz~niz+|BG0_ϵ#'NI__43tG`jA\f'VϘA06ƽ1BqiǭU)\bk0[c( s\v~;uFXN}Cuo#-z<1\f{!yxy_8Y6i n #ycp\v!bI.`?.w9VTp1ø3`Cj@DEDIC]L42<cs\b8h}ҶJrO22Ek0q1J--.*%/΄҉ruYb-2XsHHʄS7yʷl\ve£PY?##P[?#10|<C9ҫS;'dW42rtp,[jW\fsT{;BqN*w'C9efE5jHxLJBx\tׯ\t%1}YT#RNu*n!!GLv{tD,Gs<R:}֩+ 1eE4'aQx~<=LgCHt*)7>AQ~q<GPT`^=g6ret^Iz{TU))\v9?5e<+8\fd%׀vʧWOc{qfr{'|c_2Rn3v9pF](<\tjZnhuϺ@$֎@bBGhx I0$`!־=lT<]h6tn\fӳUsMY{ƻ.)f#@N5 dDa\f?18~Sm0]!XUMESy>n~+ӶwUjA 2-$.Wmh\f8YpYD/PI-7nuBi>'m0#Ƌ;IfCE*3ys%@OUf8PgDºB\v4T$fWywtC/mq9fx5'Q)<u8+pף+taQ)/)Sֿ|1.gBm#$%*E5J+~;fΦ*XXGa\vH0R8CipVAo``]j|:R68N~:B]aL3nsauFaWӽ.ΆCAGXn%XӲ6]fk˴n.DE6cHʣr.$! WL9[F{lKx{Wj#I;`d<ø12wHS7ao9Ʀ'%8O֕_WD%lx˄:H$!oZf2P/4nkJƖQTdea6o-\t\tQO\v^5dcP1°O%*neң]%nj^Xo|EP#0h;HDJab[xjgUk)go|,UÒT,\fk)gByY;Y/Xpv9(%.S.css(Z3JZu*t>F6ǝSω,NgE]xpa7f`sLntEtJWdM+@+!q5~+*Oi)cA7*^lRKq.Yd^dKQ{\f0{Go\t=4g8E_OG9(@;ur5We[Up\t9a\vU@I)xҥ+Q]e,*: ҮycJ4SNE(n,_\tTZi;}Gi3Di0bJQOGH<GIWbeawwmD ,ʴ!E{cҠ\br=[<Byp;vp4z>3KN%kiSc,c3-'kC(3'hҦ,KׅXT>rADT;p3j-<2ө:.D894u)M6knLeKSbV*Yk j*!AZVjq~=BdIQ-\t/1.H@@reE[\b[d_B!JC6( eeDe:ZM(ϠgZ\fezHET,P=~]%n2a67k9_V]YSv'E^U|_\vA+Fa}èp#@@ғ+g֙{W*Q}892apF[-Sm=Qkm4/;HN!oX44QIyOq\fm.vSww_V{2}Rzt\b2/=.`@8cTþýt`d҉y\v5MÅTo8BTMXs\f<(Fn(+yD-*y9OHצyfӠ$(÷#hW'c M{k,cYIWS7ZUIΒ,OKI@:t,[q{*+|-4Wjj4MQFr>>rGFʙXҭuTm*;{L9xS\vS2]b5#y1{Jj;oJc\fgΣ`HpiQKtIZ\t=GWx;]q|U?f:fU`^P5ϏK p}_ƨ~Zabd¹N-b[m2SkeGhW%bWB\tqh!KeVMDJ}9a(|fg8yx!?D,9Qc3 8QniPEJG@}˃rGD>u6`Ƹ6!(-xd0k]ϐ~<aAKn=jj\v-ʛCzƔ+;[e,nts +g[@0M@A5BΑO7*o(adhV{M6K-ITf_dcRSx]0\f?)w˖8WJ,7Ibhlf(jeDOKZMҘnYHLaeWa%]isTMyT_y(\f.[֔TXz<fa{qzǃQʫ^V>Ә`20B%H\trBkq XXI3/.Vmf,{[\bZPa0kld7\bMi\fxdqSnY#Ig,%tKE|EZ]TN!W1/2z7B1Bre$rqY˯BkqpK,^V#0~./iyRh'jxg+'T+J\t5qExқD]f,66O<c!<[j?ib>W\b!w\brSҙ|nLdf'l@9]%Q6,2;B$KmA$+o3e\tgKm]b{\f;r8Dׯ}e$C3PXzJFML#K7Q;Vb!EHeLG/OoX}$iFè[*@:'j%=S: @Dzl,-ULlUV\vPsg-)160(Pz+e.cNҕ\fO*y'y:F$Iʵ֥8b׀d69lrk7r{Rǣ9J%$N@EM)KlQbF@ywD?D}:ӽROD'eQ\tP^cwT'@*e)/L(v~(nRp$yMO#dP+,*b\t+U.uLHZ.be;ҹ!~gLP'֚<qWPk4~:E#eE*VksQR{H#pk\b6<zci0_r*f3aq4N@p֣!G%Q>ï!|%*[ddzkf8:0cih!4a^[\bt)np[6(Kr^|'$kQ3)|P2q;)JzYP_\the{VO2Is!ΣF1οÊk@vY)\fMI1)\t$B<^^175Y#-gǜ46v}h.8.xbQ$fיUU-\viN,24_.L2;P[+vj8TOB'lR|@DQ@>Gs:$'ZB^Wm^H{N_d/^=yX`FF#]ϱ+v\frFSVes\bMgSpk2@l_XaS>r,!/B;O-qo5c÷xfL~{7UKמӪ-hTa^@zLiO:`8%,z*V*,Ɖ,LfP+9,/iëh4K,:K _pHz(oRz|yHq>·5p~[-R0U\vE΄HfzzX'1ξ˚8@WE5Zbx/*L6?/fCQR^}xU/ׇ/Y'l~IC@:'\vq_bCae@ƧpIHo{vG?L\b\bu]^!cs={GV)oMspmDwWob˝(|t]kkn)n|plm$/ZRtSU ~ZQ|ku=95:<WmIi<#r7ӫKTpxg07G.OVκ%0@$\bs%ʹGXW^,c\bVKwV?ϐDqklʂ JtcH#uϗjOoA@\v7~)àހ"),e=Stimulsoft.Base.StiGZipHelper.unpack(t,!0),i=Stimulsoft.Report.Resources.StimulsoftFont.getBase64Content();return e=e.replace("<style>",`<style>@font-face {font-family: 'Stimulsoft';src: url(data:font/ttf;base64,${i}) format('truetype');font-weight: normal;font-style: normal;}</style><style>`),LHa.getContent=()=>e,LHa.getContent()}static getScript(e){let i=this.getContent();if(null!=e["locations"]){let t=JSON.stringify(e["locations"]);i=(i=i.replace("_DATA_",t)).replace("_OSMLOCATIONS_",e["osmLocations"])}else if(null!=e["pushpins"]){let t=JSON.stringify(e["pushpins"]);i=i.replace("_DATA_",t)}else i=i.replace("_DATA_","[]");return i=(i=(i=(i=(i=(i="canvasLight"==e["theme"]?i.replace(".leaflet-layer, .leaflet-control-zoom-in, .leaflet-control-zoom-out, .leaflet-control-attribution {filter: invert(100%) hue-rotate(180deg) brightness(95%) contrast(90%);}",""):i).replace("_LANGUAGE_",e["culture"])).replace("_BACKGROUND_COLOR_",`"${e["backgroundColor"]}"`)).replace("_BACKGROUND_COLOR2_",e["backgroundColor"])).replace("_ONEPOINTZOOM_",e["onePointZoom"])).replace("_ONEPOINTZOOM_",e["onePointZoom"]),null!=e["outerStyle"]&&(i=i.replace("display: table;",e["outerStyle"])),null!=e["zoomControl"]&&"true"!=e["zoomControl"]||(i=i.replace("zoomControl: false","zoomControl: true")),null!=e["title"]&&(i=i.replace('display: none"></div>',e["title"])),i=null!=e["customIcon"]?(i=(i=i.replace("document.customIcon = null",`document.customIcon = "${e["customIcon"]}"`)).replace("document.customIconAnchorX = null",`document.customIconAnchorX = "${e["customIconAnchorX"]}"`)).replace("document.customIconAnchorY = null",`document.customIconAnchorY = "${e["customIconAnchorY"]}"`):i}static async getImage(i,r,t,e=null){return new Promise(t=>{let e=`<text x=${i.width/2}" y="${i.height/2}" width="${i.width}" height="${i.height}">Export not available on JavaScript engine</text>`;t(r.mapImage=e)})}}__.h.StiOSMMapHelper=LHa}let StiBingMapHelper=__.h.StiBingMapHelper,StiEncryption=Stimulsoft.Base.StiEncryption,StiLicense=Stimulsoft.Base.StiLicense,StiArrayEqualityComparer=Stimulsoft.Data.Comparers.StiArrayEqualityComparer,StiColorUtils=Stimulsoft.Base.Drawing.StiColorUtils,StiMapHelper=Stimulsoft.Report.Maps.StiMapHelper;{class StiOnlineMapHelper{static get ICON(){return null==this._ICON&&(this._ICON=Convert.toBase64String(Encoding.UTF8.getBytes(`<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z" fill="#af6682" stroke="#663a4c"/><circle cx="12" cy="9" r="3" fill="#f7f4f2"/></svg>`))),this._ICON}static get EMPTY_ICON(){return null==this._EMPTY_ICON&&(this._EMPTY_ICON=Convert.toBase64String(Encoding.UTF8.getBytes(`<svg xmlns="http://www.w3.org/2000/svg" width="1" height="1" ></svg>`))),this._EMPTY_ICON}static async getBingMapScript(a,t){let e=a,i=await StiElementDataCache.tryToGetOrCreate(a),u=this.calculateMapData(i,e);if(t){u["outerStyle"]="display: table;";let s=e.title;if(s.visible){let e="";if(s.font.bold&&(e+="font-weight: bold;"),s.font.italic&&(e+="font-style: italic;"),s.font.strikeout||s.font.underline){let t=s.font.underline?s.font.strikeout?"underline line-through":"underline":s.font.strikeout?"line-through":"none";e+=`text-decoration: ${t};`}let t=s.sizeMode==StiTextSizeMode.WordWrap||s.sizeMode==StiTextSizeMode.FitAndWordWrap?"normal":"nowrap",i=s.sizeMode==StiTextSizeMode.Trimming?";text-overflow:ellipsis; overflow:hidden; display:table-caption; width:{}":"",r=s.sizeMode==StiTextSizeMode.Fit||s.sizeMode==StiTextSizeMode.FitAndWordWrap?"font-size:measure":`font-size: ${s.font.size.toString().replace(",",".")}pt`,l=ColorTranslator.toHtml(Color.transparent.equals(s.foreColor)?StiDashboardStyleHelper.getTitleForeColor(a):s.foreColor),n=ColorTranslator.toHtml(Color.transparent.equals(s.backColor)?StiDashboardStyleHelper.getBackColor(a):s.backColor),o=Enum.getName(StiHorAlignment,s.horAlignment).toLowerCase();u["title"]=`font-family: ${s.font.name}; ${r}; color: ${l};`+`${e}background-color:${n};white-space:${t}${i};text-align:${o}'>${s.text}</div>`}}else u["zoomControl"]=!1;return(e.provider==StiGeoMapProviderType.Bing?StiBingMapHelper:__.h.StiOSMMapHelper).getScript(u)}static calculateMapData(c,d){let u={},s=this.getLongitudeMeterIndex(c),a=this.getLatitudeMeterIndex(c),i=this.getLocationMeterIndex(c),l=this.getLocationColorMeterIndex(c),n=this.getLocationArgumentMeterIndex(c),g=this.getLocationValueMeterIndex(c),t=StiDashboardStyleHelper.isDarkStyle(d.dashboard);if(d.provider!=StiGeoMapProviderType.Bing&&d.provider!=StiGeoMapProviderType.OpenStreetMap&&(d.provider=StiGeoMapProviderType.OpenStreetMap),null!=c)if(-1!=a&&-1!=s){let n=[],o=0;for(let l of c.rows){o++;let t=l[a],e=l[s];if(null==t||null==e)continue;let i=StiValueHelper.tryToNumber(t).toString().replace(",","."),r=StiValueHelper.tryToNumber(e).toString().replace(",",".");if(null==d.customIcon?n.push({lat:i,lon:r,fontIcon:StiFontIconsHelper.getContent(d.icon).charCodeAt(0),fontIconColor:`rgb(${d.iconColor.r}, ${d.iconColor.g}, ${d.iconColor.b})`}):n.push({lat:i,lon:r,anchorX:this.MAX_RADIUS,anchorY:2*this.MAX_RADIUS}),o>this.MAX_LOCATIONS)break}u["pushpins"]=n}else if(-1!=i){let t=null,r=null;if(d.locationColorType==StiOnlineMapLocationColorType.ColorEach)t=this.getColors(Math.min(c.rows.length,this.MAX_LOCATIONS));else if(d.locationColorType==StiOnlineMapLocationColorType.Group&&-1!=l){let i=[];for(let e=0;e<c.rows.length;e++){let t=null!=c.rows[e][l]?c.rows[e][l].toString():"";i.includes(t)||i.push(t)}let e=this.getColors(i.length);r=new Hashtable;for(let t=0;t<i.length;t++)r.set(i[t],e[t])}let e=new List;if(0<=g)for(let t=0;t<Math.min(c.rows.length,this.MAX_LOCATIONS);t++)e.add(StiValueHelper.tryToNumber(c.rows[t][g]));StiArray.sort(e);let S=e,m=new Object,h=0;while(h<c.rows.length&&h<this.MAX_LOCATIONS){let s=c.rows[h][i];if(null==s){h++;continue}let a=Color.limeGreen,u=null;if(d.locationColorType==StiOnlineMapLocationColorType.Single)a=d.locationColor,u=Color.transparent.equals(d.locationColor)?"Transparent":null;else if(d.locationColorType==StiOnlineMapLocationColorType.ColorEach)a=t[h];else if((d.locationColorType==StiOnlineMapLocationColorType.Group||d.locationColorType==StiOnlineMapLocationColorType.Value)&&0<=l){let t=null!=c.rows[h][l]?c.rows[h][l].toString():"";d.locationColorType==StiOnlineMapLocationColorType.Group&&r.containsKey(t)&&(a=r.get(t)),d.locationColorType!=StiOnlineMapLocationColorType.Value||StiString.isNullOrEmpty(t)||(u=t)}if(m[s]={fillStyle:null!=u?u:`rgba(${a.r}, ${a.g}, ${a.b}, 0.5)`,strokeStyle:"Transparent"==u?u:"#d3d3d3"},0<=g||d.valueViewMode==StiOnlineMapValueViewMode.Icon)if(d.valueViewMode==StiOnlineMapValueViewMode.Bubble){let t=S.indexOf(StiValueHelper.tryToNumber(c.rows[h][g]))/S.length,e=2*this.MAX_RADIUS+2,i=this.MIN_RADIUS+Math.ceil(t*this.DELTA_RADIUS),r=this.MAX_RADIUS+1,l=StiColorUtils.dark(null!=u?this.parseColor(u):a,70),n=null!=u?u:`rgba(${a.r}, ${a.g}, ${a.b}, 0.5)`,o=`<svg xmlns="http://www.w3.org/2000/svg" width="${e}" height="${e}">`+`<circle cx="${r}" cy="${r}" r="${i}" stroke="rgba(${l.r}, ${l.g}, ${l.b}, ${l.a})" `+`stroke-width="1" fill="${n}"/>`+"</svg>";m[s]["icon"]=Convert.toBase64String(Encoding.UTF8.getBytes(o)),m[s]["anchorX"]=r,m[s]["anchorY"]=r}else d.valueViewMode==StiOnlineMapValueViewMode.Value?(m[s]["icon"]=this.EMPTY_ICON,m[s]["title"]=null!=c.rows[h][g]?c.rows[h][g].toString():"",m[s]["anchorX"]=1,m[s]["anchorY"]=7):d.valueViewMode==StiOnlineMapValueViewMode.Icon?(null==d.customIcon&&(m[s]["fontIcon"]=StiFontIconsHelper.getContent(d.icon).charCodeAt(0),m[s]["fontIconColor"]=`rgb(${d.iconColor.r}, ${d.iconColor.g}, ${d.iconColor.b})`),0<g&&(m[s]["title"]=null!=c.rows[h][g]?c.rows[h][g].toString():"")):d.valueViewMode==StiOnlineMapValueViewMode.Chart&&(m[s]["chart"]=this.getChartData(c,i,g,n,c.rows[h][i]),m[s]["icon"]=this.EMPTY_ICON);h++}u["locations"]=m,u["locationType"]=Enum.getName(StiOnlineMapLocationType,d.locationType)}(d.valueViewMode==StiOnlineMapValueViewMode.Icon||-1!=a&&-1!=s)&&null!=d.customIcon&&this.getCustomIcon(d.customIcon,u),u["theme"]=t?"canvasDark":"canvasLight",u["culture"]=StiOnlineMapCulture[d.culture].toString().replace("_","-");let e=StiDashboardStyleHelper.getBackColor(d);if(Color.transparent.equals(e)&&null!=d.report&&d.report.info.fillComponent&&d.isDesigning&&(e=Color.fromArgb3(153,Color.white)),u["backgroundColor"]=ColorTranslator.toHtml(e),u["onePointZoom"]=d.onePointZoom,u["userBingKey"]=d.userBingKey,d.provider==StiGeoMapProviderType.OpenStreetMap&&null!=u["locations"])if(null==StiLicense.licenseKey||StiString.isNullOrEmpty(StiLicense.licenseKey.userName))u["osmLocations"]="Trial";else{let t=StiLicense.licenseKey.userName,e=u["locations"],i=new List;for(let t in e)null!=t&&i.add(t.toString());let r=`[${StiString.join(", ",i.select(t=>`"${t}"`))}]`,l=d.locationType!=StiOnlineMapLocationType.Auto?d.locationType[Stimulsoft.System.StiObject.stimulsoft]().toNumber()+1:0,n=`{"level":${l},"locations":${r}}`,o=`{"id":"${t}","value":${n}}`,s=Encoding.UTF8.getBytes(o),a=Convert.toBase64String(s);u["osmLocations"]=StiEncryption.encryptS(a,"Stimulsoft")}return u}static getChartData(e,i,r,l,w){let n=new Hashtable;try{if(0<=i&&0<=r&&0<=l){let S=this.CHART_RADIUS,m=e.meters[l],h=e.meters[r],c=e.meters[i],t=e.rows.where(t=>t[i]==w),d=t.groupBy2(t=>[t[l]],new StiArrayEqualityComparer).select(t=>t.key[0]).toList(),g=new List;for(let e of d)g.add(t.where(t=>t[l]==e).select(t=>t[r]).sum(t=>StiValueHelper.tryToNumber(t)));let p=g.sum(),b=this.getColors(Math.min(d.countItems,this.MAX_CHART_SECTORS)),C=0,f=[];for(let u=0;u<Math.min(d.countItems,this.MAX_CHART_SECTORS);u++){let t=d[u],e=g[u],i=e/p*6.28318530716,r=S+1+S*Math.cos(C),l=S+1+S*Math.sin(C),n=S+1+S*Math.cos(C+i),o=S+1+S*Math.sin(C+i),s=.5<e/p?1:0,a=StiColorUtils.dark(b[u],100);f.push({stroke:`rgb(${a.r}, ${a.g}, ${a.b})`,fill:`rgb(${b[u].r}, ${b[u].g}, ${b[u].b})`,_color:ColorTranslator.toHtml(b[u]),d:`M ${S+1} ${S+1} L ${this.toUnits(r)} ${this.toUnits(l)} A ${S} ${S} 0 ${s} 1 ${this.toUnits(n)} ${this.toUnits(o)}z`,_text0:c.label,_text1:null!=w?w.toString():null,_text2:m.label,_text3:null!=t?t.toString():null,_text4:h.label,_text5:e.toString}),C+=i}n["paths"]=f,n["anchor"]=S}}catch(t){}return n}static toUnits(t){let e=2,i=StiMath.round2(t,e).toString().replace(",",".");return i}static getCustomIcon(l,n){try{let e,i=0,r=0;if(!StiImageHelper.isSvg(l)){e=StiImageConverter.bytesToImage(l);let t=Math.min(1,2*this.MAX_RADIUS/Math.max(e.width,e.height));i=Math.round(e.width*t),r=Math.round(e.height*t)}n["customIconAnchorX"]=i/2,n["customIconAnchorY"]=r;let t=`<svg xmlns="http://www.w3.org/2000/svg" width="${i}" height="${r}"><image width="${i}" height="${r}" href="${this.imageBytesToBase64String(l)}"></image></svg>`;n["customIcon"]=Convert.toBase64String(Encoding.UTF8.getBytes(t))}catch(t){}}static imageBytesToBase64String(t){let e="data:image/png;base64,";return StiImageHelper.isBmp(t)?e="data:image/bmp;base64,":StiImageHelper.isJpeg(t)?e="data:image/jpeg;base64,":StiImageHelper.isGif(t)?e="data:image/gif;base64,":StiImageHelper.isSvg(t)&&(e="data:image/svg+xml;base64,"),e+Convert.toBase64String(t)}static getColors(t){let e=[],i=10,r=!0,l=StiMapHelper.getColors();e=l.slice();while(e.length<t){if(r)for(let t of l)e.push(StiColorUtils.dark(t,i));else{for(let t of l)e.push(StiColorUtils.light(t,i));i+=10}r=!r}return e}static getLongitudeMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiLongitudeMapMeter));return null!=e?t.meters.indexOf(e):-1}static getLatitudeMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiLatitudeMapMeter));return null!=e?t.meters.indexOf(e):-1}static getLocationMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiLocationMapMeter));return null!=e?t.meters.indexOf(e):-1}static getLocationColorMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiLocationColorMapMeter));return null!=e?t.meters.indexOf(e):-1}static getLocationArgumentMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiLocationArgumentMapMeter));return null!=e?t.meters.indexOf(e):-1}static getLocationValueMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiLocationValueMapMeter));return null!=e?t.meters.indexOf(e):-1}static parseColor(e){let l=Color.black;try{if(1<e.length){if("#"==e[0]){let i=e.substring(1).toLowerCase(),r="";for(let e=0;e<i.length;e++){let t=i.charAt(e);"0"!=t&&"1"!=t&&"2"!=t&&"3"!=t&&"4"!=t&&"5"!=t&&"6"!=t&&"7"!=t&&"8"!=t&&"9"!=t&&"a"!=t&&"b"!=t&&"c"!=t&&"d"!=t&&"e"!=t&&"f"!=t||(r+=t)}if(6==(i=3==r.length?StiString.format("{0}{0}{1}{1}{2}{2}",r[0],r[1],r[2]):r).length){let t=Convert.toInt32(i,16);l=Color.fromArgb(255,t>>16&255,t>>8&255,255&t)}}else if(e.startsWith("rgb")){let i=e.trim().substring(4,e.length-1).split(",");if(3==i.length){let t=[0,0,0];i[0].endsWith("%")?t[0]=Math.round(2.55*StiValueHelper.tryToNumber(i[0].substring(0,i[0].length-1))):t[0]=StiValueHelper.tryToNumber(i[0]),i[1].endsWith("%")?t[1]=Math.round(2.55*StiValueHelper.tryToNumber(i[1].substring(0,i[1].length-1))):t[1]=StiValueHelper.tryToNumber(i[1]),i[2].endsWith("%")?t[2]=Math.round(2.55*StiValueHelper.tryToNumber(i[2].substring(0,i[2].length-1))):t[2]=StiValueHelper.tryToNumber(i[2]),l=Color.fromArgb(255,t[0],t[1],t[2])}else if(4==i.length){let t=[0,0,0],e=1;i[0]=i[0].replace("(",""),i[0].endsWith("%")?t[0]=Math.round(2.55*StiValueHelper.tryToNumber(i[0].substring(0,i[0].length-1))):t[0]=StiValueHelper.tryToNumber(i[0]),i[1].endsWith("%")?t[1]=Math.round(2.55*StiValueHelper.tryToNumber(i[1].substring(0,i[1].length-1))):t[1]=StiValueHelper.tryToNumber(i[1]),i[2].endsWith("%")?t[2]=Math.round(2.55*StiValueHelper.tryToNumber(i[2].substring(0,i[2].length-1))):t[2]=StiValueHelper.tryToNumber(i[2]),e=i[3].endsWith("%")?2.55*StiValueHelper.tryToNumber(i[3].substring(0,i[3].length-1)):StiValueHelper.tryToNumber(i[3]),l=Color.fromArgb(Math.round(255*e),t[0],t[1],t[2])}}else if(null==this.htmlNameToColor){let l=[["AliceBlue","#F0F8FF"],["AntiqueWhite","#FAEBD7"],["Aqua","#00FFFF"],["Aquamarine","#7FFFD4"],["Azure","#F0FFFF"],["Beige","#F5F5DC"],["Bisque","#FFE4C4"],["Black","#000000"],["BlanchedAlmond","#FFEBCD"],["Blue","#0000FF"],["BlueViolet","#8A2BE2"],["Brown","#A52A2A"],["BurlyWood","#DEB887"],["CadetBlue","#5F9EA0"],["Chartreuse","#7FFF00"],["Chocolate","#D2691E"],["Coral","#FF7F50"],["CornflowerBlue","#6495ED"],["Cornsilk","#FFF8DC"],["Crimson","#DC143C"],["Cyan","#00FFFF"],["DarkBlue","#00008B"],["DarkCyan","#008B8B"],["DarkGoldenRod","#B8860B"],["DarkGray","#A9A9A9"],["DarkGrey","#A9A9A9"],["DarkGreen","#006400"],["DarkKhaki","#BDB76B"],["DarkMagenta","#8B008B"],["DarkOliveGreen","#556B2F"],["Darkorange","#FF8C00"],["DarkOrchid","#9932CC"],["DarkRed","#8B0000"],["DarkSalmon","#E9967A"],["DarkSeaGreen","#8FBC8F"],["DarkSlateBlue","#483D8B"],["DarkSlateGray","#2F4F4F"],["DarkSlateGrey","#2F4F4F"],["DarkTurquoise","#00CED1"],["DarkViolet","#9400D3"],["DeepPink","#FF1493"],["DeepSkyBlue","#00BFFF"],["DimGray","#696969"],["DimGrey","#696969"],["DodgerBlue","#1E90FF"],["FireBrick","#B22222"],["FloralWhite","#FFFAF0"],["ForestGreen","#228B22"],["Fuchsia","#FF00FF"],["Gainsboro","#DCDCDC"],["GhostWhite","#F8F8FF"],["Gold","#FFD700"],["GoldenRod","#DAA520"],["Gray","#808080"],["Grey","#808080"],["Green","#008000"],["GreenYellow","#ADFF2F"],["HoneyDew","#F0FFF0"],["HotPink","#FF69B4"],["IndianRed","#CD5C5C"],["Indigo","#4B0082"],["Ivory","#FFFFF0"],["Khaki","#F0E68C"],["Lavender","#E6E6FA"],["LavenderBlush","#FFF0F5"],["LawnGreen","#7CFC00"],["LemonChiffon","#FFFACD"],["LightBlue","#ADD8E6"],["LightCoral","#F08080"],["LightCyan","#E0FFFF"],["LightGoldenRodYellow","#FAFAD2"],["LightGray","#D3D3D3"],["LightGrey","#D3D3D3"],["LightGreen","#90EE90"],["LightPink","#FFB6C1"],["LightSalmon","#FFA07A"],["LightSeaGreen","#20B2AA"],["LightSkyBlue","#87CEFA"],["LightSlateGray","#778899"],["LightSlateGrey","#778899"],["LightSteelBlue","#B0C4DE"],["LightYellow","#FFFFE0"],["Lime","#00FF00"],["LimeGreen","#32CD32"],["Linen","#FAF0E6"],["Magenta","#FF00FF"],["Maroon","#800000"],["MediumAquaMarine","#66CDAA"],["MediumBlue","#0000CD"],["MediumOrchid","#BA55D3"],["MediumPurple","#9370D8"],["MediumSeaGreen","#3CB371"],["MediumSlateBlue","#7B68EE"],["MediumSpringGreen","#00FA9A"],["MediumTurquoise","#48D1CC"],["MediumVioletRed","#C71585"],["MidnightBlue","#191970"],["MintCream","#F5FFFA"],["MistyRose","#FFE4E1"],["Moccasin","#FFE4B5"],["NavajoWhite","#FFDEAD"],["Navy","#000080"],["OldLace","#FDF5E6"],["Olive","#808000"],["OliveDrab","#6B8E23"],["Orange","#FFA500"],["OrangeRed","#FF4500"],["Orchid","#DA70D6"],["PaleGoldenRod","#EEE8AA"],["PaleGreen","#98FB98"],["PaleTurquoise","#AFEEEE"],["PaleVioletRed","#D87093"],["PapayaWhip","#FFEFD5"],["PeachPuff","#FFDAB9"],["Peru","#CD853F"],["Pink","#FFC0CB"],["Plum","#DDA0DD"],["PowderBlue","#B0E0E6"],["Purple","#800080"],["Red","#FF0000"],["RosyBrown","#BC8F8F"],["RoyalBlue","#4169E1"],["SaddleBrown","#8B4513"],["Salmon","#FA8072"],["SandyBrown","#F4A460"],["SeaGreen","#2E8B57"],["SeaShell","#FFF5EE"],["Sienna","#A0522D"],["Silver","#C0C0C0"],["SkyBlue","#87CEEB"],["SlateBlue","#6A5ACD"],["SlateGray","#708090"],["SlateGrey","#708090"],["Snow","#FFFAFA"],["SpringGreen","#00FF7F"],["SteelBlue","#4682B4"],["Tan","#D2B48C"],["Teal","#008080"],["Thistle","#D8BFD8"],["Tomato","#FF6347"],["Turquoise","#40E0D0"],["Violet","#EE82EE"],["Wheat","#F5DEB3"],["White","#FFFFFF"],["WhiteSmoke","#F5F5F5"],["Yellow","#FFFF00"],["YellowGreen","#9ACD32"]];this.htmlNameToColor=new Hashtable;for(let r=0;r<2;r++){let t=l[r][0].toLowerCase(),e=Convert.toInt32(l[r][1].substring(1),16),i=Color.fromArgb(255,e>>16&255,e>>8&255,255&e);this.htmlNameToColor.set(t,i)}}let t=e.toLowerCase();this.htmlNameToColor.containsKey(t)&&(l=this.htmlNameToColor.get(t))}}catch(t){}return l}}StiOnlineMapHelper.MAX_LOCATIONS=1e3,StiOnlineMapHelper.MAX_CHART_SECTORS=100,StiOnlineMapHelper.MIN_RADIUS=3,StiOnlineMapHelper.MAX_RADIUS=15,StiOnlineMapHelper.CHART_RADIUS=26,StiOnlineMapHelper.DELTA_RADIUS=12,StiOnlineMapHelper.lockHtmlNameToColor=new Object,__.h.StiOnlineMapHelper=StiOnlineMapHelper}let StiCrossTabTopNCondition=Stimulsoft.Report.Components.StiCrossTabTopNCondition,StiDataTableSource=Stimulsoft.Report.Dictionary.StiDataTableSource,StiPivotTableColumnVisibilityHelper=__.N.StiPivotTableColumnVisibilityHelper,StiCellType=Stimulsoft.Report.CrossTab.Core.StiCellType,StiDataHelper=Stimulsoft.Report.Components.StiDataHelper,StiFilter=Stimulsoft.Report.Components.StiFilter,StiCondition=Stimulsoft.Report.Components.StiCondition,StiLabelHelper=Stimulsoft.Data.Helpers.StiLabelHelper,StiEngine=Stimulsoft.Report.Engine.StiEngine,ContentAlignment=Stimulsoft.System.Drawing.ContentAlignment,StiIconSetIndicator=Stimulsoft.Report.Components.StiIconSetIndicator,StiPivotToConvertedStateCache=Stimulsoft.Report.Dashboard.StiPivotToConvertedStateCache,StiPivotTableToCrossTabCache=Stimulsoft.Report.Dashboard.StiPivotTableToCrossTabCache,StiCrossTotal=Stimulsoft.Report.CrossTab.StiCrossTotal,StiCrossRowTotal=Stimulsoft.Report.CrossTab.StiCrossRowTotal,StiCrossTab=Stimulsoft.Report.CrossTab.StiCrossTab,StiCrossTitle=Stimulsoft.Report.CrossTab.StiCrossTitle,StiComponentsCollection=Stimulsoft.Report.Components.StiComponentsCollection,StiCrossColumnTotal=Stimulsoft.Report.CrossTab.StiCrossColumnTotal,StiCrossSummary=Stimulsoft.Report.CrossTab.StiCrossSummary,StiCell=Stimulsoft.Report.CrossTab.Core.StiCell,StiCrossColumn=Stimulsoft.Report.CrossTab.StiCrossColumn,StiReportUnitType=Stimulsoft.Report.StiReportUnitType,StiReport=Stimulsoft.Report.StiReport,StiCrossRow=Stimulsoft.Report.CrossTab.StiCrossRow,StiCrossSummaryHeader=Stimulsoft.Report.CrossTab.StiCrossSummaryHeader,Guid=Stimulsoft.System.Guid,StiCrossHeader=Stimulsoft.Report.CrossTab.StiCrossHeader,StiSummaryType=Stimulsoft.Report.CrossTab.Core.StiSummaryType,StiCrossCell=Stimulsoft.Report.CrossTab.StiCrossCell,StiCross=Stimulsoft.Report.CrossTab.Core.StiCross,StiCrossTabHelper=Stimulsoft.Report.CrossTab.StiCrossTabHelper;{class StiPivotTableHelper{static getHeadersBounds(r){let l=-1,n=-1,o=-1,s=-1;for(let i=0;i<r.length;i++)for(let e=0;e<r[i].length;e++){let t=r[i][e];t.cellType!=StiCellType.HeaderColMain&&t.cellType!=StiCellType.HeaderColSummaryTotal||(l=-1==l?e:l,n=Math.max(e,n)),t.cellType!=StiCellType.HeaderRowMain&&t.cellType!=StiCellType.HeaderRowSummaryTotal||(o=-1==o?i:o,s=Math.max(i,s))}return new Rectangle(o,l,s-o,n-l)}static async getViewerData(t){let e={},i=t.as(StiPivotTableElement),r=i.columns.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,i.report)).toList(),l=i.rows.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,i.report)).toList(),n=i.summaries.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,i.report)).toList(),a=StiPivotTableToCrossTabCache.get(i);if(null==a){let t=await StiElementDataCache.getOrCreate(i);a=await StiPivotTableHelper.convertToCrossTab(i,t),StiPivotTableToCrossTabCache.put(i,a),StiPivotToConvertedStateCache.putFalse(i)}let o=0==l.length&&0==r.length&&0<n.length,u=a.crossTabInfo.cross.cells,s=this.getHeadersBounds(u),S=s.bottom+1,m=s.right+1,h=(e["headerHeight"]=S,e["headerWidth"]=m,e["onlySummaries"]=o,e["pivotColumnsCount"]=r.length,e["pivotRowsCount"]=l.length,e["pivotSummariesCount"]=n.length,e["pivotSummaryDirection"]=Enum.getName(StiSummaryDirection,i.summaryDirection),[]);if(0<u.length){let o=new Hashtable;for(let i=0;i<u.length;i++)for(let e=0;e<u[i].length;e++){let t=u[i][e];StiString.isNullOrEmpty(t.parentGuid)||t.parentCell!=t||(o.containsKey(t.parentGuid)||o.set(t.parentGuid,new List),o.get(t.parentGuid).add(t))}let s=[];for(let n=0;n<u.length;n++){let l=[];for(let t=0;t<u[0].length;t++){let e=u[n][t],i=new List,r=null;if(e.parentCell==e&&!StiString.isNullOrEmpty(e.guid)&&o.containsKey(e.guid))for(let t of o.get(e.guid))t.field.is(StiCrossTotal)&&t.parentCell==t?r=t.guid:i.add(t.guid);l.push(this.cellItem(u[n][t],n,t,i,r,n<m||t<S,s,n>=m,a.crossTabInfo.cross.widths[n]))}h.push(l)}e["cells"]=h,e["sizes"]=s}return e}static cellItem(l,t,e,i,r,n,o,s,a){let u,S,m,h,c,d,g,p=null==(S=null==(u=l.field)?void 0:u.report)?void 0:S.unit,b=-1;if(l.field&&null!=p){let t=`${p.convertToHInches(a)};${p.convertToHInches(a)};`+(null!=(m=l.field)&&m.wordWrap?"True":"False");-1==o.indexOf(t)&&o.push(t),b=o.indexOf(t)}let C={};if(C["rowSpan"]=l.height,C["colSpan"]=l.width,C["row"]=e,C["column"]=t,C["text"]=l.text,C["isColumn"]=s,C["s"]=b,C["l"]=l.level,C["t"]=null==(h=l.field)?void 0:h.is(StiCrossTotal),!StiString.isNullOrEmpty(null==(d=null==(c=l.field)?void 0:c.interaction)?void 0:d.drillDownPageGuid)){let e=new List;if(l.drillDownParameters)for(let t of l.drillDownParameters)e.add({key:t.name,value:t.value});C["ip"]={drillDownPageKey:l.field.interaction.drillDownPageGuid,parameters:e}}if(StiString.isNullOrEmpty(l.hyperlinkValue)||(C["h"]=l.hyperlinkValue),StiString.isNullOrEmpty(l.toolTipValue)||(C["tt"]=l.toolTipValue,l.tooltipAsHyperlink&&(C["ttah"]=!0)),null!=(g=l.field)&&g.is(StiCrossHeader)&&(C["o"]=l.field.isExpanded),n&&(StiString.isNullOrEmpty(l.guid)&&(l.guid=Guid.newGuid().toString()),StiString.isNullOrEmpty(l.parentGuid)||(C["parentGuid"]=l.parentGuid),null!=l.parentCell&&l.parentCell==l&&(C["parentCellGuid"]=l.parentCell.guid),null!=l.field&&(C["isTotal"]=l.field.is(StiCrossTotal)&&l.parentCell==l),C["guid"]=l.guid,0<i.length&&(C["dependedCellGuis"]=i),null!=r)&&(C["totalCellGuid"]=r),null!=l.field&&null!=l.field.indicator&&l.field.indicator.is(StiIconSetIndicator)){let t=l.field.indicator,e=Enum.getName(ContentAlignment,t.alignment),i=0==e.indexOf("Top")?"top":0==e.indexOf("Bottom")?"bottom":"middle",r=`<img src='data:image/png;base64,${Convert.toBase64String(t.customIcon)}' style='vertical-align: ${i};'>`;delete C["text"],0<e.indexOf("Left")?C["text"]=r+l.text:C["text"]=l.text+r}let f=null!=l.field?l.field.conditionPermissions:null,w={};if(l.isNegativeColor){let t=Stimulsoft.StiOptions.Engine.negativeColor;w["color"]=`rgba(${t.r}, ${t.g}, ${t.b}, ${t.a})`}if(f!=StiConditionPermissions.None){if(0<(f&StiConditionPermissions.BackColor)){let t=l.field.conditionBrush.color;w["backgroundColor"]=`rgba(${t.r}, ${t.g}, ${t.b}, ${t.a})`}0<(f&StiConditionPermissions.Font)&&(w["fontFamily"]=l.field.font.name),0<(f&StiConditionPermissions.FontSize)&&(w["fontSize"]=l.field.font.sizeInPoints+`pt`),0<(f&StiConditionPermissions.FontStyleBold)&&(w["fontWeight"]=0<(l.field.font.style&FontStyle.Bold)?"bold":"normal"),0<(f&StiConditionPermissions.FontStyleItalic)&&(w["fontStyle"]=0<(l.field.font.style&FontStyle.Italic)?"italic ":"normal");let t="";if(0<(f&StiConditionPermissions.FontStyleStrikeout)&&0<(l.field.font.style&FontStyle.Strikeout)&&(t+="line-through "),0<(f&StiConditionPermissions.FontStyleUnderline)&&0<(l.field.font.style&FontStyle.Underline)&&(t+="underline"),StiString.isNullOrEmpty(t)||(w["textDecoration"]=t),0<(f&StiConditionPermissions.TextColor)){let t=l.field.conditionTextBrush.color;w["color"]=`rgba(${t.r}, ${t.g}, ${t.b}, ${t.a})`}}if(null!=l.field)switch(l.field.horAlignment){case StiTextHorAlignment.Left:w["text-align"]="left";break;case StiTextHorAlignment.Right:w["text-align"]="right";break;case StiTextHorAlignment.Center:w["text-align"]="center";break;case StiTextHorAlignment.Width:w["text-align"]="justify";break}return C["style"]=w,C}static applyStyle(n,t,i){let o,s,a,u,S,m,h,c,d,g=StiDashboardStyleHelper.getPivotTableStyle(n),p=t.crossTabInfo.cross.cells,b=n.columns.length+(0<n.rows.length?1:0)+(1<n.summaries.length&&n.summaryDirection==StiSummaryDirection.LeftToRight?1:0),C=(0==n.rows.length?1:n.rows.length)+(1<n.summaries.length&&n.summaryDirection==StiSummaryDirection.UpToDown?1:0);for(let e=0;e<p.length;e++)for(let l=0;l<p[e].length;l++)if(null!=p[e][l].field){let r=p[e][l],t=(!Stimulsoft.StiOptions.Engine.CrossTab.memoryOptimization||null!=r.field.text&&""!=r.field.text||r.fieldCloned||(r.field=r.field.clone(),r.fieldCloned=!0),!(r.isCrossSummary||r.field.is2(StiCrossSummary)||(r.field.is2(StiCrossRowTotal)||r.field.is2(StiCrossColumnTotal))&&null==r.guid));if(i)r.field.font=new Font("Arial",10,t?FontStyle.Bold:FontStyle.Regular),r.field.brush=new StiSolidBrush(Color.transparent),r.field.textBrush=new StiSolidBrush(Color.black);else if(r.field.is2(StiCrossRow))r.field.brush=null!=(o=r.field.conditionBrush)?o:new StiSolidBrush(this.getColor(n.cells.rows.backColor,g.rowHeaderBackColor)),r.field.textBrush=null!=(s=r.field.conditionTextBrush)?s:new StiSolidBrush(this.getColor(n.cells.rows.foreColor,g.rowHeaderForeColor)),r.field.font=this.changeFontSize(n.getRowFont(),1);else if(t)e<C&&l>=b?(r.field.brush=null!=(m=r.field.conditionBrush)?m:new StiSolidBrush(this.getColor(n.cells.rows.backColor,g.rowHeaderBackColor)),r.field.textBrush=null!=(h=r.field.conditionTextBrush)?h:new StiSolidBrush(this.getColor(n.cells.rows.foreColor,g.rowHeaderForeColor)),r.field.font=this.changeFontSize(n.getRowFont(),1)):(r.field.brush=null!=(c=r.field.conditionBrush)?c:new StiSolidBrush(this.getColor(n.cells.columns.backColor,g.columnHeaderBackColor)),r.field.textBrush=null!=(d=r.field.conditionTextBrush)?d:new StiSolidBrush(this.getColor(n.cells.columns.foreColor,g.columnHeaderForeColor)),r.field.font=this.changeFontSize(n.getColumnFont(),1));else{let t=null==(a=r.field)?void 0:a.is(StiCrossTotal),e=this.getBackColor(n,n.cells,g,l%2!=0,t),i=this.getForeColor(n,n.cells,g,l%2!=0,t);r.field.brush=null!=(u=r.field.conditionBrush)?u:new StiSolidBrush(e),r.field.textBrush=null!=(S=r.field.conditionTextBrush)?S:new StiSolidBrush(i),r.field.font=this.changeFontSize(t?n.getTotalFont():n.getDataFont(),1)}r.field.border.color=g.lineColor}}static getBackColor(t,e,i,r,l){let n=(l?e.totals:e.data).backColor;return null==e||n.equals(Color.transparent)?r?i.alternatingCellBackColor:i.cellBackColor:r?StiDashboardStyleHelper.isDarkStyle3(t)?StiColorUtils.light(n,25):StiColorUtils.dark(n,25):n}static getForeColor(t,e,i,r,l){let n=(l?e.totals:e.data).foreColor;return null==e||n.equals(Color.transparent)?r?i.alternatingCellForeColor:i.cellForeColor:n}static getColor(t,e){return t.equals(Color.transparent)?e:t}static buildCross(o,n,s,e=1){let a=new Hashtable;for(let t=0;t<n.meters.length;t++)a.set(n.meters[t].expression,t);o.crossTabInfo.startRow=0,o.crossTabInfo.startCol=0;let u=new StiComponentsCollection(null),S=new StiComponentsCollection(null),m=new StiComponentsCollection(null),h=new StiComponentsCollection(null),c=new StiComponentsCollection(null),d=new StiComponentsCollection(null),r=s.columns.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,s.report)).toList(),g=s.rows.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,s.report)).toList(),p=s.summaries.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,s.report)).toList(),b=null,C=null,f=null,w=new DataTable;for(let n of o.components.list)if(n.is(StiCrossCell)||n.is(StiCrossTitle)||n.is(StiCrossSummaryHeader)){let t=n.as(StiCrossRow),e=n.as(StiCrossColumn),a=n.as(StiCrossSummary),i=n.as(StiCrossSummaryHeader),r=n.as(StiCrossTitle);if(null!=r){r.typeOfComponent.startsWith("Row:")&&c.add(r),r.typeOfComponent.startsWith("Col:")&&d.add(r),r.typeOfComponent.startsWith("LeftTitle")&&(b=r),r.typeOfComponent.startsWith("RightTitle")&&(C=r),r.typeOfComponent.startsWith("SummaryTitle")&&(f=r);continue}if(null!=t&&(S.add(t),t.isTotalVisible||(t.total.height=0)),null!=e&&(u.add(e),e.isTotalVisible||(e.total.width=0)),null!=a&&!a.disabledByCondition&&a.enabled){m.add(a),a.arguments.clear(),a.report.dictionary.dataSources.cachedDataSources={};for(let t of a.report.dictionary.dataSources.list)0<t.name.indexOf(" ")&&(a.report.dictionary.dataSources.cachedDataSources[t.name.toLowerCase().split(" ").join("")]=t);try{let t=new StiParserParameters,e=(t.returnAsmList=!0,StiParser.parseTextValue2(a.value,a,null,t)),i=e.filter(t=>t.type==StiAsmCommandType.PushDataSourceField);1<i.length&&(i.forEach(t=>{let e=t.parameter1;if(!a.arguments.containsKey(e)){a.arguments.add(e,Enum.getName(StiSummaryType,a.summary)+`(${e})`);let t=new DataColumn(e,Object);w.columns.add(t)}}),a.complexExpression=!0,a.summaryForFieldsInExpression=!0)}catch(t){}a.conditions.toList().cast().forEach(o=>{let s=`{${o.expression}}`;try{let t=new StiParserParameters,e=(t.returnAsmList=!0,StiParser.parseTextValue2(s,a,null,t)),l=new List,i=(e.filter(t=>t.type==StiAsmCommandType.PushValue).forEach(t=>{let e,i,r=null==(i=null==(e=t.parameter1)?void 0:e[Stimulsoft.System.StiObject.stimulsoft]().as(List))?void 0:i.where(t=>t.Type==StiAsmCommandType.PushDataSourceField);null!=r&&l.addRange(r)}),a.report.engine.parserConversionStore.get("*StiConditionExpression*"+a.name)),r=i.findIndex(t=>t.key==o),n=i[r].value;l.forEach(t=>{let e=t.parameter1;if(!a.arguments.containsKey(e)){a.arguments.add(e,Enum.getName(StiSummaryType,a.summary)+`(${e})`);let t=new DataColumn(e,Object);w.columns.add(t)}n=n.split(Enum.getName(StiSummaryType,a.summary)+`(${e})`).join(e)}),i[Stimulsoft.System.StiObject.stimulsoft]().removeAt(r),i.push({key:o,value:n})}catch(t){}}),a.report.dictionary.dataSources.cachedDataSources={}}null!=i&&h.add(i);let l=new DataColumn(n.name,Object);w.columns.add(l),n.is(StiCrossHeader)&&(l=new DataColumn("Display__"+n.name,Object),w.columns.add(l))}for(let l of n.rows){let r=w.newRow();for(let i of o.components.list){if(i.is(StiCrossSummaryHeader))continue;let e=i.as(StiCrossCell);if(null!=e){let t=a.contains(i.alias)?l[a.get(i.alias)]:null;if("number"==typeof(t=StiArray.isArray(t)?new List(t).firstOrDefault():t)&&(t=t[Stimulsoft.System.StiObject.stimulsoft]().toNumber()),r.sett(e.name,t),e.is(StiCrossHeader)&&r.sett("Display__"+i.name,l[a.get(i.alias)]),e.is(StiCrossSummary))for(let t of e.arguments)a.contains(t.value)?r.sett(t.key,l[a.get(t.value)]):a.contains(t.value.replace("Sum(","Count("))?r.sett(t.key,l[a.get(t.value.replace("Sum(","Count("))]):a.contains(t.value.replace("Sum(","CountDistinct("))?r.sett(t.key,l[a.get(t.value.replace("Sum(","CountDistinct("))]):r.sett(t.key,null)}else if(i.is(StiCrossTitle)&&!StiString.isNullOrEmpty(i.alias)){let t=l[a.get(i.alias)];i.setTextInternal(t.toString())}}w.rows.add(r),o.next()}let y=new StiCross,i=(o.crossTabInfo.cross=y,o.crossTabInfo.cross.designTime=!1,o.crossTabInfo.cross.colFields=u,o.crossTabInfo.cross.rowFields=S,o.crossTabInfo.cross.sumFields=m,o.crossTabInfo.cross.sumHeaderFields=h,o.crossTabInfo.cross.colTitleFields=d,o.crossTabInfo.cross.rowTitleFields=c,o.crossTabInfo.cross.leftCrossTitle=b,o.crossTabInfo.cross.rightCrossTitle=C,o.crossTabInfo.cross.summaryCrossTitle=f,(o.crossTabInfo.cross.crossTab=o).dataSourceName="pivot",new StiDataTableSource("pivot","pivot"));i.dictionary=o.report.dictionary,w.tableName="pivot";for(let t of w.columns.list)i.columns.add(new StiDataColumn(t.columnName,t.columnName,t.columnName));i.dataTable=w;try{o.report.dictionary.dataSources.add(i),o.summaryDirection=1<(null==p?void 0:p.length)?s.summaryDirection:StiSummaryDirection.UpToDown,o.crossTabInfo.cross.create(w,o.report,o.summaryDirection,o.emptyValue),o.crossTabInfo.cross.crossTab=null;let l=StiDashboardStyleHelper.getPivotTableStyle(s),t=0==g.length&&0==r.length&&0<p.length;if(t){y.init(2,p.length);for(let r=0;r<p.length;r++){let t=p[r],e=new StiCrossColumn,i=(e.alias=t.expression,e.name="CrossTab_Sum"+r.toString(),e.page=o.page,e.horAlignment=StiTextHorAlignment.Center,e.textFormat=t.textFormat.clone(),e.guid=Guid.newGuidString(),e.font=s.getDataFont(),e.brush=new StiSolidBrush(l.cellBackColor),e.hideZeros=t.hideZeros,e.border=new StiBorder(r==p.length-1?StiBorderSides.Right|StiBorderSides.Top:0==r?StiBorderSides.Right|StiBorderSides.Bottom:StiBorderSides.Right|StiBorderSides.Bottom|StiBorderSides.Top,l.lineColor,1,StiPenStyle.Solid),e.height=StiElementConsts.Table.getHeight(e.font),y.cells[0][r]=new StiCell,y.cells[0][r].text=this.getLabel(t),y.cells[0][r].field=e,y.cells[0][r].parentCell=y.cells[0][r],new StiCrossSummary);i.name="CrossTab_Sum"+r.toString(),i.value=0<n.rows.length?n.rows[0][r].toString():"",i.page=o.page,i.horAlignment=StiTextHorAlignment.Right,i.textFormat=t.textFormat.clone(),i.guid=Guid.newGuidString(),i.font=s.getDataFont(),i.border=new StiBorder(StiBorderSides.None,l.lineColor,1,StiPenStyle.Solid),i.height=StiElementConsts.Table.getHeight(i.font),y.cells[1][r]=new StiCell,y.cells[1][r].field=i,y.cells[1][r].text=0<n.rows.length?n.rows[0][r].toString():"",y.cells[1][r].parentCell=y.cells[1][r]}}if(o.rightToLeft&&StiCrossTabHelper.makeRightToLeft(o),o.crossTabInfo.cross.doAutoSize(),!t){for(let e=0;e<y.cells.length;e++)for(let t=0;t<y.cells[e].length;t++)null!=y.cells[e][t].field&&(y.cells[e][t].field.margins=y.cells[e][t].field.margins.clone(),0==e&&(y.cells[e][t].field.border.side=y.cells[e][t].field.border.side&~StiBorderSides.Left),0==t&&(y.cells[e][t].field.border.side=y.cells[e][t].field.border.side&~StiBorderSides.Top),e==y.cells.length-1&&(y.cells[e][t].field.border.side=y.cells[e][t].field.border.side&~StiBorderSides.Right),t==y.cells[e].length-1)&&(y.cells[e][t].field.border.side=y.cells[e][t].field.border.side&~StiBorderSides.Bottom);let t=r.length+(0<g.length?1:0),i=(0==g.length?1:g.length)+(1<p.length&&s.summaryDirection==StiSummaryDirection.UpToDown?1:0);for(let e=t;e<y.cells[0].length;e++)for(let t=i;t<y.cells.length;t++)null!=y.cells[t][e].field&&(y.cells[t][e].field.border.side=StiBorderSides.Left|StiBorderSides.Right);if(1<y.sumFields.count&&s.summaryDirection==StiSummaryDirection.UpToDown)for(let t=0;t<y.cells[0].length;t++)null!=y.cells[i-1][t].field&&(y.cells[i-1][t].field.border=new StiBorder(StiBorderSides.All,l.lineColor,1*e,StiPenStyle.Solid));null!=y.cells[0][0].field&&(y.cells[0][0].field.border.side=StiBorderSides.Right|StiBorderSides.Bottom)}}finally{o.report.dictionary.dataSources.remove(i)}}static async convertToCrossTab(t,e,i=1){let r=new StiReport,l=(r.info.zoom=1,r.reportUnit=null!=t&&null!=t.report?t.report.reportUnit:StiReportUnitType.HundredthsOfInch,new StiEngine(r)),n=(r.engine=l,new StiPage),o=(r.pages.add(n),r.dictionary.variables=t.report.dictionary.variables,r.dictionary.dataSources=t.report.dictionary.dataSources,new StiCrossTab);return o.name="CrossTab",o.crossTabStyle=null,o.crossTabStyleIndex=9,n.components.add(o),await this.updateCrossTab(o,t,e,i),n.components.remove(o),o}static async updateCrossTab(h,l,V,n,B=!0){let i,r,o,s=new Hashtable,a=new List,u=new List,e=new List,S="",m=new Hashtable,c=new Hashtable,d=(a.clear(),u.clear(),new List),g=new List,p=new Hashtable,b=StiDashboardStyleHelper.getPivotTableStyle(l),C=l.columns.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,l.report)).toList(),f=l.rows.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,l.report)).toList(),w=l.summaries.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,l.report)).toList(),y=new Hashtable,M=0;for(let i of f){let t=new StiCrossRow,e=(t.showTotal=i.showTotal,t.alias=i.expression,t.displayValue="{"+i.expression+"}",t.value=t.displayValue,StiString.isNullOrEmpty(S)&&0<i.expression.length&&0<=i.expression.indexOf(".")&&(S=i.expression.substring(0,i.expression.indexOf("."))),t.page=null,t.name=h.name+"_Row"+(M+1).toString(),t.page=h.page,t.horAlignment=Enum.parse(StiTextHorAlignment,Enum.getName(StiHorAlignment,i.horAlignment)),t.textFormat=i.textFormat.clone(),t.guid=Guid.newGuidString(),t.wordWrap=i.size.wordWrap,t.margins=new StiMargins(this.FieldMargin*n),t.sortDirection=i.sortDirection,t.expandExpression=i.expandExpression,0<i.size.maxWidth&&(t.maxSize=new Size(h.report.unit.convertFromHInches(i.size.maxWidth*n),0)),0<i.size.minWidth&&(t.minSize=new Size(h.report.unit.convertFromHInches(i.size.minWidth*n),0)),0<i.size.width&&(t.maxSize=new Size(h.report.unit.convertFromHInches(i.size.width*n),0),t.minSize=new Size(h.report.unit.convertFromHInches(i.size.width*n),0)),y.set(t.alias,t.name),this.fillInteraction(i.dashboardInteraction,t),await this.setTopN(t,i.topN,l),await this.getCondition(l,i,t,n,h.name+"_ColTotal"+(a.length+1)),this.setupTitle(l,t,b,n),m.add(i,t),h.components.contains(t)&&h.components.remove(t),h.components.add(t),p.set(t,t),d.add(t),t.total);null==e&&(e=this.createRowTotal(l,t,s,b,n),StiString.isNullOrWhiteSpace(i.totalLabel)||(e.text=i.totalLabel),t.totalGuid=e.guid,h.components.add(e)),p.set(e,e),a.add(e),M++}let I=0;for(let i of C){let t=new StiCrossColumn,e=(t.showTotal=i.showTotal,t.alias=i.expression,t.displayValue="{"+i.expression+"}",t.value=t.displayValue,StiString.isNullOrEmpty(S)&&0<i.expression.length&&0<=i.expression.indexOf(".")&&(S=i.expression.substring(0,i.expression.indexOf("."))),t.page=null,t.name=h.name+"_Column"+(I+1).toString(),t.page=h.page,t.horAlignment=Enum.parse(StiTextHorAlignment,Enum.getName(StiHorAlignment,i.horAlignment)),t.guid=Guid.newGuidString(),t.wordWrap=i.size.wordWrap,t.margins=new StiMargins(this.FieldMargin*n),t.sortDirection=i.sortDirection,t.expandExpression=i.expandExpression,0<i.size.minWidth&&(t.minSize=new Size(h.report.unit.convertFromHInches(i.size.minWidth*n),0)),0<i.size.maxWidth&&(t.maxSize=new Size(h.report.unit.convertFromHInches(i.size.maxWidth*n),0)),0<i.size.width&&(t.maxSize=new Size(h.report.unit.convertFromHInches(i.size.width*n),0),t.minSize=new Size(h.report.unit.convertFromHInches(i.size.width*n),0)),y.set(t.alias,t.name),this.fillInteraction(i.dashboardInteraction,t),await this.getCondition(l,i,t,n,h.name+"_RowTotal"+(u.length+1)),await this.setTopN(t,i.topN,l),t.textFormat=i.textFormat.clone(),this.setupTitle(l,t,b,n),c.add(i,t),h.components.contains(t)&&h.components.remove(t),h.components.add(t),p.set(t,t),g.add(t),t.total);null==e&&(e=this.createColTotal(l,t,s,u,b,n),StiString.isNullOrWhiteSpace(i.totalLabel)||(e.text=i.totalLabel),t.totalGuid=e.guid,h.components.add(e)),p.set(e,e),u.add(e),I++}let T=1;for(let e of w){let t=new StiCrossSummary;t.alias=e.expression,this.setSummaryType(t,e.expression),t.page=null,t.name=h.name+"_Sum"+T.toString(),t.page=h.page,t.horAlignment=Enum.parse(StiTextHorAlignment,Enum.getName(StiHorAlignment,e.horAlignment)),t.textFormat=e.textFormat.clone(),t.guid=Guid.newGuidString(),await this.getCondition(l,e,t,n,""),t.font=this.changeFontSize(l.getDataFont(),n),t.border=new StiBorder(StiBorderSides.All,b.lineColor,1*n,StiPenStyle.Solid),t.height=StiElementConsts.Table.getHeight(t.font,n),t.hideZeros=e.hideZeros,StiString.isNullOrEmpty(t.value)||y.set(t.value.substring(1,t.value.length-1),t.name),this.fillInteraction(e.dashboardInteraction,t),e.showHyperlink&&!StiString.isNullOrEmpty(e.hyperlinkPattern)&&(t.hyperlink=e.hyperlinkPattern),(null==(i=e.dashboardInteraction)?void 0:i.onHover)!=StiInteractionOnHover.ShowToolTip||StiString.isNullOrEmpty(null==(r=e.dashboardInteraction)?void 0:r.toolTip)||(t.toolTip=e.dashboardInteraction.toolTip),(null==(o=e.dashboardInteraction)?void 0:o.onHover)!=StiInteractionOnHover.ShowHyperlink||StiString.isNullOrEmpty(e.hyperlinkPattern)||(t.toolTip=e.hyperlinkPattern,t.tooltipAsHyperlink=!0),0<e.size.minWidth&&(t.minSize=new Size(h.report.unit.convertFromHInches(e.size.minWidth*n),0)),0<e.size.maxWidth&&(t.maxSize=new Size(h.report.unit.convertFromHInches(e.size.maxWidth*n),0)),0<e.size.width&&(t.maxSize=new Size(h.report.unit.convertFromHInches(e.size.width*n),0),t.minSize=new Size(h.report.unit.convertFromHInches(e.size.width*n),0)),p.set(t,t),h.components.contains(t)&&h.components.remove(t),h.components.add(t),T++}if(w.length<2){for(let t of e)h.components.contains(t)&&h.components.remove(t);e.clear()}else if(e.length>w.length)while(e.length>w.length){let t=e[e.length-1];h.components.contains(t)&&h.components.remove(t),e.removeAt(e.length-1)}else if(e.length<w.length)while(e.length<w.length){let t=new StiCrossSummaryHeader;t.text=StiString.isNullOrEmpty(w[e.length].label)?(e.length+1).toString():w[e.length].label,t.margins=new StiMargins(this.FieldMargin*n),t.page=null,t.name=h.name+"_SumHeader"+(e.length+1).toString(),t.page=h.page,t.font=this.changeFontSize(l.getRowFont(),n),t.border.size*=n,h.applyFieldStyle(t),h.components.add(t),e.add(t)}for(let t of e)p.set(t,t);let k=1;for(let t of a)t.page=null,t.name=h.name+"_RowTotal"+(k++).toString(),t.page=h.page;let N=1;for(let t of u)t.page=null,t.name=h.name+"_ColTotal"+(N++).toString(),t.page=h.page;let t=0<C.length&&0<f.length,x=[],D=[],v=null,F=null,A=null;for(let e of h.components.list)if(e.is(StiCrossTitle)){let t=e;t.typeOfComponent.startsWith("Col:")&&x.push(t),t.typeOfComponent.startsWith("Row:")&&D.push(t),t.typeOfComponent.startsWith("LeftTitle")&&(v=t),t.typeOfComponent.startsWith("RightTitle")&&(F=t),t.typeOfComponent.startsWith("SummaryTitle")&&(A=t)}if(0==f.length)for(let r of g){let e="Col:"+r.name,i=!1;for(let t of x)if(t.typeOfComponent==e){x[Stimulsoft.System.StiObject.stimulsoft]().remove(t),i=!0,p.set(t,t);break}if(!i){let e="",i=new StiCrossTitle;i.name=r.name+"_Title",i.typeOfComponent="Col:"+r.name;for(let t of C)c.get(t)==r&&(e=this.getLabel(t),i.horAlignment=StiTextHorAlignment.Center,i.textFormat=t.textFormat.clone());i.text=e,this.setupField(i,n),this.setupTitle(l,i,b,n),h.components.add(i),p.set(i,i)}}for(let r of d){let e="Row:"+r.name,i=!1;for(let t of D){if(t.typeOfComponent!=e)continue;D[Stimulsoft.System.StiObject.stimulsoft]().remove(t),i=!0,p.set(t,t);break}if(!i){let e="",i=new StiCrossTitle;for(let t of f)m.get(t)==r&&(e=this.getLabel(t),i.horAlignment=StiTextHorAlignment.Center,i.textFormat=t.textFormat.clone());this.setupField(i,n),i.name=r.name+"_Title",i.text=e,i.typeOfComponent="Row:"+r.name,this.setupTitle(l,i,b,n),h.components.add(i),p.set(i,i)}}if(null==v?t&&((v=new StiCrossTitle).name=h.name+"_LeftTitle",this.setupField(v,n),null!=l.title&&(v.text=l.title.text),v.typeOfComponent="LeftTitle",this.setupTitle(l,v,b,n),h.components.add(v),p.set(v,v)):t&&p.set(v,v),null==F){if(t){let e="",i=!0;for(let t of C)i||(e+=", "),e+=this.getLabel(t),i=!1;(F=new StiCrossTitle).name=h.name+"_RightTitle",F.text=e,F.typeOfComponent="RightTitle",this.setupField(F,n),this.setupTitle(l,F,b,n),h.components.add(F),p.set(F,F)}}else t&&p.set(F,F);let E=(0==C.length||0==f.length)&&0<w.length&&!(l.summaryDirection==StiSummaryDirection.LeftToRight&&1==f.length),R=StiString.join(", ",w.select(t=>t.label)),H=(null==A?E&&((A=new StiCrossTitle).name=h.name+"_SummaryTitle",A.text=R,A.typeOfComponent="SummaryTitle",this.setupField(A,n),this.setupTitle(l,A,b,n),h.components.add(A),p.set(A,A)):E&&((StiString.isNullOrEmpty(A.text)||A.text.startsWith(R)||R.startsWith(A.text))&&(A.text=R),p.set(A,A)),0);while(H<h.components.count){let t=h.components.getByIndex(H);null==p.get(t)?h.components.removeAt(H):H++}let O=RectangleD.empty;h.dataSourceName=S;for(let i of h.components.list){if(i.is2(StiCrossColumn)||i.is2(StiCrossRow)||i.is2(StiCrossSummary))for(let t=1;t<=10;t++){let e=i.interaction[`drillDownParameter`+t];for(let t of y.keys.list)e.expression=e.expression.replace(t.toString(),`pivot.`+y.get(t))}if(i.is2(StiCrossSummary))for(let t of y.keys.list)StiString.isNullOrEmpty(i.hyperlink)||(i.hyperlink=this.replaceDatabase(i.hyperlink,t.toString(),`pivot.`+y.get(t))),StiString.isNullOrEmpty(i.toolTip)||(i.toolTip=this.replaceDatabase(i.toolTip,t.toString(),`pivot.`+y.get(t)))}if(!B)return;this.buildCross(h,V,l,n);for(let e of h.components.toCast())if(h.crossTabInfo.cross.fields.contains(e)){let t=h.crossTabInfo.cross.fields.get(e);h.crossTabInfo.cross.setTextOfCell(t.x,t.y,e.cellText)}h.crossTabInfo.cross.maxWidth=h.page.width*n,h.crossTabInfo.cross.maxHeight=h.page.height*n,h.crossTabInfo.cross.doAutoSize();let P=new Hashtable;for(let e of h.components.toCast()){let t=e.as(StiCrossHeader);null==t||t.isTotalVisible||P.set(t.total,t.total)}let L=h.report.unit.convertFromHInches(2),_=h.report.unit.convertFromHInches(2);for(let m of h.components.toCast())if(h.crossTabInfo.cross.fields.contains(m)){let t=h.crossTabInfo.cross.fields.get(m),e=h.report.unit.convertRectangleToHInches(Stimulsoft.Report.CrossTab.StiCrossTabHelper.getCellRect(h,t.x,t.y)),i=(O.width=Math.max(O.width,e.right),O.height=Math.max(O.height,e.bottom),e=h.report.unit.convertRectangleFromHInches(e),null!=P.get(m)&&(e.width=0,e.height=0),0),r=0,l=m.as(StiCrossTitle),n=(null!=l&&(l.typeOfComponent.startsWith("LeftTitle")&&(i=0,r=0),l.typeOfComponent.startsWith("RightTitle")&&(i=L,r=0),l.typeOfComponent.startsWith("SummaryTitle")&&(0==f.length&&(i=0,r=2*_),0==C.length)&&(i=L,r=_),l.typeOfComponent.startsWith("Row:")&&(i=0,r=_),l.typeOfComponent.startsWith("Col:"))&&(i=0,r=_),m.as(StiCrossRow)),o=(null!=n&&(i=0,r=2*_),m.as(StiCrossRowTotal)),s=(null!=o&&(i=0,r=2*_),m.as(StiCrossColumn)),a=(null!=s&&(i=L,r=_),m.as(StiCrossColumnTotal)),u=(null!=a&&(i=L,r=_),m.as(StiCrossSummary)),S=(null!=u&&(i=L,r=2*_),m.as(StiCrossSummaryHeader));null!=S&&(r=h.summaryDirection==StiSummaryDirection.LeftToRight?(i=L,_):(i=0,2*_)),e.x+=i,e.y+=r,m.clientRectangle=e.clone()}}static replaceDatabase(t,e,i){return t.replace(new RegExp([...e].map(t=>t+"(_*)").join(""),"g"),i)}static fillInteraction(r,l){for(let i=0;i<r.getDrillDownParameters().length;i++){let t=r.getDrillDownParameters()[i],e=l.interaction[`drillDownParameter`+(i+1)];e.expression=0==t.expression.indexOf("{")?t.expression.substring(1,t.expression.length-1):t.expression,e.name=t.name}r.onClick!=StiInteractionOnClick.ShowDashboard||StiString.isNullOrEmpty(r.drillDownPageKey)||(l.interaction.drillDownPageGuid=r.drillDownPageKey)}static changeFontSize(t,e){return 1==e?t:StiFontUtils.changeFontSize(t,t.size*e)}static async getCondition(o,s,a,t,e){let i=new List;for(let t of o.pivotTableConditions)t.destinationValueMeter!=StiLabelHelper.getLabel(s)&&t.destinationValueMeter!=s.key||i.add(t);if(null!=i&&0<i.length)for(let n of i){let l=new(n.conditionType==StiPivotTableConditionType.Condition?StiCondition:StiCrossTabTopNCondition),r="";if(n.conditionType==StiPivotTableConditionType.Condition){let t=new StiFilter,e=(t.condition=n.condition,t.dataType=n.dataType,t.value1=n.value,o.getAllMeters().find(t=>n.keyValueMeter==t.key||n.keyValueMeter==StiLabelHelper.getLabel(t))),i=null==e||e==s?"value2":e.expression;r=StiDataHelper.getFilterExpression(t,i,a.report),n.dataType!=Stimulsoft.Report.Components.StiFilterDataType.String&&(r=`value2 == null ? False : (value2.ToString().Length > 0 ? ${r} : False)`),l.expression=r}if(l.permissions=n.permissions,l.permissions&=~StiConditionPermissions.Borders,l.backColor=n.backColor,l.font=this.changeFontSize(n.font,t),l.textColor=n.textColor,n.iconAlignment!=StiIconAlignment.None&&(l.icon=await n.getIcon(),l.iconSize=n.iconSize,l.iconAlignment=n.iconAlignment==StiIconAlignment.Right?ContentAlignment.MiddleRight:ContentAlignment.MiddleLeft),n.conditionType==StiPivotTableConditionType.Condition){let t={key:l,value:`{${r}}`};this.addToConversionStore(a,"*StiConditionExpression*"+a.name,t)}if(a.conditions.add(l),a instanceof StiCrossHeader&&n.conditionType==StiPivotTableConditionType.TopN){let i=l[Stimulsoft.System.StiObject.stimulsoft]().as(StiCrossTabTopNCondition),r=(i.count=n.topNCount,i.mode=n.topNMode,i.conditionCell=n.topNConditionCell,i.conditionHeader=n.topNConditionHeader,i.conditionTotal=n.topNConditionTotal,o.summaries.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,o.report)).toList());for(let e=0;e<r.length;e++){let t=r[e];if(t.key!=n.measureField||StiString.isNullOrEmpty(t.expression)||-1==t.expression.indexOf("(")||-1==t.expression.indexOf(")"))continue;i.measureField=t.expression.substring(t.expression.indexOf("(")+1).replace(")","")}}}}static setupTitle(t,e,i,r){e.border=new StiBorder(StiBorderSides.All,i.lineColor,1*r,StiPenStyle.Solid),e.height=StiElementConsts.Table.getHeight(e.font)*r,e.font=this.changeFontSize(StiElementConsts.Table.Font.getCachedGdiFont(),r),e.is2(StiCrossTitle)||e.is2(StiCrossColumn)?e.font=this.changeFontSize(t.getColumnFont(),r):e.is2(StiCrossRow)?e.font=this.changeFontSize(t.getRowFont(),r):e.is2(StiCrossTotal)?e.font=this.changeFontSize(t.getTotalFont(),r):e.font=this.changeFontSize(t.getDataFont(),r)}static addToConversionStore(e,i,t){if(null==e.report.engine.parserConversionStore.get(i)){let t=[];e.report.engine.parserConversionStore.set(i,t)}e.report.engine.parserConversionStore.get(i).push(t)}static setupField(t,e){t.margins=new StiMargins(this.FieldMargin*e),t.guid=Guid.newGuidString()}static createRowTotal(t,e,i,r,l){let n=e.guid,o=i.get(n);return null==o&&((o=new StiCrossRowTotal).text=StiString.isNullOrEmpty(t.totalLabel)?Loc.get("PropertyMain","Total"):t.totalLabel,o.wordWrap=e.wordWrap,o.minSize=e.minSize.multiply(l),o.maxSize=e.maxSize.multiply(l),this.setupField(o,l),this.setupTitle(t,o,r,l),o.font=this.changeFontSize(t.cells.rows.font,l)),i.set(n,o),o}static createColTotal(t,e,i,r,l,n){let o=e.guid,s=i.get(o);return null==s&&((s=new StiCrossColumnTotal).text=StiString.isNullOrEmpty(t.totalLabel)?Loc.get("PropertyMain","Total"):t.totalLabel,s.wordWrap=e.wordWrap,s.minSize=e.minSize.multiply(n),s.maxSize=e.maxSize.multiply(n),this.setupField(s,n),this.setupTitle(t,s,l,n),s.font=this.changeFontSize(t.cells.columns.font,n)),i.set(o,s),r.add(s),s}static getLabel(t){return StiString.isNullOrEmpty(t.label)?t.expression.substr(t.expression.lastIndexOf(".")+1)[Stimulsoft.System.StiObject.stimulsoft]().replaceAll("]","")[Stimulsoft.System.StiObject.stimulsoft]().replaceAll(")",""):t.label}static getSummaryTypes(){return 0==this.summaryTypes.count&&(this.summaryTypes.add("None","None"),this.summaryTypes.add("Sum","Sum"),this.summaryTypes.add("Avg","Average"),this.summaryTypes.add("Min","Min"),this.summaryTypes.add("Max","Max"),this.summaryTypes.add("DistinctCount","CountDistinct"),this.summaryTypes.add("Count","Count"),this.summaryTypes.add("Median","Median"),this.summaryTypes.add("First",""),this.summaryTypes.add("Last","")),this.summaryTypes}static async setTopN(e,t,i){let r=i.summaries.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,i.report)).toList();if(e.topN=t.clone(),e.topN.mode!=StiDataTopNMode.None){e.topN.showOthers&&(e.topN.othersText=StiString.isNullOrEmpty(e.topN.othersText)?Loc.get("FormDesigner","Others"):await StiReportParser.parseAsync(e.topN.othersText,i));for(let t of r){if(!StiString.isNullOrEmpty(t.label)&&t.label!=e.topN.measureField||StiLabelHelper.getLabel(t)!=e.topN.measureField)continue;t.label!=e.topN.measureField||StiString.isNullOrEmpty(t.expression)||-1==t.expression.indexOf("(")||-1==t.expression.indexOf(")")||(e.topN.measureField=t.expression.substr(t.expression.indexOf("(")+1)[Stimulsoft.System.StiObject.stimulsoft]().replaceAll(")",""))}}}static setSummaryType(e,l){if(StiString.isNullOrEmpty(l))return;let n=this.getSummaryTypes();for(let t of n.keys){let r=t+`(`;if(0<=l.indexOf(r)){"First"==t||"Last"==t?e.summary=StiSummaryType.None:e.summary="Count"!=t&&"DistinctCount"!=t?StiSummaryType[n.get(t)]:StiSummaryType.Sum;let i=l.indexOf(r);while(0<=i){let t=i+r.length,e=1;while(t<l.length&&0!=e)e+="("==l[t]?1:")"==l[t]?-1:0,t++;l=l.substr(0,i)+l.substr(i+r.length,t-i-r.length-1)+l.substr(t,l.length-t),i=l.indexOf(r)}}}e.value=`{${l}}`}}StiPivotTableHelper.summaryTypes=new Hashtable,StiPivotTableHelper.FieldMargin=1.5,__.h.StiPivotTableHelper=StiPivotTableHelper}__.v.StiProgressIteration=class{constructor(t="",e,i){this.series=t,this.value=e,this.target=i}};let StiProgressIteration=__.v.StiProgressIteration;{class StiProgressElementBuilder extends __.i.StiElementBuilder{async render(o,s){this.storedCulture=StiCultureHelper.set(o.report);try{let e=this.getValueMeterIndex(s),i=this.getTargetMeterIndex(s),r=this.getSeriesMeterIndex(s),t=this.getSeriesKeys(s,r),l=t.count2(),n=t.select(t=>new StiProgressIteration(this.getSeries(s,r,t,o.report),this.getValue(s,e,r,l,t),this.getNullableValue(s,i,r,l,t)));return n=StiProgressElementBuilder.processVariationSort(o,n),await StiProgressElementBuilder.processTopNElements(o,n)}finally{__.h.StiCultureHelper.restore(this.storedCulture)}}static processVariationSort(t,e){let i=t.userSorts;return e=null!=i&&i.any(t=>t.key==StiDataSortVariation.ident)?i.firstOrDefault().direction==StiDataSortDirection.Ascending?e.orderBy(t=>0!=t.target?t.value/t.target:0):e.orderByDescending(t=>0!=t.target?t.value/t.target:0):e}static async processTopNElements(l,n){if(l.topN.mode==StiDataTopNMode.None)return n;let o=(n=(l.topN.mode==StiDataTopNMode.Bottom?n.orderBy(t=>t.value):n.orderByDescending(t=>t.value)).toList()).take(l.topN.count).toList();if(n.count2()>l.topN.count&&l.topN.showOthers){let t=n.skip(l.topN.count).sum(t=>StiValueHelper.tryToNumber(t.value)),e=n.skip(l.topN.count),i=e.all(t=>null==t.target)?null:e.sum(t=>StiValueHelper.tryToNullableNumber(t.target)),r=StiString.isNullOrEmpty(l.topN.othersText)?Loc.get("FormDesigner","Others"):await StiReportParser.parseAsync(l.topN.othersText,l);o.add(new StiProgressIteration(r,t,i))}return o}getValueMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiValueProgressMeter));return null!=e?t.meters.indexOf(e):-1}getTargetMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiTargetProgressMeter));return null!=e?t.meters.indexOf(e):-1}getSeriesMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiSeriesProgressMeter));return null!=e?t.meters.indexOf(e):-1}}__.i.StiProgressElementBuilder=StiProgressElementBuilder}__.w.StiProgressVisualCreator=class{static createProgressVisual(t,e){switch(t.mode){case StiProgressElementMode.DataBars:return new __.v.StiDataBarsProgressVisual(t,e);case StiProgressElementMode.Circle:return new __.v.StiCircleProgressVisual(t,e);case StiProgressElementMode.Pie:return new __.v.StiPieProgressVisual(t,e);default:throw new StiTypeNotRecognizedException(t.mode)}}};let StiProgressElementBuilder=__.i.StiProgressElementBuilder,IStiProgressVisualSvgHelper=Stimulsoft.Report.Dashboard.Visuals.IStiProgressVisualSvgHelper,StiProgressVisualCreator=__.w.StiProgressVisualCreator;{class tSa{implements(){let t=[IStiProgressVisualSvgHelper];return(this.implements=()=>t)()}async writeProgress(t,e,i,r){let l=new Rectangle(0,0,e.width,e.height),n=e.component,o=await tSa.getDataTable(n);if(null==o)return;let s=await(new StiProgressElementBuilder).render(n,o);if(n["isSampleForStyles"]?s=this.getStyleSampleIterations():this.isEmptyData(n,o)&&(s=this.getEmptyDataIterations(n)),null==s||!s.any())return;let a=new StiContextPainter,u=new StiContext(a,!0,!1,!1,1),S=StiProgressVisualCreator.createProgressVisual(n,s.toList());if(i&&i.needToVertScroll){let t=S.getContentRectangle(l.clone());i.needToVertScroll=t.height>l.height+5,i.needToVertScroll&&(l.width-=15,t=S.getContentRectangle(l.clone()),l=t,r.ref=Stimulsoft.System.Convert.toInt32(l.height))}await S.draw(u,l.clone()),t.writeStartElement("g");let m=i&&i.needToVertScroll?0:e.x,h=i&&i.needToVertScroll?0:e.y;t.writeAttributeString("transform",StiString.format("translate({0},{1})",this.p(m),this.p(h))),StiContextSvgHelper.writeGeoms(t,u,!1),t.writeEndElement()}p(t){return t.toString().split(",").join(".")}isEmptyData(t,e){return null!=e&&e.isEmpty&&t.isQuerable}getStyleSampleIterations(){let t=new List,e=new StiProgressIteration;return e.value=75,e.target=100,t.add(e),t}getEmptyDataIterations(t){let e=new List,i=new StiProgressIteration;return i.value=0,t.showBlanks&&(i.series=StiLocalization.get("Dashboard","Blank")),e.add(i),e}static async getDataTable(t){let e,i=null==(e=t.as(IStiManuallyEnteredData))?void 0:e.getManuallyEnteredDataTable();if(null!=i)return i;return StiElementDataCache.tryToGetOrCreate(t)}}__.h.StiProgressVisualSvgHelper=tSa}__.h.StiTableAlignmentHelper=class{static getHorAlign(t){let e=__.h.StiMeterHelper.toDataType(t);if(Type.isNumericType(e))return StiHorAlignment.Right;if(Type.isDateType(e))return StiHorAlignment.Center;return StiHorAlignment.Left}},__.h.StiTableElementHelper=class{static minDataColumnValue(t,e,i){if(!(t.is2(StiDataBarsColumn)||t.is2(StiColorScaleColumn)||t.is2(StiBubbleColumn)))return 0;return e.rows.any()?e.rows.min(t=>StiValueHelper.tryToNumber(t[i])):0}static maxDataColumnValue(t,e,i){if(!(t.is2(StiDataBarsColumn)||t.is2(StiColorScaleColumn)||t.is2(StiBubbleColumn)))return 0;return e.rows.any()?e.rows.max(t=>StiValueHelper.tryToNumber(t[i])):0}static calculateTotal(t,i,r){switch(t.summaryType){case StiSummaryColumnType.Sum:if(StiExpressionHelper.isPercentOfGrandTotal(t.expression))return 1;return r.rows.any()?r.rows.sum(t=>i<t.length?StiValueHelper.tryToNumber(t[i]):0):0;case StiSummaryColumnType.Count:return r.rows.any()?r.rows.count2(t=>i<t.length&&null!=t[i]):0;case StiSummaryColumnType.Min:return r.rows.any()?r.rows.min(t=>i<t.length?StiValueHelper.tryToNumber(t[i]):0):0;case StiSummaryColumnType.Max:return r.rows.any()?r.rows.max(t=>i<t.length?StiValueHelper.tryToNumber(t[i]):0):0;case StiSummaryColumnType.Average:{let t=r.rows.any()?r.rows.sum(t=>i<t.length?StiValueHelper.tryToNumber(t[i]):0):0,e=r.rows.any()?r.rows.count2(t=>i<t.length&&null!=t[i]&&null!=t[i]):0;return 0==e?0:t/e}}return 0}},__.h.StiTitleMeasureHelper=class{static measureTitle(t){return this.measureTitle2(t,t.text)}static measureTitle2(t,e){return this.measureTitle3(null,null,t,e)}static measureTitle3(t,e,i,r){var l;if(null==i||!i.visible)return Size.empty;let n=StiScale.yy(30),o=null!=(l=null==e?void 0:e.width)?l:Rectangle.empty.width;if(StiString.isNullOrWhiteSpace(r))return new Size(o,n);let s=i.sizeMode==StiTextSizeMode.WordWrap||i.sizeMode==StiTextSizeMode.FitAndWordWrap?__.h.StiAutoSizeTextHelper.measure2(t,r,i.font,o):__.h.StiAutoSizeTextHelper.measure(t,r,i.font);return n=Math.max(n,s.height),null!=e&&(n=Math.min(n,e.height)),new Size(s.width,n)}static measureTitle4(t,e,i,r){let l=StiScale.yy(30);if(StiString.isNullOrWhiteSpace(r))return new Size(e.width,l);let n=__.h.StiAutoSizeTextHelper.measure(t,r,i);return l=Math.max(l,n.height),null!=e&&(l=Math.min(l,e.height)),new Size(n.width,l)}};{class ETa{static loadReport(t,e){switch(e){case"Financial":t.loadPacked(this.financial);break;case"Orders":t.loadPacked(this.orders);break;case"SalesOverview":t.loadPacked(this.salesOverview);break;case"TicketsStatistics":t.loadPacked(this.ticketsStatistics);break;case"TrafficAnalytics":t.loadPacked(this.trafficAnalytics);break;case"VehicleProduction":t.loadPacked(this.vehicleProduction);break;case"WebsiteAnalytics":t.loadPacked(this.websiteAnalytics);break}}}ETa.financial="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",ETa.orders="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",ETa.salesOverview="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",ETa.ticketsStatistics="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",ETa.trafficAnalytics="H4sIAAAAAAAEAO1d6W7juJb+PQ30Oxg1wOBeILciUtTWN52Bl9hZ7Cy248TBBQKSomzFsuRoseMM5snmxzzSvMKQWrxFceRUVXelujpdiUUeboeHPN855JH/73/+9+A/n8ZOacr8wPbc3z+Bz9KnEnOpZ9ru4PdPUWj9Q/9UCkLsmtjxXPb7pzkLPv3n4a+/HHRCu8N8Gzv2M/PXaoCfSuF8wmnPWfiphCcTx6Y4jHN5oTabeH74iVdRKh1UsUMjJ85seSY7PHFD5k98FsZJB/ub+UmhyAkjnx0y9x/XHU6TPsZ5NRwMiYd9s2ezGfM7LAz5SILDztCbtZnls2BYicLQc/dKIuliwtzV53rkOB3qs/XUFnOj1ecj0w5Xn5MhdVw8CYZeGKRETyIxONh/rUtJf20qBof9eYl3j7Mv490y41PJDs7Y/PdPoR+xhG+8YCUKbJcFwQV5YDQMOE3TDsKUqES9yOUPfDL3swI1HGKCA/YKKchq5qRdH1uWTcsuduahTYOka4tp5ZM4jpzAs8LPycg/Lzv7mWdWg2nWWG7f4zbKjo2Dw82WDvaT9BVCXvwQEcWyTAhNRVeRDrBBgGqYWJKZRqEGzIN9QbVS6ByPWU7lcfIK2SUOh6Krh1wuvMin7Lf9/ZelFlQLBr0gypi8v+DyKts7cd3vZry8kAleVxcThyUVfgXmVj0nGruv9UxfrZRTT7ETscOL9knj5Lzc3Gt5bjhc+92ZByEbcxnwuYTv3T9Jkqzf66YCLM1EFMkIa9hgSCUUGSqgBBkUH+wn1W5r6Yax0Ult409OY+AeKlCjvEWLSMgyVCwTQJGkQk1GRFVB0cZWfq03Q2SIiUkYQowgwCyiMmhhqiFqajJmhRrg08hWfq03QCUu3ZZBTANARBnBmq4RFeqEIGqoFirSwHXAd+O13zm8Uu4laEmaQoiKAIJY1WVVUSFkfIlJqikVaumcze6TFvI+5bQq3QOJMQXI1FAAQops8IFiSi3d5BlIl4u02mZ8w3d5nfc9O7BDjzdVLGm9Q9hiFtI0wzBkgpgGDWpARcOKpWm6qmCrSFc6fAvmO1+Q9+Hl6OV7ZFnQMKFEdYgUnekKsYAF+G7GhVbXpEI8j8aE+feedZ81dT/hz4Ll785b7yvjK0fmneTTISOZAiwrKlKBSSST9xgYRXp5iQdsyhVezodcsZBUrELTlACSkMQwF0pDoaqsUVNVTMMs2uT9fTa6Nx5zOmHca6ZOGaIqMSlCpoQR0fiEEZOpUNUhKdKJ8nSwaOS+Fvkxdtkpdb1npqwCVZI1AIjBJUbXkaVDWZEhkhWsKYVWaYXv55Tdt8Vu89rn3K2b73CqZanUkA1ECJcDvmSAZQKZaCpVaZG2q56bYsNXPq43bKnM0ihAgGoqUoBCdANCRbIYxYzoSqHt4RLb5sqvXHHDioI0aJmqjhHfxPkUIygZRDIMbGm4EFerXhAuV9C2p5weoHuZUCFthBAFKYaENRXy8VqmxpChS4XUYhf7AxaKFS3ae+MxV+AZloAAVZjxxW5qhsX4Mrc4rsIMW0gt0olmt3cfevfVcvWVj7l6WkIaxgYfrmEimcuTqVlivXNR56PPW+4c5ydYZTVtBT3bQYaf9zfRo6UhrBD+gyQLWQozuCq1OBhRNDFwQt+LHsXziZtgsRfkn/PLL+gLYskUOmZpbZYYQwXwfgLNM76s5wRFAWkyC6Ljv292c68Uo8ksXcwrlO5XsgU0NRVMOfKSTS5ZiGJFh7rM5YxgExAVQLhX6gpkyy2GvRLfE0LGO+CU47rq91ZFrdSfGq25Uu4N7FErpBVv8nw6O2+WXRiNLkkjtMx+Zzh5cqZ1PZhfq89aWvT5vPdwUQ+nj9Hs/M4d35328VUV+nP/sn0ck1Tuj8ddK5QmT+3Tyaj51L54OJrW5mar6s3P9HJlRrrh1YM7aE6qlaOx3HcvyfU069jp0e3IDM8fjq6b1yc3tzewfH3S7Cv+bHI18HqwlZJxtTl/ApWr9LF8d3L+pB6nT7fdZus2/dy13dtqSJ7r53fH3lgLjxTjrvXcu6kMm2MnOhucnjtnzVNlcvd0cdk9lVvWWTqGc0as02Hr+vhJq6LOrcLkh0rt+BpcPAzSqsfoTj3vXcyqdKCnSQ59wHJ5xFVO8kyrwVife/BhMr96vlYrOGzYDn1sPBxBQ7Mc98kYWM7ghNyZwUzyzvu1GYomzceH5sXEHJwY1+H5jX1791S+CFVwfvLs1oadWXVQk2/ck3Z0Wr0xGHvunaeN1btlTy1fyOkApOvThuXfzpzbK+WyfRS00vTI8Cf60dQZK9ERI427xnFZJbddadAdRP3546XbKxuNjuXWz5rBpOkY3X71oq9Pzmau3j4bER+daTeBdDptT+HodDCZtE6v9bF2Wxs9yldEG54GWm3Yjaxn2LAa/bRNO4rw5NIzr3r6sPx0JrlPXnjmkbvOVKtOWpfdSJaeb00jqnTbLWqwftiEpqqORyetWq/Vs55OT5XLTtMiHoXl4FL30mpbN2O7W9cql9bxEzh91h6l6zOjx/XfQzXlieJcVoiFUvrHQQNlbJDRDHS96NHtTYOONGGT1lW38pwWqz3IE/fUbTQe74b9sGE+aRXQHZ6Nqw02p7aqzY/0B4TUsSNHHnwM4HiuyTdpxZ0rPAVKyxxox+cV1UxT++px52IweVZ6tcem5g9vwpNRf2bZweWc42HvdthJCcPjKc9wm/41bFooqsObRtTpjeynSy4BIO2ffj68PWr1a9wIc1p+PWPzWX1yW7VaN67Zn6PjwVSVHjvH6vP88bgNhtdPo/542B0/OsFtWZ0cT5qs7jW7WnDRfmoGtY5vqNcnjvH41CeVKzCeU+usYx0pDyOLg8YzOhq0qvrs8bhzU44wuZE6jY7avq3eRKBv12+VrGP+9EwybmcK7J0Pxmm32o/K1Xz07Gpg4DRHYeU6Mp8orZyEM+25PHRAx9ao7Q1MVNXog3V8Yfcs4OOGpfi2T7xJKzo6886cE3MyCib1qZyt8tbFGLRN6SJtZUyux9i+HUgXkZQmPfjd64tTXpts16vXF9ePpyPfg0H1Cp3p425E4REwb09s/XZElQc9LTQM76DcVJTh2VkvbapxKgW37Pam17luPFxL3almNWry+PRi4oLooaY7DIMuiSqeXIcPl4o8nOARDR9UNzD6Zydj1JOur7TR4KYMW9BXotPzm/GQnZw86pVo1LkKTlkIpHl0pPBVb52fDY35sM1mgXHnKVGn7coD45qmPblsQakfPaqU8yOQbmT1mS86Zj/BwWOX3pbHwV3kM5wSqyC4bhuTRuvCt0Kjn21KsHoWlh9IJ32cZvvZtBWRq4d252n4MINPeht0jx6V/rNsG/Wzq6qORpLbbZj2w6ivmGmRTsukj7pBpynvqo8P4KzzyJVRpdm6YbIxmpx74QANs/1RnbKpVb/qNaSA9kdVEp7dWJSwll3upVUQf9zrjnyAlYdrlhZ7PDtNP/VO+AS35vT2slGb1YlRax3Tk5EB606zFT472GrpnQ5sdI6jYdCVO1F/5l9mWun5xNNA+7h1Vr2sKZfPaao1mLjzTqXp66ClIs1zamoZ39XMs3lbzYS6Q+27cb9fuS237urVp/rg+m4+7p6cNNr2cye8u5r0q3c1RAZ1n3U6ofRoyGdTN5On3uBKruJRNoL5yfx6XPGk8VnYGAb1oKwe1wO10ryok7p7U/cJdR9m5Pz4KLzJ9vXa0ayi+VEFDO96j/Veb8qa8+EztyDrvcnRUSVtZzZsV49POueRN00LtqlbGfeYOgm4gj2eq/Oam0n0ZWX0+BzCjlFvNwZyuW1COuifPk7MIYj8afXpAmnM0Mdeg07cq8GFdF1xGsNZTVYvOneXRzbFV5XzevVC6/Adzr57GDWxqhlMq7Q9ZXJ6Ou2OyONpa3BM6nAWo9LaffpnHX0e7C8AU5bSw74t/HBvwTCO4RYINUk4cge2y3qJ7XOYPsGD/fX0mLTheER412PAl6DnN9sTQJYCk+qy8DAwhjQTEoZlLqkm05CCKARLuHvQYsKh+Ha1wnZ+Cy0uXe/5XkyU4z5eFPlc9cYTz+XwLxAe5EX6Ky7OdQdn6VUPJ6cLO/YzO0S6tKdLkshPEhYUFUxH3LLwfFGbG0ywzztxsL9MXlAuu/gKJ6Q1H2wDRwMGkrErRcceFxIciD8cOWzMk1/18yYDrDo2J2ozGmJ34LBDaS/+ice6mbdWtvDQk+FvHMVUoyD0xvlHNMtCG+0bUNpD0h7k0wFV3sWt/VtwKD4VwvFCSvipbuXnCnmw4GVeZVsYG7PW8WbCfu9wO4ovvsM6dgIm2LqRvlGu5tuOU/Nm7iX2ueHEW3vbWstswbxebjIlxHXb2aXWo6eJn3r8ihapc1vssCxO9/aAfLAfP24Q+CxHdpbJa9SNyDYPub2PVVOSFGIq3AxHuqZCvoFrKjUtmVuEB/sx2VrBJibMSTcQ7X2LKKlifao3h9vCPt9+D+W9+OdgP33eoHnizY4PgdhGsod1CtuNE0V++nEtP/YfJNvCC2dCvMma4tT1UNmLf8S5U5KwQTVgmVGPXgzkMp6H1/PbfJm9tpPLL1bAScjGSsJ8/X3Mj9vbusySQyguMG1mxj6eDdmJKY5c81CWhZY0czOXEp6RraRsDGo/HlXeUNVkqMY3H2qfiS1k62hVtdBoU7JXR8sLdELshzFbkk/5BBsc3EzL46Gax0MtPcaWvjkTG+KU/lUeJmMV7Ck46gXpG6PWNnbsZEXlrDLh2DqMe5cSxQlrdJ0hNr1ZyjGQw7EKDtjnmo9nfBsQPOrY44nDkmLblVfCFlXfK8ko+5fPrIOml9zOOIR7JY5EF4/r40waXU9MPMzZhYZ0HHnXBArMfFLX9m26a4cOS5uRd4CTcbnt/NoJC20oSJCjIHdVkWJ07Ck8TI5kSuJI5mA/TlmfhngoG1wRtVuePy7TYq7hzXI7wolFOYF/CpfKAFPhAj1hgqWTXdh2WMhUXDp+agkEtn3yV5Z8eTr42wtX/so52d/5fvvqBhEfNsiSZlqIEFVCiFmSDgAzEYZUN2TG9BdXVeKCMUY5XGmGL8M4aX3yey8PY+IkLlJjHKa8WtgayXlvkrd9/DVG7TF2avbADoNDLs7rCRvUDd+LJh3G5RmHXIr3OG5bT9mgP2cDvqFM2SUO+Uy4ov7NpI0SfB8O2eFaJ/ZKZUJ8NrXTi2EJSQ57kvGuHRwlkOuFbQZThm03Jv5ixpn8FawzsB2p/zTPvkvzjAIZyBqSqYYwggjqmqFBk1oYEw0DxXrLPAPvNBG+tn2mfLF1Bv9U6yxep/FWluLGlwt3dyvOSOfo29s2b5lxoJBdA4oYcUbeSIGU3lb99hZIATOuoM1a0IgDha0ZUMyYAVIuC1OvJcwzSf5II06wTinEQaWoGVzcCi7IQbC+NL+aPQjz7KgPaA/CwobaF9mDcJfjhQ9kDza7vVLolarlqrAJbe+nUZgZhXD3Q5WvahQub7i9aRMiRlQmy5KhSzrSMTZUg0LK+GeKZEnSttiEy1bebxJC9adJmGcSwtUksawyvVf4pEEUijcU/vf99qA4nEQFTEKeH690cZ2d8MyFwbOe/CVmZE7vAJSS7m3t27uMmJ1tFItIEsYQYkQogqplEF3RTUBkCgyFGrlHSEVsh+TCp5CAPwv6r6n+PEvqe1f9Qiv9hxP+0+Kar2Rhynsfq8NPpcB+ZrFf+D8G4T8FSchp/4Ede+D+/qnJrDDOKEcmFy/KSmReqg6x6zJH0O4vibPi+6IJ8ZCnC1chQWFj52NBAvErZ+hi51/fGHI3hBdgIalqzT124poiYtPz0w1RLmxLLUoKni4e3rs1Cl8U/wfUr+8v26hKVr/KvQR5u8W06flaMOin9+vP9H4588kwh3wl/aUmYsQiiKscHRIFqRgYukwpNCFWdEVTDCNPE51Qzq9OyE3eUIQCcwOSbjJQpCydPpfMp7wrXLEktK+4gxZZhTkoSnAz7VCYFO4gqVw8rxNl0ln1+KedrIjCOne503wPilf+iDY337xXwb4sfynYlz4q2F+y4lVMIP+gboI41pULaCkLdS3sJ/Am5ylr8u3pEH9O7qYm9zJDLEq84Zb54X0PcuEzwzVAFNewSNnNB9GJxi99EC9DnN/0RWi6jKBmUt3AJlItZGhEl4CkSQQYhozQFl/Ey9aK+SS4flls87kwMz2JlQvb3V8TZgqE+ccBTRV9HaC5/bDtJ9D8YYAm0SgwZagCYmHEFy02dYyIqjNVYgpT8atAM34Fw0+MuYIx/7Rz3TWMmeeV+GAYE0k/MebrGBMVPjb9WBjznM2+AF6i/HuhP+FlVmAFXqLCZ6bfFl4u3uTzJqoEgACsQplAHXJ4iXRTApDKRBIv1qGWvAVVLhrZGUyund9Uh9jPDnBQYSsvLhW/s0x8eK+fMj4h0eO/BU5xfIbTbhY+wVzvpqhh+8TGuMnBlKuTY89PWytssyxa42XjzyvVFbvWsbar5O4o++td3DKAHvMztVPYPliMQBT+I4Yg2tnMvy0/2VnsY+G7cYue3yZTzat4q7+rl/BQ4TOPDZHi7eRdxHvRWnH+xLQrukjPVUWCj0nDLzNivJkGUBY+gXg5rpzrSBt7b9zaigZXCmvwnOl6W6N/CRcB3Kt4jvkKL4udASVcf6mtRWostJup/aUkK4XDOxas6b9LkpXCOvCDSfI7ddM7JXl3FdP/QSS5/0KSuW7mmnNTGw8iofNXzRtloSnF+xmLGDdJdH5qF7Rarc+mKcyHlcTNfqy2mt+jt9/OlBaIryGmsYvK7ioyay9OeBs0rsPGF5CxFgevbLuIGcNFAg0FqkhlmrgEpWCLqciSMCAGIcgkeXBxARhrr8THlLIrmeor3N6Qhh0deYI9u3spcg+1xWnz296/quMFLIa/xVvjPeNVhU3xauCihd7jS3PN3Tr2Dudb6v2yTItJuswsBQGLEZMQajJqSRpP02Ge9+vYHgx3692a3tkdqsUfCuict3XIjg7FPH1z0GQD5prpYN4JB5M6tg9mlWnqO+FZ0k4hdV1czRRgc76iXlWc6u4QcGVERTTn+wa0TWvmemD2kx5tyIg3222FtLAbYceZHwmTh5lLXZFya3dUGLdfUOckOgMZAFBoAoyxDsVbnhWTAawgXbyBWccvdYbwCb/S7d1dyTxttBjuO7FpUsd271bsoU6cGXnu6syrKV69z4JYXoKX7uhv79IW+aG3rRdtLkupluBCHkczraSs+8e3VLPqO1fzsPP37jtf2VMKg/GP5RhOvXe7eoTVfIfUD+sR7vpC1+2CzHb2IYsC4mpZfHKxm+d51QBStb/s+U5+wEDGpN1ssvRdKOruiHIX5VjAj/+mDz9VsVQH3A7TGcKQIcswuZVmGhoCOoIAEZCjYuOiiSn2qg8/mY54i49D3sQS4MxfJrwkHnqz88jhAK2BJ2JbzR5zKe+Y761QJo+5huHmu1vydNEN4+ZDwRXHlUWsqFeTxC6Y3mdRC6PvrxFHgqTvO5JElr6vWBJF0hRLNwhSIOQyL2NkUpnqlFuVFCtmrmm5UyzJd3HdQMuzzL53yPSlsSTLbxcISpjbwuL994GgJn5pXxD8+ssXxpZoP+gZ/zeJLVk7p12c3sopJwubjl85tuSPDS75Gu9V0babnT8v/f0wl/4wURCyAKaqqiCAdXE3FwBqMixRXREv6Nty6e/SiX7e+1u99yd/F4r4I/ouNu79aQsHRjXy+dDpfHfLEH5jy1B60zK89AJ7o8Rm0texJQvcFdQKX8r5WDhCfPHS7h4hLf/08of1CH3JHUGtsFfh294RFDP95vVAImHFkg3Z0qiETGYYWJEZIDJSZRnLUNlyPTCRpB1vBsq5iBOlnCtsln/1MJM/Ns7ka2BOffvJ3k/M+cNgThEXZgDJUiQIEaSyATCDjAiPiGxY7HXM2eKrZf4TcK4ATvQ9AE79w75QOu3/+xwDSRXv1HC5L3pa/x7FN3WdCpCqyYZJNWYhii1dJpAQBqhmqYasv/i2wYRlsX5bbylf6yU023G6Lv/E6Wm3343M9R80UlxIVmnC/JJQqbtDdP1nlHhhiK7/8VHiuRvY2pfRvrl/MUmXJA1BhfGdzORgnRoWUSyDQE0W7zPfsn+tNbQzaEeryfHBWnqOpu9+qfWLwnnU94Xz6O+8Ofi+cB5996t931k4j7H7pcHvJJzH+JL4kF2CIIzd79V9iCAI4wuCO3YPgjB2D7n4q4TzGF8SH7KTJO8effgxJPmduumdkry7ivkZzmMsNOWHCeeB2XeTSLvryD8lnkdSTUMlBtWQhlRIMZEtwzINpDFTpcT6ongeCF9h9/cRzyP/DOjZIaBHlTVDk6CuQxMhbABDBRLREDOJzmUo/9bVlwX0AOm9oRzfY0QPkN4JCXcN6QHSOzHa9xvTA6R3xt7+NYN6gLQ7ONw5qgcSSzcQ4DoCUxUbhk6QqvGWFca3AxXkfF3aN4vq4Ursjwjryb0W+pcO6wFSHoj+3o8qVveVwrD8o/mKs3u0uzuKgZTvoPphPcUfJ7wHLL+d94eK7/nmET1Qzhi4O6T8yiE9y6VZIK4HMCgriDKFI22kAR0TLFOgG0yTKbTM3O8kXXHqLzeBt4N7OhPnzwrvgXLezH95eM/S/BRKJJvZZeJi3m+48HEx80eZlBR5nXjZnGKXsmXhVyXj4GTMdfty+6ZzsQxfJq6UEJt2sr03fDxPNvHN7T49PV5oEFnNzkfXtAjnHJ6ymi3MUcq4xc/bXk/apG3hB3HdQrQGgLFXWvuVFl6heVHcdrMsXXml9JJkOUUvp2OZuZvVmlis3EIFSDZlYCELSaqGVcXUIbM0TKGh6PqGxZogvUUnNhfuBvg7aLMJ1wAZIFtvvhPOHVGVP0pmL3lOslfGudlETCHQYfY9dAeX4qIqVxvpF7MdQoVDFsPgm+xmTkzOu8KEKDGzHARsTBz7tW1Sz+TzYBqf63XmAV+In2uOc7A/XTnp28hOpf8Nshvb5agr+Cz27uDNOgWweIPmduy8TrJcoXzDC33P2dLk5mp+my6Z5k1Kjp1zWJ1NgihRdmwcZF650ooUrWav0kfhkK+GZcsLyiRjhVR8yc6AmXxt7hv7UIKghH6TlN+AVrpsZaUymtViPuPrii+LfajwYkAvwd+Q8RtAq8VSmpViHIJxUf7tX8lT8K/TTqnGLBw5YWkhyKUu4xBfQJt/vdB3Y/85qz2uaqXqZJUSGSsaUynCFDGTElMnmq6pmmWqlkRgVnixVtPCSbTea/xdrNWU+tq1w8MTlw7ZgiROWiHpJbryUHD0M/osf5YyyiwnJu5Q356Eh1EgXtqfyOc/f/1l9TFbJpvJa8viRRm+DJZpL2U6L29VI+XlJ71/PedzjasNb5Bbd0qxVJuc6NdfXM5Wrq7E99wn4vDrL/+VrJxJxJcALVEHB0EpnZb7xbSUfsupm6ckn5Ia/mupR9LKXlTzt79nFCvE4r9waIu7GHbIB2Q/s0Wv//b3fy4J/1uMIHv4d58NxF3ZRSe4VAf2wGV+acD4b7EM+GZpstI/SqZXcr2wNPZM25r/+su//du/c4Ph/eXTvvD/uWZIpGlFspp84UZcAxxWufHqTzKSRXJCKhTKdk0otI4twFzMEf/w/wGab9YcM6QAAA==",ETa.vehicleProduction="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",ETa.websiteAnalytics="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",__.d.StiWizardDashboardsHelper=ETa}__.l.StiDashboardImages=class{};{class HTa{clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}meta(){return[new StiStringNullOrEmptyMeta("Name"),new StiStringNullOrEmptyMeta("Expression")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static loadFromJson(t){let e=new HTa;return e.loadFromJsonObject(t),e}static loadFromXml(t){let e=new HTa;return e.loadFromXml(t),e}saveToString(){return this.saveToJsonObject(StiJsonSaveMode.Report).serialize()}getStringRepresentation(){if(StiString.isNullOrWhiteSpace(this.name))return Loc.get("FormStyleDesigner","NotSpecified");return StiString.isNullOrWhiteSpace(this.expression)?this.name:this.name+` - `+this.expression}constructor(){this.name="",this.expression=""}}__.g.StiDashboardDrillDownParameter=HTa}__.x.StiDashboardDrillDownParameterConverter=class{},__.x.StiDashboardInteractionConverter=class{},__.x.StiDashboardInteractionCreator=class{static new2(t){switch(t){case"Chart":return new __.g.StiChartDashboardInteraction;case"Table":return new __.g.StiTableDashboardInteraction;case"TableColumn":return new __.g.StiTableColumnDashboardInteraction;case"RegionMap":return new __.g.StiRegionMapDashboardInteraction;case"Text":return new __.g.StiTextDashboardInteraction;case"Image":return new __.g.StiImageDashboardInteraction;case"Gauge":return new __.g.StiGaugeDashboardInteraction;case"Indicator":return new __.g.StiIndicatorDashboardInteraction;case"Shape":return new __.g.StiShapeDashboardInteraction;case"Progress":return new __.g.StiProgressDashboardInteraction;case"OnlineMap":return new __.g.StiOnlineMapDashboardInteraction;case"PivotTable":return new __.g.StiPivotTableDashboardInteraction;case"PivotTableItem":return new __.g.StiPivotTableItemDashboardInteraction;case"PivotTableSummary":return new __.g.StiPivotTableSummaryDashboardInteraction;case"Cards":return new __.g.StiCardsDashboardInteraction;case"Filter":return new __.g.StiFilterDashboardInteraction;case"CardsColumn":return new __.g.StiCardsColumnDashboardInteraction;default:throw new StiTypeNotRecognizedException(t)}}},__.x.StiDashboardInteractionJsonConverter=class{},__.x.StiTableDashboardInteractionConverter=class extends __.x.StiDashboardInteractionConverter{};let StiWebContentElement=__.Y.StiWebContentElement,StiButtonElement=__.E.StiButtonElement,StiShapeElement=__.Z.StiShapeElement,StiComboBoxElement=__.S.StiComboBoxElement,StiListBoxElement=__.P.StiListBoxElement,StiTreeViewBoxElement=__.I.StiTreeViewBoxElement,StiTreeViewElement=__.J.StiTreeViewElement,StiDatePickerElement=__.Q.StiDatePickerElement,StiTableElement=__.K.StiTableElement,StiCardsElement=__.F.StiCardsElement,StiProgressElement=__.M.StiProgressElement,StiOnlineMapElement=__.O.StiOnlineMapElement,StiRegionMapElement=__.L.StiRegionMapElement,StiImageElement=__.X.StiImageElement,StiGaugeElement=__.T.StiGaugeElement,StiChartElement=__.H.StiChartElement,StiNumberBoxElement=__.R.StiNumberBoxElement,StiDashboard=__.e.StiDashboard;{class QTa{}__.m.StiDashboardOptions=QTa,__.m.Services=class{static get elements(){return null==this._elements&&(this._elements=[StiDashboard,StiButtonElement,StiCardsElement,StiGaugeElement,StiImageElement,StiWebContentElement,StiIndicatorElement,StiRegionMapElement,StiOnlineMapElement,StiPanelElement,StiPivotTableElement,StiProgressElement,StiTableElement,StiTextElement,StiShapeElement,StiComboBoxElement,StiListBoxElement,StiTreeViewBoxElement,StiTreeViewElement,StiDatePickerElement,StiNumberBoxElement],Stimulsoft.Report.Chart.StiChartAssembly.isAssemblyLoaded)&&this._elements.push(StiChartElement),this._elements}}}{class RTa{static fetchAll(){return __.m.Services.elements}static load(){Stimulsoft["StiOptions"].Services.components.push(...this.fetchAll())}}(__.m.StiDashboardElementsLoader=RTa).load()}let StiHeatmapArea=Stimulsoft.Report.Chart.StiHeatmapArea,StiDataIndicatorValue=Stimulsoft.Data.Engine.StiDataIndicatorValue,StiDoughnutArea=Stimulsoft.Report.Chart.StiDoughnutArea,IStiClusteredColumnArea=Stimulsoft.Report.Chart.IStiClusteredColumnArea,IStiColumnShape3D=Stimulsoft.Report.Chart.IStiColumnShape3D,IStiClusteredColumnArea3D=Stimulsoft.Report.Chart.IStiClusteredColumnArea3D,IStiAxisArea3D=Stimulsoft.Report.Chart.IStiAxisArea3D,StiPie3dSeries=Stimulsoft.Report.Chart.StiPie3dSeries,StiClusteredBarArea=Stimulsoft.Report.Chart.StiClusteredBarArea,StiConstantLines_StiOrientation=Stimulsoft.Report.Chart.StiConstantLines_StiOrientation,StiLegendVisibility=__.H.StiLegendVisibility,StiPieSeries=Stimulsoft.Report.Chart.StiPieSeries,StiRadarArea=Stimulsoft.Report.Chart.StiRadarArea,StiMarker=Stimulsoft.Report.Chart.StiMarker,IStiGanttArea=Stimulsoft.Report.Chart.IStiGanttArea,StiChartLabelsStyle=__.H.StiChartLabelsStyle,IStiPieSeriesLabels=Stimulsoft.Report.Chart.IStiPieSeriesLabels,IStiOutsidePieLabels=Stimulsoft.Report.Chart.IStiOutsidePieLabels,IStiCenterPieLabels=Stimulsoft.Report.Chart.IStiCenterPieLabels,IStiYRightAxis=Stimulsoft.Report.Chart.IStiYRightAxis,StiXChartAxisTitle=__.H.StiXChartAxisTitle,IStiClusteredBarArea=Stimulsoft.Report.Chart.IStiClusteredBarArea,IStiAllowApplyBrushNegative=Stimulsoft.Report.Chart.IStiAllowApplyBrushNegative,IStiAllowApplyColorNegative=Stimulsoft.Report.Chart.IStiAllowApplyColorNegative,IStiSeriesLabels=Stimulsoft.Report.Chart.IStiSeriesLabels,IStiDoughnutSeries=Stimulsoft.Report.Chart.IStiDoughnutSeries,IStiPictorialSeries=Stimulsoft.Report.Chart.IStiPictorialSeries,IStiAreaSeries3D=Stimulsoft.Report.Chart.IStiAreaSeries3D,IStiParetoSeries=Stimulsoft.Report.Chart.IStiParetoSeries,IStiPieSeries=Stimulsoft.Report.Chart.IStiPieSeries,StiYChartAxis=__.H.StiYChartAxis,StiXChartAxis=__.H.StiXChartAxis,IStiAxisArea=Stimulsoft.Report.Chart.IStiAxisArea,IStiStackedBaseLineSeries=Stimulsoft.Report.Chart.IStiStackedBaseLineSeries,IStiBaseLineSeries=Stimulsoft.Report.Chart.IStiBaseLineSeries,IStiFunnelSeries=Stimulsoft.Report.Chart.IStiFunnelSeries,StiBoxAndWhiskerHelper=Stimulsoft.Report.Chart.StiBoxAndWhiskerHelper,StiShowSeriesLabels=Stimulsoft.Report.Chart.StiShowSeriesLabels,IStiShowZerosSeries=Stimulsoft.Report.Chart.IStiShowZerosSeries,StiShowEmptyCellsAs=Stimulsoft.Report.Chart.StiShowEmptyCellsAs,StiChartHelper=Stimulsoft.Report.Chart.StiChartHelper,IStiFontIconsSeries=Stimulsoft.Report.Chart.IStiFontIconsSeries,IStiRoundValuesArea=Stimulsoft.Report.Chart.IStiRoundValuesArea,StiScatterSeries=Stimulsoft.Report.Chart.StiScatterSeries,IStiScatterArea=Stimulsoft.Report.Chart.IStiScatterArea,StiValueComparer=Stimulsoft.Base.Helpers.StiValueComparer,IStiShowNullsSeriesAs=Stimulsoft.Report.Chart.IStiShowNullsSeriesAs,IStiShowZerosSeriesAs=Stimulsoft.Report.Chart.IStiShowZerosSeriesAs,IStiRangeSeries=Stimulsoft.Report.Chart.IStiRangeSeries,StiHeatmapSeries=Stimulsoft.Report.Chart.StiHeatmapSeries;{class StiChartElementBuilder extends __.i.StiElementBuilder{async render(i,r){this.storedCulture=StiCultureHelper.set(i.report);try{let t=new Stimulsoft.Report.Components["StiChart"];if(t.horSpacing=i.area.horSpacing,t.vertSpacing=i.area.vertSpacing,t.isDashboard=!0,t.page=i.page,t.previousAnimations=i.previousAnimations,t.sortAnimation=i.sortAnimation,i.sortAnimation=!1,StiChartElementBuilder.setStyle(i,t),t.series.clear(),null==r)return t;await this.renderElements(i,t,r),await this.renderArea(i,t),await this.renderLegend(i,t),await this.renderSeriesLabels(i,t),await StiChartElementBuilder.renderConstantLines(i,t),StiChartElementBuilder.renderStrips(i,t),this.simplifyValues(t),t.applyStyle(),t.allowApplyStyle=!1;let e=StiDashboardExpressionHelper.getBackColor(i,i.backColor);return Color.transparent.equals(e)||(t.brush=new StiSolidBrush(e)),t}finally{__.h.StiCultureHelper.restore(this.storedCulture)}}async renderElements(a,u,S){let m=null==u?void 0:u.report,t=this.getSeriesMeterIndex(S),e=this.getSeriesKeyValues(S,t),r=this.getArgumentMeterIndexes(S),h=this.getArgumentKeys(a,S).toList(),l=this.getValueMeters(S),n=e.count2();await this.calculateIndicatorValue(a);for(let s of e){let i=-1!=t&&1<n?S.rows.whereArrayItemStringEqualsTo(t,this.toString(s)):S.rows,o=new Dictionary;for(let e of h){let t=StiChartElementBuilder.getDetailRows(i,e,r);o.add(e,t)}let e=0;for(let t of l){let r=this.getValueMeterIndexes(S)[e],l=this.renderSeries(a,t,this.toReadableString(s,m),u);if(null==l)continue;await StiChartElementBuilder.renderConditions(this.toString(s),l,a,t),StiChartElementBuilder.renderTrendLines(l,a,t),l.values=List.create(Number,h.length);let n=0;for(let i of h){let t=o.get(i),e=List.getValueOrFirstOrDefault(t.getArrayItem(r).firstOrDefault());(null!=e&&e[Stimulsoft.System.StiObject.stimulsoft]().is(DateTime)||null!=e&&e[Stimulsoft.System.StiObject.stimulsoft]().is(TimeSpan))&&(l.core.isDateTimeValues=!0),l.values[n]=t.getArrayItem(r).firstOrDefaultAsNullableNumber(),n++}l.originalArguments=h.slice(),l.arguments=this.proccessSelectArguments(h,a,l,m);let i=l.as(IStiFunnelSeries);if(null!=i){let t=l.values,e=l.arguments;StiArray.sort3(t,e),StiArray.reverse(t),StiArray.reverse(e),i.values=t,i.arguments=e}else if(l.is(IStiParetoSeries)){let i=[],r=[];for(let e=0;e<l.values.length;e++){let t=l.values[e];if(!(0<t))continue;i.push(t),null!=l.arguments&&e<l.arguments.length?r.push(l.arguments[e]):r.push(e+1)}let t=i.slice(),e=r.slice();StiArray.sort3(t,e),StiArray.reverse(t),StiArray.reverse(e),l.valuesStart=null,l.values=t,l.arguments=e}e++,await StiChartElementBuilder.processTopNElements(a,l),Stimulsoft.Report.Chart["StiHistogramHelper"].checkValuesAndArguments(l,a.argumentFormat),await this.renderSeriesInteraction(l,a,h.length,this.toString(s))}}StiBoxAndWhiskerHelper.checkArgument(u),StiChartHelper.checkWaterfallTotals(u)}proccessSelectArguments(t,e,l,i){let r=l.as(StiScatterSeries);if(null!=r){let r=[];for(let i=0;i<l.originalArguments.length;i++){let t=l.originalArguments[i],e=null!=t&&0<t.length?t[0]:t;r.push(e)}return r}return t.select(t=>this.getString(e.argumentFormat,t,i))[Stimulsoft.System.StiObject.stimulsoft]().toArray()}static async processTopNElements(i,l){if(i.topN.mode==StiDataTopNMode.None)return;let n=new List,t=(l.values.length>l.arguments.length?l.values:l.arguments).length;for(let r=0;r<t;r++){let t=r<l.values.length?l.values[r]:null,e=r<l.arguments.length?l.arguments[r]:null,i=r<l.originalArguments.length?l.originalArguments[r]:null;n.add({key:e,key1:i,value:t})}let r=(n=i.topN.mode==StiDataTopNMode.Bottom?n.orderBy(t=>t.value):n.orderByDescending(t=>t.value)).take(i.topN.count);if(n.length>i.topN.count&&i.topN.showOthers){l.originalTopNValues=n.skip(i.topN.count).select(t=>t.value);let t=n.skip(i.topN.count).sum(t=>StiValueHelper.tryToNumber(t.value)),e=StiString.isNullOrEmpty(i.topN.othersText)?Loc.get("FormDesigner","Others"):await StiReportParser.parseAsync(i.topN.othersText,i);r.add({key:e,key1:e,value:t})}i.isBarChart&&r.reverse(),l.originalArguments=r.select(t=>t.key1),l.arguments=r.select(t=>t.key),l.values=r.select(t=>StiValueHelper.tryToNullableNumber(t.value))}static setStyle(t,e){if(t.style!=StiElementStyleIdent.Custom)return void(e.style=StiDashboardStyleHelper.getChartStyle(t));let i=t.report.styles.getCustomChartStyle(t.customStyleName);if(null!=i)return e.style=i,void(e.customStyleName=t.customStyleName);e.style=StiDashboardStyleHelper.getChartStyle2(StiElementStyleIdent.Blue)}static getDetailRows(t,i,r){if(!r.any())return t;return t.where(e=>{let t=r.select(t=>e[t]);return StiValueComparer.equalValues(t,i)})}renderSeries(t,e,i,r){let l=e,n=StiChartSeriesCreator.neww2(e.seriesType);return StiChartElementBuilder.renderSeriesYAxis(t,l,n),StiChartElementBuilder.renderSeriesLine(l,n),StiChartElementBuilder.renderSeriesShowZeros(l,n),StiChartElementBuilder.renderSeriesShowNulls(l,n),n.coreTitle=this.getSeriesTitle(t,i,e),n.core.seriesColors=null!=t.seriesColors&&0<t.seriesColors.length?t.seriesColors:null,n.isDashboard=!0,this.renderSeriesNegativeColor(t,n,r.series.count),this.renderSeriesParetoColor(t,n,r.series.count),this.renderMarker(t,n),StiChartElementBuilder.renderSeriesLighting(n),StiChartElementBuilder.renderSeriesIcon(t,n),StiChartElementBuilder.renderSeriesPie3d(t,n),n.is(IStiColumnShape3D)&&(n.columnShape=t.columnShape),r.series.add(n),n}static renderSeriesPie3d(t,e){var i;e.is(StiPie3dSeries)&&null!=(i=t.options3D)&&i[Stimulsoft.System.StiObject.stimulsoft]().is(StiPie3dOptions)&&(e.options3D=t.options3D[Stimulsoft.System.StiObject.stimulsoft]().as(StiPie3dOptions))}static renderSeriesYAxis(t,e,i){e.is(StiValueChartMeter)&&1<t.values.length&&(i.yAxis=e.yAxis)}static renderSeriesLine(r,l){if(null!=r){let t=l.as(IStiBaseLineSeries);if(null!=t)return t.lineStyle=r.lineStyle,void(t.lineWidth=r.lineWidth);let e=l.as(IStiStackedBaseLineSeries),i=(null!=e&&(e.lineStyle=r.lineStyle,e.lineWidth=r.lineWidth),l.as(IStiAreaSeries3D));null!=i&&(i.lineStyle=r.lineStyle,i.lineWidth=r.lineWidth)}}static renderSeriesShowZeros(t,e){let i=e.as(IStiShowZerosSeries);if(null==i)return;i.showZeros=t.showZeros==StiEmptyCellsAs.Zero;let r=e.as(IStiBaseLineSeries);if(null==r)return;t.showZeros==StiEmptyCellsAs.Gap&&(r.showZerosAs=StiShowEmptyCellsAs.Gap),t.showZeros==StiEmptyCellsAs.ConnectPointsWithLine&&(r.showZerosAs=StiShowEmptyCellsAs.ConnectPointsWithLine)}static renderSeriesShowNulls(t,e){let i=e.as(IStiShowNullsSeries);if(null==i)return;i.showNulls=t.showNulls==StiEmptyCellsAs.Zero;let r=e.as(IStiBaseLineSeries);if(null==r)return;t.showNulls==StiEmptyCellsAs.Gap&&(r.showNullsAs=StiShowEmptyCellsAs.Gap),t.showNulls==StiEmptyCellsAs.ConnectPointsWithLine&&(r.showNullsAs=StiShowEmptyCellsAs.ConnectPointsWithLine)}static renderSeriesLighting(t){t.is(IStiPieSeries)&&(t.lighting=!1),t.is(IStiDoughnutSeries)&&(t.lighting=!1)}static renderSeriesIcon(t,e){let i=e.as(IStiFontIconsSeries);null!=i&&(e.is(IStiPictorialSeries)&&null==t.icon?i.icon=Stimulsoft.Report.Helpers.StiFontIcons.QuarterFull:i.icon=t.icon)}renderMarker(t,e){let i,r=null!=e?e.as(IStiBaseLineSeries):null,l=null!=e?e.as(IStiStackedBaseLineSeries):null;null!=r?i=null!=r.marker?r.marker.as(StiMarker):null:null!=l&&(i=null!=l.marker?l.marker.as(StiMarker):null),null!=i&&(i.size=t.marker.size,
|
|
10
|
-
i.angle=t.marker.angle,i.type=t.marker.type,i.extendedVisible=t.marker.visible)}renderSeriesNegativeColor(t,e,i){if(null==t.negativeSeriesColors||t.negativeSeriesColors.length<=0)return;while(i>=t.negativeSeriesColors.length)i-=t.negativeSeriesColors.length;let r=e.as(IStiAllowApplyBrushNegative),l=(null!=r&&(r.allowApplyBrushNegative=!0,r.brushNegative=new StiSolidBrush(t.negativeSeriesColors[i])),e.as(IStiAllowApplyColorNegative));null!=l&&(l.allowApplyColorNegative=!0,l.lineColorNegative=t.negativeSeriesColors[i])}renderSeriesParetoColor(t,e,i){if(null==t.paretoSeriesColors||t.paretoSeriesColors.length<=0)return;while(i>=t.paretoSeriesColors.length)i-=t.paretoSeriesColors.length;let r=e.as(IStiParetoSeries);null!=r&&(r.allowApplyLineColor=!0,r.lineColor=t.paretoSeriesColors[i])}async renderArea(t,e){let i=StiDashboardExpressionHelper.getBackColor(t,t.backColor);Color.transparent.equals(i)||(e.area.brush=255==i.a?new StiSolidBrush(i):new StiEmptyBrush),(t.isPieChart||t.isPie3dChart||t.isDoughnutChart||t.isFunnelChart||t.isSunburstChart||t.isPictorialStackedChart)&&(e.area.allowApplyStyle=!1,e.area.borderColor=Color.transparent),e.area.colorEach=StiChartElementBuilder.getColorEach(t),e.area.is(IStiRoundValuesArea)&&(e.area.as(IStiRoundValuesArea).roundValues=t.roundValues),await this.renderAxisAxes3d(t,e),await this.renderAxisAxes(t,e),StiChartElementBuilder.renderRadarAxis(t,e),this.renderAreaIndicator(t,e)}static getColorEach(t){return!!(t.isPieChart||t.isPie3dChart||t.isDoughnutChart||t.isPictorialStackedChart)||null!=t.area&&t.area.colorEach}async renderAxisAxes3d(t,e){if(e.series.count<=0)return;let i=e.area.as(IStiClusteredColumnArea3D),r=(null!=i&&(i.sideBySide=t.area.sideBySide),e.area.as(IStiClusteredColumnArea));null!=r&&(r.sideBySide=t.area.sideBySide),await this.renderXAxis3D(t,e),await this.renderYAxis3D(t,e),await this.renderZAxis3D(t,e)}async renderAxisAxes(t,e){if(e.series.count<=0)return;let i=e.area.as(IStiAxisArea);if(null==i)return;StiChartElementBuilder.renderInterlacingHor(t,i),StiChartElementBuilder.renderInterlacingVert(t,i),StiChartElementBuilder.renderGridLinesHor(t,i),StiChartElementBuilder.renderGridLinesVert(t,i),i.reverseHor=t.area.reverseHor,i.reverseVert=t.area.reverseVert,await this.renderXAxis(t,e,!1),await this.renderYAxis(t,e,!1),t.xTopAxis.visible&&await this.renderXAxis(t,e,!0),t.yRightAxis.visible?await this.renderYAxis(t,e,!0):await StiChartElementBuilder.renderYRightAxis(t,e)}static renderInterlacingHor(t,e){t.area.interlacingHor.visible&&!Color.transparent.equals(t.area.interlacingHor.color)&&(e.interlacingHor.interlacedBrush=new StiSolidBrush(t.area.interlacingHor.color)),e.interlacingHor.visible=t.area.interlacingHor.visible}static renderInterlacingVert(t,e){t.area.interlacingVert.visible&&!Color.transparent.equals(t.area.interlacingVert.color)&&(e.interlacingVert.interlacedBrush=new StiSolidBrush(t.area.interlacingVert.color)),e.interlacingVert.visible=t.area.interlacingVert.visible}static renderGridLinesHor(t,e){t.area.gridLinesHor.visible&&!Color.transparent.equals(t.area.gridLinesHor.color)&&(e.gridLinesHor.color=t.area.gridLinesHor.color),e.gridLinesHor.visible=t.area.gridLinesHor.visible,e.gridLinesHor.style=StiPenStyle.Solid}static renderGridLinesVert(t,e){t.area.gridLinesVert.visible&&!Color.transparent.equals(t.area.gridLinesVert.color)&&(e.gridLinesVert.color=t.area.gridLinesVert.color),e.gridLinesVert.visible=t.area.gridLinesVert.visible,e.gridLinesVert.style=StiPenStyle.Solid}async renderXAxis3D(t,e){let i=e.area.as(IStiAxisArea3D);if(null==i)return;let r=i.xAxis,l=t.xAxis,n=(await StiChartElementBuilder.renderAxis3D(t,r,l),StiDrillDownHelper.isDrillAvailable(t)&&t.drillDownCurrentLevel<t.drillDownLevelCount?t.arguments.getRange(t.drillDownCurrentLevel,1):t.arguments),o=n.select(this.getTitle).distinct();await StiChartElementBuilder.renderXAxisTitleText3D(t,r,l,o),r.visible=l.visible,l.showEdgeValues==StiAutoBool.Auto&&(r.showEdgeValues=!1)}async renderYAxis3D(t,e){let i=e.area.as(IStiAxisArea3D);if(null==i)return;let r=i.yAxis,l=t.yAxis,n=(await StiChartElementBuilder.renderAxis3D(t,r,l),(t.dataMode==StiDataMode.ManuallyEnteringData?t.chartValuesList():t.arguments).select(this.getTitle).distinct());r.visible=n.any()&&l.visible,await StiChartElementBuilder.renderYAxisTitleText3D(t,r,l,n),r.visible=l.visible,null!=t.valueFormat&&(r.labels.formatService=StiChartElementBuilder.checkValueFormat(t.valueFormat,e))}async renderZAxis3D(t,e){let i=e.area.as(IStiAxisArea3D);if(!i)return;let r=i.zAxis,l=t.xAxis;await StiChartElementBuilder.renderAxis3D(t,r,l)}static async renderXAxisTitleText3D(t,e,i,r){if(!i.title.visible)return;e.title.text=""===i.title.text?r.join(" / "):await StiReportParser.parseAsync(i.title.text,t)}static async renderYAxisTitleText3D(t,e,i,r){if(!i.title.visible)return;e.title.text=""===i.title.text?r.join(" / "):await StiReportParser.parseAsync(i.title.text,t)}async renderXAxis(t,e,i){let r=e.area.as(IStiAxisArea);if(null==r)return;let l=i?r.xTopAxis:r.xAxis,n=i?t.xTopAxis:t.xAxis,o=e.area.is(IStiClusteredBarArea),s=StiDrillDownHelper.isDrillAvailable(t)&&t.drillDownCurrentLevel<t.drillDownLevelCount?t.arguments.getRange(t.drillDownCurrentLevel,1):t.arguments,a=(o?t.values:s).select(this.getTitle).distinct(),u=(await StiChartElementBuilder.renderAxis(t,l,n),l.ticks.visible=a.any(),l.visible=n.visible,await StiChartElementBuilder.renderXAxisTitleText(t,l,n,a),e.series.toList().cast().all(t=>t.is(IStiBaseLineSeries)||t.is(IStiStackedBaseLineSeries))),S=(n.startFromZero==StiAutoBool.Auto&&(l.startFromZero=!u),e.series.toList().cast().all(t=>t.core.isDateTimeValues));S&&r.is(StiClusteredBarArea)&&(l.startFromZero=!1),n.showEdgeValues==StiAutoBool.Auto&&(l.showEdgeValues=u),l.labels.placement==StiLabelsPlacement.AutoRotation&&(l.labels.textAlignment=StiHorAlignment.Left),null!=t.valueFormat&&r.is(IStiClusteredBarArea)&&(l.labels.formatService=StiChartElementBuilder.checkValueFormat(t.valueFormat,e)),null!=t.argumentFormat&&r.is(IStiScatterArea)&&(l.labels.formatService=t.argumentFormat),StiChartElementBuilder.renderAxisLineColor(t,l)}async renderYAxis(t,e,i){let r=e.area.as(IStiAxisArea);if(null==r)return;let l=i?r.yRightAxis:r.yAxis,n=i?t.yRightAxis:t.yAxis,o=e.area.is(IStiGanttArea)||e.area.is(IStiClusteredBarArea),s=(o&&t.dataMode!=StiDataMode.ManuallyEnteringData?t.arguments:t.chartValuesList()).select(this.getTitle).distinct(),a=(await StiChartElementBuilder.renderAxis(t,l,n),l.visible=s.any()&&n.visible,await StiChartElementBuilder.renderYAxisTitleText(t,l,n,s),null==t.valueFormat||r.is(IStiClusteredBarArea)||r.is(StiHeatmapArea)||(l.labels.formatService=StiChartElementBuilder.checkValueFormat(t.valueFormat,e)),e.series.toList().cast().all(t=>t.core.isDateTimeValues));a&&(r.yAxis.startFromZero=!1),StiChartElementBuilder.renderAxisLineColor(t,l)}static renderXRadarAxis(t,e){let i=e.area.as(StiRadarArea);if(null==i)return;this.renderXRadarAxisLabels(t,t.area.xAxis.labels,i.xAxis.labels),this.renderAxisRange(i.xAxis.range,t.xAxis),null!=t.valueFormat&&(i.yAxis.labels.formatService=StiChartElementBuilder.checkValueFormat(t.valueFormat,e));let r=StiDashboardStyleHelper.getForeColor(t);this.renderRadarXAxisLabelsColor(t,i.xAxis.labels,t.xAxis,r),i.xAxis.visible=t.xAxis.visible}static renderXRadarAxisLabels(t,e,i){i.font=this.getSmallStyleFont(t,e.font),i.textBefore=e.textBefore,i.textAfter=e.textAfter,i.allowApplyStyle=!1}static renderYRadarAxis(t,e){let i=e.area.as(StiRadarArea);if(null==i)return;this.renderYRadarAxisLabels(t,t.area.yAxis.labels,i.yAxis.labels),this.renderAxisRange(i.yAxis.range,t.yAxis);let r=StiDashboardStyleHelper.getForeColor(t);this.renderRadarYAxisLabelsColor(t,i.yAxis.labels,t.yAxis,r),i.yAxis.visible=t.yAxis.visible}static renderYRadarAxisLabels(t,e,i){i.font=this.getSmallStyleFont(t,e.font),i.textBefore=e.textBefore,i.textAfter=e.textAfter,i.step=e.step,i.angle=e.angle,i.textAlignment=e.textAlignment,i.wordWrap=e.wordWrap,i.width=e.width,i.allowApplyStyle=!1}static renderRadarXAxisLabelsColor(t,e,i,r){if(!Color.transparent.equals(i.labels.color))return void(e.color=i.labels.color);t.style==StiElementStyleIdent.Custom&&e.color!=Color.transparent||(e.color=r)}static renderRadarYAxisLabelsColor(t,e,i,r){if(!Color.transparent.equals(i.labels.color))return void(e.color=i.labels.color);t.style==StiElementStyleIdent.Custom&&e.color!=Color.transparent||(e.color=r)}static checkValueFormat(t,r){let l=t.as(StiNumberFormatService);if(null!=l&&0<(l.state&Stimulsoft.Report.Components.StiTextFormatState.Abbreviation)&&0==(l.state&Stimulsoft.Report.Components.StiTextFormatState.DecimalDigits)){let e=l.clone(),i=null;for(let t=0;t<r.series.count;t++){let e=r.series.getByIndex(t);for(let t of e.values)(null==i||i>t)&&(i=t)}if(null!=i&&0!=i){let t=0;if((i=Math.abs(i))<5){while(Math.round(i)%10==0)i*=10,t++;t+=2}e.useLocalSetting=!1,e.decimalDigits=t}return e}return t}static async renderYRightAxis(t,e){let i=e.area.as(IStiAxisArea);if(null==i)return;await this.renderAxis(t,i.yRightAxis,t.yRightAxis),this.renderAxisLineColor(t,i.yRightAxis)}static async renderXAxisTitleText(t,e,i,r){if(!i.title.visible)return;e.title.text=StiString.isNullOrEmpty(i.title.text)?StiString.join(" / ",r):await StiReportParser.parseAsync(i.title.text,t)}static async renderYAxisTitleText(t,e,i,r){if(!i.title.visible)return;e.title.text=StiString.isNullOrEmpty(i.title.text)?StiString.join(" / ",r):await StiReportParser.parseAsync(i.title.text,t)}static renderAxisLineColor(t,e){if(t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.lineColor))return e.allowApplyStyle=!1,void(e.allowApplyStyle=!1);StiDashboardStyleHelper.isDarkStyle(t.dashboard)&&(e.allowApplyStyle=!1,e.lineColor=StiDashboardStyleHelper.getForeColor(t))}static renderRadarAxis(t,e){if(e.series.count<=0)return;let i=e.area.as(StiRadarArea);if(null==i)return;this.renderXRadarAxis(t,e),this.renderYRadarAxis(t,e)}renderAreaIndicator(t,e){let i=e.area.as(StiDoughnutArea);if(null==i)return;let r=null==t?void 0:t.report,l=null==this.indicatorValueValue?"":this.getString(t.valueFormat,this.indicatorValueValue.toString(),r),n=(i.indicator.value.value=l,i.indicator.value.color=t.area.indicator.value.color,t.area.indicator.title.text);i.indicator.title.text=n,i.indicator.title.color=t.area.indicator.title.color,i.indicator.visible=!StiString.isNullOrEmpty(l)||!StiString.isNullOrEmpty(n)}static async renderAxis3D(t,e,i){let r=StiDashboardStyleHelper.getForeColor(t);this.renderAxisTitle3D(t,e,i,r),await this.renderAxisLabels3D(t,e,i),this.renderAxisLabelsColor3D(t,e,i,r)}static renderAxisTitle3D(t,e,i,r){let l=this.getTitleAxisChart(i),n=e.title;n.font=this.getStyleFont(t,l.font),StiChartElementBuilder.renderAxisLabelsTitleColor3D(t,n,l,r),l instanceof StiXChartAxisTitle&&(n.direction=l.direction),l instanceof StiYChartAxisTitle&&(n.direction=l.direction)}static async renderAxis(t,e,i){let r=StiDashboardStyleHelper.getForeColor(t);this.renderAxisTitle(t,e,i,r),await this.renderAxisLabels(t,e,i),this.renderAxisStartFromZero(e,i),this.renderAxisShowEdgeValues(e,i),this.renderAxisRange(e.range,i),this.renderAxisLabelsColor(t,e,i,r)}static renderAxisTitle(t,e,i,r){let l=this.getTitleAxisChart(i),n=e.title;n.alignment=l.alignment,n.position=l.position,n.font=this.getStyleFont(t,l.font),this.renderAxisLabelsTitleColor(t,n,l,r),l.is(StiXChartAxisTitle)&&(n.direction=l.direction),l.is(StiYChartAxisTitle)&&(n.direction=l.direction)}static async renderAxisLabels3D(t,e,i){e.labels.angle=i.labels.angle,e.labels.textAfter=await StiReportParser.parseAsync(i.labels.textAfter,t),e.labels.textBefore=await StiReportParser.parseAsync(i.labels.textBefore,t),e.labels.font=StiChartElementBuilder.getSmallStyleFont(t,i.labels.font),e.labels.width=i.labels.width,e.labels.wordWrap=i.labels.wordWrap}static async renderAxisLabels(t,e,i){e.labels.angle=i.labels.angle,e.is(IStiYRightAxis)&&t.isParetoChart||(e.labels.textAfter=await StiReportParser.parseAsync(i.labels.textAfter,t)),e.labels.textAlignment=i.labels.textAlignment,e.labels.textBefore=await StiReportParser.parseAsync(i.labels.textBefore,t),e.labels.font=StiChartElementBuilder.getSmallStyleFont(t,i.labels.font),e.labels.placement=i.labels.placement,e.labels.step=i.labels.step,e.labels.wordWrap=i.labels.wordWrap,e.labels.width=i.labels.width}static renderAxisStartFromZero(e,i){if(i.is(StiXChartAxis)){let t=i;null!=t&&t.startFromZero!=StiAutoBool.Auto&&(e.startFromZero=t.startFromZero!=StiAutoBool.False)}if(i.is(StiYChartAxis)){let t=i;null!=t&&(e.startFromZero=t.startFromZero)}}static renderAxisShowEdgeValues(e,i){if(i.is(StiXChartAxis)){let t=i;null!=t&&t.showEdgeValues!=StiAutoBool.Auto&&(e.showEdgeValues=t.showEdgeValues!=StiAutoBool.False)}}static renderAxisRange(t,e){e[Stimulsoft.System.StiObject.stimulsoft]().getType()!=StiXChartAxis&&e[Stimulsoft.System.StiObject.stimulsoft]().getType()!=StiYChartAxis||(t.auto=e.range.auto,t.maximum=e.range.maximum,t.minimum=e.range.minimum)}static renderAxisLabelsTitleColor(t,e,i,r){if(!Color.transparent.equals(i.color))return void(e.color=i.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.color)||(e.color=r)}static renderAxisLabelsTitleColor3D(t,e,i,r){if(!Color.transparent.equals(i.color))return void(e.color=i.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.color)||(e.color=r)}static renderAxisLabelsColor3D(t,e,i,r){if(!Color.transparent.equals(i.labels.color))return void(e.labels.color=i.labels.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.labels.color)||(e.labels.color=r)}static renderAxisLabelsColor(t,e,i,r){if(!Color.transparent.equals(i.labels.color))return void(e.labels.color=i.labels.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.labels.color)||(e.labels.color=r)}static getTitleAxisChart(t){if(t.is(StiXChartAxis))return t.title;if(t.is(StiYChartAxis))return t.title;return null}async renderLegend(t,e){e.legend.horAlignment=StiChartElementBuilder.getChartLegendHotAlignment(t),e.legend.vertAlignment=StiChartElementBuilder.getChartLegendVertAlignment(t),e.legend.title=await StiReportParser.parseAsync(t.legend.title.text,t),e.legend.titleFont=StiChartElementBuilder.getStyleFont(t,t.legend.title.font),e.legend.allowApplyStyle=!1,e.legend.font=StiChartElementBuilder.getSmallStyleFont(t,t.legend.labels.font),e.legend.visible=StiChartElementBuilder.getChartLegendVisible(t,e),e.legend.columns=t.legend.columns,e.legend.direction=t.legend.direction;let i=StiDashboardStyleHelper.getForeColor(t);StiChartElementBuilder.renderLegendTitleColor(t,e,i),StiChartElementBuilder.renderLegendLabelsColor(t,e,i)}static getChartLegendHotAlignment(t){if(t.isHeatmapChart)return StiLegendHorAlignment.RightOutside;return t.legend.horAlignment}static getChartLegendVertAlignment(t){if(t.isHeatmapChart)return StiLegendVertAlignment.Center;return t.legend.vertAlignment}static getChartLegendVisible(t,e){if(1==e.series.count&&!e.series.getByIndex(0).is(StiPieSeries)&&!e.series.getByIndex(0).is(StiHeatmapSeries))return t.legend.visibility==StiLegendVisibility.Always;return t.legend.visibility!=StiLegendVisibility.False}static renderLegendTitleColor(t,e,i){if(!Color.transparent.equals(t.legend.title.color))return void(e.legend.titleColor=t.legend.title.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.legend.titleColor)||(e.legend.titleColor=i)}static renderSeriesLabelsLegendValueType(t,e){let i=0;e.series.list.filter(t=>null!=t.arguments).forEach(t=>{i+=t.arguments.filter(t=>null!=t).length}),null==t.legend.labels.valueType?0<i&&1<e.series.count?e.seriesLabels.legendValueType=StiSeriesLabelsValueType.SeriesTitleArgument:1==i&&1==e.series.count&&(t.isPieChart||t.isPie3dChart||t.isDoughnutChart)?e.seriesLabels.legendValueType=StiSeriesLabelsValueType.SeriesTitle:0<i&&1==e.series.count?e.seriesLabels.legendValueType=StiSeriesLabelsValueType.Argument:0==i&&1<e.series.count?e.seriesLabels.legendValueType=StiSeriesLabelsValueType.SeriesTitle:e.seriesLabels.legendValueType=t.isBubbleChart?StiSeriesLabelsValueType.Weight:StiSeriesLabelsValueType.Value:e.seriesLabels.legendValueType=t.legend.labels.valueType}static renderLegendLabelsColor(t,e,i){if(!Color.transparent.equals(t.legend.labels.color))return void(e.legend.labelsColor=t.legend.labels.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.legend.labelsColor)||(e.legend.labelsColor=i)}static async renderConditions(t,e,i,r){let l=null!=i.chartConditions?i.chartConditions.where(t=>t.keyValueMeter==r.key):null,n=(null!=l&&await this.renderValueConditions(i,e,l),null!=i.chartConditions?i.chartConditions.where(t=>t.field==StiChartConditionalField.EndValue):null),o=(null!=n&&await this.renderEndValueConditions(i,e,n),null!=i.chartConditions?i.chartConditions.where(t=>t.field==StiChartConditionalField.Argument):null),s=(null!=o&&await this.renderArgumentConditions(i,e,o),null!=i.chartConditions?i.chartConditions.where(t=>t.field==StiChartConditionalField.Series):null);null!=s&&await this.renderSeriesConditions(i,e,s,t)}static async renderValueConditions(i,r,t){for(let e of t){let t=e.isExpression?await StiReportParser.parseAsync(`{${e.value}}`,i):e.value;r.conditions.add(new Stimulsoft.Report.Chart["StiChartCondition"](e.color,Stimulsoft.Report.Components.StiFilterItem.Value,e.dataType,e.condition,t,e.markerType,e.markerAngle))}}static async renderEndValueConditions(i,r,t){for(let e of t){let t=e.isExpression?await StiReportParser.parseAsync(`{${e.value}}`,i):e.value;r.conditions.add(new Stimulsoft.Report.Chart["StiChartCondition"](e.color,Stimulsoft.Report.Components.StiFilterItem.ValueEnd,e.dataType,e.condition,t,e.markerType,e.markerAngle))}}static async renderArgumentConditions(i,r,t){for(let e of t){let t=e.isExpression?await StiReportParser.parseAsync(`{${e.value}}`,i):e.value;r.conditions.add(new Stimulsoft.Report.Chart["StiChartCondition"](e.color,Stimulsoft.Report.Components.StiFilterItem.Argument,e.dataType,e.condition,t,e.markerType,e.markerAngle))}}static async renderSeriesConditions(i,r,t,l){for(let e of t){let t=e.isExpression?await StiReportParser.parseAsync(`{${e.value}}`,i):e.value;this.getConditionResult(null==t?void 0:t.toString(),l,e.condition)&&(r.legendColor=e.color,r.conditions.add(new Stimulsoft.Report.Chart["StiChartCondition"](e.color,Stimulsoft.Report.Components.StiFilterItem.Argument,Stimulsoft.Report.Components.StiFilterDataType.String,Stimulsoft.Report.Components.StiFilterCondition.BeginningWith,"",e.markerType,e.markerAngle)))}}static getConditionResult(i,r,e){let t=!1;if(null!=r){let t=r;if(null!=t&&null!=i){r[Stimulsoft.System.StiObject.stimulsoft]().getType()!=i[Stimulsoft.System.StiObject.stimulsoft]().getType()&&(r=r.toString(),i=i[Stimulsoft.System.StiObject.stimulsoft]().toString(),t=r);try{switch(e){case Stimulsoft.Report.Components.StiFilterCondition.EqualTo:return 0==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.NotEqualTo:return 0!=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.GreaterThan:return 1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.GreaterThanOrEqualTo:return 0<=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.LessThan:return-1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.LessThanOrEqualTo:return t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i)<=0;case Stimulsoft.Report.Components.StiFilterCondition.Containing:{let t=r.toString(),e=i.toString();return-1!=t.indexOf(e)}case Stimulsoft.Report.Components.StiFilterCondition.NotContaining:{let t=r.toString(),e=i.toString();return-1==t.indexOf(e)}case Stimulsoft.Report.Components.StiFilterCondition.BeginningWith:{let t=r.toString(),e=i.toString();return t.startsWith(e)}case Stimulsoft.Report.Components.StiFilterCondition.EndingWith:{let t=r.toString(),e=i.toString();return t.endsWith(e)}}}catch(t){}}}return t}static async renderConstantLines(r,l){for(let i of r.constantLines){let t=!StiString.isNullOrEmpty(i.text),e=new Stimulsoft.Report.Chart["StiConstantLines"];e.allowApplyStyle=!1,e.text=i.text,e.axisValue=await StiReportParser.parseAsync(i.axisValue,r),e.lineColor=i.lineColor,e.lineStyle=i.lineStyle,e.lineWidth=i.lineWidth,e.titleVisible=t,e.orientation=r.isBarChart?StiConstantLines_StiOrientation.Vertical:StiConstantLines_StiOrientation.Horizontal,e.position=i.position,l.constantLines.add(e)}}static renderStrips(t,i){if(!t.strips||0===t.strips.length)return;i.strips.clear();for(let e of t.strips){let t=new Stimulsoft.Report.Chart["StiStrips"];t.allowApplyStyle=!1,t.text=e.text,t.minValue=e.minValue,t.maxValue=e.maxValue,t.titleColor=e.titleColor,t.stripBrush=e.stripBrush,t.orientation=e.orientation,i.strips.add(t)}}static renderTrendLines(e,t,i){let r,l=null==(r=t.trendLines)?void 0:r.where(t=>t.keyValueMeter==i.key).toList();e.trendLines.clear();for(let t of l)e.trendLines.add(this.getTrendLine(t,e.chart))}static getTrendLine(e,i){switch(e.type){case StiChartTrendLineType.None:return new Stimulsoft.Report.Chart["StiTrendLineNone"];case StiChartTrendLineType.Exponential:{let t=new Stimulsoft.Report.Chart["StiTrendLineExponential"];return t.allowApplyStyle=!1,t.lineColor=Color.transparent.equals(e.lineColor)?i.style.core.trendLineColor:e.lineColor,t.lineStyle=e.lineStyle,t.lineWidth=e.lineWidth,t.showShadow=!1,t}case StiChartTrendLineType.Linear:{let t=new Stimulsoft.Report.Chart["StiTrendLineLinear"];return t.allowApplyStyle=!1,t.lineColor=Color.transparent.equals(e.lineColor)?i.style.core.trendLineColor:e.lineColor,t.lineStyle=e.lineStyle,t.lineWidth=e.lineWidth,t.showShadow=!1,t}case StiChartTrendLineType.Logarithmic:{let t=new Stimulsoft.Report.Chart["StiTrendLineLogarithmic"];return t.allowApplyStyle=!1,t.lineColor=Color.transparent.equals(e.lineColor)?i.style.core.trendLineColor:e.lineColor,t.lineStyle=e.lineStyle,t.lineWidth=e.lineWidth,t.showShadow=!1,t}}}async renderSeriesLabels(e,i){if(!(e.isPieChart||e.isPie3dChart||e.isFunnelChart||e.isPictorialStackedChart||e.isDoughnutChart||e.isTreemapChart||e.isAxisAreaChart||e.isSunburstChart||e.isRadarChart||e.isWaterfallChart||e.isAxisAreaChart3D||e.isLineChart3D))return void(i.seriesLabels.visible=!1);if(i.allowApplyStyle=!1,e.isPieChart?StiChartElementBuilder.renderPieLabelsPosition(e,i):e.isPie3dChart?StiChartElementBuilder.renderPie3dLabelsPosition(e,i):e.isDoughnutChart||e.isSunburstChart?StiChartElementBuilder.renderDoughnutLabelsPosition(e,i):e.isFunnelChart?StiChartElementBuilder.renderFunnelLabelsPosition(e,i):e.isPictorialStackedChart?StiChartElementBuilder.renderPictorialStackedLabelsPosition(e,i):e.isTreemapChart?StiChartElementBuilder.renderTreemapLabelsPosition(e,i):e.isHeatmapChart?StiChartElementBuilder.renderHeatmapLabelsPosition(e,i):e.isWaterfallChart?StiChartElementBuilder.renderWaterfallLabelsPosition(e,i):e.isStackedChart?StiChartElementBuilder.renderStackedLabelsPosition(e,i):e.isRadarChart?StiChartElementBuilder.renderRadarLabelsPosition(e,i):e.isAxisAreaChart?StiChartElementBuilder.renderAxisLabelsPosition(e,i):e.isAxisAreaChart3D?StiChartElementBuilder.renderClusteredColumn3DLabelsPosition(e,i):e.isLineChart3D&&this.renderLine3DLabelsPosition(e,i),i.seriesLabels.core.applyStyle(i.style),await StiChartElementBuilder.applyPropertiesToSeriesLabels(e,i.seriesLabels.as(IStiSeriesLabels)),e.isStackedChart)for(let t of i.series.list)t.seriesLabels.as(IStiSeriesLabels).core.applyStyle(i.style),await StiChartElementBuilder.applyPropertiesToSeriesLabels(e,t.seriesLabels.as(IStiSeriesLabels));e.isPieChart||e.isPie3dChart||e.isDoughnutChart||e.isSunburstChart?(StiChartElementBuilder.renderPieLabelsStyle(e,i),StiChartElementBuilder.renderPieLabelsAutoRotate(e,i),StiChartElementBuilder.renderSeriesLabelsLegendValueType(e,i)):e.isFullStackedChart?(StiChartElementBuilder.renderLabelsStyle(e,i),i.seriesLabels.showInPercent=!0):StiChartElementBuilder.renderLabelsStyle(e,i),StiChartElementBuilder.renderLabelsColor(e,i),StiChartElementBuilder.renderLabelsTextFormat(e,i),StiChartElementBuilder.renderLabelsShowZeros(i),StiChartElementBuilder.renderLabelsShowZeros(i)}static renderLabelsShowZeros(r){for(let i of r.series.toList()){let t=i.as(IStiShowZerosSeriesAs);if(null!=t)return void(r.seriesLabels.showZeros=t.showZerosAs==StiShowEmptyCellsAs.Zero);let e=i.as(IStiShowZerosSeries);if(null!=e)return void(r.seriesLabels.showZeros=e.showZeros)}}static renderLabelsShowNulls(r){for(let i of r.series.toList()){let t=i.as(IStiShowNullsSeriesAs);if(null!=t)return void(r.seriesLabels.showNulls=t.showNullsAs==StiShowEmptyCellsAs.Zero);let e=i.as(IStiShowNullsSeries);if(null!=e)return void(r.seriesLabels.showNulls=e.showNulls)}}static async applyPropertiesToSeriesLabels(t,e){e.preventIntersection=t.isAxisAreaChart,e.textAfter=await StiReportParser.parseAsync(t.labels.textAfter,t),e.textBefore=await StiReportParser.parseAsync(t.labels.textBefore,t),e.font=StiChartElementBuilder.getSmallStyleFont(t,t.labels.font),e.showZeros=!1,e.width=t.labels.width,e.wordWrap=t.labels.wordWrap}static renderPieLabelsAutoRotate(t,e){let i=e.seriesLabels.as(IStiCenterPieLabels);null!=i&&(i.autoRotate=t.labels.autoRotate)}static renderLabelsColor(t,e){let i,r,l=e.seriesLabels.as(IStiSeriesLabels),n=e.seriesLabels.as(IStiOutsidePieLabels);Color.transparent.equals(t.labels.foreColor)?(l.labelColor=Color.gray,l.labelColor=StiDashboardStyleHelper.isDarkStyle2(t.style)?Color.fromArgb2(50,50,50):null!=(null==(i=null==e?void 0:e.style)?void 0:i.core)?e.style.core.seriesLabelsColor:Color.gray,null!=n&&(n.lineColor=null!=(null==(r=null==e?void 0:e.style)?void 0:r.core)?e.style.core.seriesLabelsLineColor:Color.gray)):(l.labelColor=t.labels.foreColor,null!=n&&(n.lineColor=t.labels.foreColor))}static renderLabelsTextFormat(t,e){e.seriesLabels.formatService=t.valueFormat}static renderFunnelLabelsPosition(t,e){switch(t.labels.funnelPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Left:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideLeftFunnelLabels"];break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterFunnelLabels"];break;case StiChartLabelsPosition.Right:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideRightFunnelLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderPictorialStackedLabelsPosition(t,e){switch(t.labels.pictorialStackedPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Left:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideLeftPictorialStackedLabels"];break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterPictorialStackedLabels"];break;case StiChartLabelsPosition.Right:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideRightPictorialStackedLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderTreemapLabelsPosition(t,e){switch(t.labels.treemapPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterTreemapLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderHeatmapLabelsPosition(t,e){switch(t.labels.heatmapPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterHeatmapLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderPieLabelsPosition(t,e){switch(t.labels.piePosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterPieLabels"];break;case StiChartLabelsPosition.InsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideEndPieLabels"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsidePieLabels"];break;case StiChartLabelsPosition.TwoColumns:e.seriesLabels=new Stimulsoft.Report.Chart["StiTwoColumnsPieLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderPie3dLabelsPosition(t,e){switch(t.labels.pie3dPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterPie3dLabels"];break;case StiChartLabelsPosition.InsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideEndPie3dLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderStackedLabelsPosition(l,t){switch(l.labels.axisPosition){case StiChartLabelsPosition.Total:{let i=new List,r=new Hashtable;for(let e of t.series.toList()){let t=r.get(e[Stimulsoft.System.StiObject.stimulsoft]().getType());null==t&&(t=new List,i.push(t),r.add(e[Stimulsoft.System.StiObject.stimulsoft]().getType(),t)),t.push(e)}for(let t of i){let e=t.lastOrDefault();t.where(t=>t!=e).toList().forEach(t=>{t.showSeriesLabels=StiShowSeriesLabels.FromSeries,t.seriesLabels.visible=!1}),e.showSeriesLabels=StiShowSeriesLabels.FromSeries,e.seriesLabels=new Stimulsoft.Report.Chart["StiValueAxisLabels"],e.isTotalLabel=!0,e.seriesLabels.formatService=l.valueFormat}break}default:StiChartElementBuilder.renderAxisLabelsPosition(l,t);break}}static renderRadarLabelsPosition(t,e){switch(t.labels.radarPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterAxisLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderWaterfallLabelsPosition(t,e){switch(t.labels.axisPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterAxisLabels"];break;case StiChartLabelsPosition.InsideBase:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideBaseAxisLabels"];break;case StiChartLabelsPosition.InsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideEndAxisLabels"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideAxisLabels"];break;case StiChartLabelsPosition.OutsideBase:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideBaseAxisLabels"];break;case StiChartLabelsPosition.OutsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideEndAxisLabels"];break;case StiChartLabelsPosition.Value:e.seriesLabels=new Stimulsoft.Report.Chart["StiValueAxisLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderAxisLabelsPosition(t,e){switch(t.labels.axisPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterAxisLabels"];break;case StiChartLabelsPosition.InsideBase:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideBaseAxisLabels"];break;case StiChartLabelsPosition.InsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideEndAxisLabels"];break;case StiChartLabelsPosition.Left:e.seriesLabels=new Stimulsoft.Report.Chart["StiLeftAxisLabels"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideAxisLabels"];break;case StiChartLabelsPosition.OutsideBase:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideBaseAxisLabels"];break;case StiChartLabelsPosition.OutsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideEndAxisLabels"];break;case StiChartLabelsPosition.Right:e.seriesLabels=new Stimulsoft.Report.Chart["StiRightAxisLabels"];break;case StiChartLabelsPosition.Value:e.seriesLabels=new Stimulsoft.Report.Chart["StiValueAxisLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderClusteredColumn3DLabelsPosition(t,e){switch(t.labels.clusteredColumn3dPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterAxisLabels3D"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideAxisLabels3D"];break;default:e.seriesLabels.visible=!1;break}}renderLine3DLabelsPosition(t,e){switch(t.labels.line3dPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterAxisLabels3D"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideAxisLabels3D"];break;default:e.seriesLabels.visible=!1;break}}static renderDoughnutLabelsPosition(t,e){switch(t.labels.doughnutPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterPieLabels"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsidePieLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderPieLabelsStyle(t,e){let i=e.seriesLabels.as(IStiPieSeriesLabels);switch(t.labels.style){case StiChartLabelsStyle.PercentOfTotal:i.showInPercent=!0,i.valueType=StiSeriesLabelsValueType.Value;break;case StiChartLabelsStyle.Category:i.showInPercent=!1,i.valueType=t.arguments.any()?StiSeriesLabelsValueType.Argument:StiSeriesLabelsValueType.SeriesTitle;break;case StiChartLabelsStyle.CategoryPercentOfTotal:i.showInPercent=!0,i.valueType=t.arguments.any()?StiSeriesLabelsValueType.ArgumentValue:StiSeriesLabelsValueType.SeriesTitleValue;break;case StiChartLabelsStyle.CategoryValue:i.showInPercent=!1,i.valueType=t.arguments.any()?StiSeriesLabelsValueType.ArgumentValue:StiSeriesLabelsValueType.SeriesTitleValue;break;case StiChartLabelsStyle.Value:i.showInPercent=!1,i.valueType=StiSeriesLabelsValueType.Value;break}}static renderLabelsStyle(t,e){let i=e.seriesLabels;switch(t.labels.style){case StiChartLabelsStyle.PercentOfTotal:i.valueType=StiSeriesLabelsValueType.Value;break;case StiChartLabelsStyle.Category:i.valueType=t.arguments.any()?StiSeriesLabelsValueType.Argument:StiSeriesLabelsValueType.SeriesTitle;break;case StiChartLabelsStyle.CategoryPercentOfTotal:i.valueType=t.arguments.any()?StiSeriesLabelsValueType.ArgumentValue:StiSeriesLabelsValueType.SeriesTitleValue;break;case StiChartLabelsStyle.CategoryValue:i.valueType=t.arguments.any()?StiSeriesLabelsValueType.ArgumentValue:StiSeriesLabelsValueType.SeriesTitleValue;break;case StiChartLabelsStyle.Value:i.valueType=StiSeriesLabelsValueType.Value;break}}async renderSeriesInteraction(l,n,t,i){var o;if(l.chart.isDesigning)return;let r=null==n?void 0:n.report,s=0,e=n.dashboardInteraction;if(e.onHover==StiInteractionOnHover.ShowToolTip){l.toolTips=StiArray.create(String,t);for(let e of l.arguments){let t="";s<l.values.length&&null!=l.values[s]&&(t=l.values[s].toString()),l.toolTips[s]=await this.getToolTip(l.chart.style,n,null,n.dashboardInteraction.toolTip,this.getString(n.argumentFormat,e,r),this.getString(n.valueFormat,t,r),"",i),s++}}s=0,l.hyperlinks=StiArray.create(String,t);for(let r of l.arguments){let t="",e="",i=(s<l.values.length&&null!=l.values[s]&&(t=l.values[s].toString()),l.as(IStiRangeSeries));null!=i&&s<i.valuesEnd.length&&(e=null==(o=i.valuesEnd[s])?void 0:o.toString()),s<l.hyperlinks.length&&(l.hyperlinks[s]=await this.getHyperlink(n,l,n.dashboardInteraction.hyperlink,null==r?void 0:r.toString(),t,e,l.titleValue,s)),s++}l.drillDownEnabled=!0}async getToolTip(i,t,e,r,l,n,o,s){if(null==l&&(l=""),null==s&&(s=""),StiString.isNullOrWhiteSpace(r)){null==l||StiString.isNullOrEmpty(l)||(l=l.split('"').join('\\"'));let t='"StiColor":"{0}","StiValue":"{1}","StiArgument":"{2}"{3}',e=await this.getToolTipStyle(i);return"{"+StiString.format(t,"#ffffff",n,l,e)+"}"}return this.getHyperlink(t,e,r,l,n,o,s,0)}async getToolTipStyle(t){let e=Stimulsoft.Base.StiJsonReportObjectHelper.Serialize.jBrush(t.core.toolTipBrush),i=Stimulsoft.Base.StiJsonReportObjectHelper.Serialize.jBrush(t.core.toolTipTextBrush),r=Stimulsoft.Base.StiJsonReportObjectHelper.Serialize.jBorder2(t.core.toolTipBorder),l=t.core.toolTipCornerRadius.toString();return`,"StiToolTipCornerRadius":"${l}","StiToolTipBrush":"${e}","StiToolTipTextBrush":"${i}","StiToolTipBorder":"${r}"`}async getHyperlink(l,t,e,i,r,n,o,s){null==i&&(i=""),null==o&&(o="");let a=new Hashtable,u=(a.add("Argument",i),a.add("Value",r),a.add("EndValue ",n),a.add("Series",o),null==t?void 0:t.originalArguments[s]);if(StiArray.isArray(u)&&1<u.length){let r=0;u.forEach(t=>{let e=l.arguments[r],i=`Argument_`+this.getIdentFromArgument(e,r+1);a.containsKey(i)||a.add(i,t),r++})}return StiReportParser.parseAsync(e,l,!1,a)}getIdentFromArgument(t,e){if(!StiString.isNullOrWhiteSpace(t.label))return StiNameValidator.correctName(t.label);let i=StiExpressionHelper.getFirstArgumentFromExpression(t.expression),r=i.indexOf(".");if(-1!=r&&(i=i.substr(r+1)),!StiString.isNullOrEmpty(i))return i;return e.toString()}getTitle(t){return StiLabelHelper.getLabel(t)}getSeriesTitle(t,e,i){if(t.values.length<2)return e;let r=StiLabelHelper.getLabel(i),l=StiString.isNullOrWhiteSpace(r)?null:r;if(null==l)return e;return StiString.isNullOrWhiteSpace(e)?l:e+` - `+l}getArgumentIndex(t,e){let i=this.getArgumentMeterIndexes(t).toList();if(null==i||!i.any())return-1;if(1==i.length)return i.firstOrDefault();if(e<i.length)return StiMath.trunc(i[e]);return-1}simplifyValues(t){let e=0;while(e<t.series.count){let i=t.series.getByIndex(e);if(800<i.values.length){let e=this.getShorterListPoints(i);i.values=[],i.arguments=[];for(let t=0;t<e.length;t++)i.values[t]=e[t].x,i.arguments[t]=e[t].y}e++}}getShorterListPoints(e){let i=[];for(let t=0;t<e.values.length;t++)i[t]=new Point(e.values[t],t);let r=[.3,.6,1,5,9,15,20,25,30,40],l=null,n=null;for(let t=0;t<r.length;t++){if((l=Stimulsoft.Report.Chart["StiSimplifyHelper"].simplify(i,t,!0)).length/i.length<.02&&l.length<900&&null!=n){l=n;break}n=l}return l}getString(i,r,l){if(null==r)return"";if(StiArray.isArray(r)){let e=[];for(let t of r)e.push(this.getFormatValue(i,t,l));return StiString.join(" - ",e)}return this.getFormatValue(i,r,l)}getFormatValue(t,e,i){if(null==e)return"";if(e instanceof DateTime)return t.is2(StiDateFormatService)||t.is2(StiTimeFormatService)||t.is2(StiCustomFormatService)?t.format(e):e.toShortDateString();let r=null==i?void 0:i.getParsedCulture();if(StiExtValueConverter.isEligable(e,r))return StiExtValueConverter.convert(e,r);if(null!=t)return t.format(e);return e.toString()}async calculateIndicatorValue(i){if(null==i.indicatorValue||null!=i.indicatorValue&&StiString.isNullOrEmpty(i.indicatorValue.expression))return;let r=StiElementDataCache.getKey(i);if(StiDataIndicatorValue.existsInCache(r))this.indicatorValueValue=StiDataIndicatorValue.getFromCache(r);else{let t=i.clone(!0),e=(t.values=new List,t.arguments=new List,await StiElementDataCache.getOrCreate(t));null!=e&&(this.indicatorValueValue=e.rows.getArrayItem(0).tryCastToNullableNumber().sum(),StiDataIndicatorValue.addToCache(r,this.indicatorValueValue))}}static create(t){if(t.isSunburstChart)return new __.i.StiSunburstChartElementBuilder;if(t.isHeatmapChart)return new __.i.StiHeatmapChartElementBuilder;if(t.isBubbleChart)return new __.i.StiBubbleChartElementBuilder;if(t.isRange)return new __.i.StiRangeChartElementBuilder;if(t.isFinancial)return new __.i.StiFinancialChartElementBuilder;if(t.isFullStackedChart||t.isStackedChart||t.isRibbonChart)return new __.i.StiStackedChartElementBuilder;return new StiChartElementBuilder}static scaleFont(t,e,i=.05){if(Math.abs(1-e)<=i)return;t.labels.font=StiFontUtils.changeFontSize(t.labels.font,t.labels.font.size*e),t.legend.font=StiFontUtils.changeFontSize(t.legend.font,t.legend.font.size*e);let r=t.area.as(IStiAxisArea);null!=r&&(r.xAxis.labels.font=StiFontUtils.changeFontSize(r.xAxis.labels.font,r.xAxis.labels.font.size*e),r.xTopAxis.labels.font=StiFontUtils.changeFontSize(r.xTopAxis.labels.font,r.xTopAxis.labels.font.size*e),r.yAxis.labels.font=StiFontUtils.changeFontSize(r.yAxis.labels.font,r.yAxis.labels.font.size*e),r.yRightAxis.labels.font=StiFontUtils.changeFontSize(r.yRightAxis.labels.font,r.yRightAxis.labels.font.size*e))}static getStyleFont(t,e){return StiDashboardStyleHelper.getElementFontFromStyle(t,e)}static getSmallStyleFont(t,e){let i=StiDashboardStyleHelper.getElementFontFromStyle(t);if(null==i)return e;let r=StiDashboardStyleHelper.getElementFontFromStyle(t),l=8*r.size/13,n=t.cachedSmallFont;if(null!=n&&n.name==r.name&&n.style==r.style&&n.size==l)return n;return t.cachedSmallFont=StiFontUtils.changeFontSize(r,l),t.cachedSmallFont}getValueMeterIndexes(e){if(null==e)return null;return this.getValueMeters(e).select(t=>e.meters.indexOf(t))}getArgumentMeterIndexes(e){if(null==e)return null;return this.getArgumentMeters(e).select(t=>e.meters.indexOf(t)).toList()}getSeriesMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiSeriesChartMeter));return null!=e?t.meters.indexOf(e):-1}getArgumentKeys(t,e){if(null==e)return null;let i=this.getArgumentMeters(e),r=i.select(t=>e.meters.indexOf(t)).toList(),l=e.rows.groupBy2(e=>r.select(t=>e[t]),new StiArrayEqualityComparer);return l.select(t=>t.key)}getValueMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiValueChartMeter)).cast()}getArgumentMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiArgumentChartMeter)).cast()}}__.i.StiChartElementBuilder=StiChartElementBuilder}let IStiBubbleSeries=Stimulsoft.Report.Chart.IStiBubbleSeries,IStiFinancialSeries=(__.i.StiBubbleChartElementBuilder=class extends __.i.StiChartElementBuilder{async renderElements(u,S,m){let h=this.getSeriesMeterIndex(m),t=this.getSeriesKeys(m,h),e=this.getValueMeters(m),c=t.count2();for(let a of t){let s=0;for(let o of e){let t=this.getValueMeterIndexes(m)[s],e=this.renderSeries(u,o,a,S);if(null==e)continue;let i=-1!=h&&1<c?m.rows.whereArrayItemStringEqualsTo(h,a):m.rows,r=(await __.i.StiChartElementBuilder.renderConditions(this.toString(a),e,u,o),e.values=i.getArrayItem(t).tryCastToNullableNumber(),this.getArgumentIndex(m,t)),l=(-1!=r&&(e.arguments=i.getArrayItem(r)),e.weights=null,this.getWeightIndex(m,t));if(-1!=l&&(e.weights=i.getArrayItem(l).tryCastToNumber()),null==e.weights){e.weights=[];for(let t=0;t<e.arguments.length;t++)e.weights[t]=10}s++;let n=Math.min(e.values.length,e.arguments.length);await this.renderSeriesInteraction(e,u,n,a)}}}renderSeries(t,e,i,r){let l=new Stimulsoft.Report.Chart["StiBubbleSeries"];return l.coreTitle=this.getSeriesTitle(t,i,e),l.isDashboard=!0,r.series.add(l),l}async renderSeriesInteraction(o,t,e,s){let a=o.as(IStiBubbleSeries);if(null==a)return;let u=t.dashboardInteraction;if(u.onHover==StiInteractionOnHover.ShowToolTip){o.toolTips=StiArray.create(String,e);for(let n=0;n<e;n++){let i="",r="",l="";if(n<o.values.length&&null!=o.values[n]&&(i=o.values[n].toString()),n<o.arguments.length&&null!=o.arguments[n]&&(r=``+o.arguments[n]),n<a.weights.length&&(l=a.weights[n].toString()),StiString.isNullOrEmpty(u.toolTip)){let t='"StiColor":"{0}","StiValue":"{1}","StiArgument":"{2}","StiWeight":"{3}"{4}',e=await this.getToolTipStyle(o.chart.style);o.toolTips[n]="{"+StiString.format(t,"#ffffff",i,r,l,e)+"}"}else o.toolTips[n]=await this.getHyperlink2(t,u.toolTip,r,i,l,s)}}o.drillDownEnabled=!0}async getHyperlink2(t,e,i,r,l,n){null==i&&(i=""),null==n&&(n="");let o=new Hashtable;return o.add("Argument",i),o.add("Value",r),o.add("Weight",l),o.add("Series",n),StiReportParser.parseAsync(e,t,!1,o)}getWeightIndex(t,e){if(null==t)return-1;let i=this.getWeightMeterIndexes(t);if(null==i)return-1;if(!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(i.length>e)return StiMath.trunc(i[e]);return-1}getWeightMeterIndexes(e){if(null==e)return null;return this.getWeightMeters(e).select(t=>e.meters.indexOf(t)).toList()}getWeightMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiWeightChartMeter)).cast()}getValueMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiYChartMeter)).cast()}getArgumentMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiXChartMeter)).cast()}},Stimulsoft.Report.Chart.IStiFinancialSeries),StiHeatmapHelper=(__.i.StiFinancialChartElementBuilder=class extends __.i.StiChartElementBuilder{async renderElements(h,c,d){let g=null==c?void 0:c.report,p=this.getSeriesMeterIndex(d),t=this.getSeriesKeys(d,p),e=this.getValueMeters(d),b=t.count2();for(let m of t){let S=0;for(let u of e){let t=this.getValueMeterIndexes(d)[S],e=this.renderSeries(h,u,m,c),i=e.as(IStiFinancialSeries);if(null==e||null==i)continue;let r=-1!=p&&1<b?d.rows.whereArrayItemStringEqualsTo(p,m):d.rows,l=(i.valuesOpen=r.getArrayItem(t).tryCastToNullableNumber(),i.valuesClose=null,this.getCloseValueIndex(d,t));if(-1!=l&&(i.valuesClose=r.getArrayItem(l).tryCastToNullableNumber()),null==i.valuesClose){i.valuesClose=[];for(let t=0;t<e.argument.length;t++)i.valuesClose[t]=10}i.valuesLow=null;let n=this.getLowValueIndex(d,t);if(-1!=n&&(i.valuesLow=r.getArrayItem(n).tryCastToNullableNumber()),null==i.valuesLow){i.valuesLow=[];for(let t=0;t<e.argument.length;t++)i.valuesLow[t]=10}i.valuesHigh=null;let o=this.getHighValueIndex(d,t);if(-1!=o&&(i.valuesHigh=r.getArrayItem(o).tryCastToNullableNumber()),null==i.valuesHigh){i.valuesHigh=[];for(let t=0;t<e.argument.length;t++)i.valuesHigh[t]=10}let s=this.getArgumentIndex(d,t),a=(-1!=s&&(e.arguments=r.getArrayItem(s).select(t=>this.getString(h.argumentFormat,t,g))),S++,Math.min(e.values.length,e.arguments.length));await this.renderSeriesInteraction(e,h,a,m)}}}renderSeries(t,e,i,r){let l=StiChartSeriesCreator.neww2(e.as(StiOpenValueChartMeter).seriesType);return l.coreTitle=this.getSeriesTitle(t,i,e),l.isDashboard=!0,r.series.add(l),l}async renderSeriesInteraction(a,t,e,i){let u=a.as(IStiFinancialSeries);if(null==u)return;let r=t.dashboardInteraction;if(r.onHover==StiInteractionOnHover.ShowToolTip){a.toolTips=StiArray.create(String,e);for(let s=0;s<e;s++){let t="",e="",i="",r="",l="",n=(s<u.valuesOpen.length&&null!=u.valuesOpen[s]&&(t=u.valuesOpen[s].toString()),s<u.valuesClose.length&&(e=u.valuesClose[s].toString()),s<u.valuesLow.length&&(i=u.valuesLow[s].toString()),s<u.valuesHigh.length&&(r=u.valuesHigh[s].toString()),s<a.arguments.length&&null!=a.arguments[s]&&(l=``+a.arguments[s]),'"StiColor":"{0}","StiOpenValue":"{1}","StiCloseValue":"{2}","StiLowValue":"{3}","StiHighValue":"{4}","StiArgument":"{5}"{6}'),o=await this.getToolTipStyle(a.chart.style);a.toolTips[s]="{"+StiString.format(n,"#ffffff",t,e,i,r,l,o)+"}"}}a.drillDownEnabled=!0}async renderArea(t,h){await super.renderArea(t,h);let c=null,d=null;for(let m=0;m<h.series.count;m++){let t=h.series.getByIndex(m).as(IStiFinancialSeries);if(null==t)continue;let e=t.valuesOpen[Stimulsoft.System.StiObject.stimulsoft]().toList().min(),i=t.valuesClose[Stimulsoft.System.StiObject.stimulsoft]().toList().min(),r=t.valuesLow[Stimulsoft.System.StiObject.stimulsoft]().toList().min(),l=t.valuesHigh[Stimulsoft.System.StiObject.stimulsoft]().toList().min(),n=t.valuesOpen[Stimulsoft.System.StiObject.stimulsoft]().toList().max(),o=t.valuesClose[Stimulsoft.System.StiObject.stimulsoft]().toList().max(),s=t.valuesLow[Stimulsoft.System.StiObject.stimulsoft]().toList().max(),a=t.valuesHigh[Stimulsoft.System.StiObject.stimulsoft]().toList().max(),u=new List([e,i,r,l]).min(),S=new List([n,o,s,a]).max();null==c&&(c=u),null==d&&(d=S),c=Math.min(c,u),d=Math.max(d,S)}let e=h.area.as(IStiAxisArea),i=(e.yAxis.range.auto=!1,e.yAxis.range.minimum=c,e.yAxis.range.maximum=d,e.yAxis.range.maximum-e.yAxis.range.minimum);e.yAxis.labels.step=2<i?Math.round(i/10):StiMath.round2(i/10,4)}getValueMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiOpenValueChartMeter)).cast()}getCloseValueIndex(t,e){if(null==t)return-1;let i=this.getCloseMeterIndexes(t);if(null==i||!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(e<i.length)return i[e];return-1}getCloseMeterIndexes(e){if(null==e)return null;return this.getCloseMeters(e).select(t=>e.meters.indexOf(t)).toList()}getCloseMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiCloseValueChartMeter)).cast()}getLowValueIndex(t,e){if(null==t)return-1;let i=this.getLowMeterIndexes(t);if(null==i||!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(e<i.length)return i[e];return-1}getLowMeterIndexes(e){if(null==e)return null;return this.getLowMeters(e).select(t=>e.meters.indexOf(t)).toList()}getLowMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiLowValueChartMeter)).cast()}getHighValueIndex(t,e){if(null==t)return-1;let i=this.getHighMeterIndexes(t);if(null==i)return-1;if(!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(i.length>e)return i[e];return-1}getHighMeterIndexes(e){if(null==e)return null;return this.getHighMeters(e).select(t=>e.meters.indexOf(t)).toList()}getHighMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiHighValueChartMeter)).cast()}},Stimulsoft.Report.Chart.StiHeatmapHelper),StiShape=(__.i.StiHeatmapChartElementBuilder=class extends __.i.StiChartElementBuilder{async renderElements(u,S,m){let h=null==S?void 0:S.report,c=this.getSeriesMeterIndex(m),t=this.getSeriesKeys(m,c),e=this.getValueMeters(m),d=t.count2();for(let a of t){let s=0;for(let o of e){let t=this.getValueMeterIndexes(m)[s],e=this.renderSeries(u,o,a,S),i=e.as(StiHeatmapSeries);if(null==e||null==i)continue;let r=-1!=c&&1<d?m.rows.whereArrayItemStringEqualsTo(c,a):m.rows,l=(e.values=r.getArrayItem(t).tryCastToNullableNumber(),this.getXValueIndex(m,t)),n=(i.xValues=-1!=l?r.getArrayItem(l).select(t=>this.getString(u.argumentFormat,t,h)):[""],this.getYValueIndex(m,t));i.yValues=-1!=n?r.getArrayItem(n).select(t=>this.getString(u.argumentFormat,t,h)):[""],s++,await this.renderSeriesInteraction(e,u,e.values.length,a)}}}renderSeries(t,e,i,r){let l=new Stimulsoft.Report.Chart["StiHeatmapSeries"];return l.coreTitle=this.getSeriesTitle(t,i,e),l.isDashboard=!0,r.series.add(l),l}async renderSeriesInteraction(s,t,e,i){if(s.chart.isDesigning)return;let a=s.as(StiHeatmapSeries);if(null==a)return;let r=s.core,u=r.getHeatmapColors(),l=r.getAllValues(),S=l.min(),m=l.max(),h=t.dashboardInteraction.as(StiChartDashboardInteraction);if(h.onHover==StiInteractionOnHover.ShowToolTip){s.toolTips=StiArray.create(String,e);for(let o=0;o<e;o++){let r=0,l="",n="";if(o<a.values.length&&null!=a.values[o]&&(r=a.values[o]),o<a.xValues.length&&(l=a.xValues[o].toString()),o<a.yValues.length&&(n=a.yValues[o].toString()),StiString.isNullOrEmpty(h.toolTip)){let t='{{"StiColor":"{0}","StiValue":"{1}","StiXValue":"{2}","StiYValue":"{3}"{4}}}',e=await this.getToolTipStyle(s.chart.style),i=StiHeatmapHelper.getColorFromRange(u,S,m,r);s.toolTips[o]=StiString.format(t,ColorTranslator.toHtml(i),r,l,n,e)}else s.toolTips[o]=await this.getHyperlink3(t,h.toolTip,r.toString(),l,n,i)}}s.drillDownEnabled=!0}async getHyperlink3(t,e,i,r,l,n){null==n&&(n="");let o=new Hashtable;return o.add("Value",i),o.add("XValue",r),o.add("YValue",l),o.add("Series",n),StiReportParser.parseAsync(e,t,!1,o)}getYValueIndex(t,e){if(null==t)return-1;let i=this.getYMeterIndexes(t);if(null==i)return-1;if(!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(i.length>e)return StiMath.trunc(i[e]);return-1}getYMeterIndexes(e){if(null==e)return null;return this.getYMeters(e).select(t=>e.meters.indexOf(t)).toList()}getYMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiYChartMeter)).cast()}getXValueIndex(t,e){if(null==t)return-1;let i=this.getXMeterIndexes(t);if(null==i)return-1;if(!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(i.length>e)return StiMath.trunc(i[e]);return-1}getXMeterIndexes(e){if(null==e)return null;return this.getXMeters(e).select(t=>e.meters.indexOf(t)).toList()}getXMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiXChartMeter)).cast()}},__.i.StiRangeChartElementBuilder=class extends __.i.StiChartElementBuilder{async renderElements(u,S,m){let h=null==S?void 0:S.report,c=this.getSeriesMeterIndex(m),t=this.getSeriesKeys(m,c),d=t.count2(),i=this.getValueMeters(m),g=this.getArgumentMeterIndexes(m),p=this.getArgumentKeys(u,m).toList();for(let a of t){let s=0;for(let e of i){let r=this.getValueMeterIndexes(m)[s],i=this.renderSeries(u,e,a,S);if(null==i)continue;await __.i.StiChartElementBuilder.renderConditions(a,i,u,e);let l=-1!=c&&1<d?m.rows.whereArrayItemStringEqualsTo(c,this.toString(a)):m.rows,n=(i.values=List.create(Number,p.length),0);for(let e of p){let t=__.i.StiChartElementBuilder.getDetailRows(l,e,g);n<i.values.length&&(i.values[n]=t.getArrayItem(r).firstOrDefaultAsNullableNumber()),n++}i.core.isDateTimeValues=List.getValueOrFirstOrDefault(l.getArrayItem(r).toList().firstOrDefault())instanceof DateTime;let o=i.as(IStiRangeSeries);if(null!=o){o.valuesEnd=List.create(Number,p.length);let i=this.getEndValueIndex(m,r);if(null==o.valuesEnd&&(o.valuesEnd=List.repeat(10,p.length)),-1!=i){n=0;for(let e of p){let t=__.i.StiChartElementBuilder.getDetailRows(l,e,g);n<o.valuesEnd.length&&(o.valuesEnd[n]=t.getArrayItem(i).firstOrDefaultAsNullableNumber()),n++}}}i.originalArguments=p[Stimulsoft.System.StiObject.stimulsoft]().toArray(),i.arguments=p.select(t=>this.getString(u.argumentFormat,t,h))[Stimulsoft.System.StiObject.stimulsoft]().toArray(),s++;let t=Math.min(i.values.length,i.arguments.length);await this.renderSeriesInteraction(i,u,t,a)}}}renderSeries(t,e,i,r){let l=StiChartSeriesCreator.neww2(e.seriesType),n=(l.coreTitle=this.getSeriesTitle(t,i,e),l.isDashboard=!0,e);return __.i.StiChartElementBuilder.renderSeriesLine(n,l),__.i.StiChartElementBuilder.renderSeriesShowNulls(n,l),this.renderMarker(t,l),r.series.add(l),l}async renderSeriesInteraction(l,n,t,o){let s,a,u=null==n?void 0:n.report,S=l.as(IStiRangeSeries);if(null==S)return;let e=n.dashboardInteraction.as(StiChartDashboardInteraction);if(e.onHover==StiInteractionOnHover.ShowToolTip){l.toolTips=StiArray.create(String,t);for(let r=0;r<t;r++){let t="",e="",i="";r<l.values.length&&null!=l.values[r]&&(t=(l.core.isDateTimeValues?DateTime.fromOADate(l.values[r]):l.values[r]).toString()),null!=S.valuesEnd&&r<S.valuesEnd.length&&(e=l.core.isDateTimeValues?null==(s=DateTime.fromOADate(S.valuesEnd[r]))?void 0:s.toString():null==(a=S.valuesEnd[r])?void 0:a.toString()),r<l.arguments.length&&null!=l.arguments[r]&&(i=``+l.arguments[r]),l.toolTips[r]=await this.getToolTip2(l.chart.style,n,n.dashboardInteraction.toolTip,this.getString(n.argumentFormat,i,u),this.getString(n.valueFormat,t,u),this.getString(n.valueFormat,e,u),o)}}l.drillDownEnabled=!0}async getToolTip2(i,t,e,r,l,n,o){if(null==r&&(r=""),null==o&&(o=""),StiString.isNullOrWhiteSpace(e)){null==r||StiString.isNullOrEmpty(r)||(r=r.split('"').join('\\"'));let t='"StiColor":"{0}","StiValue":"{1} - {3}","StiArgument":"{2}"{4}',e=await this.getToolTipStyle(i);return"{"+StiString.format(t,"#ffffff",l,r,n,e)+"}"}return this.getHyperlink2(t,e,r,l,n,o)}async getHyperlink2(t,e,i,r,l,n){null==i&&(i=""),null==n&&(n="");let o=new Hashtable;return o.add("Argument",i),o.add("Value",r),o.add("EndValue",l),o.add("Series",n),StiReportParser.parseAsync(e,t,!1,o)}getValueMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiStartValueChartMeter)).cast()}getEndValueIndex(t,e){if(null==t)return-1;let i=this.getEndValueMeterIndexes(t);if(null==i||!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(e<i.length)return StiMath.trunc(i[e]);return-1}getEndValueMeterIndexes(e){if(null==e)return null;return this.getEndValueMeters(e).select(t=>e.meters.indexOf(t)).toList()}getEndValueMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiEndValueChartMeter)).cast()}},Stimulsoft.Report.Components.StiShape),IStiStackedColumnSeries=(__.i.StiShapeElementBuilder=class{render(t){let e=new StiShape;return e.shapeType=t.shapeType,e.brush=t.fill,e.borderColor=t.stroke,e.size=t.size,e}},Stimulsoft.Report.Chart.IStiStackedColumnSeries),IStiStackedBarSeries=Stimulsoft.Report.Chart.IStiStackedBarSeries,IStiRibbonSeries=Stimulsoft.Report.Chart.IStiRibbonSeries;{class e30 extends __.i.StiChartElementBuilder{async renderElements(s,a,u){let S=null==a?void 0:a.report,m=this.getSeriesMeterIndex(u),t=this.getSeriesKeys(u,m),h=this.getArgumentMeterIndexes(u),c=this.getArgumentKeys(s,u).toList(),i=this.getValueMeters(u),d=new List,g=t.count2();for(let o of t){let e=0;for(let t of i){d.add(o);let i=this.getValueMeterIndexes(u)[e],r=this.renderSeries(s,t,o,a);if(null==r)continue;await __.i.StiChartElementBuilder.renderConditions(o,r,s,t),__.i.StiChartElementBuilder.renderTrendLines(r,s,t);let l=-1!=m&&1<g?u.rows.whereArrayItemStringEqualsTo(m,o):u.rows,n=(r.values=List.create(Number,c.length),0);for(let e of c){let t=__.i.StiChartElementBuilder.getDetailRows(l,e,h);n<r.values.length&&(r.values[n]=t.getArrayItem(i).firstOrDefaultAsNullableNumber()),n++}r.originalArguments=c[Stimulsoft.System.StiObject.stimulsoft]().toArray(),r.arguments=c.select(t=>this.getString(s.argumentFormat,t,S))[Stimulsoft.System.StiObject.stimulsoft]().toArray(),e++}}await e30.processTopNStackedChart(s,a);for(let e=0;e<d.length;e++){if(a.series.count<e)break;let t=a.series.getByIndex(e);if(null==t)return;await this.renderSeriesInteraction(t,s,c.length,d[e])}}static getDataTable(t){let i=new DataTable,e=new DataColumn("Id",Number),r=(i.columns.add(e),new DataColumn("Argument",Object));i.columns.add(r);for(let e=0;e<t.length;e++){let t=new DataColumn("Value-"+e.toString(),Number);i.columns.add(t)}let l=new DataColumn("OriginalArguments",Object),n=(i.columns.add(l),new DataColumn("ValueSum",Number)),o=(i.columns.add(n),this.getCountRow(t.toList()));for(let t=0;t<o;t++){let t=i.newRow();i.rows.add(t)}return i}static getCountRow(e){let i=0;for(let t of e)i=Math.max(i,t.arguments.length);return i}static async getArguments(t,e){if(t.length<=e.topN.count)return t;let i=t.take(e.topN.count).toList();if(e.topN.showOthers){let t=StiString.isNullOrEmpty(e.topN.othersText)?Loc.get("FormDesigner","Others"):await StiReportParser.parseAsync(e.topN.othersText,e);i.add(t)}return i}static getValues(e,i){if(e.length<=i.topN.count)return e;let r=e.take(i.topN.count).toList();if(i.topN.showOthers){let t=e.skip(i.topN.count).sum();r.add(t)}return r}static async processTopNStackedChart(l,t){if(l.topN.mode==StiDataTopNMode.None)return;let n=t.series.toList();if(!n.any(t=>t.is(IStiStackedBaseLineSeries)||t.is(IStiStackedColumnSeries)||t.is(IStiStackedBarSeries)||t.is(IStiRibbonSeries)))return;let o=e30.getDataTable(n.toList());if(o.rows.count<1)return;for(let r=0;r<o.rows.count;r++){0<n.length&&n[0].arguments.length>r?o.rows.getByIndex(r).setValue(1,n[0].arguments[r]):o.rows.getByIndex(r).setValue(1,null),0<n.length&&n[0].originalArguments.length>r?o.rows.getByIndex(r).setValue(o.columns.count-2,n[0].originalArguments[r]):o.rows.getByIndex(r).setValue(o.columns.count-2,null);let i=0;for(let e=0;e<n.length;e++)if(0<n.length&&n[e].values.length>r){let t=n[e].values[r];o.rows.getByIndex(r).setValue(e+2,t),i+=t}else o.rows.getByIndex(r).setValue(e+2,null);o.rows.getByIndex(r).setValue(o.columns.count-1,i)}o.defaultView.sort=l.topN.mode==StiDataTopNMode.Top?"ValueSum desc":"ValueSum asc",o=o.defaultView.toTable();let s=0;for(let r of n){let t=e30.getListByColumnName(o,"OriginalArguments"),e=(r.originalArguments=await e30.getArguments(t,l),e30.getListByColumnName(o,"Argument")),i=(r.arguments=await e30.getArguments(e,l),e30.getListByColumnName(o,"Value-"+s.toString()));r.values=e30.getValues(i,l),r.is(IStiStackedBarSeries)&&(r.originalArguments=r.originalArguments.reverse(),r.arguments=r.arguments.reverse(),r.values=r.values.reverse()),s++}}static getListByColumnName(t,i){let r=new List;for(let e of t.rows.toList()){let t=e.gett(i);r.add(t)}return r}}__.i.StiStackedChartElementBuilder=e30}__.i.StiSunburstChartElementBuilder=class extends __.i.StiChartElementBuilder{async renderElements(e,l,n){let i=this.getArgumentMeters(n),o=this.getValueMeters(n).firstOrDefault(),s=this.getValueMeterIndexes(n)[Stimulsoft.System.StiObject.stimulsoft]().toList().firstOrDefault();for(let t=0;t<i.length;t++){let i=this.getArgumentMeterIndexes(n)[t],r=this.renderSeries(e,o,"",l);if(null==r)continue;r.values=StiArray.create(Number,n.rows.length),r.arguments=StiArray.create(Object,n.rows.length),r.originalArguments=StiArray.create(Object,n.rows.length);for(let e=0;e<n.rows.length;e++){r.values[e]=StiValueHelper.tryToNullableNumber(n.rows[e][s]);let t=n.rows[e][i];r.arguments[e]=t,r.originalArguments[e]=t}await this.renderSeriesInteraction(r,e,r.arguments.length,"")}}renderSeries(t,e,i,r){let l=StiChartSeriesCreator.neww2(e.seriesType);return l.core.seriesColors=null!=t.seriesColors&&0<t.seriesColors.length?t.seriesColors:null,l.isDashboard=!0,r.series.add(l),l}};{class Fe0{static getVisualizer(t){return null}}Fe0.typeToGdiVisualizer=new Hashtable,Fe0.typeToWpfVisualizer=new Hashtable,Fe0.lockObject={},__.n.StiVisualizer=Fe0}__.n.StiGdiVisualizer=class extends __.n.StiVisualizer{render(t){}},__.n.StiGdiVisualizerAttribute=class{},__.u.StiIndicatorIconRangeValue=class{isBetween(t){return this.start<=t&&t<=this.end}constructor(t,e,i){this.start=t,this.end=e,this.icon=i}};let StiProgressInteractionData=Stimulsoft.Base.Context.StiProgressInteractionData,StiElementLocationHelper=__.h.StiElementLocationHelper,StiPieSegmentGeom=(__.v.StiProgressVisual=class extends __.j.StiVisual{getDisplayText(t,e){var i,r,l,n;switch(this.element.valueType){case StiProgressValueType.Percentage:return StiTextFormatHelper.formatAsPercentage2(null==(i=this.element)?void 0:i.report,this.element.textFormat,e);case StiProgressValueType.Value:return StiTextFormatHelper.format(null==(r=this.element)?void 0:r.report,this.element.textFormat,t.value);case StiProgressValueType.ValueTarget:return StiTextFormatHelper.format(null==(l=this.element)?void 0:l.report,this.element.textFormat,t.value)+` / `+StiTextFormatHelper.format(null==(n=this.element)?void 0:n.report,this.element.textFormat,t.target);case StiProgressValueType.None:default:return""}}getMaxValue(){return this.iterations.select(t=>Math.abs(t.value)).concat(new List([0])).max()}getTargetValues(){let e=this.getMaxValue(),i=new List;for(let t of this.iterations)i.add(null!=t.target?t.target:e);return i}getTextValues(){let r=new List,l=this.getTargetValues();for(let i=0;i<this.iterations.length;i++){let t=l[i],e=0!=t?Math.abs(this.iterations[i].value)/t:0;r.add(StiTextFormatHelper.formatAsPercentage2(this.element.report,this.element.textFormat,e))}return r}getColor(t){return this.element.colorEach?this.getColors(this.iterations.length)[t]:this.style.bandColor}getColors(t){let o=[],e=(null!=this.element.seriesColors&&0<this.element.seriesColors.length?this.element:this.style).seriesColors,i=0,s=0;for(let n=0;n<t;n++){let l=null==e||0==e.length?Color.fromArgb(255,52,152,219):e[i];if(0!=s){let t=Math.min(l.a+s,255),e=Math.min(l.r+s,255),i=Math.min(l.g+s,255),r=Math.min(l.b+s,255);o[n]=Color.fromArgb(t,e,i,r)}else o[n]=l;++i==e.length&&(i=0,s=50)}return o}getContentRectangle(e){if(1<this.iterations.length){let t=StiElementLocationHelper.getLocationRectangles(e,this.iterations.length,this.element);e=StiElementLocationHelper.getSumRectangle(t)}return e}getConditionResult(r,e){let l=null;switch(e.field){case StiProgressFieldCondition.Value:l=r.value;break;case StiProgressFieldCondition.Series:l=r.series;break;case StiProgressFieldCondition.Target:l=r.target;break;case StiProgressFieldCondition.Percentage:{let t=this.getVariation(r),e=new StiPercentageFormatService,i=(e.decimalDigits=3,StiTextFormatHelper.formatAsPercentage2(this.element.report,e,t));l=i.replace("%","")[Stimulsoft.System.StiObject.stimulsoft]().toNumber();break}}let t=!1,i=this.getConditionValue(e);if(null!=l){let t=l=e.field!=StiProgressFieldCondition.Value&&e.field!=StiProgressFieldCondition.Target&&e.field!=StiProgressFieldCondition.Percentage?l:null==l?0:l[Stimulsoft.System.StiObject.stimulsoft]().toNumber();if(null!=t&&null!=i){l[Stimulsoft.System.StiObject.stimulsoft]().getType()!=i[Stimulsoft.System.StiObject.stimulsoft]().getType()&&(l=l.toString(),i=i[Stimulsoft.System.StiObject.stimulsoft]().toString(),t=l);try{switch(e.condition){case Stimulsoft.Report.Components.StiFilterCondition.EqualTo:return 0==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.NotEqualTo:return 0!=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.GreaterThan:return 1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.GreaterThanOrEqualTo:return 0<=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.LessThan:return-1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.LessThanOrEqualTo:return t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i)<=0;case Stimulsoft.Report.Components.StiFilterCondition.Containing:{let t=l.toString(),e=i.toString();return-1!=t.indexOf(e)}case Stimulsoft.Report.Components.StiFilterCondition.NotContaining:{let t=l.toString(),e=i.toString();return-1==t.indexOf(e)}case Stimulsoft.Report.Components.StiFilterCondition.BeginningWith:{let t=l.toString(),e=i.toString();return t.startsWith(e)}case Stimulsoft.Report.Components.StiFilterCondition.EndingWith:{let t=l.toString(),e=i.toString();return t.endsWith(e)}}}catch(t){}}}return t}processColor(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.Color)&&this.getConditionResult(e,t))return t.color;return t}getVariation(t){let e=t.value,i=t.target;return e/i}getConditionValue(t){if(StiString.isNullOrEmpty(t.value))return null;switch(t.field){case StiProgressFieldCondition.Value:case StiProgressFieldCondition.Target:case StiProgressFieldCondition.Percentage:return t.value[Stimulsoft.System.StiObject.stimulsoft]().toNumber();default:return t.value.toString()}}processForeColor(e,t=null){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.TextColor)&&this.getConditionResult(e,t))return t.textColor;return StiDashboardStyleHelper.getForeColor(this.element,t)}processTrackColor(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.TrackColor)&&this.getConditionResult(e,t))return t.trackColor;return t}processFontStyle(t,e){let i=this.processFontBold(t.bold,e),r=this.processFontItalic(t.italic,e),l=this.processFontUnderline(t.underline,e),n=this.processFontStrikeout(t.strikeout,e),o=FontStyle.Regular;return i&&(o^=FontStyle.Bold),r&&(o^=FontStyle.Italic),l&&(o^=FontStyle.Underline),n&&(o^=FontStyle.Strikeout),o}processFontStrikeout(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.FontStyleStrikeout)&&this.getConditionResult(e,t))return t.font.strikeout;return t}processFontUnderline(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.FontStyleUnderline)&&this.getConditionResult(e,t))return t.font.underline;return t}processFontItalic(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.FontStyleItalic)&&this.getConditionResult(e,t))return t.font.italic;return t}processFontBold(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.FontStyleBold)&&this.getConditionResult(e,t))return t.font.bold;return t}processFontName(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.Font)&&this.getConditionResult(e,t))return t.font.name;return t}getInteractionDataGeom(t){if(this.element.isDesigning)return null;let e=new StiProgressInteractionData,i=(e.value=t.value,e.seriesText=t.series,e.target=t.target,new StiInteractionDataGeom);return i.interactionToolTip=this.getToolTip(e),i.interactionHyperlink=this.getHyperlink(e),i.interactionData=e,i}getToolTip(t){let e,i=null==(e=this.element.dashboardInteraction)?void 0:e.toolTip;return StiString.isNullOrEmpty(i)?i:this.parseConstants(i,t)}getHyperlink(t){let e,i=null==(e=this.element.dashboardInteraction)?void 0:e.hyperlink;return StiString.isNullOrEmpty(i)?i:this.parseConstants(i,t)}parseConstants(e,i){if(!StiString.isNullOrEmpty(e)){let t=new Hashtable;return t.set("Value",i.value),t.set("Series",i.seriesText),t.set("Target",i.target),StiReportParser.parse(e,this.element,!1,t)}return e}constructor(t,e){super(),this.minElementSide=2,this.minFontSize=3,this.element=t,this.iterations=e,this.style=StiDashboardStyleHelper.getProgressStyle(this.element)}},Stimulsoft.Base.Context.StiPieSegmentGeom),StiArcSegmentGeom=(__.v.StiPieProgressVisual=class extends __.v.StiProgressVisual{async draw(S,m){if(0==this.iterations.length)return;let h=StiElementLocationHelper.getLocationRectangles(m,this.iterations.length,this.element);if(h.length<1)return;let c=h[0],t=c.width<c.height?c.width:c.height,e=StiDashboardStyleHelper.getElementFontFromStyle(this.element),d=this.getTitleHeight(t,e.size),g=c.width,p=null,i=new Font(e.fontFamily.name,1,e.style,e.unit);for(let e of this.iterations){if(StiString.isNullOrEmpty(e.series))continue;let t=StiStringFormatHelper.getFontSize(S,new Rectangle(0,0,g,d),e.series,i);(null==p||p>t)&&(p=t)}null!=p&&p<e.size&&(d=this.getTitleHeight(t,p));let r=this.element.valueType==StiProgressValueType.None?1:2,b=(t-d*r)/2*.8,C=(p<this.minFontSize&&(p=0,d=0,b=t/2*.8),2*b),f=this.getTargetValues(),w=!1;S.pushClip(m);for(let u=0;u<this.iterations.length;u++){let t=f[u],e=this.iterations[u],i=h[u];if(!w&&(1<i.right-m.right||1<i.bottom-m.bottom)&&(w=!0),!this.element.report.isDesigning){let t=StiDashboardStyleHelper.getHotBackColor(this.element);S.fillRectangle3(new StiSolidBrush(Color.transparent),new StiSolidBrush(t),i,this.getInteractionDataGeom(this.iterations[0]))}let r=i.x+i.width/2,l=i.y+d+(c.height-d)/2,n=new Point(r,l),o=new Rectangle(n.x-b,n.y-b,C,C),s=new Rectangle(o.x+o.width/2-g/2,o.top-d,g,d),a=this.processColor(this.getColor(u),this.iterations[u]);this.drawPieProgress(S,o,s,t,e,p,a)}if(w){let t=StiElementScale.factor(this.element);this.drawArrowMore(S,m,t)}S.popClip()}drawPieProgress(h,c,d,g,p,b,t){let e=this.processTrackColor(this.style.trackColor,p),i=(h.fillEllipse2(e,c,null),0!=g?360/g*Math.abs(p.value):g),r=(360<i&&(i=360),new List([new StiPieSegmentGeom(c,-90,i,null,null,null)]));if(h.fillPath(t,r,c,null),b>=this.minFontSize){let s=StiDashboardStyleHelper.getElementFontFromStyle(this.element),a=this.processFontName(s.fontFamily.name,p),u=this.processFontStyle(s,p),t=new Font(a,b,u),e=new StiFontGeom(t.fontFamily.name,b,t.style,t.unit),i=StiRotationMode.CenterCenter,r=new Point,l={ref:StiRotationMode.CenterCenter},n={ref:new Point},S=(StiStringFormatHelper.measureAlignmentParameters(StiHorAlignment.Center,d,l,n),i=l.ref,r=n.ref,this.processForeColor(p)),o=(h.drawRotatedString4(p.series,e,S,r,StiStringFormatHelper.getStringFormatGeom(h),i,0,!0),0!=g?Math.abs(p.value)/g:0),m=this.getDisplayText(p,o);if(m&&0<m.length){let t=new Rectangle(c.x,c.bottom+.2*b,c.width,b),e=StiRotationMode.CenterCenter,i=new Point,r={ref:StiRotationMode.CenterCenter},l={ref:new Point},n=(StiStringFormatHelper.measureAlignmentParameters(StiHorAlignment.Center,t,r,l),e=r.ref,i=l.ref,.9*b),o=new StiFontGeom(a,n,u,s.unit);h.drawRotatedString4(m,o,S,i,StiStringFormatHelper.getStringFormatGeom(h),e,0,!0)}}}getTitleHeight(t,e){let i=e/13;return t/4*(i=4<i?4:i)}constructor(t,e){super(t,e)}},Stimulsoft.Base.Context.StiArcSegmentGeom);__.v.StiCircleProgressVisual=class extends __.v.StiPieProgressVisual{async draw(d,g){if(0==this.iterations.length)return;let p=StiElementLocationHelper.getLocationRectangles(g,this.iterations.length,this.element);if(p.length<1)return;let b=.8,C=p[0],t=C.width<C.height?C.width:C.height,f=StiDashboardStyleHelper.getElementFontFromStyle(this.element),w=this.getTitleHeight(t,f.size),y=C.width,M=this.getTargetValues(),I=null,i=new Font(f.fontFamily.name,1,f.style,f.unit);for(let e of this.iterations.where(t=>!StiString.isNullOrEmpty(t.series))){let t=StiStringFormatHelper.getFontSize(d,new Rectangle(0,0,y,w),e.series,i);(null==I||I>t)&&(I=t)}let T=(t-(w=null!=I&&I<f.size?this.getTitleHeight(t,I):w))/2*.8,x=null,n=new Rectangle(C.x-T*b,C.y-.79*T,2*T*b,2*T*b),o=new Font(this.element.font.name,1,FontStyle.Bold,GraphicsUnit.Pixel);for(let l=0;l<this.iterations.length;l++){let t=M[l],e=0!=t?Math.abs(this.iterations[l].value)/t:0,i=this.getDisplayText(this.iterations[l],e),r=StiStringFormatHelper.getFontSize(d,n,i,o);(null==x||x>r)&&(x=r)}I<this.minFontSize&&(w=0,I=0,T=t/2*.8);let D=2*T,v=T/5,F=T-v,A=2*F,E=!1;d.pushClip(g);for(let c=0;c<this.iterations.length;c++){let e=p[c];if(!E&&(1<e.right-g.right||1<e.bottom-g.bottom)&&(E=!0),!this.element.report.isDesigning){let t=StiDashboardStyleHelper.getHotBackColor(this.element);d.fillRectangle3(new StiSolidBrush(Color.transparent),new StiSolidBrush(t),e,this.getInteractionDataGeom(this.iterations[0]))}let t=e.x+e.width/2,i=e.y+w+(C.height-w)/2,m=new Point(t,i),h=new Rectangle(m.x-T,m.y-T,D,D),r=new Rectangle(m.x-F,m.y-F,A,A);if(!this.element.report.isDesigning){let t=StiDashboardStyleHelper.getHotBackColor(this.element);d.fillRectangle3(Color.transparent,t,e,this.getInteractionDataGeom(this.iterations[c]))}let l=this.processTrackColor(this.style.trackColor,this.iterations[c]),n=new StiPenGeom(l,v),s=(d.drawEllipse(n,h.x+v/2,h.y+v/2,h.width-v,h.height-v),M[c]),o=0!=s?360/s*Math.abs(this.iterations[c].value):0,a=-90,u=(360<o&&(o=360),new List),S=(u.add(new StiArcSegmentGeom(h,a,o)),u.add(new StiLineSegmentGeom(this.getPoint(m,T,a+o),this.getPoint(m,F,a+o))),u.add(new StiArcSegmentGeom(r,a+o,-o)),u.add(new StiLineSegmentGeom(this.getPoint(m,F,a),this.getPoint(m,T,a))),this.processColor(this.getColor(c),this.iterations[c]));if(d.fillPath(S,u,h,null),x>=this.minFontSize){let t=new Rectangle(m.x-T*b,m.y-.79*T,2*T*b,2*T*b),e=0!=s?Math.abs(this.iterations[c].value)/s:0,i=this.getDisplayText(this.iterations[c],e),r=new Font(this.element.font.name,x,FontStyle.Bold,GraphicsUnit.Pixel),l=this.processFontStyle(r,this.iterations[c]),n=new StiFontGeom(r.name,r.size,l,r.unit),o=this.processForeColor(this.iterations[c]);d.drawRotatedString5(i,n,o,t,StiStringFormatHelper.getStringFormatGeom(d),StiRotationMode.CenterCenter,0,!0)}if(I>=this.minFontSize){let t=new Rectangle(m.x-y/2,h.top-w,y,w),e=new Font(f.fontFamily.name,I,f.style,f.unit),i=this.processFontName(e.fontFamily.name,this.iterations[c]),r=this.processFontStyle(e,this.iterations[c]),l=new Font(i,e.size,r),n=new StiFontGeom(l.fontFamily.name,I,l.style,l.unit),o=StiRotationMode.CenterCenter,s=new Point,a={ref:StiRotationMode.CenterCenter},u={ref:new Point},S=(StiStringFormatHelper.measureAlignmentParameters(StiHorAlignment.Center,t,a,u),o=a.ref,s=u.ref,this.processForeColor(this.iterations[c]));d.drawRotatedString4(this.iterations[c].series,n,S,s,StiStringFormatHelper.getStringFormatGeom(d),o,0,!0)}}if(E){let t=StiElementScale.factor(this.element);this.drawArrowMore(d,g,t)}d.popClip()}getPoint(t,e,i){let r=Math.PI*i/180;return new Point(t.x+Math.cos(r)*e,t.y+Math.sin(r)*e)}constructor(t,e){super(t,e)}},__.v.StiDataBarsProgressVisual=class extends __.v.StiProgressVisual{async draw(g,t){if(0==this.iterations.length)return;let e=.06*t.width,p=(e<4&&(e=4),new Rectangle(t.x+e/2,t.y+e/2,t.width-e,t.height-e)),b=p.height/this.iterations.length,C=(b<this.minElementSide&&(b=this.minElementSide),1<this.iterations.length?.95*b:b),f=p.width,l=this.getTextValues(),w=this.getTargetValues(),y=StiDashboardStyleHelper.getElementFontFromStyle(this.element),M=null,n=new Font(y.fontFamily.name,1,y.style,y.unit);for(let r=0;r<this.iterations.length;r++){let t=``+this.iterations[r].series+l[r],e=new Rectangle(p.x,p.y+b*r+.07*C,f,.86*C),i=StiStringFormatHelper.getFontSize(g,e,t,n);(null==M||M>i)&&(M=i)}let I=this.element.font.size/18*M,T=(I>M&&(I=M),new Font(y.fontFamily.name,I,y.style,y.unit)),x=(g.pushClip(p),1<this.iterations.length?.05*b/(this.iterations.length-1):0);for(let d=0;d<this.iterations.length;d++){let t=this.processFontName(T.fontFamily.name,this.iterations[d]),e=this.processFontStyle(T,this.iterations[d]),n=new Font(t,T.size,e),i=w[d],r=p.y+(b+x)*d,o=new Rectangle(p.x,r,f,C),l=this.processTrackColor(this.style.trackColor,this.iterations[d]),s=(g.fillRectangle(l,o,this.getInteractionDataGeom(this.iterations[d])),0!=i?Math.abs(this.iterations[d].value)/i:0),a=this.getDisplayText(this.iterations[d],s),u=this.processForeColor(this.iterations[d]);if(M>=this.minFontSize&&a&&0<a.length){let t=new StiFontGeom(n.name,n.size,n.style,n.unit),e=g.measureString(a,t),i=new Rectangle(o.right-e.width,o.top,e.width,o.height);g.drawRotatedString5(a,t,u,i,StiStringFormatHelper.getStringFormatGeom(g),StiRotationMode.CenterCenter,0,!0)}let S=this.iterations[d].series;if(M>=this.minFontSize){let t=new StiFontGeom(y.fontFamily.name,I,n.style,n.unit),e=g.measureString(S,t),i=new Rectangle(o.left,o.top+.05*o.height,e.width,o.height);u=this.processForeColor(this.iterations[d]),g.drawRotatedString5(S,t,u,i,StiStringFormatHelper.getStringFormatGeom(g),StiRotationMode.CenterCenter,0,!0)}let m=0!=i?f/i*this.iterations[d].value:0,h=(m>o.width&&(m=o.width),new Rectangle(p.x,r,m,C)),c=(g.pushClip(h),this.processColor(this.getColor(d),this.iterations[d]));if(g.fillRectangle(c,h,this.getInteractionDataGeom(this.iterations[d])),this.element.report.isDesigning||(null==c&&(c=Color.transparent),g.fillRectangle3(c,Color.fromArgb3(100,Color.white),h,this.getInteractionDataGeom(this.iterations[d]))),M>=this.minFontSize&&a&&0<a.length){let t=new StiFontGeom(n.name,n.size,n.style,n.unit),e=g.measureString(a,t),i=new Rectangle(o.right-e.width,o.top,e.width,o.height),r=this.isColorLight(c)?Color.white:u,l=this.processForeColor(this.iterations[d],r);g.drawRotatedString5(a,t,l,i,StiStringFormatHelper.getStringFormatGeom(g),StiRotationMode.CenterCenter,0,!0)}if(M>=this.minFontSize){let t=new StiFontGeom(n.name,n.size,n.style,n.unit),e=g.measureString(S,t),i=new Rectangle(o.left,o.top+.05*o.height,e.width,o.height),r=this.isColorLight(c)?Color.white:u,l=this.processForeColor(this.iterations[d],r);g.drawRotatedString5(S,t,l,i,StiStringFormatHelper.getStringFormatGeom(g),StiRotationMode.CenterCenter,0,!0)}g.popClip()}g.popClip()}isColorLight(t){return 0<600-t.r-t.g-t.b}constructor(t,e){super(t,e)}};{let t;(t=>{t[t["Pdf"]=0]="Pdf",t[t["Excel"]=1]="Excel",t[t["Data"]=2]="Data",t[t["Image"]=3]="Image",t[t["Html"]=4]="Html",t[t["Document"]=5]="Document"})(t=__.f.StiDashboardExportFormat||(__.f.StiDashboardExportFormat={}))}let StiPageOrientation=Stimulsoft.Report.Components.StiPageOrientation,PaperKind=Stimulsoft.System.Drawing.Printing.PaperKind,IStiDashboardExportSettings=Stimulsoft.Report.Dashboard.Export.IStiDashboardExportSettings,StiExportSettings=Stimulsoft.Report.Export.StiExportSettings,IStiSizeExportSettings=(__.y.StiDashboardExportSettings=class extends StiExportSettings{constructor(){super(...arguments),this.renderBorders=!0,this.orientation=StiPageOrientation.Landscape,this.paperSize=PaperKind.A4,this.openAfterExport=!0,this.viewportWidth=0,this.viewportHeight=0}is(t){if(t instanceof Stimulsoft.System.Interface)return-1!=this.implements().indexOf(t);if("function"==typeof t)return this instanceof t;if(null==t)throw new Error("Type for comparison is 'undefined'");return!1}is2(t){return this.is(t)}as(t){if(this.is(t))return this;return null}implements(){let t=[IStiDashboardExportSettings];return(this.implements=()=>t)()}get isDesignMode(){return this.is(__.y.StiSvgDashboardExportSettings)&&this.as(__.y.StiSvgDashboardExportSettings).designMode}getExportFormat(){return __.A.StiExportFormatHelper.convert(this.format)}toParameters(){let t=super.toParameters();return t.Format=Enum.getName(__.f.StiDashboardExportFormat,this.format),t.Orientation=Enum.getName(StiPageOrientation,this.orientation),t.PaperSize=Enum.getName(StiPageOrientation,this.paperSize),t}},__.y.IStiDashboardScaleMode=new Stimulsoft.System.Interface("IStiDashboardScaleMode"),__.y.IStiSizeExportSettings=new Stimulsoft.System.Interface("IStiSizeExportSettings"),__.y.IStiSizeExportSettings),StiDashboardScaleMode=Stimulsoft.Report.Dashboard.StiDashboardScaleMode,IStiDashboardScaleMode=__.y.IStiDashboardScaleMode,StiImageType=Stimulsoft.Report.Export.StiImageType,IStiImageDashboardExportSettings=Stimulsoft.Report.Dashboard.Export.IStiImageDashboardExportSettings,IStiHtmlDashboardExportSettings=(__.y.StiImageDashboardExportSettings=class extends __.y.StiDashboardExportSettings{implements(){let t=super.implements().concat([IStiSizeExportSettings,IStiImageDashboardExportSettings,IStiDashboardScaleMode]);return(this.implements=()=>t)()}get width(){return this._width}set width(t){this._width=t,this.paperSize=PaperKind.Custom}get height(){return this._height}set height(t){this._height=t,this.paperSize=PaperKind.Custom}toParameters(){let t=super.toParameters();return t.Format=Enum.getName(__.f.StiDashboardExportFormat,this.format),t.ImageType=Enum.getName(StiImageType,this.imageType),t.ScaleMode=Enum.getName(StiDashboardScaleMode,this.scaleMode),t.Width=0,t.Height=0,t}constructor(t){super(),this.format=__.f.StiDashboardExportFormat.Image,this.imageType=StiImageType.Svg,this.scale=100,this.scaleMode=StiDashboardScaleMode.ViewSize,null!=t?this.imageType=t:this.renderSinglePage=!0}},__.y.StiSvgDashboardExportSettings=class extends __.y.StiImageDashboardExportSettings{constructor(){super(...arguments),this.imageType=StiImageType.Svg,this.renderEmptyContent=!0}},Stimulsoft.Report.Dashboard.Export.IStiHtmlDashboardExportSettings);__.y.StiHtmlDashboardExportSettings=class extends __.y.StiDashboardExportSettings{constructor(){super(...arguments),this.format=__.f.StiDashboardExportFormat.Html,this.imageQuality=200,this.scale=100,this.enableAnimation=!0,this.scaleMode=StiDashboardScaleMode.ViewSize}implements(){let t=super.implements().concat([IStiHtmlDashboardExportSettings,__.y.IStiDashboardScaleMode]);return(this.implements=()=>t)()}toParameters(){let t=super.toParameters();return t.ScaleMode=Enum.getName(StiDashboardScaleMode,this.scaleMode),t}};{class StiExportTool{async render(t,e,i,r){}static getTool(t){let e=this.typeToTool.get(t);if(null!=e)return e;let i=StiExportToolAttribute.attributes.get(t[Stimulsoft.System.StiObject.stimulsoft]().getTypeName()),r=null!=i?i.exportToolTypeName:null;if(null==r)return null;return e=StiActivator.createObject2(r),this.typeToTool.set(t,e),e}static isAllowOpacity(t){return t.is(__.y.StiImageDashboardExportSettings)||t.is(__.y.StiHtmlDashboardExportSettings)||t.is(__.y.StiPdfDashboardExportSettings)||t.is(__.y.StiExcelDashboardExportSettings)}static getScaleFactor(t,e){if(0<e.viewportWidth&&0<e.viewportHeight)return Math.min(t.page.width/e.viewportWidth,t.page.height/e.viewportHeight);return 1}}StiExportTool.typeToTool=new Hashtable,__.z.StiExportTool=StiExportTool}let StiHtmlDashboardExportSettings=__.y.StiHtmlDashboardExportSettings,StiTitleMeasureHelper=__.h.StiTitleMeasureHelper,StiSvgDashboardExportSettings=__.y.StiSvgDashboardExportSettings,StiImageDashboardExportSettings=__.y.StiImageDashboardExportSettings,StiExportTool=__.z.StiExportTool,IStiBorder=(__.A.StiTitleExportHelper=class{static async render(t,e,i){let r,l,n=t.as(IStiTitleElement),o=__.p.StiElementControlPainter.getBorderContentRect(new Rectangle(0,0,e.width,e.height),e.border),s=null!=n?n.title:null,a=this.getTitleText(t);if(null==s||!s.visible||StiString.isNullOrEmpty(a))return o;let u=StiExportTool.getScaleFactor(e,i),S=StiTitleMeasureHelper.measureTitle3(null,o,n.title,a),m=(S.height=S.height*u,S.height>o.height/2&&(S.height=o.height/2),1);if(s.sizeMode==StiTextSizeMode.Fit||s.sizeMode==StiTextSizeMode.FitAndWordWrap){let t=S.width>o.width?o.width/S.width:1,e=S.height>o.height?o.height/S.height:1;m=Math.min(Math.abs(t),Math.abs(e))}let h=this.getTitleForeColor(t),c=Color.transparent.equals(h)?StiDashboardStyleHelper.getTitleForeColor(t):h,d=this.getTitleFont(t),g=1==m?d:StiFontUtils.changeFontSize(d,d.size*m),p=i.is(StiImageDashboardExportSettings)&&i.imageType==StiImageType.Svg||i.is(StiSvgDashboardExportSettings)||i.is(StiHtmlDashboardExportSettings),b=this.getTitleBackColor(t),C=Color.transparent.equals(b)?StiDashboardStyleHelper.getBackColor(t,null,p):b,f=StiDashboardStyleHelper.getBackColor(t,null,!0),w=(C.equals(f)&&(C=Color.transparent),i.format==__.f.StiDashboardExportFormat.Html&&t.is(IStiChartElement)&&(o.x+=3,o.y+=3),new StiText),y=(w.name=t.name+`_Title`,w.allowHtmlTags=!0,w.clientRectangle=new Rectangle(o.x,o.y,o.width,S.height),w.text=await StiReportParser.parseAsync(a,t),w.font=g,w.horAlignment=this.convert(s.horAlignment),w.trimming=s.sizeMode==StiTextSizeMode.Trimming?StringTrimming.EllipsisCharacter:StringTrimming.None,w.wordWrap=s.sizeMode==StiTextSizeMode.WordWrap||s.sizeMode==StiTextSizeMode.FitAndWordWrap,w.vertAlignment=StiVertAlignment.Center,w.textBrush=new StiSolidBrush(c),w.brush=new StiSolidBrush(C),o.height-=w.height,o.y+=w.height,null==(r=s[Stimulsoft.System.StiObject.stimulsoft]().as(IStiTitlePadding))?void 0:r.padding),M=(null!=y&&(o.y+=y.top+y.bottom,o.height-=y.top+y.bottom,w.left+=y.left,w.width-=y.left+y.right,w.top+=y.top),null==(l=t.as(IStiCornerRadius))?void 0:l.cornerRadius);return null!=M&&((0<M.topLeft||0<M.topRight)&&(w.cornerRadius=new StiCornerRadius(M.topLeft,M.topRight,0,0)),0<M.topLeft&&(w.margins.left=Math.max(w.margins.left,M.topLeft/2)),0<M.topRight)&&(w.margins.right=Math.max(w.margins.right,M.topRight/2)),e.components.add(w),o}static getTitleBackColor(t){let e=StiDashboardStyleHelper.getElementTitleStyle(t);if(null!=e&&e.allowUseTitle)return e.titleBackColor;if(t.is(IStiTitleElement))return t.title.backColor;return Color.transparent}static getTitleForeColor(t){let e=StiDashboardStyleHelper.getElementTitleStyle(t);if(null!=e&&e.allowUseTitle)return e.titleForeColor;if(t.is(IStiTitleElement))return t.title.foreColor;return Color.black}static getTitleFont(t){let e=StiDashboardStyleHelper.getElementTitleStyle(t);if(null!=e&&e.allowUseTitle)return e.titleFont;if(t.is(IStiTitleElement))return t.title.font;return null}static getTitleText(e){if(e.is(IStiTitleElement)){if(e.is(StiChartElement)&&e.showViewTitle){let t=e.userViewStates.firstOrDefault(t=>t.key==e.selectedViewStateKey);if(null!=t)return t.name}return e.title.text}return null}static convert(t){switch(t){case StiHorAlignment.Left:return StiTextHorAlignment.Left;case StiHorAlignment.Center:return StiTextHorAlignment.Center;case StiHorAlignment.Right:return StiTextHorAlignment.Right;default:throw new StiTypeNotRecognizedException(t)}}},__.A.StiLayoutExportHelper=class{static excludeMargin(e,i){if(e.is(IStiMargin)){let t=e.margin;if(!t.isEmpty)return new Rectangle(i.x+t.left,i.y+t.top,Math.max(1,i.width-t.left-t.right),Math.max(1,i.height-t.top-t.bottom))}return i}static excludePadding(e,i,r){if(e.is(IStiPadding)){let t=e.padding;if(!t.isEmpty)return new Rectangle(i.x+t.left*r,i.y+t.top*r,Math.max(1,i.width-t.left*r-t.right*r),Math.max(1,i.height-t.top*r-t.bottom*r))}return i}static excludeCornerRadius(n,o,s){if(n.is(IStiCornerRadius)){let t=n.cornerRadius;if(t.isDefault())return o;let e=Math.max(t.topLeft*s/2,t.bottomLeft*s/2),i=Math.max(t.topLeft*s/2,t.topRight*s/2),r=Math.max(t.topRight*s/2,t.bottomRight*s/2),l=Math.max(t.bottomLeft*s/2,t.bottomRight*s/2);return new Rectangle(o.x+e,o.y+i,Math.max(1,o.width-e-r),Math.max(1,o.height-i-l))}return o}},Stimulsoft.Report.Components.IStiBorder),StiExportFormat=(__.A.StiBorderExportHelper=class{static render(t,e,i){t.is(IStiSimpleBorder)&&e.is(IStiBorder)&&i.renderBorders&&(e.border=t.border2.getBorder(),e.border.topmost=!0)}},__.A.StiBackColorExportHelper=class{static render(t,e){e.is(IStiBackColor)&&(e.backColor=StiDashboardStyleHelper.getBackColor(t))}},Stimulsoft.Report.StiExportFormat),IStiExcelDashboardExportSettings=(__.A.StiExportFormatHelper=class{static convert(t){switch(t){case __.f.StiDashboardExportFormat.Pdf:return StiExportFormat.Pdf;case __.f.StiDashboardExportFormat.Excel:return StiExportFormat.Excel;case __.f.StiDashboardExportFormat.Html:return StiExportFormat.Html;case __.f.StiDashboardExportFormat.Data:return StiExportFormat.Data;case __.f.StiDashboardExportFormat.Image:return StiExportFormat.Image;case __.f.StiDashboardExportFormat.Document:return StiExportFormat.Document;default:throw new StiTypeNotRecognizedException(t)}}},Stimulsoft.Report.Dashboard.Export.IStiExcelDashboardExportSettings),IStiPdfDashboardExportSettings=(__.y.StiExcelDashboardExportSettings=class extends __.y.StiDashboardExportSettings{constructor(){super(...arguments),this.format=__.f.StiDashboardExportFormat.Excel,this.imageQuality=200,this.scaleMode=StiDashboardScaleMode.ViewSize}implements(){let t=super.implements().concat([IStiSizeExportSettings,IStiExcelDashboardExportSettings,__.y.IStiDashboardScaleMode]);return(this.implements=()=>t)()}get width(){return this._width}set width(t){this._width=t,this.paperSize=PaperKind.Custom}get height(){return this._height}set height(t){this._height=t,this.paperSize=PaperKind.Custom}toParameters(){let t=super.toParameters();return t.Width=0,t.Height=0,t.ScaleMode=Enum.getName(StiDashboardScaleMode,this.scaleMode),t}},Stimulsoft.Report.Dashboard.Export.IStiPdfDashboardExportSettings),StiDataType=(__.y.StiPdfDashboardExportSettings=class extends __.y.StiDashboardExportSettings{constructor(){super(...arguments),this.format=__.f.StiDashboardExportFormat.Pdf,this.imageQuality=200,this.scaleMode=StiDashboardScaleMode.PaperSize}implements(){let t=super.implements().concat([IStiPdfDashboardExportSettings,IStiDashboardScaleMode]);return(this.implements=()=>t)()}toParameters(){let t=super.toParameters();return t.ScaleMode=Enum.getName(StiDashboardScaleMode,this.scaleMode),t}},Stimulsoft.Report.Export.StiDataType),IStiDataDashboardExportSettings=Stimulsoft.Report.Dashboard.Export.IStiDataDashboardExportSettings,StiHtmlChartType=(__.y.StiDataDashboardExportSettings=class extends __.y.StiDashboardExportSettings{implements(){let t=super.implements().concat([IStiDataDashboardExportSettings]);return(this.implements=()=>t)()}toParameters(){let t=super.toParameters();return t.DataType=Stimulsoft.System.Enum.getName(StiDataType,this.dataType),t}constructor(t){super(),this.format=__.f.StiDashboardExportFormat.Data,this.dataType=StiDataType.Csv,null!=t&&(this.dataType=t)}},Stimulsoft.Report.Export.StiHtmlChartType),StiHtmlExportSettings=Stimulsoft.Report.Export.StiHtmlExportSettings,StiDataExportSettings=Stimulsoft.Report.Export.StiDataExportSettings,StiImageExportSettings=Stimulsoft.Report.Export.StiImageExportSettings,StiSvgExportSettings=Stimulsoft.Report.Export.StiSvgExportSettings,StiDataDashboardExportSettings=__.y.StiDataDashboardExportSettings,StiExcelDashboardExportSettings=__.y.StiExcelDashboardExportSettings,StiPdfDashboardExportSettings=__.y.StiPdfDashboardExportSettings,StiDashboardExportSettings=__.y.StiDashboardExportSettings,StiDataExportMode=Stimulsoft.Report.Export.StiDataExportMode,StiPdfExportSettings=Stimulsoft.Report.Export.StiPdfExportSettings,StiExcelExportSettings=Stimulsoft.Report.Export.StiExcelExportSettings,XmlTextWriter=(__.A.StiExportSettingsHelper=class{static getExportSettings(i){switch(i.format){case __.f.StiDashboardExportFormat.Pdf:{let t=new StiPdfExportSettings;return t.imageQuality=1,t.imageResolution=i.imageQuality,t}case __.f.StiDashboardExportFormat.Excel:{let t=new StiExcelExportSettings;return t.imageQuality=1,t.imageResolution=i.imageQuality,t}case __.f.StiDashboardExportFormat.Data:{let t=new StiDataExportSettings;return t.dataType=i.dataType,t.dataExportMode=StiDataExportMode.DataAndHeadersFooters,t.skipColumnHeaders=!0,t}case __.f.StiDashboardExportFormat.Image:{let e=i.imageType;switch(e){case StiImageType.Svg:return new StiSvgExportSettings;default:{let t=new StiImageExportSettings;return t.imageType=e,t.imageZoom=i.scale/100,t.imageResolution=100,t}}}case __.f.StiDashboardExportFormat.Html:{let t=new StiHtmlExportSettings;return t.imageResolution=i.imageQuality,t.useEmbeddedImages=!0,t.zoom=i.scale/100,t.addPageBreaks=!1,t.chartType=i.enableAnimation?StiHtmlChartType.AnimatedVector:StiHtmlChartType.Vector,t}case __.f.StiDashboardExportFormat.Document:return null;default:throw new StiTypeNotRecognizedException(i.format)}}static getDashboardExportSettings(t){if(t instanceof StiDashboardExportSettings)return t;let e=null==t?StiExportFormat.Document:t.getExportFormat(),i=this.getDashboardExportSettings2(e);switch(e){case StiExportFormat.Html:i.enableAnimation=t.chartType==StiHtmlChartType.AnimatedVector;break}return i}static getDashboardExportSettings2(t){switch(t){case StiExportFormat.Pdf:return new StiPdfDashboardExportSettings;case StiExportFormat.Excel:return new StiExcelDashboardExportSettings;case StiExportFormat.Data:return new StiDataDashboardExportSettings;case StiExportFormat.Csv:return new StiDataDashboardExportSettings(StiDataType.Csv);case StiExportFormat.Dbf:return new StiDataDashboardExportSettings(StiDataType.Dbf);case StiExportFormat.Xml:return new StiDataDashboardExportSettings(StiDataType.Xml);case StiExportFormat.Json:return new StiDataDashboardExportSettings(StiDataType.Json);case StiExportFormat.Dif:return new StiDataDashboardExportSettings(StiDataType.Dif);case StiExportFormat.Sylk:return new StiDataDashboardExportSettings(StiDataType.Sylk);case StiExportFormat.Image:return new StiImageDashboardExportSettings;case StiExportFormat.ImageBmp:return new StiImageDashboardExportSettings(StiImageType.Bmp);case StiExportFormat.ImageGif:return new StiImageDashboardExportSettings(StiImageType.Gif);case StiExportFormat.ImagePng:return new StiImageDashboardExportSettings(StiImageType.Png);case StiExportFormat.ImageTiff:return new StiImageDashboardExportSettings(StiImageType.Tiff);case StiExportFormat.ImageJpeg:return new StiImageDashboardExportSettings(StiImageType.Jpeg);case StiExportFormat.ImageEmf:return new StiImageDashboardExportSettings(StiImageType.Emf);case StiExportFormat.ImagePcx:return new StiImageDashboardExportSettings(StiImageType.Pcx);case StiExportFormat.ImageSvgz:return new StiImageDashboardExportSettings(StiImageType.Svgz);case StiExportFormat.ImageSvg:return new StiSvgDashboardExportSettings;case StiExportFormat.Html:return new StiHtmlDashboardExportSettings;case StiExportFormat.Document:return null;default:throw new StiTypeNotRecognizedException(t)}}static isDataExport(t){return t.is(StiDataDashboardExportSettings)||t.is(StiExcelDashboardExportSettings)&&t.exportDataOnly}},Stimulsoft.System.Xml.XmlTextWriter),StiImage=Stimulsoft.Report.Components.StiImage;{class StiElementExportTool extends __.z.StiExportTool{async render(t,e,i,r){if(this.renderEmptyDataMessage(t,e,i.clone(),r))return;await this.renderContent(t,e,i.clone())}async renderContent(t,e,i){let r=new StiImage(i),l=(r.name=t.name+`_Content`,r.stretch=!0,r.aspectRatio=!1,await this.draw(t,i));r.imageToDraw=l,e.components.add(r)}async drawElement(e,t){let i=new Image,r=new XmlTextWriter(Encoding.UTF8),l=new StiSvgData;if(l.x=0,l.y=0,l.width=t.width,l.height=t.height,l.component=e.as(StiComponent),e.is(IStiBackColor)){let t=StiDashboardStyleHelper.getBackColor(e);t.a<255&&(t=Color.white),r.writeStartElement("rect"),r.writeAttributeString("x","0"),r.writeAttributeString("y","0"),r.writeAttributeString("height",l.height.toString()[Stimulsoft.System.StiObject.stimulsoft]().replaceAll(",",".")),r.writeAttributeString("width",l.width.toString()[Stimulsoft.System.StiObject.stimulsoft]().replaceAll(",",".")),r.writeAttributeString("style",StiContextSvgHelper.writeFillBrush(r,t,new RectangleD(0,0,l.width,l.height))),r.writeEndElement()}if(e.is(StiProgressElement)){let t=Stimulsoft.Report.Dashboards.StiDashboardHelperCreator.createProgressVisualSvgHelper();null!=t&&await t.writeProgress(r,l)}else if(e.is(StiIndicatorElement)){let t=Stimulsoft.Report.Dashboards.StiDashboardHelperCreator.createIndicatorVisualSvgHelper();null!=t&&await t.writeIndicator(r,l)}else if(e.is(StiCardsElement)){let t=Stimulsoft.Report.Dashboards.StiDashboardHelperCreator.createCardsVisualSvgHelper();null!=t&&await t.writeCards(r,l)}else if(e.is(StiGaugeElement)){let t=Stimulsoft.Report.Dashboards.StiDashboardHelperCreator.createGaugeVisualSvgHelper();null!=t&&await t.writeGauge(r,l,!1)}let n=Stimulsoft.Report.Resources.StimulsoftFont.getBase64Content(),o="<style>@font-face {font-family: 'Stimulsoft';src: url(data:font/ttf;base64,"+n+") format('truetype');font-weight: normal;font-style: normal;}</style>",s=StiString.format('<svg xmlns="http://www.w3.org/2000/svg" width="{0}" height="{1}"><defs>{3}</defs><rect x="0" y="0" width="{0}" height="{1}" style="fill: white;"/>{2}</svg>',l.width.toString(),l.height.toString(),r.textWriter.getStringBuilder().toString(),o);return i.svg=s,await i.convertAsync(Stimulsoft.System.Drawing.Imaging.ImageFormat.Jpeg),i}async draw(e,t){if(e.is(StiImageElement)){let t=await e.imageToDraw;return null!=t&&(t.url=e.imageHyperlink),t}let i=new Rectangle(0,0,Math.trunc(t.width),Math.trunc(t.height));if(e.is(StiIndicatorElement)||e.is(StiProgressElement)||e.is(StiGaugeElement)||e.is(StiCardsElement))return this.drawElement(e,i);let r=new Image;try{if(e.is(IStiBackColor)){let t=StiDashboardStyleHelper.getBackColor(e);t.a<255&&(t=Color.white)}await this.paintContent(null,i,e)}catch(t){}return r}async paintContent(t,e,i){try{await this.paintAtom(t,e.clone(),i)}catch(t){}finally{}}async paintAtom(t,e,i){let r=null;if(i.isQuerable&&null==(r=await StiElementExportTool.getDataTable(i)))return}static async getDataTable(t){let e,i=null==(e=t.as(IStiManuallyEnteredData))?void 0:e.getManuallyEnteredDataTable();if(null!=i)return i;return StiElementDataCache.tryToGetOrCreate(t)}renderEmptyDataMessage(e,i,r,t){var l;if(!t.is(StiSvgDashboardExportSettings)||t.renderEmptyContent)return!1;if(e.is(IStiRegionMapElement)&&e.dataFrom==StiMapSource.Manual)return!1;if(e.is(IStiImageElement)&&(null!=e.image||null!=e.icon||!StiString.isNullOrEmpty(e.imageHyperlink)))return!1;if(e.is(IStiWebContentElement)&&(!StiString.isNullOrEmpty(e.url)||!StiString.isNullOrEmpty(e.embedCode)))return!1;if(0<e.getMeters().length||(null==(l=e.as(IStiManuallyEnteredData))?void 0:l.dataMode)==StiDataMode.ManuallyEnteringData)return!1;let n=r.size,o=new Font("Arial",9),s=e.is(IStiWebContentElement)?Loc.get("FormStyleDesigner","NotSpecified"):e.is(IStiImageElement)?Loc.get("Dashboard","ImageNotSpecified"):Loc.get("Dashboard","DragDropDataFromDictionary"),a=Graphics.measureString(s,o);if(r.y+=r.height/2-48,r.height=Math.min(32,r.height),48<=n.width&&64<=n.height){r.y+=n.width>a.width+16?16:32;let t=new StiImage(new Rectangle(r.width/2-16,r.y,32,32));t.name=e.name+`_EmptyImage`,t.horAlignment=StiHorAlignment.Center,t.image=Stimulsoft.Base.Drawing.StiImageConverter.stringToImage(this.getEmptyDataImage(e)),i.components.add(t)}if(n.width>a.width+16&&32<=n.height){r.y+=32;let t=new StiText(r);t.name=e.name+`_EmptyText`,t.horAlignment=StiTextHorAlignment.Center,t.vertAlignment=StiVertAlignment.Center,t.font=o,t.text=s,t.textBrush=new StiSolidBrush(Color.darkGray),i.components.add(t)}return!0}format(t,e){var i,r;if(null!=e&&null!=t){if(e instanceof DateTime&&!(t.textFormat.is2(StiDateFormatService)||t.textFormat.is2(StiTimeFormatService)||t.textFormat.is2(StiCustomFormatService)))return e.toShortDateString();return StiExtValueConverter.isEligable(e,null==(i=null==t?void 0:t.report)?void 0:i.culture)?StiExtValueConverter.convert(e,null==(r=null==t?void 0:t.report)?void 0:r.culture):t.textFormat.format(e)}return""}getEmptyDataImage(t){if(t.is(Stimulsoft.Report.Dashboard.IStiTableElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTIzODI0M0M3MzI1MTFFN0E4QTI5RjYzRTdGNDREM0MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTIzODI0M0I3MzI1MTFFN0E4QTI5RjYzRTdGNDREM0MiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NWU4YzI0ZGYtNjI5ZS1jNDQwLTg2NjMtMjlmM2VlODA4MGFjIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YWM1MjY1OGUtNzMxZC0xMWU3LWE0ZGMtODFhMmMxY2EwMjcyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+9Pfr+wAAAINJREFUeNrsl8EJwCAQBD2xoOu/Ce1CrgqDEIJGMQQMm8fuRxbmsRzzUUopDpmQUsIOOF/UGSS0TVUHYnahnZxvi5m5Vf+C6wbknC+ovrXPspOTGCPUAe/ACSth7vI8MW+5wQFE4APgEtIBOkAH6AAdoAN0gAN+I6HALoD+HcMdOAQYAAB9hUYI2ET/AAAAAElFTkSuQmCC";if(t.is(Stimulsoft.Report.Dashboard.IStiCardsElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDA2IDc5LjE2NDc1MywgMjAyMS8wMi8xNS0xMTo1MjoxMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUIzNTA2OThGNDM4MTFFQjg0MDZGNjlFNzQyNzdDRTQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUIzNTA2OTdGNDM4MTFFQjg0MDZGNjlFNzQyNzdDRTQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Mjc2NTY1N2UtZjU3OS03OTQxLWIwYTgtZGU3MjdiYjI3MDhhIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6OWZmYzA0NGMtNTQyYS03NTRkLWI0YzUtOTIwZWRkMTVlYjRlIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/5jbrAAAAG1JREFUeNrslzEOgDAMAxOU/+T/z8iLzMLACkZyAXvqUvWUNCclAYQyW4hTMyN7vLujjvPdPiR5V98CAxjAAHWeSWaeWQCZiOqhSl6tAvwJDbCcB9iABbCIKJlYRAb4jIiYJfG9Isrfb8e7AAMAInAVUndCPVIAAAAASUVORK5CYII=";if(t.is(Stimulsoft.Report.Dashboard.IStiChartElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGNJREFUeNpi/P//P8NAAsaBdgATiDh//vz/AXXAgIfAQAIWYhXiiiZDQ0PG0SigSxTQKnpGo2DUAYMrF9CisCFk5mgUjDpg1AGjDhh1wKgDRh0A7hsOVNcMVCUzjvjeMUCAAQAQtyafO9RmPQAAAABJRU5ErkJggg==";if(t.is(Stimulsoft.Report.Dashboard.IStiGaugeElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzczNjEzRTU3MzI1MTFFN0I4QTBFMzE1MDQyQjZBNDQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzczNjEzRTQ3MzI1MTFFN0I4QTBFMzE1MDQyQjZBNDQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NWU4YzI0ZGYtNjI5ZS1jNDQwLTg2NjMtMjlmM2VlODA4MGFjIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YWM1MjY1OGUtNzMxZC0xMWU3LWE0ZGMtODFhMmMxY2EwMjcyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+or3oxAAAA/1JREFUeNrEV9tOU0EU3S2UW4AWStsQ7oYaCA8QEj9BeOdB+AVRg36JxesvoA++i59gFB4hJnK/2AttgXBpKXWvcfZx2pz29IJxJZOec3rOWmv27Nkz48rn8/Q/0Vjpi+vr6x7+meX2kNsDbve4+fTfKW4/uX3l9oXb56mpqWwlvC6nCLAwRJ5zW/R6vYGOjg5qbW2l5uZmamhoUO/kcjm6vr6my8tLOjs7o3Q6HefHb7lF2EiqZgMsvgCSgYGBEItTY2NlAbu5uaFYLEa/GDDPJlaqMsDC6Nrrrq6ux8FgkPBOW1sbZTIZSqVSqpdXV1dKaHJykjY2NqipqYna29vJ5/Opa+D8/JwSiQQlk8n3fPuMjeQcDWjxj4FAYK6vr089AwlCDsLj4+OC95kU3xQ8Y+PU29trGTk4OEBEPvHlo2ITdjGNmOKnp6eqV5ubmzQ6OqpIMRQtLS3WkIyNjVnROTk5QY+RBzQ4OKi+1VxzbGKZf5+WjAD3ZJ7dr+BDl8tF8Xic9vf3aXh4WBEi7OFwmNxud8nxh5GjoyNlAoA4d0hd7+zs4PkCR+GDvO8uyvZXfr9fiaM3EJek6u7uVlm+u7tbNgERoaGhIerp6bHCDy4A3NDQWoUGkK2hUCiIREIvRAhEaJh+IAfZn+Quj/7+fvWdDBMiDW5o6Gn91wA7QrYsSqgQwtvbW5VMIBLoHqj/pVdOJsbHx1WH9vb21DOtsag1rQjMoMjALV6W8UMmF2e3ABHCkDgBPT88PFTJCW5oQAuaBQYQYlVTdc8gJtPIHF95DxHa2tpS+VG21rOgGBduzTFrGphGeZXiAWD62EGGQTJ+e3ubnMq5cAm31po2DdxHoQEkrKh8dujs7LTWACFFJMpBuIRba4VNA14hlZCaIiZQAzAlTVxcXDgOgw23t3gaVgwYQK2wqplxXS3EQBpLqulW7u2AMRwZGSGPx6Mar5aOq6MNd9pcC37weh6QGp/NZlVYsQSXAnJhYmKiol7KEEmiY+8ATTMC3yRBZJqh9t8VhAuV0EjG76aBVazx5pRB4UAk6gU4wGVya63VAgPsMoGxQrGRwoEKVi+EQwobNFgrhn2jZYCXxwz/vME2SkowphtKsqyItQDfggNcUta1xjutWTANI7zKRVFY4BR7AjNzqwUSD/sJAFzgBDdrwEGkYLGQtra2Ns+lNS/gD/L1gMXy0WjUugc3ayyYmgUGtIk3HLr8XQOc4C7Ws6uES9hAYidzVzA2pUtVb8ux+sn8dQKWaFQ5VMeat+U2B5NlbKOwk6nhYBJFr6s+mNgczV5we8Kl2V/h0Syhj2Yv6zqalTiczhiHU9mjJY3DKSrcqszzug+n/xq/BRgAggASny2TUqcAAAAASUVORK5CYII=";if(t.is(Stimulsoft.Report.Dashboard.IStiImageElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEJDMzU4OUE3MzI1MTFFN0EzMDFCNjJCNzkyMjQxMjIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEJDMzU4OTk3MzI1MTFFN0EzMDFCNjJCNzkyMjQxMjIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NWU4YzI0ZGYtNjI5ZS1jNDQwLTg2NjMtMjlmM2VlODA4MGFjIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YWM1MjY1OGUtNzMxZC0xMWU3LWE0ZGMtODFhMmMxY2EwMjcyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+HvDPrgAAAe5JREFUeNrMV8luwkAMdUIECBAgEPsqDpz5/6/gxgmxbwLEJiR2yjNNBSW0mTJhaikaYqL4zbP9nNHO5zOpNKNaraoF8LmqokEzAVClUnlrZJN5nRSb4cRL5/M5DYdD2m635PF4KJlMUjgctnxWdyJ4s9mkzWZD6DCsuIf/LQCwcxG/dACgXcQvHQByLuKXDgAFJ+KXDgDVXiwWyev1kqZpvOL+WRc40oYI9iyg4wyI2v9TwtPpRKPRiKbTKd/HYjGKx+OcT8cZQPB6vU77/Z7K5TJf6F/4jsej8wx0Oh0KBoOUSCS+fPl8nhlpNBpUKpVI16+Yl8sl9Xo9ltt0Om276H4EMJvNeHW73bTb7cjlcnGg1WrFgRAwl8vReDzm36ZB6wE6lUrJmYatVuuan8tukRbTUBc+n89SVsES0pTNZu+eHwwGXD+RSIRrCZuy3QW3wU3rdrsUCAQoFAo9/DeZTDggrN/vc0oPhwPXFADWarWHqSjchkhFu93m7vD7/ZZM4DJr5dYABul6WQfADF6UyWQsh4xJ+zP9lyJE2A1qpVAokGEYfwbxkhKiGNENGDZWlNsB8bIUr9drbkswYaWWv4GQMgsWiwVrxW0L2gVxlzwZZ4NoNCr0wWJ8PyiomoYaKTJN9elY+QfJhwADAEAG9ixyyux6AAAAAElFTkSuQmCC";if(t.is(Stimulsoft.Report.Dashboard.IStiIndicatorElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0VGMkNEQjVCRkM3MTFFNzg1ODA5NENGODgxNjBBRTQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0VGMkNEQjRCRkM3MTFFNzg1ODA5NENGODgxNjBBRTQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZmUxMzY0MDEtMWIwOS1jODQ1LTg3Y2EtOWFlMjkyOGJiNjhiIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MmUxNzdhMzEtOWZlZS0xMWU3LWIxNzMtZTY1ODBhMDllOGE4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+TLktDAAAAdBJREFUeNrUl7FKA0EQhi/BXq61jEZSBhIUW429FlqofSKCrbHXcKkFQdNoa3wBMU8gCeQJrrCwCiSdIMj5D/zCeBzJZe82iQsftzc7m5mbnZ3dZIIgcObZss6c29K4wX6/n4qRYrFoLQLbxE4EJrQMaLC/BYJZ58A+2CR7s05Cidy1em+YRjNrOKcGCkpWoCxrIwdWwIaiDJYj9G7AFeiCN8VHUgfOwUXMDxLHdoi0JqgnXYJL0DJYqhbnJs4B2V6n4HkK423OCdJKwm9wDDoxdF/BCeekugu+wEMMvUfqWtmGazF0Vm3WgXwMnXWbDugIDMAZGUwZpUQR+OT+lv4tkb7HsbwtB1zwwrIrxWWkxkbc8wXquDaO4yE4mqDzHkPn75k+7zvhxAjgWnaAxx3wcbUqK7kUnApf6xhrhvRdFq4qxnyjHMCPySH0FF5TyD0aLzMfPMgqwKXxDozKjSnHd+MkFCNVrn9YPoSRnirPFSJO9CiT569j0zsAA7vgPmIop5zylSynEjY8tpj/C0wd8FVe6K/2Vc1wIiKSmgNy3rtY25LaCZJ4bRorUSbPnvEuGJMbTTrRZQmu07jDpC3BuYDOHC50Ifq3SZha+xFgANyufsKlz/2MAAAAAElFTkSuQmCC";if(t.is(Stimulsoft.Report.Dashboard.IStiListBoxElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMDEzNGViZC0wY2ZmLTczNDMtOWIwMi1jNTkzNzdiMWRiMjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTA5MTJDN0Q4NTYwMTFFOEI3N0JBNjlFRDdGQ0IwOEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTA5MTJDN0M4NTYwMTFFOEI3N0JBNjlFRDdGQ0IwOEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDAxMzRlYmQtMGNmZi03MzQzLTliMDItYzU5Mzc3YjFkYjIyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAwMTM0ZWJkLTBjZmYtNzM0My05YjAyLWM1OTM3N2IxZGIyMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsGuI54AAACuSURBVHja7FeJCcAgDNTiEI7h/kvoGG5hm4JQQm2jGAOSgyKKyR3m0dpSipHEYYShAlxKSVbA9clmYYyxzMCIH7DRJHR4oScpQwi/e3LO9+i9pwmgOKUCyKuAlgi2EGByPGcPwRsZrOFTYAsB1c9eVTDS1qeGoNcWBO/biFp+sA1bFUC54VJc2oiA7EmI50vuAixg+V3wRayP0goLzyLpPmBFT0B/zVSAtIBTgAEAMM3EXL6e7tsAAAAASUVORK5CYII=";if(t.is(Stimulsoft.Report.Dashboard.IStiPivotTableElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA25pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTE1MUMzNDA5RkFDMTFFN0JERThGRDhBNTZGM0ZDN0YiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTE1MUMzM0Y5RkFDMTFFN0JERThGRDhBNTZGM0ZDN0YiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTIzODI0M0I3MzI1MTFFN0E4QTI5RjYzRTdGNDREM0MiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTIzODI0M0M3MzI1MTFFN0E4QTI5RjYzRTdGNDREM0MiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7WOnt0AAABPUlEQVR42uxXSW6EMBBsQxASJ8R2YPkD/38FT0BCgMRygSMCZsrKJCQZlGHAQJTpk90culyuajdsHEc6MiQ6ON6mmyiKdqMjDEP2A8D7B+HFrwc96RXMoZyycy+/gPbzifAF4LwinLPj1jZd7IKXBpZEnueUZdlzV7A20jSlsiz5ehgG8n1/PwBJklBd16QoCt9XVUV49oMg2OcKUNyyLDIMg7qu42vkdtOA4zhfKMcaud0AuK77UE64C0C/LMtiXXATHCienhLKb9uWNE0T1wdgtZvgpsX7vqc4jjkDpmmKYQBNBj6H1SRJ+mg4KNo0DQcBF+i6LgbAdJwviuKT0isYVVU5K7+dfhUAUA4QYMG2bfI8b9vX8JFAUYgNIBhjs1bbdB74Hmiv91rs352I1ozdzwT79z+nhwO4CDAAvLyCJQ9KIGkAAAAASUVORK5CYII=";if(t.is(Stimulsoft.Report.Dashboard.IStiProgressElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTI4QjI4RjdCRjUxMTFFNzk4RThFMTk3MzM2QTVEREYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTI4QjI4RjZCRjUxMTFFNzk4RThFMTk3MzM2QTVEREYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZTI4MmVmYWItOTQwYy1mYjQwLTg5OTctNzNiNzU1Nzk1ZmY1IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MmUxNzdhMzEtOWZlZS0xMWU3LWIxNzMtZTY1ODBhMDllOGE4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xEa5MgAAAoxJREFUeNrEV7lOA0EMJeESFXcQLeIoiZBoEKIjKZEoIL/AFUJHR0FDRxDXJxAoEC1Ji0SBQKHjEh/ATRkQCs+SNzhmsrvZbMDS02jHM7bX4xnbgXw+X/OfVOd2YTabrccQBcaBYaAnHA63YJ7Yb8A9cAZkgGPwPt3IDTh5AApaMCSAWaBT8qCkhg3Q9ARsA0msebOTH3RQHsNwBaxo5Q7UwXuuWEZ5R4BNtRg2gZkKj7gL2IO8MYwL8MaXowdY+UEJ5TfAKjAKdANNjG6eW+U1mkjWAcu2jwEsoj+fNwhZ5jPNORxbI8fMmoG9jf3zJQ3A5mkMKbXphAzCxstyfA9Zgxi22DOSYpC1/8sAjvZrICQWnwIT2PDoJQAgkwL3CBgR0w/AgHU7ZAwklHKiWa/K+ZrS3jk1HWJdP0EISxv4nhedOQRkK33pWMay/jHWWfBARN1ziuSkjy9uUt2OTtZZZICklFO0l+mFnCG4o9KAIcXMVCHvpNX3kDSg3/Dg+E236ruv8BTDRc2K+V4FA7TM5oIBpoxGme4vKGhnnc9k9HLQ7nx8pj5TTFgGnCtmpAoGaJkX0gB9RWKc1XwhlhUzXUtpwLNg9sv32gdKqKtOOeK4YAAi/oNTp6Q1WB724e8HDbXBDussyoZJTpVFBQSnVK/Kae+Omn6UeSYo7j3l57haTHn8kP/Cy58fqlqAKC4rZVNJtmXI4VZJtm65zkYxpdklTyWZKkonDQKumUcBdAe88Hwb0MtXjcq6AcNe8saUroyNjYmPZblFu6XKctvOiJuKDUOp5pYoqBehOFVpa7bEcdHuUvEzt2brTq1ZwG13LJrTiNWcAq3MfhXNKT1qaadgLduAatG3AAMAxAf6UcvGQQYAAAAASUVORK5CYII=";if(t.is(Stimulsoft.Report.Dashboard.IStiTreeViewElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNGFhYjFiMC1lZTZlLTJkNDctYWZlMi1lYmQzYmI3MzJkNWQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUE2RkJGN0VBNjVFMTFFODk5OTVCRERFOTIwOEI5N0UiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUE2RkJGN0RBNjVFMTFFODk5OTVCRERFOTIwOEI5N0UiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTI3NTcwYzItM2MyZS05NDQxLTgzZjctYmYwM2ZkODU5YjRjIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTkyYWNjNTItYTY0OS0xMWU4LWJmZGYtYWIxMTU1OWY5YTkwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+WYlYxgAAAMBJREFUeNrsllEKwCAMQ9fhgbz/KbyRQ7Agm0pLbWRgQJhfi68xSDnna6dCu0kpfdzEGAlmoP6wNYQlIFGPUhVBDLxHYqUUOifcF0I+XcHsHT7WLcEMNzAJGuYWdILm1g9iAqUfeMEJCKUdG63OACmXjoBXP4QRgdaE57U8PXB6ANEDhMrA9L6bCXj1gIhAMcSm2u8VIuuz3EpGlQGPfjARGBgiKAFrP6h6wOOdgMjA9F3wrwwMRqJqvuU9YNUjwABgJX86W1bOxQAAAABJRU5ErkJggg==";if(t.is(Stimulsoft.Report.Dashboard.IStiWebContentElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAACIUlEQVR42u2XsYoCQQyGfS0fQHu1slIQFES0sBEbF8ROUDtB2UpFtBIsfQUbH0Ks1wfI8YfLMYyzM7OuesVdYDhcvOTb5E8mZjL/9m3ZbJY+eYwAPtZsNmm73VIaexrgeDxSoVCg4XBIxWKRP38MIIoiDnq9Xh9g5NlbAZbLJQfTDeUAyHQ69QZJDADHuVwuNgCeJylLYgA4RwZcBhCIFCDn8/k1AHCEFJvscDjQaDSyitWUtUQAprReLhfqdDpUr9epWq0ySJxuUDr8hYgTAyAwUip2u92o3+9TuVym+XzOgcMw5M/3+91bH14A+EdpOzjfbDZUqVRoMBjQfr/n4HJ6vR4tFgunPlAWvJAXwGQyYfLT6cRv2O12HwLL2e12/B2Uxmbwh7Z1Aghtq9XiGku6bWc2m7EuXFPUqwRCCseNRsMZXA5EGSdIbw2opDCIbjweewGs12ujIPEy6hS1Auhth7rCKersAwGRYiybxOwE0EnFoHA4dgVHS6JktVrtJwvwB0F7DSIZo/r0gjNkYbVaGQPjOboE30G7SnARs+7PSwP6GDUJEmUJgoDngxpYXV5Ml5OzC+BIHaNi7XabW1ICl0olLo9pCupifuou0MeoCBKB0R0YzXFmuxETX8dyIyKlyIBr4sUtLy/dCW3LST6ft25HqbZiOEafI8Wm7dhneUkFYLtmpe3Uu/9tAGlW9ZcCqPNeXV6eAvjVn2Z/1r4A4YX01RrCMf0AAAAASUVORK5CYII=";return null}}__.z.StiElementExportTool=StiElementExportTool}let StiChartElementBuilder=__.i.StiChartElementBuilder,StiGaugeVisualSvgHelper=(__.z.StiChartElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r,l){if(this.renderEmptyDataMessage(t,e,i.clone(),r))return;let n=t.as(StiChartElement),o=null,s=(0<n.chartValuesList().length&&(o=await __.z.StiElementExportTool.getDataTable(n)),await StiChartElementBuilder.create(n).render(n,o)),a=StiExportTool.getScaleFactor(e,r);StiChartElementBuilder.scaleFont(s,a);for(let t=0;t<s.series.count;t++){if(null==l||t>=l.length)break;s.series.getByIndex(t).valuesStart=l[t]}s.name=t.name+`_Content`,s.clientRectangle=i.clone(),e.components.add(s)}},__.h.StiGaugeVisualSvgHelper),StiImageElementExportTool=(__.z.StiGaugeElementExportTool=class extends __.z.StiElementExportTool{async render(t,o,e,i){if(this.renderEmptyDataMessage(t,o,e.clone(),i))return;let s=t.as(StiGaugeElement),a=await __.z.StiElementExportTool.getDataTable(t),u=(new StiGaugeElementBuilder).render2(s,e.size,a);if(1!=(await u()).count2()||i.is(StiExcelDashboardExportSettings)||i.is(StiPdfDashboardExportSettings)){if(0<(await u()).count2())if(i.isDesignMode||i.format!=__.f.StiDashboardExportFormat.Html)await this.renderContent(t,o,e.clone());else{let r=0,l=StiElementLocationHelper.getLocationRectangles(e,(await u()).count2(),s),n=l[0].clone();for(let i of await(u=(new StiGaugeElementBuilder).render2(s,n.size,a))()){let t=l[r].clone(),e={ref:0};StiString.isNullOrEmpty(i.series)||(await this.renderSingleGaugeTitleFromIteration(s,o,i,t,n,u,r,e),t.height-=e.ref,t.y+=e.ref),this.renderSingleGaugeFromIteration(s,o,i,t,r),r++}}}else this.renderSingleGaugeFromIteration(s,o,(await u()).firstOrDefault(),e)}renderSingleGaugeFromIteration(t,e,i,r,l=0){let n=i.gauge;n.name=t.name+`_Content`+l,n.clientRectangle=r,n.style=StiDashboardStyleHelper.getGaugeStyle(t),n.customStyleName=t.customStyleName,n.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(t,null,!0)),e.components.add(n)}async renderSingleGaugeTitleFromIteration(o,s,t,a,e,i,u,S){let m=t.series,h=StiDashboardStyleHelper.getFont(o),r=await StiGaugeVisualSvgHelper.getTitleHeight(null,i,a,o,null),c=await StiGaugeVisualSvgHelper.getTitleMinFontSize(null,i,h,e.width,e.height);if(S.ref=r||0,null!=r){let t=new Rectangle(a.x,a.y,a.width,S.ref),e=StiFontUtils.changeFontSize(h,c),i=StiTitleMeasureHelper.measureTitle4(null,t,h,m),r=(t.height=i.height,StiDashboardExpressionHelper.getForeColor(o,o.foreColor)),l=Color.transparent.equals(r)?StiDashboardStyleHelper.getForeColor(o):r,n=new StiText(t);n.name=o.name+`_ContentTitle`+u,n.brush=new StiSolidBrush(Color.transparent),n.text=m,n.font=e,n.textBrush=new StiSolidBrush(l),n.horAlignment=StiTextHorAlignment.Center,s.components.add(n)}}},__.z.StiImageElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r){if(this.renderEmptyDataMessage(t,e,i.clone(),r))return;await this.renderContent(t,e,i.clone())}async renderContent(t,e,o){let s=t.as(StiImageElement),a=await this.draw(s,o.clone());if(s.aspectRatio&&null!=a){let t=o.width/a.width,e=o.height/a.height,i=(t=e=t<e?t:e,a.width*(t=e)),r=a.height*e,l=this.calculateHorAlignmentPosition(s,o,i),n=this.calculateVertAlignmentPosition(s,o,r);o=new Rectangle(l,n,i,r)}let i=new StiImage(o);i.name=s.name+`_Content`,i.stretch=!0,i.aspectRatio=!1,i.imageToDraw=a,e.components.add(i)}calculateHorAlignmentPosition(t,e,i){switch(t.horAlignment){case StiHorAlignment.Left:return e.x;case StiHorAlignment.Right:return e.right-i;default:return e.x+(e.width-i)/2}}calculateVertAlignmentPosition(t,e,i){switch(t.vertAlignment){case StiVertAlignment.Top:return e.y;case StiVertAlignment.Bottom:return e.bottom-i;default:return e.y+(e.height-i)/2}}},__.z.StiImageElementExportTool),StiGaugeElementExportTool=__.z.StiGaugeElementExportTool,StiChartElementExportTool=__.z.StiChartElementExportTool,StiExportSettingsHelper=__.A.StiExportSettingsHelper,StiExportFormatHelper=__.A.StiExportFormatHelper,StiElementExportTool=__.z.StiElementExportTool,StiTitleExportHelper=__.A.StiTitleExportHelper,StiBackColorExportHelper=__.A.StiBackColorExportHelper,StiBorderExportHelper=__.A.StiBorderExportHelper,StiLayoutExportHelper=__.A.StiLayoutExportHelper,IStiReport=Stimulsoft.Base.IStiReport;{class hj0{static exportAsync(e,i,r){setTimeout(async function(){let t=await hj0.export(i,r);e(t)})}static export(t,e){let i;return i=e instanceof StiDashboardExportSettings?e:e instanceof StiExportSettings?__.A.StiExportSettingsHelper.getDashboardExportSettings(e):__.A.StiExportSettingsHelper.getDashboardExportSettings2(e),this.exportToStream(t,i)}static async exportToStream(e,i){let t,n=new StiReport,r=(n.isDocument=!0,n.reportUnit=StiReportUnitType.HundredthsOfInch,n.renderedPages.getByIndex(0)),l=(r.orientation=i.orientation,r.paperSize=i.paperSize,(i.is(StiExcelDashboardExportSettings)||i.is(StiDataDashboardExportSettings)||i.is(StiImageDashboardExportSettings))&&(r.margins=new StiMargins(0)),i),o=("width"in i&&null!=l&&0<l.width&&0<l.height&&(r.width=l.width,r.height=l.height),null==(t=e.as(IStiDashboardWatermark))?void 0:t.dashboardWatermark),s=(r.tagValue=o,null==r.tagValue&&(r.tagValue="*Dashboards*"),null);if(e.is(IStiReport))await this.renderCellReportAsync(e,n,r,i);else if(e.is(IStiDashboard)){let t=e.as(IStiDashboard);(s=t.report).currentPage=s.pages.indexOf(t.page),await this.renderCellDashboardAsync(e,r,i)}else if(e.is(IStiElement)){let t=e.as(IStiElement);(s=t.report).currentPage=s.pages.indexOf(t.page),await this.renderCellElement(e,n,r,i)}n.parentReport=s;for(let r of n.renderedPages.list)r.components.toList().where(t=>t.is(StiContainer)).cast().forEach(t=>{let e=r.components.indexOf(t)+1,i=t.getComponentsList();for(let t=0;t<i.length;t++)i[t].page=r,i[t].setDirectDisplayRectangle(i[t].componentToPage(i[t].displayRectangle)),r.components.insert(e+t,i[t]);t.components.clear()});if(0<n.renderedPages.count&&!(Stimulsoft.Base.aXdjK.mUCRy.pUEwe()||(Stimulsoft.Base.aXdjK.mUCRy.LSPdd()||Stimulsoft.Base.aXdjK.mUCRy.HRiRp())&&Stimulsoft.System.NodeJs.isStandaloneVersion)){let t=n.renderedPages.getByIndex(0),e=t.report.unit.convertFromHInches(200),i=t.report.unit.convertFromHInches(52),r=new Rectangle((t.width-e)/2,t.height-i,e,i),l=new StiImage(r);l.stretch=!0,l.printable=!1,l.image=Stimulsoft.Report.Export.StiExportUtils.getAdditionalData2(192),l.name=Stimulsoft.Report.StiNameValidator.correctName(Stimulsoft.System.Guid.newGuidString().substring(0,8)),l.componentPlacement="pf.PageFooterBand",t.components.add(l)}let a,u=null==i?StiExportFormat.Document:StiExportFormatHelper.convert(i.format);if(u==StiExportFormat.Document)a=Stimulsoft.System.Text.Encoding.UTF8.getBytes(n.saveDocumentToJsonString());else{let t=StiExportSettingsHelper.getExportSettings(i),e=await n.exportDocumentAsync2(u,null,t);a="string"==typeof e?Stimulsoft.System.Text.Encoding.UTF8.getBytes(e):"undefined"!=typeof Buffer&&Buffer.isBuffer(e)?e.toJSON().data:e}return a}static async renderCellReportAsync(t,e,i,r){let l=t.as(IStiReport).fetchPages().where(t=>t.is(IStiDashboard)).cast();for(let t=0;t<l.length;t++)0<t&&(i=i.clone(!0,!1),e.renderedPages.add(i)),this.setUpPage(i,l[t],r),await this.renderDashboardAsync(i,l[t],r)}static async renderCellDashboardAsync(t,e,i){this.setUpPage(e,t,i),await this.renderDashboardAsync(e,t.as(IStiDashboard),i)}static async renderCellElement(t,e,i,r){let l=t.as(IStiElement);l.is(IStiRegionMapElement)&&e.dictionary.resources.addRange(l.report.dictionary.resources),e.reportAlias=l.name,this.setUpPage(i,t,r),await this.renderSingleElementAsync(i,l,r)}static async renderDashboardAsync(e,t,i){if(null==t)return;null!=i&&(i.renderSinglePage=!0,i.renderSingleElement=!1);let r=t.as(StiDashboard),l=await r.getElements(!1).whereAsync(async t=>t.isEnabledAsync()),n=1,o=1;if(i.is(IStiDashboardScaleMode)){let t=i.as(IStiDashboardScaleMode).scaleMode;switch(t){case StiDashboardScaleMode.PaperSize:n=e.width/r.width,o=e.height/r.height;break;case StiDashboardScaleMode.ViewSize:{let t=Math.min(e.width/i.viewportWidth,e.height/i.viewportHeight);n=i.viewportWidth/r.width*t,o=i.viewportHeight/r.height*t;break}case StiDashboardScaleMode.DesignSize:n=o=Math.min(e.width/r.width,e.height/r.height);break}}e.brush=new StiSolidBrush(StiDashboardStyleHelper.getDashboardBackColor(t,!1)),await this.renderElementsAsync(e,l,n,o,i)}static async renderSingleElementAsync(t,e,i){if(null==e||!await e.isEnabledAsync())return;null!=i&&(i.renderSingleElement=!0),t.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(e));let r=e.as(StiComponent),l=t.width/r.width,n=t.height/r.height,o=await this.renderElementAsync(t,e,l,n,i),s=StiExportSettingsHelper.isDataExport(i),a=e.margin;o.left=s?0:a.left,o.top=s?0:a.top}static setUpPage(i,r,l){var t;if(l.is(StiPdfDashboardExportSettings)&&(i.orientation=l.as(StiPdfDashboardExportSettings).orientation,i.paperSize=l.as(StiPdfDashboardExportSettings).paperSize),(l.is(StiExcelDashboardExportSettings)||l.is(StiDataDashboardExportSettings)||l.is(StiHtmlDashboardExportSettings)||l.is(StiImageDashboardExportSettings))&&(i.margins=new StiMargins(0)),l.is(IStiDashboardScaleMode)){let t=l.as(IStiDashboardScaleMode).scaleMode,e=(0!=l.viewportWidth&&0!=l.viewportHeight&&t==StiDashboardScaleMode.ViewSize||(l.viewportWidth=r.as(StiComponent).width,l.viewportHeight=r.as(StiComponent).height),l.as(IStiSizeExportSettings));null!=e&&0<e.width&&0<e.height&&(l.viewportWidth=e.width,l.viewportHeight=e.height),l.is(StiPdfDashboardExportSettings)||(i.width=l.viewportWidth,i.height=l.viewportHeight)}let e=null==(t=r.as(IStiDashboardWatermark))?void 0:t.dashboardWatermark;i.tagValue=e,null==i.tagValue&&(i.tagValue="*Dashboards*"),null!=e&&(e.textEnabled&&(i.watermark.text=e.text,i.watermark.textBrush=new StiSolidBrush(e.textColor),i.watermark.font=e.textFont,i.watermark.angle=e.textAngle,i.watermark.showBehind=!0),e.imageEnabled)&&(i.watermark.image=e.image,i.watermark.aspectRatio=e.imageAspectRatio,i.watermark.imageAlignment=e.imageAlignment,i.watermark.imageMultipleFactor=e.imageMultipleFactor,i.watermark.imageStretch=e.imageStretch,i.watermark.imageTiling=e.imageTiling,i.watermark.imageTransparency=e.imageTransparency,i.watermark.showImageBehind=!0)}static async renderElementsAsync(r,e,l,n,o){null!=o&&(o.renderSingleElement=!1);for(let t of e){let e=await this.renderElementAsync(r,t,l,n,o),i=t.as(StiPanelElement);if(null!=i){let t=i.getComponents().toList().where(t=>t.is(IStiElement)).cast();await this.renderElementsAsync(e,t,l,n,o)}}}static async renderElementAsync(t,e,i,r,l,n,o={ref:new Stimulsoft.System.Drawing.Rectangle},s=new List){let a,u=e.as(StiComponent),S=StiExportSettingsHelper.isDataExport(l),m=Math.round(u.left*i),h=Math.round(u.top*r),c=Math.round(u.right*i),d=Math.round(u.bottom*r),g=new Rectangle(m,h,c-m,d-h);if(S||(g=StiLayoutExportHelper.excludeMargin(e,g)),u.parent.is(StiPanelElement)){let t=u.parent;g.x-=t.margin.left,g.y-=t.margin.top}let p=new StiPanel(g),b=(p.name=e.name,StiExportTool.isAllowOpacity(l));if(S||(p.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(e,null,b)),p.cornerRadius=null==(a=e.as(IStiCornerRadius))?void 0:a.cornerRadius),t.components.add(p),null!=p.report&&null!=e.report&&(p.report.styles.clear(),p.report.styles.addRange(e.report.styles)),g=await StiTitleExportHelper.render(e,p,l),!S){StiBorderExportHelper.render(e,p,l),StiBackColorExportHelper.render(e,p);let t=StiElementExportTool.getScaleFactor(p,l);g=StiLayoutExportHelper.excludePadding(e,g,t),g=StiLayoutExportHelper.excludeCornerRadius(e,g,t),o.ref=g}let C=StiExportTool.getTool(Type.getType(e));return(C=null==C?new StiElementExportTool:C)[Stimulsoft.System.StiObject.stimulsoft]().is(StiChartElementExportTool)&&l.is(StiHtmlDashboardExportSettings)?(e.previousAnimations=s,await C.render(e,p,g.clone(),l,n)):C[Stimulsoft.System.StiObject.stimulsoft]().is(StiGaugeElementExportTool)&&l.is(StiHtmlDashboardExportSettings)?(e.previousAnimations=s,await C.render(e,p,g.clone(),l)):!C[Stimulsoft.System.StiObject.stimulsoft]().is(StiImageElementExportTool)&&null!=l&&1==l.isDesignMode&&e[Stimulsoft.System.StiObject.stimulsoft]().is(IStiOnlineMapElement)||await C.render(e,p,g.clone(),l),p}}__.f.StiDashboardExportTools=hj0}let StiBorderElementHelper=Stimulsoft.Report.Dashboard.Helpers.StiBorderElementHelper,SolidBrush=(__.p.StiElementControlPainter=class{static getBorderContentRect(t,e){return StiBorderElementHelper.getBorderContentRect3(t.clone(),e,StiScale.factor,!1)}},__.p.StiLocHelper=class{static get locAll(){return`(${Loc.get("Report","RangeAll")[Stimulsoft.System.StiObject.stimulsoft]().replaceAll("& ","")})`}},Stimulsoft.System.Drawing.SolidBrush),StiTableElementConditionHelper=__.K.StiTableElementConditionHelper,StringFormat=Stimulsoft.System.Drawing.StringFormat,StringFormatFlags=Stimulsoft.System.Drawing.StringFormatFlags,StiIndicatorCellPainter=(__.C.StiIndicatorCellPainter=class{static async draw(t,e,i,r,l,n,o,s,a,u=!0){let S=await StiTableElementConditionHelper.getIconCondition(n.key,i,r,l),m=(null!=S&&S.iconAlignment!=StiIconAlignment.None&&(await __.C.StiConditionIconPainter.drawIcon(t,S,e,o),e=__.C.StiConditionIconPainter.adjustCellContentRectWithIcon(e,S)),this.getCellText(i,n,s));await this.draw2(t,e.clone(),i,r,l,n,o,s,a,m,u)}static async draw2(i,r,l,t,e,n,o,s,a,u,S=!0){let m=this.measureText(o,u,l.font),h=this.calculateIndicatorRect(r.clone(),n,o,m);if(await this.drawIndicator(i,l,t,e,n,h,s,a),S){let t=this.calculateTextRect(r.clone(),n),e=this.getColor(n,s,a);this.drawText(i,t,n,o,u,l.font,e)}}static async drawIndicator(o,s,a,u,S,m,h,c){let d=Math.min(m.width,m.height);if(null==h||0==h)o.fillRectangle(new RectangleD(m.x+(m.width-d)/2,m.y+(m.height-4)/2,d,5),Color.lightGray);else{let t=.75*d,e=(m=new Rectangle(m.x+(m.width-d)/2,m.y+(m.height-t)/2,d,t)).width/2,i,r,l,n=(l=0<h?(i=new Point(m.left+e,m.top),r=new Point(m.left,m.bottom),new Point(m.right,m.bottom)):(i=new Point(m.left+e,m.bottom),r=new Point(m.left,m.top),new Point(m.right,m.top)),0<h?c.cellIndicatorPositive:c.cellIndicatorNegative);n=await StiTableElementConditionHelper.processForeColor(n,S.key,s,a,u),o.fillPolygon([i,r,l],new SolidBrush(n))}}static drawText(t,e,i,r,l,n,o){if(StiString.isNullOrWhiteSpace(l))return;e.width-=2;let s=new StringFormat,a=StiElementConsts.Table.Font.getGdiFont(r,null,n);s.lineAlignment=StringAlignment.Center,s.alignment=this.toAlignment(i),s.trimming=StringTrimming.None,s.formatFlags|=StringFormatFlags.NoWrap,t.drawString(l,a,o,e.clone(),s)}static measureText(t,e,i){if(StiString.isNullOrWhiteSpace(e))return 0;let r=StiElementConsts.Table.Font.getGdiFont(t,null,i);return StiTextDrawing.measureString(null,e,r).width}static calculateIndicatorRect(e,t,i,r){let l=16*i;switch(this.getHorAlignment(t)){case StiHorAlignment.Left:e=new Rectangle(e.x,e.y,l,e.height);break;case StiHorAlignment.Right:e=new Rectangle(e.right-l,e.y,l,e.height);break;case StiHorAlignment.Center:{let t=r+l;e=new Rectangle(e.right-(e.width-t)/2-l,e.y,l,e.height);break}}return e.inflate(-4*i,-4*i),e}static getCellText(t,e,i){if(null==i)return"";return StiTextFormatHelper.formatAsPercentage2(t.report,e.textFormat,i)}static calculateTextRect(t,e){let i=t.width/4;switch(this.getHorAlignment(e)){case StiHorAlignment.Left:return new Rectangle(t.x+i,t.y,t.width-i,t.height);case StiHorAlignment.Right:return new Rectangle(t.x,t.y,t.width-i,t.height);case StiHorAlignment.Center:return new Rectangle(t.x,t.y,t.width,t.height)}return t}static getColor(t,e,i){if(!Color.transparent.equals(t.foreColor))return t.foreColor;if(0<e)return i.cellIndicatorPositive;if(e<0)return i.cellIndicatorNegative;return i.cellIndicatorNeutral}static toAlignment2(t){if(t[Stimulsoft.System.StiObject.stimulsoft]().is(StringAlignment))return t;let e=t[Stimulsoft.System.StiObject.stimulsoft]().as(IStiHorAlignment);if(null==e)return StringAlignment.Center;return this.toAlignment(e.horAlignment)}static toAlignment(t){switch(t){case StiHorAlignment.Left:return StringAlignment.Near;case StiHorAlignment.Center:return StringAlignment.Center;case StiHorAlignment.Right:return StringAlignment.Far}return StringAlignment.Center}static getHorAlignment(t){let e=t;return null!=e?e.horAlignment:StiHorAlignment.Right}},__.C.StiIndicatorCellPainter),StiDataSortRuleHelper=Stimulsoft.Data.Engine.StiDataSortRuleHelper;{class StiTableElementGdiPainter{static getBackgroundColor(t,e,i,r){return null==e||e.data.backColor.equals(Color.transparent)?r?i.alternatingCellBackColor:i.cellBackColor:r?StiDashboardStyleHelper.isDarkStyle3(t)?StiColorUtils.light(e.data.backColor,25):StiColorUtils.dark(e.data.backColor,25):e.data.backColor}static measureColumn(t,e,i,r,l){let n,o=StiElementConsts.Table.getHeight(i.font,i.zoom);if(r.is2(StiSparklinesColumn))n=this.measureSparklinesCell(i,0,i.zoom);else if(r.is2(StiIndicatorColumn))n=this.measureIndicatorCell(t,i,r,l,i.zoom);else if(r.is2(StiDataBarsColumn))n=this.measureDataBarsCell(t,i,r,l,i.zoom);else if(r.is2(StiBubbleColumn))n=this.measureBubbleCell(t,i,r,l,i.zoom);else if(StiImageHelper.isImage(l))return new Size(0,StiElementConsts.Table.getHeight(i.font,i.zoom));return new Size(n.width,Math.max(n.height,o))}static getArrowSize(t,e){let i=StiElementConsts.Table.getHeight(t.headerFont,t.zoom),r=StiDataSortRuleHelper.getSortDirection(t.userSorts,e.key);if(r!=StiDataSortDirection.None)return new Size(1.5*i,i);return Size.empty}static getRightImageRect(t,e,i){let r=i.width*t.zoom,l=i.height*t.zoom;return new Rectangle(e.right-3-r,e.y+(e.height-l)/2,r,l)}static measureSparklinesCell(t,e,i){return new Size(Math.max(e,80*i),0)}static measureIndicatorCell(t,e,i,r,l){let n=i,o=StiIndicatorCellPainter.getCellText(e,n,StiValueHelper.tryToNullableNumber(r)),s=this.measureCell2(t,o,e.font,i);return s.width=(s.width+4)*l*1.25,s}static measureDataBarsCell(t,e,i,r,l){let n=StiTextFormatHelper.formatBasedOnColumnType(e,i,r),o=this.measureCell2(t,n,e.font,i);return o.width*=l,i.horAlignment!=StiHorAlignment.Center&&(o.width*=2),i.is(StiDataBarsColumn)&&0<i.width&&(o.width=l*i.width),o}static measureBubbleCell(i,r,l,n,t){let o=StiElementConsts.Table.getHeight(r.font,r.zoom);if(l.horAlignment==StiHorAlignment.Center)return o-=2,new Size(o,StiElementConsts.Table.getHeight(r.font));{let t=StiTextFormatHelper.formatBasedOnColumnType(r,l,n),e=this.measureCell2(i,t,r.font,l);return e.width+=o,e}}static measureCommonCell(t,e,i,r,l,n){let o=StiTextFormatHelper.formatBasedOnColumnType(e,i,r),s=new Size(l,0);return StiImageHelper.isImage(o)||((s=this.measureCell2(t,o,e.font,i)).width*=n,s.height*=n),s}static measureHeader(t,e){return this.measureHeader2(null,t,e)}static measureHeader2(t,e,i){let r=StiLabelHelper.getLabel(i),l=this.measureCell2(t,r,e.headerFont,i);return l.width+=36,l}static measureCell(t,e,i){return this.measureCell2(null,t,e,i)}static measureCell2(t,e,i,r){let l=new Size(8,StiElementConsts.Table.getHeight(i));if(StiString.isNullOrEmpty(e))return l;let n=new __.C.StiTableColumnSizeHelper(i,r),o=i[Stimulsoft.System.StiObject.stimulsoft]().getHashCode().toString()+e+n.getUniqueCode().toString();if(this.captionSizeCache.contains(o)){let t=this.captionSizeCache.get(o);return l.width=t.width,l.height=t.height,l}let s=StiElementConsts.Table.Font.getGdiFont(1,null,i),a=0!=n.width?n.width:n.maxWidth,u=Graphics.measureString(e,s,a);return u.width=n.getColumnWidth(u.width),u.height=n.getColumnHeight(u.height),l.width=u.width,l.height=u.height,this.captionSizeCache.set(o,u),l}static measureHeaders(e,t){let r=StiElementConsts.Table.Font.getGdiFont(1,null,t),l=new Size(8,StiElementConsts.Table.getHeight(r));for(let t of e){let e=new Size(8,0),i=StiLabelHelper.getLabel(t);if(!StiString.isNullOrEmpty(i)){let t=Graphics.measureString(i,r,1e6);e.width+=t.width}l.width+=e.width}return l.width}}StiTableElementGdiPainter.captionSizeCache=new Hashtable,__.q.StiTableElementGdiPainter=StiTableElementGdiPainter}__.C.StiBubbleCellPainter=class{static async draw(l,t,e,i,r,n,o,s,a,u,S,m,h=!0){if(0==s)return;let c=StiTextFormatHelper.formatBasedOnColumnType(e,n,s),d=(0<a&&(a=0),u<0&&(u=0),n.horAlignment),g=t,p=await StiTableElementConditionHelper.getIconCondition(n.key,e,i,r),b=(null!=p&&p.iconAlignment!=StiIconAlignment.None&&(await __.C.StiConditionIconPainter.drawIcon(l,p,g,o),g=__.C.StiConditionIconPainter.adjustCellContentRectWithIcon(g,p)),g.inflate(-2,-2),this.calculateTextRect(e,g,n)),C=(g=this.calculateBubbleRect(e,g,n,Math.abs(s),a,u),StiDashboardStyleHelper.getTableStyle(e)),f=this.getForeColor(e,n,C,S,m);if(h&&d!=StiHorAlignment.Center&&l.drawString(c,e.font,f,b,null),0<g.width&&0<g.height){let t=n.as(StiBubbleColumn),e=t.allowCustomColors?t.positiveColor:C.cellDataBarsPositive,i=t.allowCustomColors?t.negativeColor:C.cellDataBarsNegative,r=new SolidBrush(s<0?i:e);l.fillEllipse(g,r)}}static getForeColor(t,e,i,r,l){if(!Color.transparent.equals(e.foreColor))return e.foreColor;if(!Color.transparent.equals(t.foreColor))return t.foreColor;if(r)return i.alternatingCellForeColor;return l?null!=i?i.selectedCellForeColor:StiElementConsts.Table.Font.Color:null!=i?i.cellForeColor:StiElementConsts.Table.Font.Color}static calculateBubbleRect(t,e,i,r,l,n){let o=i;if(null==o)return e;let s=StiElementConsts.Table.getHeight(t.font,t.zoom),a=(s-=2,Math.max(Math.abs(l),Math.abs(n))),u=Math.abs(s*r/a);switch(o.horAlignment){case StiHorAlignment.Left:return new RectangleD(e.right-s+(s-u)/2,e.y+(e.height-u)/2,u,u);case StiHorAlignment.Center:return new RectangleD(e.x+(e.width-u)/2,e.y+(e.height-u)/2,u,u);case StiHorAlignment.Right:return new RectangleD(e.x+(s-u)/2,e.y+(e.height-u)/2,u,u)}return e}static calculateTextRect(e,i,t){let r=t;if(null!=r){let t=StiElementConsts.Table.getHeight(e.font,e.zoom);switch(r.horAlignment){case StiHorAlignment.Left:i=new RectangleD(i.x,i.y,i.width-t,i.height);break;case StiHorAlignment.Right:i=new RectangleD(i.x+t,i.y,i.width-t,i.height);break}}return i.inflate(-2,-2),i}static getCellText(t,e,i){return StiTextFormatHelper.formatBasedOnColumnType(t,e,i)}},__.C.StiColorScaleCellPainter=class{static getScaleColor(e,i,r,t,l,n){let o=(r-i)/2,s=(e=Math.min(e,r),e=Math.max(e,i),0),a,u,S=t.cellBackColor;if(o<e){let t=r-o;u=0!=t?(s=(e-o)/t,a=Color.fromArgb3(255,S),Color.fromArgb3(255,n)):(a=Color.lightGray,Color.lightGray)}else{let t=o-i;u=0!=t?(s=e/t,a=Color.fromArgb3(255,l),Color.fromArgb3(255,S)):(a=Color.lightGray,Color.lightGray)}let m=(u.a-a.a)*s+a.a,h=(u.r-a.r)*s+a.r,c=(u.g-a.g)*s+a.g,d=(u.b-a.b)*s+a.b;return m=Math.min(m,255),h=Math.min(h,255),c=Math.min(c,255),d=Math.min(d,255),m=Math.max(m,0),h=Math.max(h,0),c=Math.max(c,0),d=Math.max(d,0),Color.fromArgb(Math.round(m),Math.round(h),Math.round(c),Math.round(d))}};let StiSvgGeomWriter=Stimulsoft.Report.Export.StiSvgGeomWriter,StiSvgHelper=Stimulsoft.Report.Export.StiSvgHelper,StiDataBarsDirection=(__.C.StiConditionIconPainter=class{static async drawIcon(h,c,d,g){if(!c||c.iconAlignment===StiIconAlignment.None)return;let t=c.customIcon;if(t){let m=StiImageHelper.getImageFromObject(t);if(m){let t=new RectangleD,e=(c.iconAlignment===StiIconAlignment.Left?t=new RectangleD(d.left,d.top,d.height,d.height):c.iconAlignment===StiIconAlignment.Right&&(t=new RectangleD(d.right-d.height,d.top,d.height,d.height)),m.width),i=m.height,r=t.width/e,l=t.height/i,n=Math.min(r,l),o=e*n,s=i*n,a=(t.width-o)/2,u=(t.height-s)/2,S=new RectangleD;S.x=t.x+a,S.y=t.y+u,S.width=o,S.height=s,S.inflate(-2*g,-2*g),h.drawImage(m,S)}}else{let t=new RectangleD,e=(c.iconAlignment===StiIconAlignment.Left?t=new RectangleD(d.left,d.top,d.height,d.height):c.iconAlignment===StiIconAlignment.Right&&(t=new RectangleD(d.right-d.height,d.top,d.height,d.height)),await StiFontIconsHelper.convertFontIconToImageAsync(c.icon,c.iconColor,t.width,t.height,"0.9em"));h.drawImage(e,t)}}static adjustCellContentRectWithIcon(t,e){if(e.iconAlignment===StiIconAlignment.Left)return new RectangleD(t.left+t.height,t.top,t.width-t.height,t.height);if(e.iconAlignment===StiIconAlignment.Right)return new RectangleD(t.left,t.top,t.width-t.height,t.height);return t}static async getImageWithConditionIcon(t,e,i){let r=t.iconAlignment===StiIconAlignment.Left?new RectangleD(e.x,e.y,e.height,e.height):new RectangleD(e.right-e.height,e.y,e.height,e.height),l=new XmlTextWriter(Encoding.UTF8),n=(l.indentation=-1,l.writeStartElement("svg"),l.writeAttributeString("version","1.1"),l.writeAttributeString("baseProfile","full"),l.writeAttributeString("xmlns","http://www.w3.org/2000/svg"),l.writeAttributeString("xmlns:xlink","http://www.w3.org/1999/xlink"),l.writeAttributeString("xmlns:ev","http://www.w3.org/2001/xml-events"),l.writeAttributeString("height",StiSvgHelper.toUnits(r.height)),l.writeAttributeString("width",StiSvgHelper.toUnits(r.width)),l.writeStartElement("rect"),l.writeAttributeString("x","0"),l.writeAttributeString("y","0"),l.writeAttributeString("width",StiSvgHelper.toUnits(r.width)),l.writeAttributeString("height",StiSvgHelper.toUnits(r.height)),l.writeAttributeString("style",StiSvgHelper.writeFillBrush(l,t.backColor,r)),l.writeEndElement(),new StiSvgGeomWriter(l)),o=(await this.drawIcon(n,t,new RectangleD(0,0,r.width,r.height),1),l.writeFullEndElement(),l.flush(),new StiImage(r)),s=(o.name=i+`_ConditionIcon`,l.textWriter.getStringBuilder().toString());return o.image=StiImageConverter.stringToImage(Stimulsoft.System.Convert.toBase64String(s)),o}},__.K.StiDataBarsDirection),StiDataBarsBrushType=__.K.StiDataBarsBrushType,StiGradientBrush=Stimulsoft.Base.Drawing.StiGradientBrush,IStiControlElement=(__.C.StiDataBarsCellPainter=class{static async draw(t,e,i,r,l,n,o,s,a,u,S,m,h=!0,c=StiDataBarsDirection.LeftToRight,d=StiDataBarsBrushType.Solid){let g=await StiTableElementConditionHelper.getIconCondition(n.key,i,r,l),p=(null!=g&&g.iconAlignment!=StiIconAlignment.None&&(await __.C.StiConditionIconPainter.drawIcon(t,g,e,o),e=__.C.StiConditionIconPainter.adjustCellContentRectWithIcon(e,g)),StiTextFormatHelper.formatBasedOnColumnType(i,n,s));await this.draw2(t,e,s,a,u,o,p,i,r,l,n,S,m,h,c,d)}static async draw2(l,t,n,e,i,r,o,s,a,u,S,m,h,c=!0,d=StiDataBarsDirection.LeftToRight,g=StiDataBarsBrushType.Solid){if(null==n||0==n)return;let p=S,b=(StiString.isNullOrWhiteSpace(p.minimum)||(e=StiValueHelper.tryToNumber(StiReportParser.parse2(p.minimum,s.report))),StiString.isNullOrWhiteSpace(p.maximum)||(i=StiValueHelper.tryToNumber(StiReportParser.parse2(p.maximum,s.report))),e=Math.min(e,0),!1),C=((i=Math.max(i,0))<n&&(b=!0,n=i),n<e&&(b=!0,n=e),S.horAlignment),f=t,w=(f.inflate(-2,-2),this.calculateTextRect(f,S)),y=(f=this.calculateDataBarsRect(f,S),StiDashboardStyleHelper.getTableStyle(s)),M=this.getColorPositive(y,p),I=this.getNegativeColor(y,p),T=this.getOverlappedColor(y,p),x=this.getFillColor(y,p),D=this.getForeColor(s,S,y,m,h),v=(c&&l.drawString(o,s.font,D,w,null),C!=StiHorAlignment.Center&&l.fillRectangle(f,x),i+Math.abs(e)),F=f.width*Math.abs(e)/v,A=f.width*n/v,E=f.width*Math.abs(n)/v,R=0;if(d==StiDataBarsDirection.LeftToRight?f.x+=n<0?F-E:F:(R=180,f.x=n<0?f.right-F:f.right-F-E),f.width=E,n<0&&(R+=180),0<f.width&&0<f.height){if(g==StiDataBarsBrushType.Gradient){let r;if(r=d==StiDataBarsDirection.LeftToRight?0<n?new RectangleD(t.left+F,t.top,A,t.height):new RectangleD(t.left,t.top,F,t.height):n<0?new RectangleD(t.left+A,t.top,F,t.height):new RectangleD(t.left,t.top,A,t.height),0<f.width&&f.width<1&&(f.width=1),0<r.width&&r.width<1&&(r.width=1),0<r.width&&0<f.width){let t=n<0?I:M,e=StiColorUtils.light(t,200),i=(r.x-=.1*r.width,r.width+=.2*r.width,new StiGradientBrush(t,e,R));l.fillRectangle(f,i)}}else{let t=n<0?I:M;t=await StiTableElementConditionHelper.processForeColor(t,S.key,s,a,u),l.fillRectangle(f,t)}if(b){let t=0<=n?new RectangleD(f.right-6*r,f.y,6*r,f.height):new RectangleD(f.x,f.y,6*r,f.height);l.fillRectangle(t,T)}C==StiHorAlignment.Center&&l.drawString(o,s.font,Color.white,w,null)}}static getOverlappedColor(t,e){return e.overlappedColor.equals(Color.transparent)?t.cellDataBarsOverlapped:e.overlappedColor}static getColorPositive(t,e){return e.positiveColor.equals(Color.transparent)?t.cellDataBarsPositive:e.positiveColor}static getNegativeColor(t,e){return e.negativeColor.equals(Color.transparent)?t.cellDataBarsNegative:e.negativeColor}static getFillColor(t,e){return e.fillColor.equals(Color.transparent)?Color.fromArgb3(40,t.cellDataBarsPositive):e.fillColor}static getForeColor(t,e,i,r,l){if(!Color.transparent.equals(e.foreColor))return e.foreColor;if(!Color.transparent.equals(t.foreColor))return t.foreColor;if(r)return i.alternatingCellForeColor;return l?null!=i?i.selectedCellForeColor:StiElementConsts.Table.Font.Color:null!=i?i.cellForeColor:StiElementConsts.Table.Font.Color}static calculateDataBarsRect(t,e){let i=e;if(null==i)return t;switch(i.horAlignment){case StiHorAlignment.Left:return new RectangleD(t.right-t.width/2,t.y,t.width/2,t.height);case StiHorAlignment.Right:return new RectangleD(t.x,t.y,t.width/2,t.height)}return t}static calculateTextRect(t,e){let i=e;if(null!=i)switch(i.horAlignment){case StiHorAlignment.Left:t=new RectangleD(t.x,t.y,t.width/2,t.height);break;case StiHorAlignment.Right:t=new RectangleD(t.right-t.width/2,t.y,t.width/2,t.height);break}return t.inflate(-2,-2),t}},__.C.StiSparklinesCellPainter=class{static draw(t,e,i,r,l){}static castToArray(t){return StiArray.isArray(t)?t:null}},__.C.StiTableColumnSizeHelper=class{getUniqueCode(){let t=0;return t=397*(t=397*(t=397*(t=397*t^this.width)^this.minWidth)^this.maxWidth)^this.wordWrap[Stimulsoft.System.StiObject.stimulsoft]().getHashCode(),Math.abs(t)}getColumnWidth(t,e=!1){if(0!=this.width&&!e)return this.width;if(!this.isMeasurable)return t;return t<this.minWidth&&(t=this.minWidth),t=0!=this.maxWidth&&t>this.maxWidth?this.maxWidth:t}getColumnHeight(t){if(!this.isMeasurable)return t;if(this.maxHeight<t)return this.maxHeight;return t}static isWordWrap(t){let e=t.as(IStiTableColumnSize);if(null==(null==e?void 0:e.size))return!1;return e.size.wordWrap}constructor(t,e){this.width=0,this.minWidth=30,this.maxWidth=300,this.maxHeight=0,this.wordWrap=!1,this.fontUniqueCode=0,this.isMeasurable=!1;let i=(this.column=e).as(IStiTableColumnSize);if(null==(null==i?void 0:i.size))return;this.isMeasurable=!0,this.fontUniqueCode=t.getHashCode();let r=i.size;this.width=r.width,this.minWidth=r.minWidth,this.maxWidth=r.maxWidth,this.maxHeight=r.wordWrap?Number.MAX_VALUE:Math.round(t.getHeight())+1,this.wordWrap=r.wordWrap}},Stimulsoft.Report.Dashboard.IStiControlElement),StiLocHelper=__.p.StiLocHelper,StiComboBoxHelper=__.S.StiComboBoxHelper;{class xq0 extends __.z.StiElementExportTool{async render(l,n,o,t){var i,e,s,a;if(0==l.getMeters().length)return;let u=await StiElementDataCache.tryToGetOrCreate(l);if(null==u)return;let r=t.is(StiSvgDashboardExportSettings)&&t.designMode,S=l.as(StiComboBoxElement),m=xq0.getNameMeterIndex(u),h=xq0.getKeyMeterIndex(u),c=r&&null!=S&&!StiString.isNullOrEmpty(S.initialValue),d=StiExportTool.isAllowOpacity(t),g=new Hashtable;if(1<u.meters.countItems)for(let e of u.rows){let t=null==(i=e[1])?void 0:i[Stimulsoft.System.StiObject.stimulsoft]().toString();StiString.isNullOrWhiteSpace(t)||g.set(t,e[0])}let p=l,b=l,C="";if(p.selectionMode==StiItemSelectionMode.One)if(b.userFilters.any())C=b.userFilters[0].value,C=null!=(e=g.get(C))?e:C;else if(p.showAllValue)C=StiLocHelper.locAll;else{let t=u.rows.firstOrDefault();null!=t&&0<t.length&&null!=t[0]&&(C=t[0].toString())}if(c)if(S.initialValue.includes(";"))C=S.initialValue;else{let t=xq0.getRow(S,u,h);if(null==t)return;let e=-1!=m?t[m]:null,i=-1!=h?t[h]:null;null==e&&null==i||(C=(e||i).toString())}if(this.renderElement(n,l,o,this.format(l.as(IStiControlElement),C),d),p.selectionMode==StiItemSelectionMode.Multi&&!c){let e=o,r=0;if(l.is(IStiComboBoxElement)&&(r=l.maxSelectedItems),b.userFilters.any()){let i=b.userFilters;if(i.all(t=>t.condition==StiDataFilterCondition.NotEqualTo)){i=new List;for(let t of u.rows){let e=null==(s=t[1])?void 0:s[Stimulsoft.System.StiObject.stimulsoft]().toString();if(b.userFilters.any(t=>t.value==e))continue;i.add(new StiDataFilterRule(null,null,StiDataFilterCondition.EqualTo,e))}}for(let t of i){if(!(e.x+e.width<=o.x+o.width)){while(1<n.components.count)n.components.removeAt(1);this.renderItem(n,l,o,StiString.format(Loc.get("Dashboard","NSelected"),0<r?r:b.userFilters.length));break}(e=this.renderItem(n,l,e,this.format(l.as(IStiControlElement),null!=(a=g.get(t.value))?a:t.value))).x+=e.width+4}}else if(p.showAllValue)this.renderItem(n,l,o,StiLocHelper.locAll);else{let t=this.getValuesCount(l,u);this.renderItem(n,l,o,StiString.format(Loc.get("Dashboard","NSelected"),0<r?r:t))}}}getValuesCount(t,e){let i=t.as(StiComboBoxElement),r=StiComboBoxHelper.fetchItems(i,e,i.showBlanks);return null!=r?r.length:0}renderElement(t,e,i,r,l){let n=StiDashboardStyleHelper.getForeColor(e),o=StiDashboardStyleHelper.getBackColor(e,null,l),s=new StiText(i);s.name=e.name+`_ComboBox`,s.allowHtmlTags=!0,s.vertAlignment=StiVertAlignment.Center,s.horAlignment=StiTextHorAlignment.Left,s.textBrush=new StiSolidBrush(n),s.brush=new StiSolidBrush(o),s.text=this.format(e.as(IStiControlElement),r),s.font=StiDashboardStyleHelper.getFont(e),t.components.add(s)}renderItem(t,e,i,r){let l=StiDashboardStyleHelper.getControlStyle(e),n=new StiText,o=(n.name=e.name+`_ComboBoxItem`,n.allowHtmlTags=!0,n.vertAlignment=StiVertAlignment.Center,n.horAlignment=StiTextHorAlignment.Center,n.textBrush=new StiSolidBrush(l.selectedForeColor),n.brush=new StiSolidBrush(l.selectedBackColor),n.text=this.format(e.as(IStiControlElement),r),n.font=StiDashboardStyleHelper.getFont(e),t.components.add(n),Graphics.measureString(r,n.font));return n.clientRectangle=new Rectangle(i.x,i.y,o.width+4,i.height)}static getNameMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>"StiNameComboBoxMeter"==t[Stimulsoft.System.StiObject.stimulsoft]().getType()[Stimulsoft.System.StiObject.stimulsoft]().getTypeName());return null!=e?t.meters.indexOf(e):-1}static getKeyMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>"StiKeyComboBoxMeter"==t[Stimulsoft.System.StiObject.stimulsoft]().getType()[Stimulsoft.System.StiObject.stimulsoft]().getTypeName());return null!=e?t.meters.indexOf(e):-1}static getRow(i,t,r){if(StiString.isNullOrEmpty(i.initialValue)||-1==r)return t.rows.firstOrDefault();return t.rows.firstOrDefault(t=>{var e;return(null==(e=t[r])?void 0:e.toString())==i.initialValue})}}__.z.StiComboBoxElementExportTool=xq0}let StiDatePickerHelper=__.Q.StiDatePickerHelper,StiListBoxHelper=(__.z.StiDatePickerElementExportTool=class extends __.z.StiElementExportTool{async render(e,i,r,t){let l,n=e;if(null==n.getValueMeter())return;let o=await StiElementDataCache.tryToGetOrCreate(e),s=StiDashboardStyleHelper.getForeColor(e),a=StiDashboardStyleHelper.getBackColor(e);this.storedCulture=null;try{let t=null==(l=e.report)?void 0:l.getParsedCulture();StiString.isNullOrWhiteSpace(t)||(this.storedCulture=CultureInfo.currentCulture,CultureInfo.currentCulture=new CultureInfo(t))}finally{let t=new StiText(r);t.name=e.name+`_Content`,t.allowHtmlTags=!0,t.vertAlignment=StiVertAlignment.Center,t.textBrush=new StiSolidBrush(s),t.brush=new StiSolidBrush(a),t.text=this.getDateTimeString(n,o),t.font=StiDashboardStyleHelper.getFont(n),i.components.add(t),null!=this.storedCulture&&(CultureInfo.currentCulture=this.storedCulture)}}getDateTimeString(i,t){let e,r,l=StiDatePickerHelper.getDefaultValue(i);if(StiVariableExpressionHelper.isVariableSpecifiedAsExpression(i,null==(e=null==i?void 0:i.valueMeter)?void 0:e.expression)){let t=null==(r=StiDatePickerHelper.getVariableSpecifiedAsValue(i))?void 0:r.as(StiVariable);if(Range.isRangeType(null==t?void 0:t.type)&&i.initialRangeSelectionSource==StiInitialDateRangeSelectionSource.Selection){let t={ref:null},e={ref:null};return StiDatePickerHelper.calculateRangeFromInitial(i.initialRangeSelection,t,e),this.getRangeVariableString(i,new DateTimeRange(t.ref,e.ref))}return null!=l&&l[Stimulsoft.System.StiObject.stimulsoft]().is(DateTimeRange)?this.getRangeVariableString(i,l):this.format(i,l)}if(i.userFilters.any()){let t=this.format(i,i.userFilters[0].value);return i.selectionMode!=StiDateSelectionMode.AutoRange&&i.selectionMode!=StiDateSelectionMode.Range||(t+=` - `+this.format(i,i.userFilters[0].value2)),t}return i.selectionMode==StiDateSelectionMode.AutoRange?this.getAutoRangeColumnString(i,t):i.selectionMode==StiDateSelectionMode.Range?this.getRangeColumnString(i):this.format(i,l)}getRangeVariableString(t,e){let i=null==e?void 0:e[Stimulsoft.System.StiObject.stimulsoft]().as(DateTimeRange);return this.format(t,null==i?void 0:i.fromObject)+` - `+this.format(t,null==i?void 0:i.toObject)}getAutoRangeColumnString(i,t){if(null==t)return"";let r=t.rows.select(t=>t[0]).where(t=>null!=t&&t instanceof DateTime);if(r.any()){let t=r.where(t=>t instanceof DateTime).cast().min(),e=r.where(t=>t instanceof DateTime).cast().max();return this.format(i,t)+` - `+this.format(i,e)}return""}getRangeColumnString(t){let e={ref:null},i={ref:null};return StiDatePickerHelper.calculateRangeFromInitial(t.initialRangeSelection,e,i),this.format(t,e.ref)+` - `+this.format(t,i.ref)}},__.P.StiListBoxHelper),StiCheckBox=Stimulsoft.Report.Components.StiCheckBox,StiCheckStyle=Stimulsoft.Report.Components.StiCheckStyle,IStiShape=Stimulsoft.Report.Components.IStiShape;{class ps0 extends __.z.StiElementExportTool{async render(t,l,e,i){if(this.renderEmptyDataMessage(t,l,e.clone(),i))return;let n=l.report,o=l.page,s=t.as(StiListBoxElement),a=l.clone(!0,!1),r=(i.renderSinglePage||(e.height=Number.MAX_VALUE),StiExportTool.isAllowOpacity(i)),u=StiExportTool.getScaleFactor(l,i),S=(await this.renderItems(a,e.clone(),t,r,u),0),m=l.top;0<a.components.count&&(m+=a.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().min(t=>t.top));while(1){let t=a.getComponentsList(),r=0;for(let i of t){let t=i.bottom,e=i.left;i.is(IStiShape)&&(t+=StiElementConsts.ListBox.ItemHeight/3),null!=s?(s.orientation==StiItemOrientation.Vertical&&t<=l.height||s.orientation==StiItemOrientation.Horizontal&&e<=l.width||0==r)&&(a.components.remove(i),l.components.add(i)):t<=l.height&&(a.components.remove(i),l.components.add(i)),r++}if(i.renderSinglePage||0==a.components.count)break;let e=a.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().min(t=>t.top);a.getComponentsList().forEach(t=>t.top=t.top-e+1),n.renderedPages.count<=++S&&n.renderedPages.add(o.clone(!0,!1)),o=n.renderedPages.getByIndex(S),l=l.clone(!0,!1),i.renderSingleElement?(l.top=0,l.left=0):l.top=m,o.components.add(l)}for(let t of l.report.renderedPages.list)t.getComponentsList().forEach(t=>{t.report=n,t.page=o})}static getCheckStyle(t,e){let i=t,r=t.is(StiListBoxElement)&&t.as(StiListBoxElement).selectionMode==StiItemSelectionMode.One&&t.as(StiListBoxElement).selectionType==StiListBoxSelectionType.RadioButton,l=r?StiCheckStyle.DotCircle:StiCheckStyle.CheckRectangle,n=r?StiCheckStyle.NoneCircle:StiCheckStyle.NoneRectangle;if(!i.userFilters.any())return r?n:l;if(i.userFilters.any(t=>t.condition==StiDataFilterCondition.IsFalse))return n;if(i.userFilters.any(t=>t.condition==StiDataFilterCondition.EqualTo&&t.value==(null==e?void 0:e.toString())))return l;return n}async renderItems(r,l,n,o,s){let t=await StiElementDataCache.tryToGetOrCreate(n);if(null==t)return;let e=n,a=StiListBoxHelper.fetchItems(e,t,e.showBlanks);if(null!=a){let t=a.select(t=>null==t?"":null==t.label&&null!=t.value&&t.value instanceof DateTime?t.value.toShortDateString():t.toString()),e=a.select(t=>ps0.getCheckStyle(n,t)),i=a.select(t=>!1);this.renderItems2(r,l.clone(),n,t,e,i,o,s)}}renderItems2(n,o,s,a,u,S,m,h){let c=s,d=c.selectionMode==StiItemSelectionMode.Multi,g=c.selectionMode==StiItemSelectionMode.One&&s.is(StiListBoxElement)&&s.as(StiListBoxElement).selectionType==StiListBoxSelectionType.RadioButton,p=d||g,b=s.is(IStiListBoxElement)&&s.orientation==StiItemOrientation.Horizontal,C=s,f=StiDashboardStyleHelper.getFont(s),w=(f=null!=f?StiFontUtils.changeFontSize(f,f.size*h):new Font("Arial",8),b?this.getHorizontalItemAutoWidth(c,f,a,o.width,p):o.width),y=b?o.height:StiElementConsts.ListBox.ItemHeight,M=o.x,I=o.y;if(c.showAllValue){b&&0==w&&(w=this.measureItemWidth(StiLocHelper.locAll,f,p));let t=new Rectangle(M,I,w,y),e=g?StiCheckStyle.DotCircle:StiCheckStyle.CheckRectangle;C.userFilters.any()&&(e=g?StiCheckStyle.NoneCircle:C.userFilters.any(t=>t.condition==StiDataFilterCondition.IsFalse)?StiCheckStyle.NoneRectangle:StiCheckStyle.DotRectangle),this.renderItem(n,t,s,StiLocHelper.locAll,e,b?StiBorderSides.Right:StiBorderSides.Bottom,d,g,!1,m,h),b?M+=w+1:I+=y+1}if(null!=a){let r=0,l=0;if(0<(l=s.is(IStiListBoxElement)?s.maxSelectedItems:l)&&null!=u){let e=0,i=g?StiCheckStyle.NoneCircle:StiCheckStyle.NoneRectangle,r=g?StiCheckStyle.DotCircle:StiCheckStyle.CheckRectangle;for(let t=0;t<u.length;t++)u[t]==r&&(e<l?e++:u[t]=i)}for(let i=0;i<a.count2();i++){b&&0==w&&(w=this.measureItemWidth(a[i],f,p));let t=new Rectangle(M+r,I,w-r,y),e=u[i];if(!g||C.userFilters.any()||c.showAllValue||0!=i||(e=StiCheckStyle.DotCircle),this.renderItem(n,t,s,a[i],e,StiBorderSides.None,d,g,S[i],m,h),S[i]&&(r+=StiElementConsts.ListBox.CheckBoxWidth),b?M+=w+1:I+=y+1,b&&M>=o.right||!b&&I>=o.bottom)break}}}getHorizontalItemAutoWidth(t,e,i,r,l){let n=0,o=0;if(null!=i)while(n<r&&o<i.length)n+=this.measureItemWidth(i[o],e,l),o++;return t.showAllValue&&(this.measureItemWidth(StiLocHelper.locAll,e,l),o++),n<r&&0<o?r/o:0}measureItemWidth(t,e,i){let r=StiElementConsts.Table.Font.getGdiFont(1,null,e),l=Graphics.measureString(t,r,1e6),n=l.width;return i&&(n+=StiElementConsts.ListBox.CheckBoxWidth),n}renderItem(e,i,r,t,l,n,o,s,a,u,S){if(o||s){let t=r.is(IStiListBoxElement)&&r.orientation==StiItemOrientation.Horizontal;ps0.renderCheckControl(e,i.clone(),r,l,t?StiBorderSides.None:n,s,u,S),i.x+=StiElementConsts.ListBox.CheckBoxWidth*S,i.width-=StiElementConsts.ListBox.CheckBoxWidth*S}let m=StiDashboardStyleHelper.getForeColor(r),h=StiDashboardStyleHelper.getBackColor(r,null,u),c=StiDashboardStyleHelper.getFont(r),d=(c=null!=c?StiFontUtils.changeFontSize(c,c.size*S):new Font("Arial",8),this.format(r.as(IStiControlElement),t)),g=new StiText(i),p=(g.name=r.name+`_Item`,g.allowHtmlTags=!0,g.margins=o||s?new StiMargins(1,0,0,0):StiMargins.empty,g.border=n!=StiBorderSides.None?new StiBorder(n,Color.gray,1,StiPenStyle.Solid):new StiBorder(StiBorderSides.None,Color.transparent,0,StiPenStyle.None),g.brush=new StiSolidBrush(h),g.horAlignment=StiTextHorAlignment.Left,g.vertAlignment=StiVertAlignment.Center,g.text=d,g.textBrush=new StiSolidBrush(m),g.wordWrap=!1,g.font=c,r.as(IStiControlElement));null==p||p.textFormat.is(StiGeneralFormatService)||(g.excelDataValue=d),e.components.add(g)}static renderCheckControl(t,e,i,r,l,n,o,s){let a=StiDashboardStyleHelper.getForeColor(i),u=StiDashboardStyleHelper.getBackColor(i,null,o),S=(e=new Rectangle(e.x,e.y,StiElementConsts.ListBox.CheckBoxWidth*s,e.height),new StiCheckBox(e));S.name=i.name+`_ItemCheckBox`,S.border=l!=StiBorderSides.None?new StiBorder(l,Color.gray,1,StiPenStyle.Solid):new StiBorder(StiBorderSides.None,Color.transparent,0,StiPenStyle.None),S.contourColor=Color.transparent,S.textBrush=new StiSolidBrush(a),S.brush=new StiSolidBrush(u),S.checkStyleForTrue=r,S.checkStyleForFalse=n?StiCheckStyle.NoneCircle:StiCheckStyle.NoneRectangle,S.checkedValue=r!=StiCheckStyle.NoneRectangle&&r!=StiCheckStyle.NoneCircle,t.components.add(S)}}__.z.StiListBoxElementExportTool=ps0}let StiVerticalLinePrimitive=Stimulsoft.Report.Components.StiVerticalLinePrimitive,StiFlowchartSortShapeType=Stimulsoft.Report.Components.StiFlowchartSortShapeType;{class Au0 extends __.z.StiElementExportTool{async render(t,l,n,e){let o=t.as(StiNumberBoxElement);if(null==o.getValueMeter())return;let s=n.height+2*n.y,a=__.z.StiExportTool.isAllowOpacity(e),u=await StiNumberBoxHelper.getInitialValue(o);if(u[Stimulsoft.System.StiObject.stimulsoft]().getType()==Stimulsoft.Report.DecimalRange){let t=new Rectangle(n.x,n.y,n.width/2,n.height),e=1,i=new Rectangle(t.right,s/4,e,s/2),r=new Rectangle(t.right,n.y,n.width/2,n.height);this.paintItem(l,o,t,u.from,a),this.paintSeparator(l,o,i),this.paintItem(l,o,r,u.to,a)}else if(Stimulsoft.System.Type.isNumericType(Stimulsoft.System.Type.getType(u))){let t=u,e=10,i=new Rectangle(n.right-e-3,s/3,e,s/3);this.paintItem(l,o,n,t,a),this.paintNavButtons(l,o,i)}}paintItem(t,e,i,r,l){let n=StiDashboardStyleHelper.getForeColor(e),o=StiDashboardStyleHelper.getBackColor(e,null,l),s=new StiText(i);s.name=e.name+`_NumberBox`,s.allowHtmlTags=!0,s.vertAlignment=StiVertAlignment.Center,s.horAlignment=Enum.parse(StiTextHorAlignment,Enum.getName(StiHorAlignment,e.horAlignment)),s.textBrush=new StiSolidBrush(n),s.brush=new StiSolidBrush(o),s.text=Au0.formatValue(e,r),s.font=StiDashboardStyleHelper.getFont(e),t.components.add(s)}paintSeparator(t,e,i){let r=new StiVerticalLinePrimitive(i);r.name=e.name+`_NumberBoxSep`,r.color=Au0.getSeparatorColor(e),t.components.add(r)}paintNavButtons(t,e,i){let r=new StiShape(i);r.name=e.name+`_NumberBoxButtons`,r.shapeType=new StiFlowchartSortShapeType,r.borderColor=StiDashboardStyleHelper.getForeColor(e),t.components.add(r)}static formatValue(t,e){return t.textFormat.format(e)}static getSeparatorColor(t){return StiDashboardStyleHelper.getSeparatorColor(t)}}__.z.StiNumberBoxElementExportTool=Au0}let StiOnlineMapHelper=__.h.StiOnlineMapHelper,StiMapMode=Stimulsoft.Report.Maps.StiMapMode,StiDockStyle=(__.z.StiOnlineMapElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r){var l,n,o;if(this.renderEmptyDataMessage(t,e,i.clone(),r))return;let s=await StiElementDataCache.tryToGetOrCreate(t),a=StiOnlineMapHelper.calculateMapData(s,t),u=t,S=new StiMap;if(S.stretch=!0,S.page=u.page,S.dataTable=s,e.report.dictionary=u.report.dictionary,S.latitude=null==(l=u.latitude)?void 0:l.expression,S.longitude=null==(n=u.longitude)?void 0:n.expression,S.mapMode=StiMapMode.Online,S.provider=u.provider,a.pushpins)S.pushPins=`[${null==(o=a.pushpins)?void 0:o.map(t=>`"pp=${t.lon},${t.lat};60"`).join(",")}]`;else if(a.osmLocations)try{let t=await fetch("https://reports.stimulsoft.com/1/maplocation",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a.osmLocations}),e=await t.json(),i=JSON.parse(e.Result);S.pushPins=`[${i.filter(t=>t.center&&t.found).map(t=>`"pp=${t.center.replace("[","").replace("]","").split(",").reverse().join(",")};60"`).join(",")}]`}catch(t){S.pushPins="[pp=0,0;60]"}else S.pushPins="[pp=0,0;60]";S.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(t,null,r.is(StiSvgDashboardExportSettings)||r.is(StiHtmlDashboardExportSettings))),S.left=i.left,S.top=i.top,S.width=i.width,S.height=i.height,e.components.add(S)}},__.z.StiPanelElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r){let l=StiDashboardStyleHelper.getBackColor(t),n=new StiContainer(i);n.name=t.name+`_Content`,n.brush=new StiSolidBrush(l),e.components.add(n)}},Stimulsoft.Report.Components.StiDockStyle),StiCrossTabBuilder=Stimulsoft.Report.Engine.StiCrossTabBuilder,StiCrossTabParams=Stimulsoft.Report.CrossTab.StiCrossTabParams,StiPivotTableHelper=__.h.StiPivotTableHelper;{class Fv0 extends __.z.StiElementExportTool{async render(l,n,o,s){if(this.renderEmptyDataMessage(l,n,o.clone(),s))return;let a=n.report,e=l.as(StiPivotTableElement),u=n.page,i=s.is(StiSvgDashboardExportSettings)&&s.designMode,t=StiExportSettingsHelper.isDataExport(s),S=StiExportTool.getScaleFactor(n,s),m=null,r=1!=StiScale.factor||1!=S,h=null==(m=r?m:StiPivotTableToCrossTabCache.get(e));if(h||r){let t=await StiElementDataCache.tryToGetOrCreate(e);null==t&&(t=new StiDataTable),m=await StiPivotTableHelper.convertToCrossTab(e,t,S),r||(StiPivotTableToCrossTabCache.put(e,m),StiPivotToConvertedStateCache.putFalse(e))}StiPivotTableHelper.applyStyle(e,m,t),i&&(Fv0.renderForWebDesigner(m,e),StiPivotTableToCrossTabCache.remove(e)),Fv0.convertSizes(e,m,!r);let c=m.crossTabInfo.cross,d=c.widths[Stimulsoft.System.StiObject.stimulsoft]().toList().sum(),g=c.heights[Stimulsoft.System.StiObject.stimulsoft]().toList().sum();if(d<=o.width&&g<=o.height||i||s.renderSinglePage){StiBorderExportHelper.render(l,n,s),StiBackColorExportHelper.render(l,n);let t=await StiTitleExportHelper.render(l,n,s);t=StiLayoutExportHelper.excludePadding(l,t,S),t=StiLayoutExportHelper.excludeCornerRadius(l,t,S),Fv0.renderCells(n,t,t,null,m,i)}else if(s.is(StiExcelDashboardExportSettings)){!s.renderSingleElement&&0!=a.renderedPages.getByIndex(0).components.count||a.renderedPages.removeAt(0),u=new StiPage;let t=new StiPanel,e=(t.name=l.name,t.clientRectangle=new Rectangle(0,0,d,g),u.components.add(t),a.renderedPages.add(u),StiBorderExportHelper.render(l,t,s),StiBackColorExportHelper.render(l,t),await StiTitleExportHelper.render(l,t,s)),i=(a.renderedPages.remove(u),2*d-e.width+e.left+1),r=2*g-e.height+e.top+1;(u=new StiPage).width=i,u.height=r,(t=new StiPanel).name=l.name,t.clientRectangle=new Rectangle(0,0,i,r),u.components.add(t),a.renderedPages.add(u),StiBorderExportHelper.render(l,t,s),StiBackColorExportHelper.render(l,t),e=await StiTitleExportHelper.render(l,t,s),u.unlimitedHeight=!0,Fv0.renderCells(t,e,e,null,m,!1)}else{let r=u.clone(!0,!1),t=(a.renderedPages.add(r),n.clone(!0,!1)),e=(t.left=0,t.top=0,t.width=r.width,t.height=r.height,o=new Rectangle(0,0,r.width,r.height),r.components.add(t),n=t,!s.renderSingleElement&&0!=a.renderedPages.getByIndex(0).components.count||a.renderedPages.removeAt(0),StiBorderExportHelper.render(l,n,s),StiBackColorExportHelper.render(l,n),await StiTitleExportHelper.render(l,n,s)),i=(e=StiLayoutExportHelper.excludePadding(l,e,S),e=StiLayoutExportHelper.excludeCornerRadius(l,e,S),new Rectangle(e.left,e.top,e.width+d,e.height+g));u.unlimitedHeight=!0,Fv0.renderCells(n,i,e,null,m,!1);for(let i=0;i<r.segmentPerWidth;i++)for(let e=0;e<r.segmentPerHeight;e++)if(0!=i||0!=e){let t=n.clone(!0,!1);t.left=i*u.width,t.top=e*u.height,t.width=u.width,t.height=u.height,r.components.insert(0,t),StiBorderExportHelper.render(l,t,s),StiBackColorExportHelper.render(l,t),await StiTitleExportHelper.render(l,t,s)}}for(let t of n.report.renderedPages.list)t.getComponentsList().forEach(t=>{t.report=a,t.page=u})}static renderForWebDesigner(t,e){let i=e.columns.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,e.report)).toList(),r=e.rows.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,e.report)).toList(),l=e.summaries.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,e.report)).toList();if(!(1<i.length||1<r.length))return;let n=t.crossTabInfo.cross.cells,o=0,s=new List,a=new List,u=null,S=null,m=e.summaryDirection==StiSummaryDirection.LeftToRight?l.length:1,h=e.summaryDirection==StiSummaryDirection.UpToDown?l.length:1,c=StiPivotTableHelper.getHeadersBounds(n);for(let i=0;i<n.length;i++){let e=n[i][0];for(e.cellType==StiCellType.LeftTopLineMain&&((u=new Gv0).cell=e,u.x=i,u.width=e.width),e.cellType==StiCellType.RightTopLineMain&&((S=new Gv0).cell=e,S.x=i),o=0;o<n[i].length;o++)if((e=n[i][o]).cellType==StiCellType.CornerColMain||e.cellType==StiCellType.CornerRowMain){let t=new Gv0;t.cell=e,t.x=i,t.y=o,t.width=e.width,t.height=e.height,s.add(t)}}if(-1<c.top){let l=-1;for(let r=0;r<n.length;r++){let i=n[r][c.top];if(i.cellType==StiCellType.HeaderColMain||i.cellType==StiCellType.HeaderColTotalMain){l=-1==l?r:l;let t=c.bottom-c.top+(1<m?0:1),e=new Gv0;if(e.cell=i,e.x=l,e.y=c.top,e.height=t,e.width=m,s.add(e),i.text=(1<t&&i.cellType!=StiCellType.HeaderColTotalMain?"> ":"")+i.text,a.add(r+i.width-1),1<m)for(let e=r+i.width-m;e<r+i.width;e++){let t=new Gv0;t.cell=n[e][c.bottom],t.x=l,t.y=c.bottom,s.add(t),a.add(e),l++}else l++}}}if(-1<c.left){let r=-1;for(o=0;o<n[0].length;o++){let i=n[0][o];if(i.cellType==StiCellType.HeaderRowMain||i.cellType==StiCellType.HeaderRowTotalMain){r=-1==r?o:r;let t=c.right+(1<h?0:1),e=new Gv0;if(e.cell=i,e.x=0,e.y=r,e.height=h,e.width=t,e.cellRow=1==h?o+i.height-1:-1,s.add(e),i.text=(1<t&&i.cellType!=StiCellType.HeaderRowTotalMain?"> ":"")+i.text,1<h)for(let e=o+i.height-h;e<o+i.height;e++){let t=new Gv0;t.cell=n[c.right][e],t.x=c.right,t.y=r,t.cellRow=e,s.add(t),r++}else r++}}}null!=u&&(u.width=c.right-c.left+1,s.add(u)),null!=S&&(S.width=s.max(t=>t.x)-c.right,s.add(S));let d=StiDashboardStyleHelper.getPivotTableStyle(e),g=s.max(t=>t.y)+1,p=s.max(t=>t.x)+1,b=StiArray.create2(StiCell,p,g);for(let r of s)if(b[r.x][r.y]=r.cell,r.cell.width=r.width,r.cell.height=r.height,0<=r.cellRow)for(o=r.y;o<r.y+r.height;o++){let i=c.right+1;for(let t=r.width;t<n.length;t++)if(0<=a.indexOf(t)){b[i++][o]=n[t][r.cellRow+o-r.y],b[i-1][o].field.border.side=t==n.length-1?StiBorderSides.None:StiBorderSides.Right;let e=b[i-1][o];if(null!=e&&null!=e.field&&e.field.brush.is(StiSolidBrush)){let t=e.field.brush.color;(t.equals(d.alternatingCellBackColor)||t.equals(d.cellBackColor))&&(e.field.brush=new StiSolidBrush(o%2!=0?d.alternatingCellBackColor:d.cellBackColor),e.field.textBrush=new StiSolidBrush(o%2!=0?d.alternatingCellForeColor:d.cellForeColor))}null!=e&&null!=e.field&&(e.field.brush=null!=e.field.conditionBrush?e.field.conditionBrush:e.field.brush,e.field.textBrush=null!=e.field.conditionTextBrush?e.field.conditionTextBrush:e.field.textBrush)}}n=StiArray.create2(StiCell,p,0);for(let e=0;e<p;e++){n[e]=StiArray.create(StiCell,g);for(let t=0;t<g;t++)n[e][t]=null!=b[e][t]?b[e][t]:new StiCell,null!=n[e][t].field&&e==p-1&&(n[e][t].field.border.side|=StiBorderSides.Top),0<t&&(n[e][t].parentCell=n[e][t])}let C=StiArray.create(Number,g),f=StiArray.create(Number,p);StiArray.copy(t.crossTabInfo.cross.heights,0,C,g),StiArray.copy(t.crossTabInfo.cross.widths,0,f,p),t.crossTabInfo.cross.cells=n,t.crossTabInfo.cross.widths=f,t.crossTabInfo.cross.heights=C,t.crossTabInfo.cross.doAutoSize()}static renderCells(t,e,i,r,l,n){l.page.unlimitedHeight=!0,t.canBreak=!0,t.dockStyle=StiDockStyle.None;let o=new StiCrossTabParams,s=(o.startColumn=0,o.startRow=0,o.destinationContainer=t,o.destinationRectangle=i,o.forceNoBreak=n,new StiCrossTabBuilder);s.renderCrossTabUnlimitedBreakable(o,l,t,e.clone())}static convertSizes(t,e,i){let r=e.crossTabInfo.cross,l=t.report.unit;StiPivotToConvertedStateCache.isConverted(t)&&i||(this.convert(r.heights,l),this.convert(r.widths,l),this.convert(r.coordX,l),this.convert(r.coordY,l),i&&StiPivotToConvertedStateCache.putTrue(t))}static convert(e,i){for(let t=0;t<e.length;t++)e[t]=i.convertToHInches(e[t])}}__.z.StiPivotTableElementExportTool=Fv0;class Gv0{constructor(){this.x=0,this.y=0,this.width=1,this.height=1,this.cellRow=-1}}}__.z.StiRegionMapElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r){if(this.renderEmptyDataMessage(t,e,i.clone(),r))return;let l=t,n=StiDashboardStyleHelper.getElementFontFromStyle(t,l.font),o=new StiMap;if(o.stretch=!0,o.page=l.page,o.mapType=l.mapType,o.dataFrom=l.dataFrom,o.language=l.language,o.mapStyle=StiDashboardStyleHelper.getMapStyleIdent(l),o.componentStyle=l.customStyleName,o.mapIdent=l.mapIdent,o.mapMode=StiMapMode.Choropleth,o.showValue=l.showValue,o.shortValue=l.shortValue,o.showZeros=l.showZeros,o.showBubble=l.showBubble,o.colorEach=l.colorEach,o.show3D=l.show3D,o.displayNameType=l.showName,o.colorDataColumn=null==l.colorMeter?"":l.colorMeter.expression,o.groupDataColumn=null==l.groupMeter?"":l.groupMeter.expression,o.valueDataColumn=null==l.valueMeter?"":l.valueMeter.expression,o.nameDataColumn=null==l.nameMeter?"":l.nameMeter.expression,o.keyDataColumn=null==l.keyMeter?"":l.keyMeter.expression,o.mapData=l.mapData,o.labels=new StiMapLabels(n,l.labels.foreColor,l.labels.shadowColor,l.labels.showShadow),o.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(t,null,r.is(StiSvgDashboardExportSettings)||r.is(StiHtmlDashboardExportSettings))),o.left=i.left,o.top=i.top,o.width=i.width,o.height=i.height,o.valueFormat=l.valueFormat,l.dataFrom==StiMapSource.DataColumns){let t=await StiElementDataCache.tryToGetOrCreate(l);o.dataTable=t,e.report.dictionary=l.report.dictionary}e.components.add(o)}},__.z.StiShapeElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r){let l=t.as(StiShapeElement),n=new StiShape;n.shapeType=l.shapeType,n.size=l.size,n.borderColor=l.stroke,n.brush=l.fill,n.page=l.page,n.left=i.left,n.top=i.top,n.width=i.width,n.height=i.height,e.components.add(n)}};let StiTableElementPagingHelper=Stimulsoft.Report.Dashboard.Helpers.StiTableElementPagingHelper,StiTableColumnVisibilityHelper=Stimulsoft.Report.Dashboard.StiTableColumnVisibilityHelper,StiBubbleCellPainter=__.C.StiBubbleCellPainter,StiSparklinesCellPainter=__.C.StiSparklinesCellPainter,StiSparkline=Stimulsoft.Report.Components.StiSparkline,StiSystemVariableObject=Stimulsoft.Data.Functions.StiSystemVariableObject,StiTableElementGdiPainter=__.q.StiTableElementGdiPainter,StiTableElementHelper=__.h.StiTableElementHelper,StiDataBarsCellPainter=__.C.StiDataBarsCellPainter,StiColorScaleCellPainter=__.C.StiColorScaleCellPainter,StiTextQuality=Stimulsoft.Report.Components.StiTextQuality,StiConditionIconPainter=__.C.StiConditionIconPainter;{class Jx0 extends __.z.StiElementExportTool{async render(t,i,e,r){if(this.renderEmptyDataMessage(t,i,e.clone(),r))return;let l=i.report,n=i.page,o=r.is(StiSvgDashboardExportSettings)&&r.as(StiSvgDashboardExportSettings).designMode,s=t.as(StiTableElement),a=null==r?__.f.StiDashboardExportFormat.Document:r.format,u=r.renderSingleElement&&a==__.f.StiDashboardExportFormat.Excel,S=StiExportSettingsHelper.isDataExport(r),m=(delete s.cacheStyle,i.clone(!0,!1)),h=StiExportTool.getScaleFactor(i,r),c=(r.renderSinglePage||(e.height=Number.MAX_VALUE),await Jx0.renderCells(m,e,s,h,a,S,o),u&&(e.width=m.components.toList().max(t=>t.right),e.height=m.components.toList().max(t=>t.bottom),i.width=i.page.width=e.width,i.height=i.page.height=e.height),0),d=i.top;0<m.components.count&&(d+=m.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().min(t=>t.top));while(1){if(m.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().where(t=>t.bottom<=i.height).toList().forEach(t=>{m.components.remove(t),(t.left<i.width||a==__.f.StiDashboardExportFormat.Data)&&(i.components.add(t),t.right>i.width)&&a!=__.f.StiDashboardExportFormat.Data&&(t.width=Math.max(0,i.width-t.left))}),r.renderSinglePage||0==m.components.count)break;let e=m.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().min(t=>t.top);m.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().forEach(t=>t.top=t.top-e+1),l.renderedPages.count<=++c&&l.renderedPages.add(n.clone(!0,!1)),n=l.renderedPages.getByIndex(c),i=i.clone(!0,!1),r.renderSingleElement?(i.top=0,i.left=0):i.top=d,n.components.add(i)}for(let t of i.report.renderedPages.list)t.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().forEach(t=>{t.report=l,t.page=n})}static async renderCellsForViewer(t,i,h){let c,d=t.as(StiTableElement);if(null==d)return null;let g=await StiElementDataCache.getOrCreate(d);if(null==g)return null;g=this.processDataTableWithTopN(g);let p=1,b=[],C=StiElementConsts.Table.getHeight(d.getDataFont(),p),f=g.meters.where(t=>t.is(StiTableColumn)).cast(),e=null!=f.firstOrDefault(t=>t.showTotalSummary),w=(delete d.cacheStyle,0),y=0<d.rowsPerPage,M=0,I=g.rows.length-1;if(y){let t=null!=i&&null!=i[d.key]?i[d.key]:1,e=Math.ceil(g.rows.length/d.rowsPerPage);t>e&&(t=e),M=(t-1)*d.rowsPerPage,I=Math.min(t*d.rowsPerPage-1,g.rows.length-1)}for(let m of f){m.cache={};let t=await this.getColumnVisibilityState(m,d.report);if(!t){w++;continue}let o=Jx0.measureHeader(d,m,p);if(m.is(StiSparklinesColumn))o=Jx0.measureSparklinesCell(p,o);else{for(let r=M;r<=I;r++){let t=g.rows[r],e=t[w],i;i=m.is2(StiIndicatorColumn)?Jx0.measureIndicatorCell(d,m,p,e):m.is2(StiDataBarsColumn)?Jx0.measureDataBarsCell(d,m,p,e):Jx0.measureCommonCell(d,m,p,e,o).width,o=Math.max(o,i)}if(m.showTotalSummary){let t=StiTableElementHelper.calculateTotal(m,w,g),e=this.measureFooter(d,m,p,t);o=Math.max(o,e)}}let s=StiTableElementHelper.minDataColumnValue(m,g,w),a=StiTableElementHelper.maxDataColumnValue(m,g,w),u=y&&h?M:0,S=y&&h?I:g.rows.length-1;for(let n=u;n<=S;n++){if(b.length<=S-u&&b.push([]),y&&!h&&(n<M||n>I))continue;let r=g.rows[n],i=this.processRowValue(n,r[w],m),t=new Rectangle(0,0,o,C),e=new StiPanel,l=(await Jx0.renderCell(e,t,d,r,f.select(t=>t.key),m,p,i,s,a,1==(1&n),__.f.StiDashboardExportFormat.Html,!1),{});if(0<d.tableConditions.length&&0<e.components.length){let t=e.components.getByIndex(0);t.is(StiText)||(t.is(IStiBrush)&&(l["backColor"]=ColorTranslator.toHtml(StiBrush.toColor(t.as(IStiBrush).brush))),t.is(IStiTextBrush)&&(l["textColor"]=ColorTranslator.toHtml(StiBrush.toColor(t.as(IStiTextBrush).textBrush))))}if("boolean"==typeof i)l["boolValue"]=i;else for(let t of e.components.list)if(t.is(StiText)){if(l["text"]=t.text,l["textColor"]=ColorTranslator.toHtml(StiBrush.toColor(t.textBrush)),l["backColor"]=ColorTranslator.toHtml(StiBrush.toColor(t.brush)),l["textWidth"]=t.width,l["textHeight"]=t.height,0<d.tableConditions.length){let t=null==(c=d.as(IStiFont))?void 0:c.font,e=0<d.tableConditions.length?await StiTableElementConditionHelper.processFontStyle(t,m.key,d,r,f.select(t=>t.key)):FontStyle.Regular,i=(t=new Font(t.fontFamily.name,t.size,e),{});i["bold"]=t.bold,i["italic"]=t.italic,i["underline"]=t.underline,i["strikeout"]=t.strikeout,l["textFontStyle"]=i}if(null!=i){let e=null;if(i instanceof DateTime){let t=CultureInfo.currentCulture;try{CultureInfo.currentCulture=CultureInfo.getCultureInfo("en-US"),e=i.toString()}finally{CultureInfo.currentCulture=t}}else e=i.toString();null!=e&&e!=l["text"]&&(l["value"]=e)}}else t.is(StiImage)?(l["image"]=null!=t.imageToDraw?Stimulsoft.Base.Drawing.StiImageConverter.imageToString(t.imageToDraw):null,l["imageWidth"]=t.width,l["imageHeight"]=t.height,0<d.tableConditions.length&&(l["iconAlignment"]=Enum.getName(StiIconAlignment,d.tableConditions.firstOrDefault().iconAlignment).toLowerCase())):t.is(StiSparkline)&&(l["sparkline"]=Stimulsoft.Report.Export.StiHtmlExportService.getSparklineData(null,t,t.width,t.height),l["sparklineWidth"]=t.width,l["sparklineHeight"]=t.height);null==l["boolValue"]&&null==l["text"]&&null==l["image"]&&(l["text"]=i),b[h?n-u:n].push(l)}if(e){b.length<g.rows.length+1&&b.push([]);let e={};if(e["text"]="",m.showTotalSummary){let t=StiTableElementHelper.calculateTotal(m,w,g);e["text"]=m.summaryType==StiSummaryColumnType.Count?StiMath.trunc(t).toString():StiTextFormatHelper.formatBasedOnColumnType(d,m,t)}b[b.length-1].push(e)}w++}return b}static async renderCells(u,S,m,h,c,d,r){let g=await StiElementDataCache.tryToGetOrCreate(m);if(null==g)return;g=this.processDataTableWithTopN(g);let e=StiElementConsts.Table.getHeight(m.getColumnFont(),h),t=StiElementConsts.Table.getHeight(m.getDataFont(),h),p=g.meters.where(t=>t.is(StiTableColumn)).cast(),i=null!=p.firstOrDefault(t=>t.showTotalSummary),l=r?0:m.currentPageIndex,n=0!=m.rowsPerPage&&-1!=l&&c!=__.f.StiDashboardExportFormat.Excel,o=1,b=(n&&(o=StiTableElementPagingHelper.getNumberOfPages(g.rows.length,m.rowsPerPage))<=1&&(n=!1),g.rows);if(n){let t=b.skip(m.rowsPerPage*l).take(m.rowsPerPage);t.any()?b=t:n=!1}let C=i?StiElementConsts.Table.getHeight(m.getTotalFont(),h):0,s=n?StiElementConsts.Table.getHeight(m.getTotalFont(),h):0,f=C+s,w=new List,y=[],M=0;for(let r of p){r.cache={};let i=0,t=await this.getColumnVisibilityState(r,m.report);if(t&&(i=this.measureHeader(m,r,h),r.showTotalSummary)){let t=StiTableElementHelper.calculateTotal(r,M,g),e=this.measureFooter(m,r,h,t);i=Math.max(i,e)}w.push(i),M++}let I=S.y+e;if(I<S.bottom-f){for(let o of b){let n=t;M=-1;for(let l of p){M++;let t=await StiTableColumnVisibilityHelper.getVisible(l,m.report);if(!t)continue;let r=w[M];if(l.is(StiSparklinesColumn))r=this.measureSparklinesCell(h,r);else{let e=o[M],i;if(l.is2(StiIndicatorColumn))i=this.measureIndicatorCell(m,l,h,e);else if(l.is2(StiDataBarsColumn))i=this.measureDataBarsCell(m,l,h,e);else if(l.is2(StiBubbleColumn))i=Jx0.measureBubbleCell(m,l,h,e);else{let t=this.measureCommonCell(m,l,h,e,r);i=t.width,n=Math.max(t.height,n)}r=Math.max(r,i)}w[M]=r}if(I+n>S.bottom-f&&(n=S.bottom-f-I)<1.2&&(n=1.2),y.push(n),(I+=n)>=S.bottom-f)break}y.push(t)}if(m.sizeMode==StiTableSizeMode.Fit){let e=S.width/w.sum(),t=((1<e||!r)&&(w=w.select(t=>t*e).toList()),-1);for(let n of b){if(++t>=y.length)break;M=-1;let l=y[t];for(let r of p){if(M++,r.is2(StiIndicatorColumn)||r.is2(StiDataBarsColumn))continue;if(r.is(IStiTableColumnSize)&&null!=r.size){let t=r,e=t.size.width,i=(t.size.width=w[M]-4,this.measureCommonCell(m,r,h,n[M],t.size.width));l=Math.max(i.height,l),t.size.width=e}}y[t]=l}}let T=S.x;M=0;for(let a of p){let t=await this.getColumnVisibilityState(a,m.report);if(!t){M++;continue}let s=w[M];if(c==__.f.StiDashboardExportFormat.Excel&&(s*=1.1),I=S.y,c!=__.f.StiDashboardExportFormat.Data){let t=new Rectangle(T,I,s,e);this.renderHeader(u,t,m,a,h,c,d),I+=t.height}if(I<=S.bottom-f){let l=StiTableElementHelper.minDataColumnValue(a,g,M),n=StiTableElementHelper.maxDataColumnValue(a,g,M),o=0;for(let r of b){let t=Math.ceil(y[o]),e=this.processRowValue(o,r[M],a),i=new Rectangle(T,I,s,t);if(await this.renderCell(u,i,m,r,p.select(t=>t.key),a,h,e,l,n,1==(1&o),c,d),I+=t,o++,I>=S.bottom-f)break}}if(c!=__.f.StiDashboardExportFormat.Data&&!d&&i){let t=new Rectangle(T,r?S.bottom-f:I,s,C);this.renderFooter(u,t,m,a,M,h,g)}T+=s,M++}if(c!=__.f.StiDashboardExportFormat.Data&&!d&&n){let t=StiString.format(StiLocalization.get("Report","PageNofM"),l+1,o),e=T-S.x,i=new Rectangle(S.x,(r?S.bottom-f:I)+C,e,s);this.renderCurrentPageNumber(u,i,m,h,t)}}static processDataTableWithTopN(t){let e=t.meters.where(t=>t.is(StiTableColumn)).cast().toList(),r=t.rows,l=0;for(let i of e){let t=i.topN,e=this.processTopNElements(r,t,l);r=e.select(t=>t).toList(),l++}let i=new StiDataTable;return i.meters.addRange(e),i.rows.addRange(r),i}static processTopNElements(t,e,i){if(e.mode==StiDataTopNMode.None)return t;let r=new List;for(let e of t){let t=StiValueHelper.tryToNumber(e[i]);r.add({key:t,value:e})}e.mode==StiDataTopNMode.Bottom?r.sort((t,e)=>t.key[Stimulsoft.System.StiObject.stimulsoft]().compareTo(e.key)):r.sort((t,e)=>e.key[Stimulsoft.System.StiObject.stimulsoft]().compareTo(t.key));let l=r.take(e.count).select(t=>t.value).toList();return l}static measureSparklinesCell(t,e){return Math.max(e,80*t)}static measureHeader(t,e,i){return StiTableElementGdiPainter.measureHeader(t,e).width*i}static measureFooter(t,e,i,r){let l=StiTextFormatHelper.formatBasedOnColumnType(t,e,r);return StiTableElementGdiPainter.measureCell(l,t.getTotalFont(),e).width*i}static measureIndicatorCell(t,e,i,r){let l=e.as(StiIndicatorColumn),n=StiIndicatorCellPainter.getCellText(t,l,StiValueHelper.tryToNullableNumber(r)),o=StiTableElementGdiPainter.measureCell(n,t.getDataFont(),e).width*i;return o*=1.25}static measureDataBarsCell(t,e,i,r){let l=StiTextFormatHelper.formatBasedOnColumnType(t,e,r),n=StiTableElementGdiPainter.measureCell(l,t.getDataFont(),e).width*i;return e.horAlignment!=StiHorAlignment.Center&&(n*=2),n=e.is(StiDataBarsColumn)&&0<e.width?i*e.width:n}static measureBubbleCell(t,e,i,r){let l=StiTextFormatHelper.formatBasedOnColumnType(t,e,r),n=StiTableElementGdiPainter.measureCell(l,t.getDataFont(),e).width*i,o=StiElementConsts.Table.getHeight(t.getDataFont(),i);if(e.horAlignment==StiHorAlignment.Center)return o;return n+=o}static measureCommonCell(t,e,i,r,l){if(StiImageHelper.isImage(r))return new Size(l,0);let n=StiTextFormatHelper.formatBasedOnColumnType(t,e,r),o=StiTableElementGdiPainter.measureCell(n,t.getDataFont(),e);return o.width*=i,o.height*=i,o}static renderHeader(t,e,i,r,l,n,o){let s=null!=r?StiLabelHelper.getLabel(r):"",a=StiString.isNullOrWhiteSpace(s)?i.name+`_Column`:StiNameValidator.correctName(s),u=StiDashboardStyleHelper.getTableStyle(i),S=0!=i.columns.indexOf(r)&&e.left<t.width&&!o,m=i.columns.indexOf(r)!=i.columns.length-1&&e.right<=t.width&&!o,h=(S?StiBorderSides.Left:StiBorderSides.None)|(m?StiBorderSides.Right:StiBorderSides.None),c=o?Color.black:this.getHeaderForeColor(i),d=o?Color.transparent:this.getHeaderBackColor(i),g=o?new Font("Arial",10,FontStyle.Bold):i.getColumnFont(),p=new StiText(e);p.name=a,p.allowHtmlTags=!0,p.autoWidth=!1,p.horAlignment=this.getHeaderAlignment(r),p.vertAlignment=StiVertAlignment.Center,p.wordWrap=!1,p.border=new StiBorder(h,u.lineColor,1,StiPenStyle.Solid),p.brush=new StiSolidBrush(d),p.font=StiElementConsts.Table.Font.getGdiFont(l,null,g),p.text=s,p.textFormat=null!=r.textFormat?r.textFormat.clone():null,p.textBrush=new StiSolidBrush(c),p.componentPlacement=`h.`+i.name,t.components.add(p)}static getHeaderAlignment(t){if(t.headerAlignment==StiHorAlignment.Left)return StiTextHorAlignment.Left;if(t.headerAlignment==StiHorAlignment.Right)return StiTextHorAlignment.Right;return StiTextHorAlignment.Center}static renderFooter(t,e,i,r,l,n,o){let s=this.getFooterForeColor(i),a=this.getFooterBackColor(i),u=i.getTotalFont(),S="",m=0,h=(r.showTotalSummary&&(m=StiTableElementHelper.calculateTotal(r,l,o),S=r.summaryType==StiSummaryColumnType.Count?StiMath.trunc(m).toString():StiTextFormatHelper.formatBasedOnColumnType(i,r,m)),StiTextHorAlignment.Right),c=(r.summaryAlignment==StiHorAlignment.Left?h=StiTextHorAlignment.Left:r.summaryAlignment==StiHorAlignment.Center&&(h=StiTextHorAlignment.Center),new StiText(e)),d=(c.name=i.name+`_FooterCell`,null!=r.textFormat&&r.textFormat.is(StiGeneralFormatService)?null:S);null!=r.textFormat&&(r.textFormat.is(StiCurrencyFormatService)||r.textFormat.is(StiNumberFormatService)||r.textFormat.is(StiPercentageFormatService))&&(d=m.toString()),c.border=this.getBorderSides(t,e,i,r,StiBorderSides.All),c.brush=new StiSolidBrush(a),c.excelDataValue=d,c.font=StiElementConsts.Table.Font.getGdiFont(n,null,u),c.horAlignment=h,c.vertAlignment=StiVertAlignment.Center,c.text=S,c.textBrush=new StiSolidBrush(s),c.textFormat=null!=r.textFormat?r.textFormat.clone():null,c.wordWrap=!1,c.componentPlacement=`f.`+i.name,t.components.add(c)}static renderCurrentPageNumber(t,e,i,r,l){let n=this.getFooterForeColor(i),o=this.getFooterBackColor(i),s=i.getTotalFont(),a=new StiText(e);a.name=i.name+`_CurrentPage`,a.brush=new StiSolidBrush(o),a.font=StiElementConsts.Table.Font.getGdiFont(r,null,s),a.horAlignment=StiTextHorAlignment.Center,a.vertAlignment=StiVertAlignment.Center,a.margins=new StiMargins(0,0,1,0),a.textQuality=StiTextQuality.Typographic,a.text=l,a.textBrush=new StiSolidBrush(n),a.wordWrap=!1,a.componentPlacement=`f.`+i.name,t.components.add(a)}static async renderCell(t,e,i,r,l,n,o,s,a,u,S,m,h){let c=StiDashboardStyleHelper.getTableStyle(i),d=this.getForeColor(i,n,c,S),g=StiTableElementGdiPainter.getBackgroundColor(i,i.cells,c,null!=S&&S);g=0<i.tableConditions.length?await StiTableElementConditionHelper.processBackColor(g,n.key,i,r,l):g,h?await this.renderTextCell(t,e,i,r,l,n,o,s,StiBorderSides.None,Color.black,Color.transparent,m,!0):n.is2(StiDataBarsColumn)||n.is2(StiSparklinesColumn)||n.is2(StiIndicatorColumn)||n.is2(StiBubbleColumn)?await this.renderGraphicCell(t,e,i,r,l,n,o,s,a,u,g,c,null!=S&&S,m):n.is2(StiColorScaleColumn)?await this.drawColorScaleColumn(t,e,i,r,l,n,o,s,a,u,c,m):StiImageHelper.isImage(s)?this.renderImageCell(t,e,i,n,s,g,m):"boolean"==typeof s?await this.renderBoolCell2(t,e,i,r,l,n,o,s,d,g,m):await this.renderTextCell(t,e,i,r,l,n,o,s,StiBorderSides.All,d,g,m,!1,null,!0,!0)}static processRowValue(t,e,i){let r,l=i.textFormat,n=(null!=e&&e[Stimulsoft.System.StiObject.stimulsoft]().is(StiSystemVariableObject)&&(e=e==StiSystemVariableObject.Line&&null!=l?l.format(t+1):Funcs.getSystemVariable(null==e?void 0:e[Stimulsoft.System.StiObject.stimulsoft]().as(StiSystemVariableObject),t+1)),i.ident==StiMeterIdent.SparklinesColumn);return e=ListExt.isList(e)&&!StiImageHelper.isImage(e)?n?ListExt.toList(e):null==(r=ListExt.toList(e))?void 0:r.firstOrDefault():e}static async renderGraphicCell(o,s,a,u,S,m,e,h,i,r,c,d,l,n){let g="",p=s,b=this.getForeColor(a,m,d,l),C=new XmlTextWriter(Encoding.UTF8);if(C.indentation=-1,C.writeStartElement("svg"),C.writeAttributeString("version","1.1"),C.writeAttributeString("baseProfile","full"),C.writeAttributeString("xmlns","http://www.w3.org/2000/svg"),C.writeAttributeString("xmlns:xlink","http://www.w3.org/1999/xlink"),C.writeAttributeString("xmlns:ev","http://www.w3.org/2001/xml-events"),C.writeAttributeString("height",StiSvgHelper.toUnits(s.height)),C.writeAttributeString("width",StiSvgHelper.toUnits(s.width)),C.writeStartElement("rect"),C.writeAttributeString("x","0"),C.writeAttributeString("y","0"),C.writeAttributeString("width",StiSvgHelper.toUnits(s.width)),C.writeAttributeString("height",StiSvgHelper.toUnits(s.height)),C.writeAttributeString("style",StiSvgHelper.writeFillBrush(C,c,s)),C.writeEndElement(),m.is2(StiSparklinesColumn)){let t=StiSparklinesCellPainter.castToArray(h),e=null==t?void 0:t.map(t=>null==t?void 0:t[Stimulsoft.System.StiObject.stimulsoft]().toNumber()),i=m.as(StiSparklinesColumn),r=s,l=await StiTableElementConditionHelper.getIconCondition(m.key,a,u,S),n=(null!=l&&l.iconAlignment!=StiIconAlignment.None&&(l.iconAlignment==StiIconAlignment.Right?r=new Rectangle(s.x,s.y,s.width-s.height,s.height):l.iconAlignment==StiIconAlignment.Left&&(r=new Rectangle(s.x+s.height,s.y,s.width-s.height,s.height))),new StiSparkline(r));if(n.values=e,n.positiveColor=i.allowCustomColors?i.positiveColor:d.cellSparkline,n.negativeColor=i.allowCustomColors?i.negativeColor:d.cellWinLossNegative,n.showFirstLastPoints=i.showFirstLastPoints,n.showHighLowPoints=i.showHighLowPoints,n.type=i.type,n.brush=new StiSolidBrush(c),n.componentPlacement=`d.`+a.name,o.components.add(n),null!=l&&l.iconAlignment!=StiIconAlignment.None){let t=await StiConditionIconPainter.getImageWithConditionIcon(l,s,a.name);o.components.add(t)}return}let f=new StiSvgGeomWriter(C),w=StiBorderSides.None,y="GraphicCell",M=new Rectangle(0,0,s.width,s.height),I=m.horAlignment;if(m.is2(StiDataBarsColumn)){await StiDataBarsCellPainter.draw(f,M,a,u,S,m,e,StiValueHelper.tryToNumber(h),i,r,l,!1,!1),n!=__.f.StiDashboardExportFormat.Data&&(p=StiDataBarsCellPainter.calculateTextRect(s.clone(),m)).inflate(2,2),g=StiTextFormatHelper.formatBasedOnColumnType(a,m,h),b=StiDataBarsCellPainter.getForeColor(a,m,d,l,!1);let t=StiValueHelper.tryToNumber(h);t<0&&StiNegativeColorChecker.isNegativeInRed(m.textFormat)&&(b=Stimulsoft.StiOptions.Engine.negativeColor),b=0<a.tableConditions.length?await StiTableElementConditionHelper.processForeColor(b,m.key,a,u,S):b,w=StiBorderSides.Right,y="DataBarsCell"}else if(m.is2(StiIndicatorColumn))await StiIndicatorCellPainter.draw(f,M,a,u,S,m,e,StiValueHelper.tryToNullableNumber(h),d,!1),p=StiIndicatorCellPainter.calculateTextRect(s.clone(),m),g=StiIndicatorCellPainter.getCellText(a,m,StiValueHelper.tryToNullableNumber(h)),b=StiIndicatorCellPainter.getColor(m,StiValueHelper.tryToNullableNumber(h),d),b=0<a.tableConditions.length?await StiTableElementConditionHelper.processForeColor(b,m.key,a,u,S):b,w=StiBorderSides.None,y="IndicatorCell";else if(m.is2(StiBubbleColumn)){await StiBubbleCellPainter.draw(f,M,a,u,S,m,e,StiValueHelper.tryToNullableNumber(h),i,r,l,!1,!1),n!=__.f.StiDashboardExportFormat.Data&&(p=StiBubbleCellPainter.calculateTextRect(a,s.clone(),m)).inflate(2,2),g=StiBubbleCellPainter.getCellText(a,m,StiValueHelper.tryToNullableNumber(h)),b=StiDataBarsCellPainter.getForeColor(a,m,d,l,!1),b=0<a.tableConditions.length?await StiTableElementConditionHelper.processForeColor(b,m.key,a,u,S):b,w=StiBorderSides.None,y="BubbleCell";let t=m[Stimulsoft.System.StiObject.stimulsoft]().as(IStiHorAlignment);null!=t&&(t.horAlignment==StiHorAlignment.Center&&n!=__.f.StiDashboardExportFormat.Data&&(g=null),t.horAlignment==StiHorAlignment.Left&&(I=StiHorAlignment.Right),t.horAlignment==StiHorAlignment.Right)&&(I=StiHorAlignment.Left)}if(C.writeFullEndElement(),C.flush(),n!=__.f.StiDashboardExportFormat.Data&&!m.is2(StiSparklinesColumn)){let t=new StiImage(s),e=(t.name=a.name+`_`+y,t.border=this.getBorderSides(o,s,a,m,StiBorderSides.All),t.stretch=!0,t.aspectRatio=m.is2(StiIndicatorColumn)||m.is2(StiBubbleColumn),C.textWriter.getStringBuilder().toString());t.image=StiImageConverter.stringToImage(Stimulsoft.System.Convert.toBase64String(e)),t.brush=new StiSolidBrush(c),t.horAlignment=I,o.components.add(t)}n!=__.f.StiDashboardExportFormat.Data&&StiString.isNullOrEmpty(g)||await this.renderTextCell(o,p,a,u,S,m,e,h,w,b,c,n,!1,!1,!0,!1)}static async drawColorScaleColumn(t,e,i,r,l,n,o,s,a,u,S,m){let h=n.as(StiColorScaleColumn),c=this.getForeColor(i,n,S,!1),d=StiColorScaleCellPainter.getScaleColor(StiValueHelper.tryToNumber(s),a,u,S,h.minimumColor,h.maximumColor),g=i.tableConditions.length?await StiTableElementConditionHelper.processForeAndBackColor(c,d,n.key,i,r,l):{foreColor:c,backColor:d};await this.renderTextCell(t,e,i,r,l,n,o,s,StiBorderSides.All,g.foreColor,g.backColor,m,!1,null,!0,!0)}static async renderBoolCell2(r,l,n,o,s,a,t,u,S,m,e){if(e==__.f.StiDashboardExportFormat.Data)await this.renderTextCell(r,l,n,o,s,a,t,u,StiBorderSides.None,S,m,e,!1);else{let t=0<n.tableConditions.length?await StiTableElementConditionHelper.processForeAndBackColor(S,m,a.key,n,o,s):{foreColor:S,backColor:m},e=u?StiCheckStyle.CheckRectangle:StiCheckStyle.NoneRectangle,i=new StiCheckBox(l);i.name=n.name+`_Cell`,i.border=this.getBorderSides(r,l,n,a,StiBorderSides.All),i.contourColor=Color.transparent,i.textBrush=new StiSolidBrush(t.foreColor),i.brush=new StiSolidBrush(t.backColor),i.checkStyleForTrue=e,i.checkStyleForFalse=StiCheckStyle.NoneRectangle,i.checkedValue=e!=StiCheckStyle.NoneRectangle,i.excelDataValue=u.toString(),i.componentPlacement=`d.`+n.name,r.components.add(i)}}static async renderTextCell(e,i,l,n,o,t,r,s,a,u,S,m,h,c=null,d=!1,g=!1){let p,b=null,C=null,f=(!d||h||null==(C=await StiTableElementConditionHelper.getIconCondition(t.key,l,n,o))||C.iconAlignment==StiIconAlignment.None||h||m==__.f.StiDashboardExportFormat.Html||(C.iconAlignment==StiIconAlignment.Left?b=new StiMargins(i.height,0,0,0):C.iconAlignment==StiIconAlignment.Right&&(b=new StiMargins(0,i.height,0,0))),StiTextFormatHelper.formatBasedOnColumnType(l,t,s)),w=h?new Font("Arial",10):l.getDataFont(),y=(t.is(StiDimensionColumn)&&t.showHyperlink&&(w=new Font(w.fontFamily.name,w.size,w.style|FontStyle.Underline)),await StiTableElementConditionHelper.processFontStyle(w,t.key,l,n,o)),M=(w.style!=y&&(w=new Font(w.fontFamily.name,w.size,y)),StiValueHelper.tryToNumber(s));if(M<0&&StiNegativeColorChecker.isNegativeInRed(t.textFormat)&&(u=Stimulsoft.StiOptions.Engine.negativeColor),t.is(StiSparklinesColumn)){let t=StiSparklinesCellPainter.castToArray(s),e=null==t?void 0:t.map(t=>t.toString());f=StiString.join(" ",e)}let I=0<l.tableConditions.length?await StiTableElementConditionHelper.processForeAndBackColor(u,S,t.key,l,n,o):{foreColor:u,backColor:S},T=StiTitleExportHelper.convert(t.horAlignment),x=(t.is(StiBubbleColumn)&&(T=StiTextHorAlignment.Right),t.as(IStiTableColumnSize)),D=(null!=(null==x?void 0:x.size)&&null==c&&(c=x.size.wordWrap),null);if(t.is(StiDimensionColumn)&&t.showHyperlink&&!StiString.isNullOrWhiteSpace(t.hyperlinkPattern)){let r=new Stimulsoft.System.Collections.Hashtable;r.add("Value",s);for(let i=0;i<o.length;i++){let t=l.columns.firstOrDefault(t=>t.key==o[i]),e="Row."+StiNameValidator.correctName(t.label,!0);r.add(e,null==(p=n[i])?void 0:p.toString())}D=await Stimulsoft.Report.Dashboard.StiReportParser.parseAsync(t.hyperlinkPattern,l,!1,r)}let v=null!=t.textFormat&&t.textFormat.is(StiGeneralFormatService)?null:f,F=(null!=s&&null!=t.textFormat&&(t.textFormat.is(StiCurrencyFormatService)||t.textFormat.is(StiNumberFormatService)||t.textFormat.is(StiPercentageFormatService))&&(v=s.toString()),new StiMargins(2,2,1,0)),A=(null!=b&&(F=new StiMargins(F.left+b.left,F.right+b.right,F.top+b.top,F.bottom+b.bottom)),new StiText(i));if(A.name=l.name+`_Cell`,A.border=this.getBorderSides(e,i,l,t,a),A.brush=new StiSolidBrush(I.backColor),A.excelDataValue=v,A.font=StiElementConsts.Table.Font.getGdiFont(r,null,w),A.horAlignment=T,A.vertAlignment=StiVertAlignment.Center,A.margins=F,A.text=f,A.textBrush=new StiSolidBrush(I.foreColor),A.textFormat=null!=t.textFormat?t.textFormat.clone():null,A.wordWrap=0!=c,A.componentPlacement=`d.`+l.name,A.trimming=StringTrimming.EllipsisCharacter,A.hyperlinkValue=D,e.components.add(A),null!=C&&C.iconAlignment!=StiIconAlignment.None&&g){let t=await StiConditionIconPainter.getImageWithConditionIcon(C,i,l.name);e.components.add(t)}}static renderImageCell(t,e,i,r,l,n,o){if(o==__.f.StiDashboardExportFormat.Data)return;let s=StiImageHelper.getImageFromObject(l);if(null==s)return;let a=new StiImage(e);a.name=i.name+`_Cell`,a.border=this.getBorderSides(t,e,i,r,StiBorderSides.All),a.brush=new StiSolidBrush(n),a.stretch=!0,a.aspectRatio=!0,a.imageToDraw=s,a.horAlignment=r.horAlignment,t.components.add(a)}static async renderBoolCell(t,e,i,r,l,n,o,s,a,u,S){if(S==__.f.StiDashboardExportFormat.Data)return void await this.renderTextCell(t,e,i,r,l,n,o,s,a,null,u,S,!1);let m=0!=i.columns.indexOf(n),h=i.columns.indexOf(n)!=i.columns.length-1,c=(m?StiBorderSides.Left:StiBorderSides.None)|(h?StiBorderSides.Right:StiBorderSides.None),d=StiDashboardStyleHelper.getTableStyle(i),g=new StiImage(e);g.name=i.name+`_Cell`,g.border=a?new StiBorder(c,d.lineColor,1,StiPenStyle.Solid):new StiBorder(StiBorderSides.None,Color.transparent,0,StiPenStyle.None),g.brush=new StiSolidBrush(u),g.horAlignment=StiHorAlignment.Center,g.vertAlignment=StiVertAlignment.Center,t.components.add(g)}static async getColumnVisibilityState(t,e){if(t.visibility==StiTableColumnVisibility.TrueAndHidden)return!1;return StiTableColumnVisibilityHelper.getVisible(t,e)}static getForeColor(t,e,i,r){if(!Color.transparent.equals(e.foreColor))return e.foreColor;if(e.is(StiDimensionColumn)&&e.showHyperlink)return StiColor.get("165dc8");let l=StiDashboardExpressionHelper.getForeColor(t,t.cells.data.foreColor);if(!Color.transparent.equals(l))return l;return null!=i?r?i.alternatingCellForeColor:i.cellForeColor:StiElementConsts.Table.Font.Color}static getHeaderBackColor(t){if(!t.cells.columns.backColor.equals(Color.transparent))return t.cells.columns.backColor;let e=StiDashboardStyleHelper.getTableStyle(t);return e.headerBackColor}static getHeaderForeColor(t){if(!Color.transparent.equals(t.cells.columns.foreColor))return t.cells.columns.foreColor;let e=StiDashboardStyleHelper.getTableStyle(t);return e.headerForeColor}static getFooterForeColor(t){if(!Color.transparent.equals(t.footerForeColor))return t.footerForeColor;let e=StiDashboardStyleHelper.getTableStyle(t);return e.footerForeColor}static getFooterBackColor(t){if(!t.cells.totals.backColor.equals(Color.transparent))return t.cells.totals.backColor;let e=StiDashboardStyleHelper.getTableStyle(t);return e.footerBackColor}static getBorderSides(t,e,i,r,l){let n=StiDashboardStyleHelper.getTableStyle(i),o=0!=(l&StiBorderSides.Left)&&0!=i.columns.indexOf(r)&&e.left<t.width,s=0!=(l&StiBorderSides.Right)&&i.columns.indexOf(r)!=i.columns.length-1&&e.right<=t.width,a=(o?StiBorderSides.Left:StiBorderSides.None)|(s?StiBorderSides.Right:StiBorderSides.None),u=a!=StiBorderSides.None?1:0,S=a!=StiBorderSides.None?n.lineColor:Color.transparent;return new StiBorder(a,S,u,StiPenStyle.Solid)}}__.z.StiTableElementExportTool=Jx0}let StiAutoSizeHtmlTextHelper=__.h.StiAutoSizeHtmlTextHelper;{class vF0 extends __.z.StiElementExportTool{async render(t,e,l,i){if(this.renderEmptyDataMessage(t,e,l.clone(),i))return;let n=t.as(StiTextElement),o="";if(n.isReportParserExpression||StiExpressionHelper.isTimeExpression(n.text)||vF0.isExpressionWithVariables(n.text,n.report))o=await StiReportParser.parseAsync(n.text,n,!1);else if(n.isQuerable){let t=await StiElementDataCache.tryToGetOrCreate(n),e=new List(null==t?void 0:t.rows.firstOrDefault()).select(t=>StiValueHelper.tryToString(t)).toList();null!=e&&(o=StiExpressionHelper.replaceExpressionBlocksByValues(n.text,e))}else o=n.text;!StiString.isNullOrEmpty(o)&&o.toLowerCase()[Stimulsoft.System.StiObject.stimulsoft]().replaceAll(" ","").includes("javascript:")&&(o=o.toLowerCase()[Stimulsoft.System.StiObject.stimulsoft]().replaceAll("javascript",""));let s=i.format==__.f.StiDashboardExportFormat.Excel||i.format==__.f.StiDashboardExportFormat.Html?.96:1,r=StiExportTool.getScaleFactor(e,i);if(o=this.changeFontSize(o,r*s),n.sizeMode==StiTextSizeMode.Fit||n.sizeMode==StiTextSizeMode.FitAndWordWrap){let r,t=3;do{let t=StiAutoSizeHtmlTextHelper.measure(null,l.clone(),o,n),e=t.width>l.width?l.width/t.width:1,i=l.height<t.height?l.height/t.height:1;r=Math.min(Math.abs(e),Math.abs(i)),(r=n.sizeMode==StiTextSizeMode.FitAndWordWrap&&.8<t.width/l.width&&i<.5?1-.7*(1-r):r)<1&&(o=this.changeFontSize(o,.99*r))}while(r<1&&0<t--);s<1&&(o=this.changeFontSize(o,s))}let a=new StiText(l);a.name=t.name+`_Content`,a.allowHtmlTags=!0,a.vertAlignment=n.vertAlignment,a.horAlignment=n.horAlignment,a.text=o,a.textBrush=new StiSolidBrush(StiDashboardStyleHelper.getForeColor(n)),a.trimming=n.sizeMode==StiTextSizeMode.Trimming?StringTrimming.EllipsisCharacter:StringTrimming.None,a.wordWrap=n.sizeMode==StiTextSizeMode.WordWrap||n.sizeMode==StiTextSizeMode.FitAndWordWrap,a.rightToLeft=n.rightToLeft,e.components.add(a)}changeFontSize(t,e){if(null==t||!t.startsWith("<font ")||t.indexOf(' size="')<0)return t;let i=t.indexOf(' size="')+7,r=t.substring(i),l=(r=r.substring(0,r.indexOf('"')))[Stimulsoft.System.StiObject.stimulsoft]().toNumber();return null==l&&(l=12),l=Math.ceil(l*e*10)/10,t.substring(0,i)+l.toString().replace(",",".")+t.substring(i+r.length)}static isExpressionWithVariables(e,i){var t;if(!StiString.isNullOrEmpty(e)&&StiExpressionHelper.isExpression(e)&&0<(null==(t=null==i?void 0:i.variables)?void 0:t.count))for(let t of i.variables.keys)if(e.toLowerCase().includes(t.toLowerCase()))return!0;return!1}}__.z.StiTextElementExportTool=vF0}__.z.StiTreeViewBoxElementExportTool=class extends __.z.StiComboBoxElementExportTool{async render(t,e,i,r){return super.render(t,e,i,r)}getValuesCount(t,e){let i=t.as(IStiTreeViewBoxElement),r=StiTreeViewHelper.fetchItems(e,i.showBlanks);return null!=r?r.length:0}};let StiShapeDirection=Stimulsoft.Report.Components.StiShapeDirection,StiTriangleShapeType=Stimulsoft.Report.Components.StiTriangleShapeType;{class cG0 extends __.z.StiListBoxElementExportTool{async render(t,e,i,r){return super.render(t,e,i,r)}getCheckStyle(e,i){let t=e;if(!t.userFilters.any())return StiCheckStyle.CheckRectangle;if(t.userFilters.any(t=>t.condition==StiDataFilterCondition.IsFalse))return StiCheckStyle.NoneRectangle;if(null!=i.items){let t=i.items.select(t=>this.getCheckStyle(e,t));if(t.all(t=>t==StiCheckStyle.CheckRectangle))return StiCheckStyle.CheckRectangle;if(t.all(t=>t==StiCheckStyle.NoneRectangle))return StiCheckStyle.NoneRectangle;return StiCheckStyle.DotRectangle}if(t.userFilters.any(t=>t.condition==StiDataFilterCondition.EqualTo&&t.value==i.toString()))return StiCheckStyle.CheckRectangle;return StiCheckStyle.NoneRectangle}async renderItems(t,e,i,r,l){let n,o=await StiElementDataCache.tryToGetOrCreate(i);if(null==o)return;let s=!1,a=i.as(IStiTreeViewElement),u=StiTreeViewHelper.fetchItems(o,a.showBlanks),S=(1==(null==u?void 0:u.length)&&0<(null==(n=u[0].items)?void 0:n.length)&&(u=u.concat(u[0].items),s=!0),null==u?void 0:u.select(t=>null==t?"":null!=t.key&&t.key instanceof DateTime?t.key.toShortDateString():t.toString())),m=null==u?void 0:u.select(t=>this.getCheckStyle(i,t)),h=null==u?void 0:u.select(t=>s&&t==u.first());this.renderItems2(t,e.clone(),i,S,m,h,r,l)}renderItem(t,e,i,r,l,n,o,s,a,u,S){r!=StiLocHelper.locAll&&(cG0.renderExpander(t,e.clone(),i,a),e.x+=StiElementConsts.ListBox.CheckBoxWidth/2,e.width-=StiElementConsts.ListBox.CheckBoxWidth/2),super.renderItem(t,e.clone(),i,r,l,n,o,s,a,u,S)}static renderExpander(t,e,i,r){e=new Rectangle(e.x,e.y+e.height/2-e.height/8,StiElementConsts.ListBox.CheckBoxWidth/3,e.height/4);let l=new StiShape(e);l.name=i.name+`_ItemExpander`,l.shapeType=new StiTriangleShapeType(r?StiShapeDirection.Down:StiShapeDirection.Right),l.brush=new StiSolidBrush(Color.dimGray),l.style=StiPenStyle.None,t.components.add(l)}}__.z.StiTreeViewElementExportTool=cG0}let StiHorizontalLinePrimitive=Stimulsoft.Report.Components.StiHorizontalLinePrimitive,StiWebContent=Stimulsoft.Report.Components.StiWebContent;__.z.StiWebContentElementExportTool=class extends __.z.StiElementExportTool{async render(e,r,l,t){if(this.renderEmptyDataMessage(e,r,l.clone(),t))return;let n=e.as(StiWebContentElement),o=StiString.isNullOrEmpty(n.url)?"EmbedCode":"URL",s=StiString.isNullOrEmpty(n.url)?n.embedCode:n.url;if(null!=t&&t.is(StiSvgDashboardExportSettings)&&t.designMode){let t=30,e=1,i=20;this.paintHeader(r,n,new Rectangle(l.x,l.top,l.width,t),o),this.paintSeparator(r,n,new Rectangle(l.x+i,l.top+t,l.width-2*i,e)),this.paintWebContent(r,n,new Rectangle(l.x,l.top+t+e,l.width,t),s,!0)}else{let t=new StiWebContent(l);t.name=e.name+"_Content",t.embedCode=n.embedCode,t.url=n.url,t.page=r.page,r.components.add(t)}}paintHeader(t,e,i,r){let l=StiDashboardStyleHelper.getForeColor(e),n=new StiText(i);n.name=e.name+`__WebContentHeader`,n.vertAlignment=StiVertAlignment.Center,n.horAlignment=StiTextHorAlignment.Left,n.textBrush=new StiSolidBrush(l),n.brush=new StiSolidBrush(Color.transparent),n.margins=new StiMargins(20,0,0,0),n.text=r,n.font=new Font("Arial",8,FontStyle.Bold),t.components.add(n)}paintSeparator(t,e,i){let r=StiDashboardStyleHelper.getForeColor(e),l=new StiHorizontalLinePrimitive(i);l.name=e.name+`_WebContentSep`,l.color=r,t.components.add(l)}paintWebContent(t,e,i,r,l=!1){let n=StiDashboardStyleHelper.getForeColor(e),o=new StiText(i);o.name=e.name+`__WebContentContent`,o.vertAlignment=l?StiVertAlignment.Center:StiVertAlignment.Top,o.horAlignment=StiTextHorAlignment.Left,o.textBrush=new StiSolidBrush(n),o.brush=new StiSolidBrush(Color.transparent),o.margins=new StiMargins(l?20:0,0,0,0),o.text=r,o.font=new Font("Arial",8,FontStyle.Bold),o.allowHtmlTags=!l,t.components.add(o)}};{class xH0{static run(S,m){var h,c,d,g;if(void 0===S)return void xH0.run(Stimulsoft,"Stimulsoft");if("Stimulsoft.ExternalLibrary"==m||"Stimulsoft.Blockly"==m||"Stimulsoft.StiOptions"==m)return;m=m.replace("Stimulsoft.System","System");for(let u in S){if(u[0]!==u[0].toUpperCase())continue;let t=S[u],e=typeof t,i=t instanceof Stimulsoft.System.Interface,r="object"==e,l="function"==e;if(!r&&!l||null==t)continue;let n=l&&null!=(c=null==(h=t.getTypeName)?void 0:h.call(t))?c:u,o=l&&null!=(g=null==(d=t.getNamespace)?void 0:d.call(t))?g:m,s=o+`.`+n,a=s.startsWith("Stimulsoft.Report.StiOptions");(i||l||a)&&(xH0.setProperty(t,"typeName",n),xH0.setProperty(t,"namespace",o),xH0.setProperty(t,"fullName",s)),r&&!i&&xH0.run(t,s)}}static setProperty(e,i,t){try{Object.defineProperty(e,i,{value:t,writable:!1,configurable:!0,enumerable:!1})}catch(t){console.warn(`Failed to set property '${i}' on '${e.constructor.name}':`,t)}}}__.c.StiTypesHelper=xH0}__.c.StiTypesHelper.run();export{Stimulsoft};
|
|
10
|
+
i.angle=t.marker.angle,i.type=t.marker.type,i.extendedVisible=t.marker.visible)}renderSeriesNegativeColor(t,e,i){if(null==t.negativeSeriesColors||t.negativeSeriesColors.length<=0)return;while(i>=t.negativeSeriesColors.length)i-=t.negativeSeriesColors.length;let r=e.as(IStiAllowApplyBrushNegative),l=(null!=r&&(r.allowApplyBrushNegative=!0,r.brushNegative=new StiSolidBrush(t.negativeSeriesColors[i])),e.as(IStiAllowApplyColorNegative));null!=l&&(l.allowApplyColorNegative=!0,l.lineColorNegative=t.negativeSeriesColors[i])}renderSeriesParetoColor(t,e,i){if(null==t.paretoSeriesColors||t.paretoSeriesColors.length<=0)return;while(i>=t.paretoSeriesColors.length)i-=t.paretoSeriesColors.length;let r=e.as(IStiParetoSeries);null!=r&&(r.allowApplyLineColor=!0,r.lineColor=t.paretoSeriesColors[i])}async renderArea(t,e){let i=StiDashboardExpressionHelper.getBackColor(t,t.backColor);Color.transparent.equals(i)||(e.area.brush=255==i.a?new StiSolidBrush(i):new StiEmptyBrush),(t.isPieChart||t.isPie3dChart||t.isDoughnutChart||t.isFunnelChart||t.isSunburstChart||t.isPictorialStackedChart)&&(e.area.allowApplyStyle=!1,e.area.borderColor=Color.transparent),e.area.colorEach=StiChartElementBuilder.getColorEach(t),e.area.is(IStiRoundValuesArea)&&(e.area.as(IStiRoundValuesArea).roundValues=t.roundValues),await this.renderAxisAxes3d(t,e),await this.renderAxisAxes(t,e),StiChartElementBuilder.renderRadarAxis(t,e),this.renderAreaIndicator(t,e)}static getColorEach(t){return!!(t.isPieChart||t.isPie3dChart||t.isDoughnutChart||t.isPictorialStackedChart)||null!=t.area&&t.area.colorEach}async renderAxisAxes3d(t,e){if(e.series.count<=0)return;let i=e.area.as(IStiClusteredColumnArea3D),r=(null!=i&&(i.sideBySide=t.area.sideBySide),e.area.as(IStiClusteredColumnArea));null!=r&&(r.sideBySide=t.area.sideBySide),await this.renderXAxis3D(t,e),await this.renderYAxis3D(t,e),await this.renderZAxis3D(t,e)}async renderAxisAxes(t,e){if(e.series.count<=0)return;let i=e.area.as(IStiAxisArea);if(null==i)return;StiChartElementBuilder.renderInterlacingHor(t,i),StiChartElementBuilder.renderInterlacingVert(t,i),StiChartElementBuilder.renderGridLinesHor(t,i),StiChartElementBuilder.renderGridLinesVert(t,i),i.reverseHor=t.area.reverseHor,i.reverseVert=t.area.reverseVert,await this.renderXAxis(t,e,!1),await this.renderYAxis(t,e,!1),t.xTopAxis.visible&&await this.renderXAxis(t,e,!0),t.yRightAxis.visible?await this.renderYAxis(t,e,!0):await StiChartElementBuilder.renderYRightAxis(t,e)}static renderInterlacingHor(t,e){t.area.interlacingHor.visible&&!Color.transparent.equals(t.area.interlacingHor.color)&&(e.interlacingHor.interlacedBrush=new StiSolidBrush(t.area.interlacingHor.color)),e.interlacingHor.visible=t.area.interlacingHor.visible}static renderInterlacingVert(t,e){t.area.interlacingVert.visible&&!Color.transparent.equals(t.area.interlacingVert.color)&&(e.interlacingVert.interlacedBrush=new StiSolidBrush(t.area.interlacingVert.color)),e.interlacingVert.visible=t.area.interlacingVert.visible}static renderGridLinesHor(t,e){t.area.gridLinesHor.visible&&!Color.transparent.equals(t.area.gridLinesHor.color)&&(e.gridLinesHor.color=t.area.gridLinesHor.color),e.gridLinesHor.visible=t.area.gridLinesHor.visible,e.gridLinesHor.style=StiPenStyle.Solid}static renderGridLinesVert(t,e){t.area.gridLinesVert.visible&&!Color.transparent.equals(t.area.gridLinesVert.color)&&(e.gridLinesVert.color=t.area.gridLinesVert.color),e.gridLinesVert.visible=t.area.gridLinesVert.visible,e.gridLinesVert.style=StiPenStyle.Solid}async renderXAxis3D(t,e){let i=e.area.as(IStiAxisArea3D);if(null==i)return;let r=i.xAxis,l=t.xAxis,n=(await StiChartElementBuilder.renderAxis3D(t,r,l),StiDrillDownHelper.isDrillAvailable(t)&&t.drillDownCurrentLevel<t.drillDownLevelCount?t.arguments.getRange(t.drillDownCurrentLevel,1):t.arguments),o=n.select(this.getTitle).distinct();await StiChartElementBuilder.renderXAxisTitleText3D(t,r,l,o),r.visible=l.visible,l.showEdgeValues==StiAutoBool.Auto&&(r.showEdgeValues=!1)}async renderYAxis3D(t,e){let i=e.area.as(IStiAxisArea3D);if(null==i)return;let r=i.yAxis,l=t.yAxis,n=(await StiChartElementBuilder.renderAxis3D(t,r,l),(t.dataMode==StiDataMode.ManuallyEnteringData?t.chartValuesList():t.arguments).select(this.getTitle).distinct());r.visible=n.any()&&l.visible,await StiChartElementBuilder.renderYAxisTitleText3D(t,r,l,n),r.visible=l.visible,null!=t.valueFormat&&(r.labels.formatService=StiChartElementBuilder.checkValueFormat(t.valueFormat,e))}async renderZAxis3D(t,e){let i=e.area.as(IStiAxisArea3D);if(!i)return;let r=i.zAxis,l=t.xAxis;await StiChartElementBuilder.renderAxis3D(t,r,l)}static async renderXAxisTitleText3D(t,e,i,r){if(!i.title.visible)return;e.title.text=""===i.title.text?r.join(" / "):await StiReportParser.parseAsync(i.title.text,t)}static async renderYAxisTitleText3D(t,e,i,r){if(!i.title.visible)return;e.title.text=""===i.title.text?r.join(" / "):await StiReportParser.parseAsync(i.title.text,t)}async renderXAxis(t,e,i){let r=e.area.as(IStiAxisArea);if(null==r)return;let l=i?r.xTopAxis:r.xAxis,n=i?t.xTopAxis:t.xAxis,o=e.area.is(IStiClusteredBarArea),s=StiDrillDownHelper.isDrillAvailable(t)&&t.drillDownCurrentLevel<t.drillDownLevelCount?t.arguments.getRange(t.drillDownCurrentLevel,1):t.arguments,a=(o?t.values:s).select(this.getTitle).distinct(),u=(await StiChartElementBuilder.renderAxis(t,l,n),l.ticks.visible=a.any(),l.visible=n.visible,await StiChartElementBuilder.renderXAxisTitleText(t,l,n,a),e.series.toList().cast().all(t=>t.is(IStiBaseLineSeries)||t.is(IStiStackedBaseLineSeries))),S=(n.startFromZero==StiAutoBool.Auto&&(l.startFromZero=!u),e.series.toList().cast().all(t=>t.core.isDateTimeValues));S&&r.is(StiClusteredBarArea)&&(l.startFromZero=!1),n.showEdgeValues==StiAutoBool.Auto&&(l.showEdgeValues=u),l.labels.placement==StiLabelsPlacement.AutoRotation&&(l.labels.textAlignment=StiHorAlignment.Left),null!=t.valueFormat&&r.is(IStiClusteredBarArea)&&(l.labels.formatService=StiChartElementBuilder.checkValueFormat(t.valueFormat,e)),null!=t.argumentFormat&&r.is(IStiScatterArea)&&(l.labels.formatService=t.argumentFormat),StiChartElementBuilder.renderAxisLineColor(t,l)}async renderYAxis(t,e,i){let r=e.area.as(IStiAxisArea);if(null==r)return;let l=i?r.yRightAxis:r.yAxis,n=i?t.yRightAxis:t.yAxis,o=e.area.is(IStiGanttArea)||e.area.is(IStiClusteredBarArea),s=(o&&t.dataMode!=StiDataMode.ManuallyEnteringData?t.arguments:t.chartValuesList()).select(this.getTitle).distinct(),a=(await StiChartElementBuilder.renderAxis(t,l,n),l.visible=s.any()&&n.visible,await StiChartElementBuilder.renderYAxisTitleText(t,l,n,s),null==t.valueFormat||r.is(IStiClusteredBarArea)||r.is(StiHeatmapArea)||(l.labels.formatService=StiChartElementBuilder.checkValueFormat(t.valueFormat,e)),e.series.toList().cast().all(t=>t.core.isDateTimeValues));a&&(r.yAxis.startFromZero=!1),StiChartElementBuilder.renderAxisLineColor(t,l)}static renderXRadarAxis(t,e){let i=e.area.as(StiRadarArea);if(null==i)return;this.renderXRadarAxisLabels(t,t.area.xAxis.labels,i.xAxis.labels),this.renderAxisRange(i.xAxis.range,t.xAxis),null!=t.valueFormat&&(i.yAxis.labels.formatService=StiChartElementBuilder.checkValueFormat(t.valueFormat,e));let r=StiDashboardStyleHelper.getForeColor(t);this.renderRadarXAxisLabelsColor(t,i.xAxis.labels,t.xAxis,r),i.xAxis.visible=t.xAxis.visible}static renderXRadarAxisLabels(t,e,i){i.font=this.getSmallStyleFont(t,e.font),i.textBefore=e.textBefore,i.textAfter=e.textAfter,i.allowApplyStyle=!1}static renderYRadarAxis(t,e){let i=e.area.as(StiRadarArea);if(null==i)return;this.renderYRadarAxisLabels(t,t.area.yAxis.labels,i.yAxis.labels),this.renderAxisRange(i.yAxis.range,t.yAxis);let r=StiDashboardStyleHelper.getForeColor(t);this.renderRadarYAxisLabelsColor(t,i.yAxis.labels,t.yAxis,r),i.yAxis.visible=t.yAxis.visible}static renderYRadarAxisLabels(t,e,i){i.font=this.getSmallStyleFont(t,e.font),i.textBefore=e.textBefore,i.textAfter=e.textAfter,i.step=e.step,i.angle=e.angle,i.textAlignment=e.textAlignment,i.wordWrap=e.wordWrap,i.width=e.width,i.allowApplyStyle=!1}static renderRadarXAxisLabelsColor(t,e,i,r){if(!Color.transparent.equals(i.labels.color))return void(e.color=i.labels.color);t.style==StiElementStyleIdent.Custom&&e.color!=Color.transparent||(e.color=r)}static renderRadarYAxisLabelsColor(t,e,i,r){if(!Color.transparent.equals(i.labels.color))return void(e.color=i.labels.color);t.style==StiElementStyleIdent.Custom&&e.color!=Color.transparent||(e.color=r)}static checkValueFormat(t,r){let l=t.as(StiNumberFormatService);if(null!=l&&0<(l.state&Stimulsoft.Report.Components.StiTextFormatState.Abbreviation)&&0==(l.state&Stimulsoft.Report.Components.StiTextFormatState.DecimalDigits)){let e=l.clone(),i=null;for(let t=0;t<r.series.count;t++){let e=r.series.getByIndex(t);for(let t of e.values)(null==i||i>t)&&(i=t)}if(null!=i&&0!=i){let t=0;if((i=Math.abs(i))<5){while(Math.round(i)%10==0)i*=10,t++;t+=2}e.useLocalSetting=!1,e.decimalDigits=t}return e}return t}static async renderYRightAxis(t,e){let i=e.area.as(IStiAxisArea);if(null==i)return;await this.renderAxis(t,i.yRightAxis,t.yRightAxis),this.renderAxisLineColor(t,i.yRightAxis)}static async renderXAxisTitleText(t,e,i,r){if(!i.title.visible)return;e.title.text=StiString.isNullOrEmpty(i.title.text)?StiString.join(" / ",r):await StiReportParser.parseAsync(i.title.text,t)}static async renderYAxisTitleText(t,e,i,r){if(!i.title.visible)return;e.title.text=StiString.isNullOrEmpty(i.title.text)?StiString.join(" / ",r):await StiReportParser.parseAsync(i.title.text,t)}static renderAxisLineColor(t,e){if(t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.lineColor))return e.allowApplyStyle=!1,void(e.allowApplyStyle=!1);StiDashboardStyleHelper.isDarkStyle(t.dashboard)&&(e.allowApplyStyle=!1,e.lineColor=StiDashboardStyleHelper.getForeColor(t))}static renderRadarAxis(t,e){if(e.series.count<=0)return;let i=e.area.as(StiRadarArea);if(null==i)return;this.renderXRadarAxis(t,e),this.renderYRadarAxis(t,e)}renderAreaIndicator(t,e){let i=e.area.as(StiDoughnutArea);if(null==i)return;let r=null==t?void 0:t.report,l=null==this.indicatorValueValue?"":this.getString(t.valueFormat,this.indicatorValueValue.toString(),r),n=(i.indicator.value.value=l,i.indicator.value.color=t.area.indicator.value.color,t.area.indicator.title.text);i.indicator.title.text=n,i.indicator.title.color=t.area.indicator.title.color,i.indicator.visible=!StiString.isNullOrEmpty(l)||!StiString.isNullOrEmpty(n)}static async renderAxis3D(t,e,i){let r=StiDashboardStyleHelper.getForeColor(t);this.renderAxisTitle3D(t,e,i,r),await this.renderAxisLabels3D(t,e,i),this.renderAxisLabelsColor3D(t,e,i,r)}static renderAxisTitle3D(t,e,i,r){let l=this.getTitleAxisChart(i),n=e.title;n.font=this.getStyleFont(t,l.font),StiChartElementBuilder.renderAxisLabelsTitleColor3D(t,n,l,r),l instanceof StiXChartAxisTitle&&(n.direction=l.direction),l instanceof StiYChartAxisTitle&&(n.direction=l.direction)}static async renderAxis(t,e,i){let r=StiDashboardStyleHelper.getForeColor(t);this.renderAxisTitle(t,e,i,r),await this.renderAxisLabels(t,e,i),this.renderAxisStartFromZero(e,i),this.renderAxisShowEdgeValues(e,i),this.renderAxisRange(e.range,i),this.renderAxisLabelsColor(t,e,i,r)}static renderAxisTitle(t,e,i,r){let l=this.getTitleAxisChart(i),n=e.title;n.alignment=l.alignment,n.position=l.position,n.font=this.getStyleFont(t,l.font),this.renderAxisLabelsTitleColor(t,n,l,r),l.is(StiXChartAxisTitle)&&(n.direction=l.direction),l.is(StiYChartAxisTitle)&&(n.direction=l.direction)}static async renderAxisLabels3D(t,e,i){e.labels.angle=i.labels.angle,e.labels.textAfter=await StiReportParser.parseAsync(i.labels.textAfter,t),e.labels.textBefore=await StiReportParser.parseAsync(i.labels.textBefore,t),e.labels.font=StiChartElementBuilder.getSmallStyleFont(t,i.labels.font),e.labels.width=i.labels.width,e.labels.wordWrap=i.labels.wordWrap}static async renderAxisLabels(t,e,i){e.labels.angle=i.labels.angle,e.is(IStiYRightAxis)&&t.isParetoChart||(e.labels.textAfter=await StiReportParser.parseAsync(i.labels.textAfter,t)),e.labels.textAlignment=i.labels.textAlignment,e.labels.textBefore=await StiReportParser.parseAsync(i.labels.textBefore,t),e.labels.font=StiChartElementBuilder.getSmallStyleFont(t,i.labels.font),e.labels.placement=i.labels.placement,e.labels.step=i.labels.step,e.labels.wordWrap=i.labels.wordWrap,e.labels.width=i.labels.width}static renderAxisStartFromZero(e,i){if(i.is(StiXChartAxis)){let t=i;null!=t&&t.startFromZero!=StiAutoBool.Auto&&(e.startFromZero=t.startFromZero!=StiAutoBool.False)}if(i.is(StiYChartAxis)){let t=i;null!=t&&(e.startFromZero=t.startFromZero)}}static renderAxisShowEdgeValues(e,i){if(i.is(StiXChartAxis)){let t=i;null!=t&&t.showEdgeValues!=StiAutoBool.Auto&&(e.showEdgeValues=t.showEdgeValues!=StiAutoBool.False)}}static renderAxisRange(t,e){e[Stimulsoft.System.StiObject.stimulsoft]().getType()!=StiXChartAxis&&e[Stimulsoft.System.StiObject.stimulsoft]().getType()!=StiYChartAxis||(t.auto=e.range.auto,t.maximum=e.range.maximum,t.minimum=e.range.minimum)}static renderAxisLabelsTitleColor(t,e,i,r){if(!Color.transparent.equals(i.color))return void(e.color=i.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.color)||(e.color=r)}static renderAxisLabelsTitleColor3D(t,e,i,r){if(!Color.transparent.equals(i.color))return void(e.color=i.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.color)||(e.color=r)}static renderAxisLabelsColor3D(t,e,i,r){if(!Color.transparent.equals(i.labels.color))return void(e.labels.color=i.labels.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.labels.color)||(e.labels.color=r)}static renderAxisLabelsColor(t,e,i,r){if(!Color.transparent.equals(i.labels.color))return void(e.labels.color=i.labels.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.labels.color)||(e.labels.color=r)}static getTitleAxisChart(t){if(t.is(StiXChartAxis))return t.title;if(t.is(StiYChartAxis))return t.title;return null}async renderLegend(t,e){e.legend.horAlignment=StiChartElementBuilder.getChartLegendHotAlignment(t),e.legend.vertAlignment=StiChartElementBuilder.getChartLegendVertAlignment(t),e.legend.title=await StiReportParser.parseAsync(t.legend.title.text,t),e.legend.titleFont=StiChartElementBuilder.getStyleFont(t,t.legend.title.font),e.legend.allowApplyStyle=!1,e.legend.font=StiChartElementBuilder.getSmallStyleFont(t,t.legend.labels.font),e.legend.visible=StiChartElementBuilder.getChartLegendVisible(t,e),e.legend.columns=t.legend.columns,e.legend.direction=t.legend.direction;let i=StiDashboardStyleHelper.getForeColor(t);StiChartElementBuilder.renderLegendTitleColor(t,e,i),StiChartElementBuilder.renderLegendLabelsColor(t,e,i)}static getChartLegendHotAlignment(t){if(t.isHeatmapChart)return StiLegendHorAlignment.RightOutside;return t.legend.horAlignment}static getChartLegendVertAlignment(t){if(t.isHeatmapChart)return StiLegendVertAlignment.Center;return t.legend.vertAlignment}static getChartLegendVisible(t,e){if(1==e.series.count&&!e.series.getByIndex(0).is(StiPieSeries)&&!e.series.getByIndex(0).is(StiHeatmapSeries))return t.legend.visibility==StiLegendVisibility.Always;return t.legend.visibility!=StiLegendVisibility.False}static renderLegendTitleColor(t,e,i){if(!Color.transparent.equals(t.legend.title.color))return void(e.legend.titleColor=t.legend.title.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.legend.titleColor)||(e.legend.titleColor=i)}static renderSeriesLabelsLegendValueType(t,e){let i=0;e.series.list.filter(t=>null!=t.arguments).forEach(t=>{i+=t.arguments.filter(t=>null!=t).length}),null==t.legend.labels.valueType?0<i&&1<e.series.count?e.seriesLabels.legendValueType=StiSeriesLabelsValueType.SeriesTitleArgument:1==i&&1==e.series.count&&(t.isPieChart||t.isPie3dChart||t.isDoughnutChart)?e.seriesLabels.legendValueType=StiSeriesLabelsValueType.SeriesTitle:0<i&&1==e.series.count?e.seriesLabels.legendValueType=StiSeriesLabelsValueType.Argument:0==i&&1<e.series.count?e.seriesLabels.legendValueType=StiSeriesLabelsValueType.SeriesTitle:e.seriesLabels.legendValueType=t.isBubbleChart?StiSeriesLabelsValueType.Weight:StiSeriesLabelsValueType.Value:e.seriesLabels.legendValueType=t.legend.labels.valueType}static renderLegendLabelsColor(t,e,i){if(!Color.transparent.equals(t.legend.labels.color))return void(e.legend.labelsColor=t.legend.labels.color);t.style==StiElementStyleIdent.Custom&&!Color.transparent.equals(e.legend.labelsColor)||(e.legend.labelsColor=i)}static async renderConditions(t,e,i,r){let l=null!=i.chartConditions?i.chartConditions.where(t=>t.keyValueMeter==r.key):null,n=(null!=l&&await this.renderValueConditions(i,e,l),null!=i.chartConditions?i.chartConditions.where(t=>t.field==StiChartConditionalField.EndValue):null),o=(null!=n&&await this.renderEndValueConditions(i,e,n),null!=i.chartConditions?i.chartConditions.where(t=>t.field==StiChartConditionalField.Argument):null),s=(null!=o&&await this.renderArgumentConditions(i,e,o),null!=i.chartConditions?i.chartConditions.where(t=>t.field==StiChartConditionalField.Series):null);null!=s&&await this.renderSeriesConditions(i,e,s,t)}static async renderValueConditions(i,r,t){for(let e of t){let t=e.isExpression?await StiReportParser.parseAsync(`{${e.value}}`,i):e.value;r.conditions.add(new Stimulsoft.Report.Chart["StiChartCondition"](e.color,Stimulsoft.Report.Components.StiFilterItem.Value,e.dataType,e.condition,t,e.markerType,e.markerAngle))}}static async renderEndValueConditions(i,r,t){for(let e of t){let t=e.isExpression?await StiReportParser.parseAsync(`{${e.value}}`,i):e.value;r.conditions.add(new Stimulsoft.Report.Chart["StiChartCondition"](e.color,Stimulsoft.Report.Components.StiFilterItem.ValueEnd,e.dataType,e.condition,t,e.markerType,e.markerAngle))}}static async renderArgumentConditions(i,r,t){for(let e of t){let t=e.isExpression?await StiReportParser.parseAsync(`{${e.value}}`,i):e.value;r.conditions.add(new Stimulsoft.Report.Chart["StiChartCondition"](e.color,Stimulsoft.Report.Components.StiFilterItem.Argument,e.dataType,e.condition,t,e.markerType,e.markerAngle))}}static async renderSeriesConditions(i,r,t,l){for(let e of t){let t=e.isExpression?await StiReportParser.parseAsync(`{${e.value}}`,i):e.value;this.getConditionResult(null==t?void 0:t.toString(),l,e.condition)&&(r.legendColor=e.color,r.conditions.add(new Stimulsoft.Report.Chart["StiChartCondition"](e.color,Stimulsoft.Report.Components.StiFilterItem.Argument,Stimulsoft.Report.Components.StiFilterDataType.String,Stimulsoft.Report.Components.StiFilterCondition.BeginningWith,"",e.markerType,e.markerAngle)))}}static getConditionResult(i,r,e){let t=!1;if(null!=r){let t=r;if(null!=t&&null!=i){r[Stimulsoft.System.StiObject.stimulsoft]().getType()!=i[Stimulsoft.System.StiObject.stimulsoft]().getType()&&(r=r.toString(),i=i[Stimulsoft.System.StiObject.stimulsoft]().toString(),t=r);try{switch(e){case Stimulsoft.Report.Components.StiFilterCondition.EqualTo:return 0==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.NotEqualTo:return 0!=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.GreaterThan:return 1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.GreaterThanOrEqualTo:return 0<=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.LessThan:return-1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.LessThanOrEqualTo:return t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i)<=0;case Stimulsoft.Report.Components.StiFilterCondition.Containing:{let t=r.toString(),e=i.toString();return-1!=t.indexOf(e)}case Stimulsoft.Report.Components.StiFilterCondition.NotContaining:{let t=r.toString(),e=i.toString();return-1==t.indexOf(e)}case Stimulsoft.Report.Components.StiFilterCondition.BeginningWith:{let t=r.toString(),e=i.toString();return t.startsWith(e)}case Stimulsoft.Report.Components.StiFilterCondition.EndingWith:{let t=r.toString(),e=i.toString();return t.endsWith(e)}}}catch(t){}}}return t}static async renderConstantLines(r,l){for(let i of r.constantLines){let t=!StiString.isNullOrEmpty(i.text),e=new Stimulsoft.Report.Chart["StiConstantLines"];e.allowApplyStyle=!1,e.text=i.text,e.axisValue=await StiReportParser.parseAsync(i.axisValue,r),e.lineColor=i.lineColor,e.lineStyle=i.lineStyle,e.lineWidth=i.lineWidth,e.titleVisible=t,e.orientation=r.isBarChart?StiConstantLines_StiOrientation.Vertical:StiConstantLines_StiOrientation.Horizontal,e.position=i.position,l.constantLines.add(e)}}static renderStrips(t,i){if(!t.strips||0===t.strips.length)return;i.strips.clear();for(let e of t.strips){let t=new Stimulsoft.Report.Chart["StiStrips"];t.allowApplyStyle=!1,t.text=e.text,t.minValue=e.minValue,t.maxValue=e.maxValue,t.titleColor=e.titleColor,t.stripBrush=e.stripBrush,t.orientation=e.orientation,i.strips.add(t)}}static renderTrendLines(e,t,i){let r,l=null==(r=t.trendLines)?void 0:r.where(t=>t.keyValueMeter==i.key).toList();e.trendLines.clear();for(let t of l)e.trendLines.add(this.getTrendLine(t,e.chart))}static getTrendLine(e,i){switch(e.type){case StiChartTrendLineType.None:return new Stimulsoft.Report.Chart["StiTrendLineNone"];case StiChartTrendLineType.Exponential:{let t=new Stimulsoft.Report.Chart["StiTrendLineExponential"];return t.allowApplyStyle=!1,t.lineColor=Color.transparent.equals(e.lineColor)?i.style.core.trendLineColor:e.lineColor,t.lineStyle=e.lineStyle,t.lineWidth=e.lineWidth,t.showShadow=!1,t}case StiChartTrendLineType.Linear:{let t=new Stimulsoft.Report.Chart["StiTrendLineLinear"];return t.allowApplyStyle=!1,t.lineColor=Color.transparent.equals(e.lineColor)?i.style.core.trendLineColor:e.lineColor,t.lineStyle=e.lineStyle,t.lineWidth=e.lineWidth,t.showShadow=!1,t}case StiChartTrendLineType.Logarithmic:{let t=new Stimulsoft.Report.Chart["StiTrendLineLogarithmic"];return t.allowApplyStyle=!1,t.lineColor=Color.transparent.equals(e.lineColor)?i.style.core.trendLineColor:e.lineColor,t.lineStyle=e.lineStyle,t.lineWidth=e.lineWidth,t.showShadow=!1,t}}}async renderSeriesLabels(e,i){if(!(e.isPieChart||e.isPie3dChart||e.isFunnelChart||e.isPictorialStackedChart||e.isDoughnutChart||e.isTreemapChart||e.isAxisAreaChart||e.isSunburstChart||e.isRadarChart||e.isWaterfallChart||e.isAxisAreaChart3D||e.isLineChart3D))return void(i.seriesLabels.visible=!1);if(i.allowApplyStyle=!1,e.isPieChart?StiChartElementBuilder.renderPieLabelsPosition(e,i):e.isPie3dChart?StiChartElementBuilder.renderPie3dLabelsPosition(e,i):e.isDoughnutChart||e.isSunburstChart?StiChartElementBuilder.renderDoughnutLabelsPosition(e,i):e.isFunnelChart?StiChartElementBuilder.renderFunnelLabelsPosition(e,i):e.isPictorialStackedChart?StiChartElementBuilder.renderPictorialStackedLabelsPosition(e,i):e.isTreemapChart?StiChartElementBuilder.renderTreemapLabelsPosition(e,i):e.isHeatmapChart?StiChartElementBuilder.renderHeatmapLabelsPosition(e,i):e.isWaterfallChart?StiChartElementBuilder.renderWaterfallLabelsPosition(e,i):e.isStackedChart?StiChartElementBuilder.renderStackedLabelsPosition(e,i):e.isRadarChart?StiChartElementBuilder.renderRadarLabelsPosition(e,i):e.isAxisAreaChart?StiChartElementBuilder.renderAxisLabelsPosition(e,i):e.isAxisAreaChart3D?StiChartElementBuilder.renderClusteredColumn3DLabelsPosition(e,i):e.isLineChart3D&&this.renderLine3DLabelsPosition(e,i),i.seriesLabels.core.applyStyle(i.style),await StiChartElementBuilder.applyPropertiesToSeriesLabels(e,i.seriesLabels.as(IStiSeriesLabels)),e.isStackedChart)for(let t of i.series.list)t.seriesLabels.as(IStiSeriesLabels).core.applyStyle(i.style),await StiChartElementBuilder.applyPropertiesToSeriesLabels(e,t.seriesLabels.as(IStiSeriesLabels));e.isPieChart||e.isPie3dChart||e.isDoughnutChart||e.isSunburstChart?(StiChartElementBuilder.renderPieLabelsStyle(e,i),StiChartElementBuilder.renderPieLabelsAutoRotate(e,i),StiChartElementBuilder.renderSeriesLabelsLegendValueType(e,i)):e.isFullStackedChart?(StiChartElementBuilder.renderLabelsStyle(e,i),i.seriesLabels.showInPercent=!0):StiChartElementBuilder.renderLabelsStyle(e,i),StiChartElementBuilder.renderLabelsColor(e,i),StiChartElementBuilder.renderLabelsTextFormat(e,i),StiChartElementBuilder.renderLabelsShowZeros(i),StiChartElementBuilder.renderLabelsShowZeros(i)}static renderLabelsShowZeros(r){for(let i of r.series.toList()){let t=i.as(IStiShowZerosSeriesAs);if(null!=t)return void(r.seriesLabels.showZeros=t.showZerosAs==StiShowEmptyCellsAs.Zero);let e=i.as(IStiShowZerosSeries);if(null!=e)return void(r.seriesLabels.showZeros=e.showZeros)}}static renderLabelsShowNulls(r){for(let i of r.series.toList()){let t=i.as(IStiShowNullsSeriesAs);if(null!=t)return void(r.seriesLabels.showNulls=t.showNullsAs==StiShowEmptyCellsAs.Zero);let e=i.as(IStiShowNullsSeries);if(null!=e)return void(r.seriesLabels.showNulls=e.showNulls)}}static async applyPropertiesToSeriesLabels(t,e){e.preventIntersection=t.isAxisAreaChart,e.textAfter=await StiReportParser.parseAsync(t.labels.textAfter,t),e.textBefore=await StiReportParser.parseAsync(t.labels.textBefore,t),e.font=StiChartElementBuilder.getSmallStyleFont(t,t.labels.font),e.showZeros=!1,e.width=t.labels.width,e.wordWrap=t.labels.wordWrap}static renderPieLabelsAutoRotate(t,e){let i=e.seriesLabels.as(IStiCenterPieLabels);null!=i&&(i.autoRotate=t.labels.autoRotate)}static renderLabelsColor(t,e){let i,r,l=e.seriesLabels.as(IStiSeriesLabels),n=e.seriesLabels.as(IStiOutsidePieLabels);Color.transparent.equals(t.labels.foreColor)?(l.labelColor=Color.gray,l.labelColor=StiDashboardStyleHelper.isDarkStyle2(t.style)?Color.fromArgb2(50,50,50):null!=(null==(i=null==e?void 0:e.style)?void 0:i.core)?e.style.core.seriesLabelsColor:Color.gray,null!=n&&(n.lineColor=null!=(null==(r=null==e?void 0:e.style)?void 0:r.core)?e.style.core.seriesLabelsLineColor:Color.gray)):(l.labelColor=t.labels.foreColor,null!=n&&(n.lineColor=t.labels.foreColor))}static renderLabelsTextFormat(t,e){e.seriesLabels.formatService=t.valueFormat}static renderFunnelLabelsPosition(t,e){switch(t.labels.funnelPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Left:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideLeftFunnelLabels"];break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterFunnelLabels"];break;case StiChartLabelsPosition.Right:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideRightFunnelLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderPictorialStackedLabelsPosition(t,e){switch(t.labels.pictorialStackedPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Left:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideLeftPictorialStackedLabels"];break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterPictorialStackedLabels"];break;case StiChartLabelsPosition.Right:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideRightPictorialStackedLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderTreemapLabelsPosition(t,e){switch(t.labels.treemapPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterTreemapLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderHeatmapLabelsPosition(t,e){switch(t.labels.heatmapPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterHeatmapLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderPieLabelsPosition(t,e){switch(t.labels.piePosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterPieLabels"];break;case StiChartLabelsPosition.InsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideEndPieLabels"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsidePieLabels"];break;case StiChartLabelsPosition.TwoColumns:e.seriesLabels=new Stimulsoft.Report.Chart["StiTwoColumnsPieLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderPie3dLabelsPosition(t,e){switch(t.labels.pie3dPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterPie3dLabels"];break;case StiChartLabelsPosition.InsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideEndPie3dLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderStackedLabelsPosition(l,t){switch(l.labels.axisPosition){case StiChartLabelsPosition.Total:{let i=new List,r=new Hashtable;for(let e of t.series.toList()){let t=r.get(e[Stimulsoft.System.StiObject.stimulsoft]().getType());null==t&&(t=new List,i.push(t),r.add(e[Stimulsoft.System.StiObject.stimulsoft]().getType(),t)),t.push(e)}for(let t of i){let e=t.lastOrDefault();t.where(t=>t!=e).toList().forEach(t=>{t.showSeriesLabels=StiShowSeriesLabels.FromSeries,t.seriesLabels.visible=!1}),e.showSeriesLabels=StiShowSeriesLabels.FromSeries,e.seriesLabels=new Stimulsoft.Report.Chart["StiValueAxisLabels"],e.isTotalLabel=!0,e.seriesLabels.formatService=l.valueFormat}break}default:StiChartElementBuilder.renderAxisLabelsPosition(l,t);break}}static renderRadarLabelsPosition(t,e){switch(t.labels.radarPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterAxisLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderWaterfallLabelsPosition(t,e){switch(t.labels.axisPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterAxisLabels"];break;case StiChartLabelsPosition.InsideBase:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideBaseAxisLabels"];break;case StiChartLabelsPosition.InsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideEndAxisLabels"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideAxisLabels"];break;case StiChartLabelsPosition.OutsideBase:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideBaseAxisLabels"];break;case StiChartLabelsPosition.OutsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideEndAxisLabels"];break;case StiChartLabelsPosition.Value:e.seriesLabels=new Stimulsoft.Report.Chart["StiValueAxisLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderAxisLabelsPosition(t,e){switch(t.labels.axisPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterAxisLabels"];break;case StiChartLabelsPosition.InsideBase:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideBaseAxisLabels"];break;case StiChartLabelsPosition.InsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiInsideEndAxisLabels"];break;case StiChartLabelsPosition.Left:e.seriesLabels=new Stimulsoft.Report.Chart["StiLeftAxisLabels"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideAxisLabels"];break;case StiChartLabelsPosition.OutsideBase:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideBaseAxisLabels"];break;case StiChartLabelsPosition.OutsideEnd:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideEndAxisLabels"];break;case StiChartLabelsPosition.Right:e.seriesLabels=new Stimulsoft.Report.Chart["StiRightAxisLabels"];break;case StiChartLabelsPosition.Value:e.seriesLabels=new Stimulsoft.Report.Chart["StiValueAxisLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderClusteredColumn3DLabelsPosition(t,e){switch(t.labels.clusteredColumn3dPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterAxisLabels3D"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideAxisLabels3D"];break;default:e.seriesLabels.visible=!1;break}}renderLine3DLabelsPosition(t,e){switch(t.labels.line3dPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterAxisLabels3D"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsideAxisLabels3D"];break;default:e.seriesLabels.visible=!1;break}}static renderDoughnutLabelsPosition(t,e){switch(t.labels.doughnutPosition){case StiChartLabelsPosition.None:e.seriesLabels.visible=!1;break;case StiChartLabelsPosition.Center:e.seriesLabels=new Stimulsoft.Report.Chart["StiCenterPieLabels"];break;case StiChartLabelsPosition.Outside:e.seriesLabels=new Stimulsoft.Report.Chart["StiOutsidePieLabels"];break;default:e.seriesLabels.visible=!1;break}}static renderPieLabelsStyle(t,e){let i=e.seriesLabels.as(IStiPieSeriesLabels);switch(t.labels.style){case StiChartLabelsStyle.PercentOfTotal:i.showInPercent=!0,i.valueType=StiSeriesLabelsValueType.Value;break;case StiChartLabelsStyle.Category:i.showInPercent=!1,i.valueType=t.arguments.any()?StiSeriesLabelsValueType.Argument:StiSeriesLabelsValueType.SeriesTitle;break;case StiChartLabelsStyle.CategoryPercentOfTotal:i.showInPercent=!0,i.valueType=t.arguments.any()?StiSeriesLabelsValueType.ArgumentValue:StiSeriesLabelsValueType.SeriesTitleValue;break;case StiChartLabelsStyle.CategoryValue:i.showInPercent=!1,i.valueType=t.arguments.any()?StiSeriesLabelsValueType.ArgumentValue:StiSeriesLabelsValueType.SeriesTitleValue;break;case StiChartLabelsStyle.Value:i.showInPercent=!1,i.valueType=StiSeriesLabelsValueType.Value;break}}static renderLabelsStyle(t,e){let i=e.seriesLabels;switch(t.labels.style){case StiChartLabelsStyle.PercentOfTotal:i.valueType=StiSeriesLabelsValueType.Value;break;case StiChartLabelsStyle.Category:i.valueType=t.arguments.any()?StiSeriesLabelsValueType.Argument:StiSeriesLabelsValueType.SeriesTitle;break;case StiChartLabelsStyle.CategoryPercentOfTotal:i.valueType=t.arguments.any()?StiSeriesLabelsValueType.ArgumentValue:StiSeriesLabelsValueType.SeriesTitleValue;break;case StiChartLabelsStyle.CategoryValue:i.valueType=t.arguments.any()?StiSeriesLabelsValueType.ArgumentValue:StiSeriesLabelsValueType.SeriesTitleValue;break;case StiChartLabelsStyle.Value:i.valueType=StiSeriesLabelsValueType.Value;break}}async renderSeriesInteraction(l,n,t,i){var o;if(l.chart.isDesigning)return;let r=null==n?void 0:n.report,s=0,e=n.dashboardInteraction;if(e.onHover==StiInteractionOnHover.ShowToolTip){l.toolTips=StiArray.create(String,t);for(let e of l.arguments){let t="";s<l.values.length&&null!=l.values[s]&&(t=l.values[s].toString()),l.toolTips[s]=await this.getToolTip(l.chart.style,n,null,n.dashboardInteraction.toolTip,this.getString(n.argumentFormat,e,r),this.getString(n.valueFormat,t,r),"",i),s++}}s=0,l.hyperlinks=StiArray.create(String,t);for(let r of l.arguments){let t="",e="",i=(s<l.values.length&&null!=l.values[s]&&(t=l.values[s].toString()),l.as(IStiRangeSeries));null!=i&&s<i.valuesEnd.length&&(e=null==(o=i.valuesEnd[s])?void 0:o.toString()),s<l.hyperlinks.length&&(l.hyperlinks[s]=await this.getHyperlink(n,l,n.dashboardInteraction.hyperlink,null==r?void 0:r.toString(),t,e,l.titleValue,s)),s++}l.drillDownEnabled=!0}async getToolTip(i,t,e,r,l,n,o,s){if(null==l&&(l=""),null==s&&(s=""),StiString.isNullOrWhiteSpace(r)){null==l||StiString.isNullOrEmpty(l)||(l=l.split('"').join('\\"'));let t='"StiColor":"{0}","StiValue":"{1}","StiArgument":"{2}"{3}',e=await this.getToolTipStyle(i);return"{"+StiString.format(t,"#ffffff",n,l,e)+"}"}return this.getHyperlink(t,e,r,l,n,o,s,0)}async getToolTipStyle(t){let e=Stimulsoft.Base.StiJsonReportObjectHelper.Serialize.jBrush(t.core.toolTipBrush),i=Stimulsoft.Base.StiJsonReportObjectHelper.Serialize.jBrush(t.core.toolTipTextBrush),r=Stimulsoft.Base.StiJsonReportObjectHelper.Serialize.jBorder2(t.core.toolTipBorder),l=t.core.toolTipCornerRadius.toString();return`,"StiToolTipCornerRadius":"${l}","StiToolTipBrush":"${e}","StiToolTipTextBrush":"${i}","StiToolTipBorder":"${r}"`}async getHyperlink(l,t,e,i,r,n,o,s){null==i&&(i=""),null==o&&(o="");let a=new Hashtable,u=(a.add("Argument",i),a.add("Value",r),a.add("EndValue ",n),a.add("Series",o),null==t?void 0:t.originalArguments[s]);if(StiArray.isArray(u)&&1<u.length){let r=0;u.forEach(t=>{let e=l.arguments[r],i=`Argument_`+this.getIdentFromArgument(e,r+1);a.containsKey(i)||a.add(i,t),r++})}return StiReportParser.parseAsync(e,l,!1,a)}getIdentFromArgument(t,e){if(!StiString.isNullOrWhiteSpace(t.label))return StiNameValidator.correctName(t.label);let i=StiExpressionHelper.getFirstArgumentFromExpression(t.expression),r=i.indexOf(".");if(-1!=r&&(i=i.substr(r+1)),!StiString.isNullOrEmpty(i))return i;return e.toString()}getTitle(t){return StiLabelHelper.getLabel(t)}getSeriesTitle(t,e,i){if(t.values.length<2)return e;let r=StiLabelHelper.getLabel(i),l=StiString.isNullOrWhiteSpace(r)?null:r;if(null==l)return e;return StiString.isNullOrWhiteSpace(e)?l:e+` - `+l}getArgumentIndex(t,e){let i=this.getArgumentMeterIndexes(t).toList();if(null==i||!i.any())return-1;if(1==i.length)return i.firstOrDefault();if(e<i.length)return StiMath.trunc(i[e]);return-1}simplifyValues(t){let e=0;while(e<t.series.count){let i=t.series.getByIndex(e);if(800<i.values.length){let e=this.getShorterListPoints(i);i.values=[],i.arguments=[];for(let t=0;t<e.length;t++)i.values[t]=e[t].x,i.arguments[t]=e[t].y}e++}}getShorterListPoints(e){let i=[];for(let t=0;t<e.values.length;t++)i[t]=new Point(e.values[t],t);let r=[.3,.6,1,5,9,15,20,25,30,40],l=null,n=null;for(let t=0;t<r.length;t++){if((l=Stimulsoft.Report.Chart["StiSimplifyHelper"].simplify(i,t,!0)).length/i.length<.02&&l.length<900&&null!=n){l=n;break}n=l}return l}getString(i,r,l){if(null==r)return"";if(StiArray.isArray(r)){let e=[];for(let t of r)e.push(this.getFormatValue(i,t,l));return StiString.join(" - ",e)}return this.getFormatValue(i,r,l)}getFormatValue(t,e,i){if(null==e)return"";if(e instanceof DateTime)return t.is2(StiDateFormatService)||t.is2(StiTimeFormatService)||t.is2(StiCustomFormatService)?t.format(e):e.toShortDateString();let r=null==i?void 0:i.getParsedCulture();if(StiExtValueConverter.isEligable(e,r))return StiExtValueConverter.convert(e,r);if(null!=t)return t.format(e);return e.toString()}async calculateIndicatorValue(i){if(null==i.indicatorValue||null!=i.indicatorValue&&StiString.isNullOrEmpty(i.indicatorValue.expression))return;let r=StiElementDataCache.getKey(i);if(StiDataIndicatorValue.existsInCache(r))this.indicatorValueValue=StiDataIndicatorValue.getFromCache(r);else{let t=i.clone(!0),e=(t.values=new List,t.arguments=new List,await StiElementDataCache.getOrCreate(t));null!=e&&(this.indicatorValueValue=e.rows.getArrayItem(0).tryCastToNullableNumber().sum(),StiDataIndicatorValue.addToCache(r,this.indicatorValueValue))}}static create(t){if(t.isSunburstChart)return new __.i.StiSunburstChartElementBuilder;if(t.isHeatmapChart)return new __.i.StiHeatmapChartElementBuilder;if(t.isBubbleChart)return new __.i.StiBubbleChartElementBuilder;if(t.isRange)return new __.i.StiRangeChartElementBuilder;if(t.isFinancial)return new __.i.StiFinancialChartElementBuilder;if(t.isFullStackedChart||t.isStackedChart||t.isRibbonChart)return new __.i.StiStackedChartElementBuilder;return new StiChartElementBuilder}static scaleFont(t,e,i=.05){if(Math.abs(1-e)<=i)return;t.labels.font=StiFontUtils.changeFontSize(t.labels.font,t.labels.font.size*e),t.legend.font=StiFontUtils.changeFontSize(t.legend.font,t.legend.font.size*e);let r=t.area.as(IStiAxisArea);null!=r&&(r.xAxis.labels.font=StiFontUtils.changeFontSize(r.xAxis.labels.font,r.xAxis.labels.font.size*e),r.xTopAxis.labels.font=StiFontUtils.changeFontSize(r.xTopAxis.labels.font,r.xTopAxis.labels.font.size*e),r.yAxis.labels.font=StiFontUtils.changeFontSize(r.yAxis.labels.font,r.yAxis.labels.font.size*e),r.yRightAxis.labels.font=StiFontUtils.changeFontSize(r.yRightAxis.labels.font,r.yRightAxis.labels.font.size*e))}static getStyleFont(t,e){return StiDashboardStyleHelper.getElementFontFromStyle(t,e)}static getSmallStyleFont(t,e){let i=StiDashboardStyleHelper.getElementFontFromStyle(t);if(null==i)return e;let r=StiDashboardStyleHelper.getElementFontFromStyle(t),l=8*r.size/13,n=t.cachedSmallFont;if(null!=n&&n.name==r.name&&n.style==r.style&&n.size==l)return n;return t.cachedSmallFont=StiFontUtils.changeFontSize(r,l),t.cachedSmallFont}getValueMeterIndexes(e){if(null==e)return null;return this.getValueMeters(e).select(t=>e.meters.indexOf(t))}getArgumentMeterIndexes(e){if(null==e)return null;return this.getArgumentMeters(e).select(t=>e.meters.indexOf(t)).toList()}getSeriesMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>t.is(StiSeriesChartMeter));return null!=e?t.meters.indexOf(e):-1}getArgumentKeys(t,e){if(null==e)return null;let i=this.getArgumentMeters(e),r=i.select(t=>e.meters.indexOf(t)).toList(),l=e.rows.groupBy2(e=>r.select(t=>e[t]),new StiArrayEqualityComparer);return l.select(t=>t.key)}getValueMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiValueChartMeter)).cast()}getArgumentMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiArgumentChartMeter)).cast()}}__.i.StiChartElementBuilder=StiChartElementBuilder}let IStiBubbleSeries=Stimulsoft.Report.Chart.IStiBubbleSeries,IStiFinancialSeries=(__.i.StiBubbleChartElementBuilder=class extends __.i.StiChartElementBuilder{async renderElements(u,S,m){let h=this.getSeriesMeterIndex(m),t=this.getSeriesKeys(m,h),e=this.getValueMeters(m),c=t.count2();for(let a of t){let s=0;for(let o of e){let t=this.getValueMeterIndexes(m)[s],e=this.renderSeries(u,o,a,S);if(null==e)continue;let i=-1!=h&&1<c?m.rows.whereArrayItemStringEqualsTo(h,a):m.rows,r=(await __.i.StiChartElementBuilder.renderConditions(this.toString(a),e,u,o),e.values=i.getArrayItem(t).tryCastToNullableNumber(),this.getArgumentIndex(m,t)),l=(-1!=r&&(e.arguments=i.getArrayItem(r)),e.weights=null,this.getWeightIndex(m,t));if(-1!=l&&(e.weights=i.getArrayItem(l).tryCastToNumber()),null==e.weights){e.weights=[];for(let t=0;t<e.arguments.length;t++)e.weights[t]=10}s++;let n=Math.min(e.values.length,e.arguments.length);await this.renderSeriesInteraction(e,u,n,a)}}}renderSeries(t,e,i,r){let l=new Stimulsoft.Report.Chart["StiBubbleSeries"];return l.coreTitle=this.getSeriesTitle(t,i,e),l.isDashboard=!0,r.series.add(l),l}async renderSeriesInteraction(o,t,e,s){let a=o.as(IStiBubbleSeries);if(null==a)return;let u=t.dashboardInteraction;if(u.onHover==StiInteractionOnHover.ShowToolTip){o.toolTips=StiArray.create(String,e);for(let n=0;n<e;n++){let i="",r="",l="";if(n<o.values.length&&null!=o.values[n]&&(i=o.values[n].toString()),n<o.arguments.length&&null!=o.arguments[n]&&(r=``+o.arguments[n]),n<a.weights.length&&(l=a.weights[n].toString()),StiString.isNullOrEmpty(u.toolTip)){let t='"StiColor":"{0}","StiValue":"{1}","StiArgument":"{2}","StiWeight":"{3}"{4}',e=await this.getToolTipStyle(o.chart.style);o.toolTips[n]="{"+StiString.format(t,"#ffffff",i,r,l,e)+"}"}else o.toolTips[n]=await this.getHyperlink2(t,u.toolTip,r,i,l,s)}}o.drillDownEnabled=!0}async getHyperlink2(t,e,i,r,l,n){null==i&&(i=""),null==n&&(n="");let o=new Hashtable;return o.add("Argument",i),o.add("Value",r),o.add("Weight",l),o.add("Series",n),StiReportParser.parseAsync(e,t,!1,o)}getWeightIndex(t,e){if(null==t)return-1;let i=this.getWeightMeterIndexes(t);if(null==i)return-1;if(!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(i.length>e)return StiMath.trunc(i[e]);return-1}getWeightMeterIndexes(e){if(null==e)return null;return this.getWeightMeters(e).select(t=>e.meters.indexOf(t)).toList()}getWeightMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiWeightChartMeter)).cast()}getValueMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiYChartMeter)).cast()}getArgumentMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiXChartMeter)).cast()}},Stimulsoft.Report.Chart.IStiFinancialSeries),StiHeatmapHelper=(__.i.StiFinancialChartElementBuilder=class extends __.i.StiChartElementBuilder{async renderElements(h,c,d){let g=null==c?void 0:c.report,p=this.getSeriesMeterIndex(d),t=this.getSeriesKeys(d,p),e=this.getValueMeters(d),b=t.count2();for(let m of t){let S=0;for(let u of e){let t=this.getValueMeterIndexes(d)[S],e=this.renderSeries(h,u,m,c),i=e.as(IStiFinancialSeries);if(null==e||null==i)continue;let r=-1!=p&&1<b?d.rows.whereArrayItemStringEqualsTo(p,m):d.rows,l=(i.valuesOpen=r.getArrayItem(t).tryCastToNullableNumber(),i.valuesClose=null,this.getCloseValueIndex(d,t));if(-1!=l&&(i.valuesClose=r.getArrayItem(l).tryCastToNullableNumber()),null==i.valuesClose){i.valuesClose=[];for(let t=0;t<e.argument.length;t++)i.valuesClose[t]=10}i.valuesLow=null;let n=this.getLowValueIndex(d,t);if(-1!=n&&(i.valuesLow=r.getArrayItem(n).tryCastToNullableNumber()),null==i.valuesLow){i.valuesLow=[];for(let t=0;t<e.argument.length;t++)i.valuesLow[t]=10}i.valuesHigh=null;let o=this.getHighValueIndex(d,t);if(-1!=o&&(i.valuesHigh=r.getArrayItem(o).tryCastToNullableNumber()),null==i.valuesHigh){i.valuesHigh=[];for(let t=0;t<e.argument.length;t++)i.valuesHigh[t]=10}let s=this.getArgumentIndex(d,t),a=(-1!=s&&(e.arguments=r.getArrayItem(s).select(t=>this.getString(h.argumentFormat,t,g))),S++,Math.min(e.values.length,e.arguments.length));await this.renderSeriesInteraction(e,h,a,m)}}}renderSeries(t,e,i,r){let l=StiChartSeriesCreator.neww2(e.as(StiOpenValueChartMeter).seriesType);return l.coreTitle=this.getSeriesTitle(t,i,e),l.isDashboard=!0,r.series.add(l),l}async renderSeriesInteraction(a,t,e,i){let u=a.as(IStiFinancialSeries);if(null==u)return;let r=t.dashboardInteraction;if(r.onHover==StiInteractionOnHover.ShowToolTip){a.toolTips=StiArray.create(String,e);for(let s=0;s<e;s++){let t="",e="",i="",r="",l="",n=(s<u.valuesOpen.length&&null!=u.valuesOpen[s]&&(t=u.valuesOpen[s].toString()),s<u.valuesClose.length&&(e=u.valuesClose[s].toString()),s<u.valuesLow.length&&(i=u.valuesLow[s].toString()),s<u.valuesHigh.length&&(r=u.valuesHigh[s].toString()),s<a.arguments.length&&null!=a.arguments[s]&&(l=``+a.arguments[s]),'"StiColor":"{0}","StiOpenValue":"{1}","StiCloseValue":"{2}","StiLowValue":"{3}","StiHighValue":"{4}","StiArgument":"{5}"{6}'),o=await this.getToolTipStyle(a.chart.style);a.toolTips[s]="{"+StiString.format(n,"#ffffff",t,e,i,r,l,o)+"}"}}a.drillDownEnabled=!0}async renderArea(t,h){await super.renderArea(t,h);let c=null,d=null;for(let m=0;m<h.series.count;m++){let t=h.series.getByIndex(m).as(IStiFinancialSeries);if(null==t)continue;let e=t.valuesOpen[Stimulsoft.System.StiObject.stimulsoft]().toList().min(),i=t.valuesClose[Stimulsoft.System.StiObject.stimulsoft]().toList().min(),r=t.valuesLow[Stimulsoft.System.StiObject.stimulsoft]().toList().min(),l=t.valuesHigh[Stimulsoft.System.StiObject.stimulsoft]().toList().min(),n=t.valuesOpen[Stimulsoft.System.StiObject.stimulsoft]().toList().max(),o=t.valuesClose[Stimulsoft.System.StiObject.stimulsoft]().toList().max(),s=t.valuesLow[Stimulsoft.System.StiObject.stimulsoft]().toList().max(),a=t.valuesHigh[Stimulsoft.System.StiObject.stimulsoft]().toList().max(),u=new List([e,i,r,l]).min(),S=new List([n,o,s,a]).max();null==c&&(c=u),null==d&&(d=S),c=Math.min(c,u),d=Math.max(d,S)}let e=h.area.as(IStiAxisArea),i=(e.yAxis.range.auto=!1,e.yAxis.range.minimum=c,e.yAxis.range.maximum=d,e.yAxis.range.maximum-e.yAxis.range.minimum);e.yAxis.labels.step=2<i?Math.round(i/10):StiMath.round2(i/10,4)}getValueMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiOpenValueChartMeter)).cast()}getCloseValueIndex(t,e){if(null==t)return-1;let i=this.getCloseMeterIndexes(t);if(null==i||!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(e<i.length)return i[e];return-1}getCloseMeterIndexes(e){if(null==e)return null;return this.getCloseMeters(e).select(t=>e.meters.indexOf(t)).toList()}getCloseMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiCloseValueChartMeter)).cast()}getLowValueIndex(t,e){if(null==t)return-1;let i=this.getLowMeterIndexes(t);if(null==i||!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(e<i.length)return i[e];return-1}getLowMeterIndexes(e){if(null==e)return null;return this.getLowMeters(e).select(t=>e.meters.indexOf(t)).toList()}getLowMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiLowValueChartMeter)).cast()}getHighValueIndex(t,e){if(null==t)return-1;let i=this.getHighMeterIndexes(t);if(null==i)return-1;if(!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(i.length>e)return i[e];return-1}getHighMeterIndexes(e){if(null==e)return null;return this.getHighMeters(e).select(t=>e.meters.indexOf(t)).toList()}getHighMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiHighValueChartMeter)).cast()}},Stimulsoft.Report.Chart.StiHeatmapHelper),StiShape=(__.i.StiHeatmapChartElementBuilder=class extends __.i.StiChartElementBuilder{async renderElements(u,S,m){let h=null==S?void 0:S.report,c=this.getSeriesMeterIndex(m),t=this.getSeriesKeys(m,c),e=this.getValueMeters(m),d=t.count2();for(let a of t){let s=0;for(let o of e){let t=this.getValueMeterIndexes(m)[s],e=this.renderSeries(u,o,a,S),i=e.as(StiHeatmapSeries);if(null==e||null==i)continue;let r=-1!=c&&1<d?m.rows.whereArrayItemStringEqualsTo(c,a):m.rows,l=(e.values=r.getArrayItem(t).tryCastToNullableNumber(),this.getXValueIndex(m,t)),n=(i.xValues=-1!=l?r.getArrayItem(l).select(t=>this.getString(u.argumentFormat,t,h)):[""],this.getYValueIndex(m,t));i.yValues=-1!=n?r.getArrayItem(n).select(t=>this.getString(u.argumentFormat,t,h)):[""],s++,await this.renderSeriesInteraction(e,u,e.values.length,a)}}}renderSeries(t,e,i,r){let l=new Stimulsoft.Report.Chart["StiHeatmapSeries"];return l.coreTitle=this.getSeriesTitle(t,i,e),l.isDashboard=!0,r.series.add(l),l}async renderSeriesInteraction(s,t,e,i){if(s.chart.isDesigning)return;let a=s.as(StiHeatmapSeries);if(null==a)return;let r=s.core,u=r.getHeatmapColors(),l=r.getAllValues(),S=l.min(),m=l.max(),h=t.dashboardInteraction.as(StiChartDashboardInteraction);if(h.onHover==StiInteractionOnHover.ShowToolTip){s.toolTips=StiArray.create(String,e);for(let o=0;o<e;o++){let r=0,l="",n="";if(o<a.values.length&&null!=a.values[o]&&(r=a.values[o]),o<a.xValues.length&&(l=a.xValues[o].toString()),o<a.yValues.length&&(n=a.yValues[o].toString()),StiString.isNullOrEmpty(h.toolTip)){let t='{{"StiColor":"{0}","StiValue":"{1}","StiXValue":"{2}","StiYValue":"{3}"{4}}}',e=await this.getToolTipStyle(s.chart.style),i=StiHeatmapHelper.getColorFromRange(u,S,m,r);s.toolTips[o]=StiString.format(t,ColorTranslator.toHtml(i),r,l,n,e)}else s.toolTips[o]=await this.getHyperlink3(t,h.toolTip,r.toString(),l,n,i)}}s.drillDownEnabled=!0}async getHyperlink3(t,e,i,r,l,n){null==n&&(n="");let o=new Hashtable;return o.add("Value",i),o.add("XValue",r),o.add("YValue",l),o.add("Series",n),StiReportParser.parseAsync(e,t,!1,o)}getYValueIndex(t,e){if(null==t)return-1;let i=this.getYMeterIndexes(t);if(null==i)return-1;if(!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(i.length>e)return StiMath.trunc(i[e]);return-1}getYMeterIndexes(e){if(null==e)return null;return this.getYMeters(e).select(t=>e.meters.indexOf(t)).toList()}getYMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiYChartMeter)).cast()}getXValueIndex(t,e){if(null==t)return-1;let i=this.getXMeterIndexes(t);if(null==i)return-1;if(!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(i.length>e)return StiMath.trunc(i[e]);return-1}getXMeterIndexes(e){if(null==e)return null;return this.getXMeters(e).select(t=>e.meters.indexOf(t)).toList()}getXMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiXChartMeter)).cast()}},__.i.StiRangeChartElementBuilder=class extends __.i.StiChartElementBuilder{async renderElements(u,S,m){let h=null==S?void 0:S.report,c=this.getSeriesMeterIndex(m),t=this.getSeriesKeys(m,c),d=t.count2(),i=this.getValueMeters(m),g=this.getArgumentMeterIndexes(m),p=this.getArgumentKeys(u,m).toList();for(let a of t){let s=0;for(let e of i){let r=this.getValueMeterIndexes(m)[s],i=this.renderSeries(u,e,a,S);if(null==i)continue;await __.i.StiChartElementBuilder.renderConditions(a,i,u,e);let l=-1!=c&&1<d?m.rows.whereArrayItemStringEqualsTo(c,this.toString(a)):m.rows,n=(i.values=List.create(Number,p.length),0);for(let e of p){let t=__.i.StiChartElementBuilder.getDetailRows(l,e,g);n<i.values.length&&(i.values[n]=t.getArrayItem(r).firstOrDefaultAsNullableNumber()),n++}i.core.isDateTimeValues=List.getValueOrFirstOrDefault(l.getArrayItem(r).toList().firstOrDefault())instanceof DateTime;let o=i.as(IStiRangeSeries);if(null!=o){o.valuesEnd=List.create(Number,p.length);let i=this.getEndValueIndex(m,r);if(null==o.valuesEnd&&(o.valuesEnd=List.repeat(10,p.length)),-1!=i){n=0;for(let e of p){let t=__.i.StiChartElementBuilder.getDetailRows(l,e,g);n<o.valuesEnd.length&&(o.valuesEnd[n]=t.getArrayItem(i).firstOrDefaultAsNullableNumber()),n++}}}i.originalArguments=p[Stimulsoft.System.StiObject.stimulsoft]().toArray(),i.arguments=p.select(t=>this.getString(u.argumentFormat,t,h))[Stimulsoft.System.StiObject.stimulsoft]().toArray(),s++;let t=Math.min(i.values.length,i.arguments.length);await this.renderSeriesInteraction(i,u,t,a)}}}renderSeries(t,e,i,r){let l=StiChartSeriesCreator.neww2(e.seriesType),n=(l.coreTitle=this.getSeriesTitle(t,i,e),l.isDashboard=!0,e);return __.i.StiChartElementBuilder.renderSeriesLine(n,l),__.i.StiChartElementBuilder.renderSeriesShowNulls(n,l),this.renderMarker(t,l),r.series.add(l),l}async renderSeriesInteraction(l,n,t,o){let s,a,u=null==n?void 0:n.report,S=l.as(IStiRangeSeries);if(null==S)return;let e=n.dashboardInteraction.as(StiChartDashboardInteraction);if(e.onHover==StiInteractionOnHover.ShowToolTip){l.toolTips=StiArray.create(String,t);for(let r=0;r<t;r++){let t="",e="",i="";r<l.values.length&&null!=l.values[r]&&(t=(l.core.isDateTimeValues?DateTime.fromOADate(l.values[r]):l.values[r]).toString()),null!=S.valuesEnd&&r<S.valuesEnd.length&&(e=l.core.isDateTimeValues?null==(s=DateTime.fromOADate(S.valuesEnd[r]))?void 0:s.toString():null==(a=S.valuesEnd[r])?void 0:a.toString()),r<l.arguments.length&&null!=l.arguments[r]&&(i=``+l.arguments[r]),l.toolTips[r]=await this.getToolTip2(l.chart.style,n,n.dashboardInteraction.toolTip,this.getString(n.argumentFormat,i,u),this.getString(n.valueFormat,t,u),this.getString(n.valueFormat,e,u),o)}}l.drillDownEnabled=!0}async getToolTip2(i,t,e,r,l,n,o){if(null==r&&(r=""),null==o&&(o=""),StiString.isNullOrWhiteSpace(e)){null==r||StiString.isNullOrEmpty(r)||(r=r.split('"').join('\\"'));let t='"StiColor":"{0}","StiValue":"{1} - {3}","StiArgument":"{2}"{4}',e=await this.getToolTipStyle(i);return"{"+StiString.format(t,"#ffffff",l,r,n,e)+"}"}return this.getHyperlink2(t,e,r,l,n,o)}async getHyperlink2(t,e,i,r,l,n){null==i&&(i=""),null==n&&(n="");let o=new Hashtable;return o.add("Argument",i),o.add("Value",r),o.add("EndValue",l),o.add("Series",n),StiReportParser.parseAsync(e,t,!1,o)}getValueMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiStartValueChartMeter)).cast()}getEndValueIndex(t,e){if(null==t)return-1;let i=this.getEndValueMeterIndexes(t);if(null==i||!i.any())return-1;if(1==i.length)return i.toList().firstOrDefault();if(e<i.length)return StiMath.trunc(i[e]);return-1}getEndValueMeterIndexes(e){if(null==e)return null;return this.getEndValueMeters(e).select(t=>e.meters.indexOf(t)).toList()}getEndValueMeters(t){if(null==t)return null;return t.meters.where(t=>t.is(StiEndValueChartMeter)).cast()}},Stimulsoft.Report.Components.StiShape),IStiStackedColumnSeries=(__.i.StiShapeElementBuilder=class{render(t){let e=new StiShape;return e.shapeType=t.shapeType,e.brush=t.fill,e.borderColor=t.stroke,e.size=t.size,e}},Stimulsoft.Report.Chart.IStiStackedColumnSeries),IStiStackedBarSeries=Stimulsoft.Report.Chart.IStiStackedBarSeries,IStiRibbonSeries=Stimulsoft.Report.Chart.IStiRibbonSeries;{class e30 extends __.i.StiChartElementBuilder{async renderElements(s,a,u){let S=null==a?void 0:a.report,m=this.getSeriesMeterIndex(u),t=this.getSeriesKeys(u,m),h=this.getArgumentMeterIndexes(u),c=this.getArgumentKeys(s,u).toList(),i=this.getValueMeters(u),d=new List,g=t.count2();for(let o of t){let e=0;for(let t of i){d.add(o);let i=this.getValueMeterIndexes(u)[e],r=this.renderSeries(s,t,o,a);if(null==r)continue;await __.i.StiChartElementBuilder.renderConditions(o,r,s,t),__.i.StiChartElementBuilder.renderTrendLines(r,s,t);let l=-1!=m&&1<g?u.rows.whereArrayItemStringEqualsTo(m,o):u.rows,n=(r.values=List.create(Number,c.length),0);for(let e of c){let t=__.i.StiChartElementBuilder.getDetailRows(l,e,h);n<r.values.length&&(r.values[n]=t.getArrayItem(i).firstOrDefaultAsNullableNumber()),n++}r.originalArguments=c[Stimulsoft.System.StiObject.stimulsoft]().toArray(),r.arguments=c.select(t=>this.getString(s.argumentFormat,t,S))[Stimulsoft.System.StiObject.stimulsoft]().toArray(),e++}}await e30.processTopNStackedChart(s,a);for(let e=0;e<d.length;e++){if(a.series.count<e)break;let t=a.series.getByIndex(e);if(null==t)return;await this.renderSeriesInteraction(t,s,c.length,d[e])}}static getDataTable(t){let i=new DataTable,e=new DataColumn("Id",Number),r=(i.columns.add(e),new DataColumn("Argument",Object));i.columns.add(r);for(let e=0;e<t.length;e++){let t=new DataColumn("Value-"+e.toString(),Number);i.columns.add(t)}let l=new DataColumn("OriginalArguments",Object),n=(i.columns.add(l),new DataColumn("ValueSum",Number)),o=(i.columns.add(n),this.getCountRow(t.toList()));for(let t=0;t<o;t++){let t=i.newRow();i.rows.add(t)}return i}static getCountRow(e){let i=0;for(let t of e)i=Math.max(i,t.arguments.length);return i}static async getArguments(t,e){if(t.length<=e.topN.count)return t;let i=t.take(e.topN.count).toList();if(e.topN.showOthers){let t=StiString.isNullOrEmpty(e.topN.othersText)?Loc.get("FormDesigner","Others"):await StiReportParser.parseAsync(e.topN.othersText,e);i.add(t)}return i}static getValues(e,i){if(e.length<=i.topN.count)return e;let r=e.take(i.topN.count).toList();if(i.topN.showOthers){let t=e.skip(i.topN.count).sum();r.add(t)}return r}static async processTopNStackedChart(l,t){if(l.topN.mode==StiDataTopNMode.None)return;let n=t.series.toList();if(!n.any(t=>t.is(IStiStackedBaseLineSeries)||t.is(IStiStackedColumnSeries)||t.is(IStiStackedBarSeries)||t.is(IStiRibbonSeries)))return;let o=e30.getDataTable(n.toList());if(o.rows.count<1)return;for(let r=0;r<o.rows.count;r++){0<n.length&&n[0].arguments.length>r?o.rows.getByIndex(r).setValue(1,n[0].arguments[r]):o.rows.getByIndex(r).setValue(1,null),0<n.length&&n[0].originalArguments.length>r?o.rows.getByIndex(r).setValue(o.columns.count-2,n[0].originalArguments[r]):o.rows.getByIndex(r).setValue(o.columns.count-2,null);let i=0;for(let e=0;e<n.length;e++)if(0<n.length&&n[e].values.length>r){let t=n[e].values[r];o.rows.getByIndex(r).setValue(e+2,t),i+=t}else o.rows.getByIndex(r).setValue(e+2,null);o.rows.getByIndex(r).setValue(o.columns.count-1,i)}o.defaultView.sort=l.topN.mode==StiDataTopNMode.Top?"ValueSum desc":"ValueSum asc",o=o.defaultView.toTable();let s=0;for(let r of n){let t=e30.getListByColumnName(o,"OriginalArguments"),e=(r.originalArguments=await e30.getArguments(t,l),e30.getListByColumnName(o,"Argument")),i=(r.arguments=await e30.getArguments(e,l),e30.getListByColumnName(o,"Value-"+s.toString()));r.values=e30.getValues(i,l),r.is(IStiStackedBarSeries)&&(r.originalArguments=r.originalArguments.reverse(),r.arguments=r.arguments.reverse(),r.values=r.values.reverse()),s++}}static getListByColumnName(t,i){let r=new List;for(let e of t.rows.toList()){let t=e.gett(i);r.add(t)}return r}}__.i.StiStackedChartElementBuilder=e30}__.i.StiSunburstChartElementBuilder=class extends __.i.StiChartElementBuilder{async renderElements(e,l,n){let i=this.getArgumentMeters(n),o=this.getValueMeters(n).firstOrDefault(),s=this.getValueMeterIndexes(n)[Stimulsoft.System.StiObject.stimulsoft]().toList().firstOrDefault();for(let t=0;t<i.length;t++){let i=this.getArgumentMeterIndexes(n)[t],r=this.renderSeries(e,o,"",l);if(null==r)continue;r.values=StiArray.create(Number,n.rows.length),r.arguments=StiArray.create(Object,n.rows.length),r.originalArguments=StiArray.create(Object,n.rows.length);for(let e=0;e<n.rows.length;e++){r.values[e]=StiValueHelper.tryToNullableNumber(n.rows[e][s]);let t=n.rows[e][i];r.arguments[e]=t,r.originalArguments[e]=t}await this.renderSeriesInteraction(r,e,r.arguments.length,"")}}renderSeries(t,e,i,r){let l=StiChartSeriesCreator.neww2(e.seriesType);return l.core.seriesColors=null!=t.seriesColors&&0<t.seriesColors.length?t.seriesColors:null,l.isDashboard=!0,r.series.add(l),l}};{class Fe0{static getVisualizer(t){return null}}Fe0.typeToGdiVisualizer=new Hashtable,Fe0.typeToWpfVisualizer=new Hashtable,Fe0.lockObject={},__.n.StiVisualizer=Fe0}__.n.StiGdiVisualizer=class extends __.n.StiVisualizer{render(t){}},__.n.StiGdiVisualizerAttribute=class{},__.u.StiIndicatorIconRangeValue=class{isBetween(t){return this.start<=t&&t<=this.end}constructor(t,e,i){this.start=t,this.end=e,this.icon=i}};let StiProgressInteractionData=Stimulsoft.Base.Context.StiProgressInteractionData,StiElementLocationHelper=__.h.StiElementLocationHelper,StiPieSegmentGeom=(__.v.StiProgressVisual=class extends __.j.StiVisual{getDisplayText(t,e){var i,r,l,n;switch(this.element.valueType){case StiProgressValueType.Percentage:return StiTextFormatHelper.formatAsPercentage2(null==(i=this.element)?void 0:i.report,this.element.textFormat,e);case StiProgressValueType.Value:return StiTextFormatHelper.format(null==(r=this.element)?void 0:r.report,this.element.textFormat,t.value);case StiProgressValueType.ValueTarget:return StiTextFormatHelper.format(null==(l=this.element)?void 0:l.report,this.element.textFormat,t.value)+` / `+StiTextFormatHelper.format(null==(n=this.element)?void 0:n.report,this.element.textFormat,t.target);case StiProgressValueType.None:default:return""}}getMaxValue(){return this.iterations.select(t=>Math.abs(t.value)).concat(new List([0])).max()}getTargetValues(){let e=this.getMaxValue(),i=new List;for(let t of this.iterations)i.add(null!=t.target?t.target:e);return i}getTextValues(){let r=new List,l=this.getTargetValues();for(let i=0;i<this.iterations.length;i++){let t=l[i],e=0!=t?Math.abs(this.iterations[i].value)/t:0;r.add(StiTextFormatHelper.formatAsPercentage2(this.element.report,this.element.textFormat,e))}return r}getColor(t){return this.element.colorEach?this.getColors(this.iterations.length)[t]:this.style.bandColor}getColors(t){let o=[],e=(null!=this.element.seriesColors&&0<this.element.seriesColors.length?this.element:this.style).seriesColors,i=0,s=0;for(let n=0;n<t;n++){let l=null==e||0==e.length?Color.fromArgb(255,52,152,219):e[i];if(0!=s){let t=Math.min(l.a+s,255),e=Math.min(l.r+s,255),i=Math.min(l.g+s,255),r=Math.min(l.b+s,255);o[n]=Color.fromArgb(t,e,i,r)}else o[n]=l;++i==e.length&&(i=0,s=50)}return o}getContentRectangle(e){if(1<this.iterations.length){let t=StiElementLocationHelper.getLocationRectangles(e,this.iterations.length,this.element);e=StiElementLocationHelper.getSumRectangle(t)}return e}getConditionResult(r,e){let l=null;switch(e.field){case StiProgressFieldCondition.Value:l=r.value;break;case StiProgressFieldCondition.Series:l=r.series;break;case StiProgressFieldCondition.Target:l=r.target;break;case StiProgressFieldCondition.Percentage:{let t=this.getVariation(r),e=new StiPercentageFormatService,i=(e.decimalDigits=3,StiTextFormatHelper.formatAsPercentage2(this.element.report,e,t));l=i.replace("%","")[Stimulsoft.System.StiObject.stimulsoft]().toNumber();break}}let t=!1,i=this.getConditionValue(e);if(null!=l){let t=l=e.field!=StiProgressFieldCondition.Value&&e.field!=StiProgressFieldCondition.Target&&e.field!=StiProgressFieldCondition.Percentage?l:null==l?0:l[Stimulsoft.System.StiObject.stimulsoft]().toNumber();if(null!=t&&null!=i){l[Stimulsoft.System.StiObject.stimulsoft]().getType()!=i[Stimulsoft.System.StiObject.stimulsoft]().getType()&&(l=l.toString(),i=i[Stimulsoft.System.StiObject.stimulsoft]().toString(),t=l);try{switch(e.condition){case Stimulsoft.Report.Components.StiFilterCondition.EqualTo:return 0==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.NotEqualTo:return 0!=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.GreaterThan:return 1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.GreaterThanOrEqualTo:return 0<=t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.LessThan:return-1==t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i);case Stimulsoft.Report.Components.StiFilterCondition.LessThanOrEqualTo:return t[Stimulsoft.System.StiObject.stimulsoft]().compareTo(i)<=0;case Stimulsoft.Report.Components.StiFilterCondition.Containing:{let t=l.toString(),e=i.toString();return-1!=t.indexOf(e)}case Stimulsoft.Report.Components.StiFilterCondition.NotContaining:{let t=l.toString(),e=i.toString();return-1==t.indexOf(e)}case Stimulsoft.Report.Components.StiFilterCondition.BeginningWith:{let t=l.toString(),e=i.toString();return t.startsWith(e)}case Stimulsoft.Report.Components.StiFilterCondition.EndingWith:{let t=l.toString(),e=i.toString();return t.endsWith(e)}}}catch(t){}}}return t}processColor(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.Color)&&this.getConditionResult(e,t))return t.color;return t}getVariation(t){let e=t.value,i=t.target;return e/i}getConditionValue(t){if(StiString.isNullOrEmpty(t.value))return null;switch(t.field){case StiProgressFieldCondition.Value:case StiProgressFieldCondition.Target:case StiProgressFieldCondition.Percentage:return t.value[Stimulsoft.System.StiObject.stimulsoft]().toNumber();default:return t.value.toString()}}processForeColor(e,t=null){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.TextColor)&&this.getConditionResult(e,t))return t.textColor;return StiDashboardStyleHelper.getForeColor(this.element,t)}processTrackColor(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.TrackColor)&&this.getConditionResult(e,t))return t.trackColor;return t}processFontStyle(t,e){let i=this.processFontBold(t.bold,e),r=this.processFontItalic(t.italic,e),l=this.processFontUnderline(t.underline,e),n=this.processFontStrikeout(t.strikeout,e),o=FontStyle.Regular;return i&&(o^=FontStyle.Bold),r&&(o^=FontStyle.Italic),l&&(o^=FontStyle.Underline),n&&(o^=FontStyle.Strikeout),o}processFontStrikeout(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.FontStyleStrikeout)&&this.getConditionResult(e,t))return t.font.strikeout;return t}processFontUnderline(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.FontStyleUnderline)&&this.getConditionResult(e,t))return t.font.underline;return t}processFontItalic(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.FontStyleItalic)&&this.getConditionResult(e,t))return t.font.italic;return t}processFontBold(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.FontStyleBold)&&this.getConditionResult(e,t))return t.font.bold;return t}processFontName(t,e){for(let t of this.element.progressConditions)if(0<(t.permissions&StiProgressConditionPermissions.Font)&&this.getConditionResult(e,t))return t.font.name;return t}getInteractionDataGeom(t){if(this.element.isDesigning)return null;let e=new StiProgressInteractionData,i=(e.value=t.value,e.seriesText=t.series,e.target=t.target,new StiInteractionDataGeom);return i.interactionToolTip=this.getToolTip(e),i.interactionHyperlink=this.getHyperlink(e),i.interactionData=e,i}getToolTip(t){let e,i=null==(e=this.element.dashboardInteraction)?void 0:e.toolTip;return StiString.isNullOrEmpty(i)?i:this.parseConstants(i,t)}getHyperlink(t){let e,i=null==(e=this.element.dashboardInteraction)?void 0:e.hyperlink;return StiString.isNullOrEmpty(i)?i:this.parseConstants(i,t)}parseConstants(e,i){if(!StiString.isNullOrEmpty(e)){let t=new Hashtable;return t.set("Value",i.value),t.set("Series",i.seriesText),t.set("Target",i.target),StiReportParser.parse(e,this.element,!1,t)}return e}constructor(t,e){super(),this.minElementSide=2,this.minFontSize=3,this.element=t,this.iterations=e,this.style=StiDashboardStyleHelper.getProgressStyle(this.element)}},Stimulsoft.Base.Context.StiPieSegmentGeom),StiArcSegmentGeom=(__.v.StiPieProgressVisual=class extends __.v.StiProgressVisual{async draw(S,m){if(0==this.iterations.length)return;let h=StiElementLocationHelper.getLocationRectangles(m,this.iterations.length,this.element);if(h.length<1)return;let c=h[0],t=c.width<c.height?c.width:c.height,e=StiDashboardStyleHelper.getElementFontFromStyle(this.element),d=this.getTitleHeight(t,e.size),g=c.width,p=null,i=new Font(e.fontFamily.name,1,e.style,e.unit);for(let e of this.iterations){if(StiString.isNullOrEmpty(e.series))continue;let t=StiStringFormatHelper.getFontSize(S,new Rectangle(0,0,g,d),e.series,i);(null==p||p>t)&&(p=t)}null!=p&&p<e.size&&(d=this.getTitleHeight(t,p));let r=this.element.valueType==StiProgressValueType.None?1:2,b=(t-d*r)/2*.8,C=(p<this.minFontSize&&(p=0,d=0,b=t/2*.8),2*b),f=this.getTargetValues(),w=!1;S.pushClip(m);for(let u=0;u<this.iterations.length;u++){let t=f[u],e=this.iterations[u],i=h[u];if(!w&&(1<i.right-m.right||1<i.bottom-m.bottom)&&(w=!0),!this.element.report.isDesigning){let t=StiDashboardStyleHelper.getHotBackColor(this.element);S.fillRectangle3(new StiSolidBrush(Color.transparent),new StiSolidBrush(t),i,this.getInteractionDataGeom(this.iterations[0]))}let r=i.x+i.width/2,l=i.y+d+(c.height-d)/2,n=new Point(r,l),o=new Rectangle(n.x-b,n.y-b,C,C),s=new Rectangle(o.x+o.width/2-g/2,o.top-d,g,d),a=this.processColor(this.getColor(u),this.iterations[u]);this.drawPieProgress(S,o,s,t,e,p,a)}if(w){let t=StiElementScale.factor(this.element);this.drawArrowMore(S,m,t)}S.popClip()}drawPieProgress(h,c,d,g,p,b,t){let e=this.processTrackColor(this.style.trackColor,p),i=(h.fillEllipse2(e,c,null),0!=g?360/g*Math.abs(p.value):g),r=(360<i&&(i=360),new List([new StiPieSegmentGeom(c,-90,i,null,null,null)]));if(h.fillPath(t,r,c,null),b>=this.minFontSize){let s=StiDashboardStyleHelper.getElementFontFromStyle(this.element),a=this.processFontName(s.fontFamily.name,p),u=this.processFontStyle(s,p),t=new Font(a,b,u),e=new StiFontGeom(t.fontFamily.name,b,t.style,t.unit),i=StiRotationMode.CenterCenter,r=new Point,l={ref:StiRotationMode.CenterCenter},n={ref:new Point},S=(StiStringFormatHelper.measureAlignmentParameters(StiHorAlignment.Center,d,l,n),i=l.ref,r=n.ref,this.processForeColor(p)),o=(h.drawRotatedString4(p.series,e,S,r,StiStringFormatHelper.getStringFormatGeom(h),i,0,!0),0!=g?Math.abs(p.value)/g:0),m=this.getDisplayText(p,o);if(m&&0<m.length){let t=new Rectangle(c.x,c.bottom+.2*b,c.width,b),e=StiRotationMode.CenterCenter,i=new Point,r={ref:StiRotationMode.CenterCenter},l={ref:new Point},n=(StiStringFormatHelper.measureAlignmentParameters(StiHorAlignment.Center,t,r,l),e=r.ref,i=l.ref,.9*b),o=new StiFontGeom(a,n,u,s.unit);h.drawRotatedString4(m,o,S,i,StiStringFormatHelper.getStringFormatGeom(h),e,0,!0)}}}getTitleHeight(t,e){let i=e/13;return t/4*(i=4<i?4:i)}constructor(t,e){super(t,e)}},Stimulsoft.Base.Context.StiArcSegmentGeom);__.v.StiCircleProgressVisual=class extends __.v.StiPieProgressVisual{async draw(d,g){if(0==this.iterations.length)return;let p=StiElementLocationHelper.getLocationRectangles(g,this.iterations.length,this.element);if(p.length<1)return;let b=.8,C=p[0],t=C.width<C.height?C.width:C.height,f=StiDashboardStyleHelper.getElementFontFromStyle(this.element),w=this.getTitleHeight(t,f.size),y=C.width,M=this.getTargetValues(),I=null,i=new Font(f.fontFamily.name,1,f.style,f.unit);for(let e of this.iterations.where(t=>!StiString.isNullOrEmpty(t.series))){let t=StiStringFormatHelper.getFontSize(d,new Rectangle(0,0,y,w),e.series,i);(null==I||I>t)&&(I=t)}let T=(t-(w=null!=I&&I<f.size?this.getTitleHeight(t,I):w))/2*.8,x=null,n=new Rectangle(C.x-T*b,C.y-.79*T,2*T*b,2*T*b),o=new Font(this.element.font.name,1,FontStyle.Bold,GraphicsUnit.Pixel);for(let l=0;l<this.iterations.length;l++){let t=M[l],e=0!=t?Math.abs(this.iterations[l].value)/t:0,i=this.getDisplayText(this.iterations[l],e),r=StiStringFormatHelper.getFontSize(d,n,i,o);(null==x||x>r)&&(x=r)}I<this.minFontSize&&(w=0,I=0,T=t/2*.8);let D=2*T,v=T/5,F=T-v,A=2*F,E=!1;d.pushClip(g);for(let c=0;c<this.iterations.length;c++){let e=p[c];if(!E&&(1<e.right-g.right||1<e.bottom-g.bottom)&&(E=!0),!this.element.report.isDesigning){let t=StiDashboardStyleHelper.getHotBackColor(this.element);d.fillRectangle3(new StiSolidBrush(Color.transparent),new StiSolidBrush(t),e,this.getInteractionDataGeom(this.iterations[0]))}let t=e.x+e.width/2,i=e.y+w+(C.height-w)/2,m=new Point(t,i),h=new Rectangle(m.x-T,m.y-T,D,D),r=new Rectangle(m.x-F,m.y-F,A,A);if(!this.element.report.isDesigning){let t=StiDashboardStyleHelper.getHotBackColor(this.element);d.fillRectangle3(Color.transparent,t,e,this.getInteractionDataGeom(this.iterations[c]))}let l=this.processTrackColor(this.style.trackColor,this.iterations[c]),n=new StiPenGeom(l,v),s=(d.drawEllipse(n,h.x+v/2,h.y+v/2,h.width-v,h.height-v),M[c]),o=0!=s?360/s*Math.abs(this.iterations[c].value):0,a=-90,u=(360<o&&(o=360),new List),S=(u.add(new StiArcSegmentGeom(h,a,o)),u.add(new StiLineSegmentGeom(this.getPoint(m,T,a+o),this.getPoint(m,F,a+o))),u.add(new StiArcSegmentGeom(r,a+o,-o)),u.add(new StiLineSegmentGeom(this.getPoint(m,F,a),this.getPoint(m,T,a))),this.processColor(this.getColor(c),this.iterations[c]));if(d.fillPath(S,u,h,null),x>=this.minFontSize){let t=new Rectangle(m.x-T*b,m.y-.79*T,2*T*b,2*T*b),e=0!=s?Math.abs(this.iterations[c].value)/s:0,i=this.getDisplayText(this.iterations[c],e),r=new Font(this.element.font.name,x,FontStyle.Bold,GraphicsUnit.Pixel),l=this.processFontStyle(r,this.iterations[c]),n=new StiFontGeom(r.name,r.size,l,r.unit),o=this.processForeColor(this.iterations[c]);d.drawRotatedString5(i,n,o,t,StiStringFormatHelper.getStringFormatGeom(d),StiRotationMode.CenterCenter,0,!0)}if(I>=this.minFontSize){let t=new Rectangle(m.x-y/2,h.top-w,y,w),e=new Font(f.fontFamily.name,I,f.style,f.unit),i=this.processFontName(e.fontFamily.name,this.iterations[c]),r=this.processFontStyle(e,this.iterations[c]),l=new Font(i,e.size,r),n=new StiFontGeom(l.fontFamily.name,I,l.style,l.unit),o=StiRotationMode.CenterCenter,s=new Point,a={ref:StiRotationMode.CenterCenter},u={ref:new Point},S=(StiStringFormatHelper.measureAlignmentParameters(StiHorAlignment.Center,t,a,u),o=a.ref,s=u.ref,this.processForeColor(this.iterations[c]));d.drawRotatedString4(this.iterations[c].series,n,S,s,StiStringFormatHelper.getStringFormatGeom(d),o,0,!0)}}if(E){let t=StiElementScale.factor(this.element);this.drawArrowMore(d,g,t)}d.popClip()}getPoint(t,e,i){let r=Math.PI*i/180;return new Point(t.x+Math.cos(r)*e,t.y+Math.sin(r)*e)}constructor(t,e){super(t,e)}},__.v.StiDataBarsProgressVisual=class extends __.v.StiProgressVisual{async draw(g,t){if(0==this.iterations.length)return;let e=.06*t.width,p=(e<4&&(e=4),new Rectangle(t.x+e/2,t.y+e/2,t.width-e,t.height-e)),b=p.height/this.iterations.length,C=(b<this.minElementSide&&(b=this.minElementSide),1<this.iterations.length?.95*b:b),f=p.width,l=this.getTextValues(),w=this.getTargetValues(),y=StiDashboardStyleHelper.getElementFontFromStyle(this.element),M=null,n=new Font(y.fontFamily.name,1,y.style,y.unit);for(let r=0;r<this.iterations.length;r++){let t=``+this.iterations[r].series+l[r],e=new Rectangle(p.x,p.y+b*r+.07*C,f,.86*C),i=StiStringFormatHelper.getFontSize(g,e,t,n);(null==M||M>i)&&(M=i)}let I=this.element.font.size/18*M,T=(I>M&&(I=M),new Font(y.fontFamily.name,I,y.style,y.unit)),x=(g.pushClip(p),1<this.iterations.length?.05*b/(this.iterations.length-1):0);for(let d=0;d<this.iterations.length;d++){let t=this.processFontName(T.fontFamily.name,this.iterations[d]),e=this.processFontStyle(T,this.iterations[d]),n=new Font(t,T.size,e),i=w[d],r=p.y+(b+x)*d,o=new Rectangle(p.x,r,f,C),l=this.processTrackColor(this.style.trackColor,this.iterations[d]),s=(g.fillRectangle(l,o,this.getInteractionDataGeom(this.iterations[d])),0!=i?Math.abs(this.iterations[d].value)/i:0),a=this.getDisplayText(this.iterations[d],s),u=this.processForeColor(this.iterations[d]);if(M>=this.minFontSize&&a&&0<a.length){let t=new StiFontGeom(n.name,n.size,n.style,n.unit),e=g.measureString(a,t),i=new Rectangle(o.right-e.width,o.top,e.width,o.height);g.drawRotatedString5(a,t,u,i,StiStringFormatHelper.getStringFormatGeom(g),StiRotationMode.CenterCenter,0,!0)}let S=this.iterations[d].series;if(M>=this.minFontSize){let t=new StiFontGeom(y.fontFamily.name,I,n.style,n.unit),e=g.measureString(S,t),i=new Rectangle(o.left,o.top+.05*o.height,e.width,o.height);u=this.processForeColor(this.iterations[d]),g.drawRotatedString5(S,t,u,i,StiStringFormatHelper.getStringFormatGeom(g),StiRotationMode.CenterCenter,0,!0)}let m=0!=i?f/i*this.iterations[d].value:0,h=(m>o.width&&(m=o.width),new Rectangle(p.x,r,m,C)),c=(g.pushClip(h),this.processColor(this.getColor(d),this.iterations[d]));if(g.fillRectangle(c,h,this.getInteractionDataGeom(this.iterations[d])),this.element.report.isDesigning||(null==c&&(c=Color.transparent),g.fillRectangle3(c,Color.fromArgb3(100,Color.white),h,this.getInteractionDataGeom(this.iterations[d]))),M>=this.minFontSize&&a&&0<a.length){let t=new StiFontGeom(n.name,n.size,n.style,n.unit),e=g.measureString(a,t),i=new Rectangle(o.right-e.width,o.top,e.width,o.height),r=this.isColorLight(c)?Color.white:u,l=this.processForeColor(this.iterations[d],r);g.drawRotatedString5(a,t,l,i,StiStringFormatHelper.getStringFormatGeom(g),StiRotationMode.CenterCenter,0,!0)}if(M>=this.minFontSize){let t=new StiFontGeom(n.name,n.size,n.style,n.unit),e=g.measureString(S,t),i=new Rectangle(o.left,o.top+.05*o.height,e.width,o.height),r=this.isColorLight(c)?Color.white:u,l=this.processForeColor(this.iterations[d],r);g.drawRotatedString5(S,t,l,i,StiStringFormatHelper.getStringFormatGeom(g),StiRotationMode.CenterCenter,0,!0)}g.popClip()}g.popClip()}isColorLight(t){return 0<600-t.r-t.g-t.b}constructor(t,e){super(t,e)}};{let t;(t=>{t[t["Pdf"]=0]="Pdf",t[t["Excel"]=1]="Excel",t[t["Data"]=2]="Data",t[t["Image"]=3]="Image",t[t["Html"]=4]="Html",t[t["Document"]=5]="Document"})(t=__.f.StiDashboardExportFormat||(__.f.StiDashboardExportFormat={}))}let StiPageOrientation=Stimulsoft.Report.Components.StiPageOrientation,PaperKind=Stimulsoft.System.Drawing.Printing.PaperKind,IStiDashboardExportSettings=Stimulsoft.Report.Dashboard.Export.IStiDashboardExportSettings,StiExportSettings=Stimulsoft.Report.Export.StiExportSettings,IStiSizeExportSettings=(__.y.StiDashboardExportSettings=class extends StiExportSettings{constructor(){super(...arguments),this.renderBorders=!0,this.orientation=StiPageOrientation.Landscape,this.paperSize=PaperKind.A4,this.openAfterExport=!0,this.viewportWidth=0,this.viewportHeight=0}is(t){if(t instanceof Stimulsoft.System.Interface)return-1!=this.implements().indexOf(t);if("function"==typeof t)return this instanceof t;if(null==t)throw new Error("Type for comparison is 'undefined'");return!1}is2(t){return this.is(t)}as(t){if(this.is(t))return this;return null}implements(){let t=[IStiDashboardExportSettings];return(this.implements=()=>t)()}get isDesignMode(){return this.is(__.y.StiSvgDashboardExportSettings)&&this.as(__.y.StiSvgDashboardExportSettings).designMode}getExportFormat(){return __.A.StiExportFormatHelper.convert(this.format)}toParameters(){let t=super.toParameters();return t.Format=Enum.getName(__.f.StiDashboardExportFormat,this.format),t.Orientation=Enum.getName(StiPageOrientation,this.orientation),t.PaperSize=Enum.getName(StiPageOrientation,this.paperSize),t}},__.y.IStiDashboardScaleMode=new Stimulsoft.System.Interface("IStiDashboardScaleMode"),__.y.IStiSizeExportSettings=new Stimulsoft.System.Interface("IStiSizeExportSettings"),__.y.IStiSizeExportSettings),StiDashboardScaleMode=Stimulsoft.Report.Dashboard.StiDashboardScaleMode,IStiDashboardScaleMode=__.y.IStiDashboardScaleMode,StiImageType=Stimulsoft.Report.Export.StiImageType,IStiImageDashboardExportSettings=Stimulsoft.Report.Dashboard.Export.IStiImageDashboardExportSettings,IStiHtmlDashboardExportSettings=(__.y.StiImageDashboardExportSettings=class extends __.y.StiDashboardExportSettings{implements(){let t=super.implements().concat([IStiSizeExportSettings,IStiImageDashboardExportSettings,IStiDashboardScaleMode]);return(this.implements=()=>t)()}get width(){return this._width}set width(t){this._width=t,this.paperSize=PaperKind.Custom}get height(){return this._height}set height(t){this._height=t,this.paperSize=PaperKind.Custom}toParameters(){let t=super.toParameters();return t.Format=Enum.getName(__.f.StiDashboardExportFormat,this.format),t.ImageType=Enum.getName(StiImageType,this.imageType),t.ScaleMode=Enum.getName(StiDashboardScaleMode,this.scaleMode),t.Width=0,t.Height=0,t}constructor(t){super(),this.format=__.f.StiDashboardExportFormat.Image,this.imageType=StiImageType.Svg,this.scale=100,this.scaleMode=StiDashboardScaleMode.ViewSize,null!=t?this.imageType=t:this.renderSinglePage=!0}},__.y.StiSvgDashboardExportSettings=class extends __.y.StiImageDashboardExportSettings{constructor(){super(...arguments),this.imageType=StiImageType.Svg,this.renderEmptyContent=!0}},Stimulsoft.Report.Dashboard.Export.IStiHtmlDashboardExportSettings);__.y.StiHtmlDashboardExportSettings=class extends __.y.StiDashboardExportSettings{constructor(){super(...arguments),this.format=__.f.StiDashboardExportFormat.Html,this.imageQuality=200,this.scale=100,this.enableAnimation=!0,this.scaleMode=StiDashboardScaleMode.ViewSize}implements(){let t=super.implements().concat([IStiHtmlDashboardExportSettings,__.y.IStiDashboardScaleMode]);return(this.implements=()=>t)()}toParameters(){let t=super.toParameters();return t.ScaleMode=Enum.getName(StiDashboardScaleMode,this.scaleMode),t}};{class StiExportTool{async render(t,e,i,r){}static getTool(t){let e=this.typeToTool.get(t);if(null!=e)return e;let i=StiExportToolAttribute.attributes.get(t[Stimulsoft.System.StiObject.stimulsoft]().getTypeName()),r=null!=i?i.exportToolTypeName:null;if(null==r)return null;return e=StiActivator.createObject2(r),this.typeToTool.set(t,e),e}static isAllowOpacity(t){return t.is(__.y.StiImageDashboardExportSettings)||t.is(__.y.StiHtmlDashboardExportSettings)||t.is(__.y.StiPdfDashboardExportSettings)||t.is(__.y.StiExcelDashboardExportSettings)}static getScaleFactor(t,e){if(0<e.viewportWidth&&0<e.viewportHeight)return Math.min(t.page.width/e.viewportWidth,t.page.height/e.viewportHeight);return 1}}StiExportTool.typeToTool=new Hashtable,__.z.StiExportTool=StiExportTool}let StiHtmlDashboardExportSettings=__.y.StiHtmlDashboardExportSettings,StiTitleMeasureHelper=__.h.StiTitleMeasureHelper,StiSvgDashboardExportSettings=__.y.StiSvgDashboardExportSettings,StiImageDashboardExportSettings=__.y.StiImageDashboardExportSettings,StiExportTool=__.z.StiExportTool,IStiBorder=(__.A.StiTitleExportHelper=class{static async render(t,e,i){let r,l,n=t.as(IStiTitleElement),o=__.p.StiElementControlPainter.getBorderContentRect(new Rectangle(0,0,e.width,e.height),e.border),s=null!=n?n.title:null,a=this.getTitleText(t);if(null==s||!s.visible||StiString.isNullOrEmpty(a)||__.A.StiExportSettingsHelper.isDataExport(i))return o;let u=StiExportTool.getScaleFactor(e,i),S=StiTitleMeasureHelper.measureTitle3(null,o,n.title,a),m=(S.height=S.height*u,S.height>o.height/2&&(S.height=o.height/2),1);if(s.sizeMode==StiTextSizeMode.Fit||s.sizeMode==StiTextSizeMode.FitAndWordWrap){let t=S.width>o.width?o.width/S.width:1,e=S.height>o.height?o.height/S.height:1;m=Math.min(Math.abs(t),Math.abs(e))}let h=this.getTitleForeColor(t),c=Color.transparent.equals(h)?StiDashboardStyleHelper.getTitleForeColor(t):h,d=this.getTitleFont(t),g=1==m?d:StiFontUtils.changeFontSize(d,d.size*m),p=i.is(StiImageDashboardExportSettings)&&i.imageType==StiImageType.Svg||i.is(StiSvgDashboardExportSettings)||i.is(StiHtmlDashboardExportSettings),b=this.getTitleBackColor(t),C=Color.transparent.equals(b)?StiDashboardStyleHelper.getBackColor(t,null,p):b,f=StiDashboardStyleHelper.getBackColor(t,null,!0),w=(C.equals(f)&&(C=Color.transparent),i.format==__.f.StiDashboardExportFormat.Html&&t.is(IStiChartElement)&&(o.x+=3,o.y+=3),new StiText),y=(w.name=t.name+`_Title`,w.allowHtmlTags=!0,w.clientRectangle=new Rectangle(o.x,o.y,o.width,S.height),w.text=await StiReportParser.parseAsync(a,t),w.font=g,w.horAlignment=this.convert(s.horAlignment),w.trimming=s.sizeMode==StiTextSizeMode.Trimming?StringTrimming.EllipsisCharacter:StringTrimming.None,w.wordWrap=s.sizeMode==StiTextSizeMode.WordWrap||s.sizeMode==StiTextSizeMode.FitAndWordWrap,w.vertAlignment=StiVertAlignment.Center,w.textBrush=new StiSolidBrush(c),w.brush=new StiSolidBrush(C),o.height-=w.height,o.y+=w.height,null==(r=s[Stimulsoft.System.StiObject.stimulsoft]().as(IStiTitlePadding))?void 0:r.padding),M=(null!=y&&(o.y+=y.top+y.bottom,o.height-=y.top+y.bottom,w.left+=y.left,w.width-=y.left+y.right,w.top+=y.top),null==(l=t.as(IStiCornerRadius))?void 0:l.cornerRadius);return null!=M&&((0<M.topLeft||0<M.topRight)&&(w.cornerRadius=new StiCornerRadius(M.topLeft,M.topRight,0,0)),0<M.topLeft&&(w.margins.left=Math.max(w.margins.left,M.topLeft/2)),0<M.topRight)&&(w.margins.right=Math.max(w.margins.right,M.topRight/2)),e.components.add(w),o}static getTitleBackColor(t){let e=StiDashboardStyleHelper.getElementTitleStyle(t);if(null!=e&&e.allowUseTitle)return e.titleBackColor;if(t.is(IStiTitleElement))return t.title.backColor;return Color.transparent}static getTitleForeColor(t){let e=StiDashboardStyleHelper.getElementTitleStyle(t);if(null!=e&&e.allowUseTitle)return e.titleForeColor;if(t.is(IStiTitleElement))return t.title.foreColor;return Color.black}static getTitleFont(t){let e=StiDashboardStyleHelper.getElementTitleStyle(t);if(null!=e&&e.allowUseTitle)return e.titleFont;if(t.is(IStiTitleElement))return t.title.font;return null}static getTitleText(e){if(e.is(IStiTitleElement)){if(e.is(StiChartElement)&&e.showViewTitle){let t=e.userViewStates.firstOrDefault(t=>t.key==e.selectedViewStateKey);if(null!=t)return t.name}return e.title.text}return null}static convert(t){switch(t){case StiHorAlignment.Left:return StiTextHorAlignment.Left;case StiHorAlignment.Center:return StiTextHorAlignment.Center;case StiHorAlignment.Right:return StiTextHorAlignment.Right;default:throw new StiTypeNotRecognizedException(t)}}},__.A.StiLayoutExportHelper=class{static excludeMargin(e,i){if(e.is(IStiMargin)){let t=e.margin;if(!t.isEmpty)return new Rectangle(i.x+t.left,i.y+t.top,Math.max(1,i.width-t.left-t.right),Math.max(1,i.height-t.top-t.bottom))}return i}static excludePadding(e,i,r){if(e.is(IStiPadding)){let t=e.padding;if(!t.isEmpty)return new Rectangle(i.x+t.left*r,i.y+t.top*r,Math.max(1,i.width-t.left*r-t.right*r),Math.max(1,i.height-t.top*r-t.bottom*r))}return i}static excludeCornerRadius(n,o,s){if(n.is(IStiCornerRadius)){let t=n.cornerRadius;if(t.isDefault())return o;let e=Math.max(t.topLeft*s/2,t.bottomLeft*s/2),i=Math.max(t.topLeft*s/2,t.topRight*s/2),r=Math.max(t.topRight*s/2,t.bottomRight*s/2),l=Math.max(t.bottomLeft*s/2,t.bottomRight*s/2);return new Rectangle(o.x+e,o.y+i,Math.max(1,o.width-e-r),Math.max(1,o.height-i-l))}return o}},Stimulsoft.Report.Components.IStiBorder),StiExportFormat=(__.A.StiBorderExportHelper=class{static render(t,e,i){t.is(IStiSimpleBorder)&&e.is(IStiBorder)&&i.renderBorders&&(e.border=t.border2.getBorder(),e.border.topmost=!0)}},__.A.StiBackColorExportHelper=class{static render(t,e){e.is(IStiBackColor)&&(e.backColor=StiDashboardStyleHelper.getBackColor(t))}},Stimulsoft.Report.StiExportFormat),IStiExcelDashboardExportSettings=(__.A.StiExportFormatHelper=class{static convert(t){switch(t){case __.f.StiDashboardExportFormat.Pdf:return StiExportFormat.Pdf;case __.f.StiDashboardExportFormat.Excel:return StiExportFormat.Excel;case __.f.StiDashboardExportFormat.Html:return StiExportFormat.Html;case __.f.StiDashboardExportFormat.Data:return StiExportFormat.Data;case __.f.StiDashboardExportFormat.Image:return StiExportFormat.Image;case __.f.StiDashboardExportFormat.Document:return StiExportFormat.Document;default:throw new StiTypeNotRecognizedException(t)}}},Stimulsoft.Report.Dashboard.Export.IStiExcelDashboardExportSettings),IStiPdfDashboardExportSettings=(__.y.StiExcelDashboardExportSettings=class extends __.y.StiDashboardExportSettings{constructor(){super(...arguments),this.format=__.f.StiDashboardExportFormat.Excel,this.imageQuality=200,this.scaleMode=StiDashboardScaleMode.ViewSize}implements(){let t=super.implements().concat([IStiSizeExportSettings,IStiExcelDashboardExportSettings,__.y.IStiDashboardScaleMode]);return(this.implements=()=>t)()}get width(){return this._width}set width(t){this._width=t,this.paperSize=PaperKind.Custom}get height(){return this._height}set height(t){this._height=t,this.paperSize=PaperKind.Custom}toParameters(){let t=super.toParameters();return t.Width=0,t.Height=0,t.ScaleMode=Enum.getName(StiDashboardScaleMode,this.scaleMode),t}},Stimulsoft.Report.Dashboard.Export.IStiPdfDashboardExportSettings),StiDataType=(__.y.StiPdfDashboardExportSettings=class extends __.y.StiDashboardExportSettings{constructor(){super(...arguments),this.format=__.f.StiDashboardExportFormat.Pdf,this.imageQuality=200,this.scaleMode=StiDashboardScaleMode.PaperSize}implements(){let t=super.implements().concat([IStiPdfDashboardExportSettings,IStiDashboardScaleMode]);return(this.implements=()=>t)()}toParameters(){let t=super.toParameters();return t.ScaleMode=Enum.getName(StiDashboardScaleMode,this.scaleMode),t}},Stimulsoft.Report.Export.StiDataType),IStiDataDashboardExportSettings=Stimulsoft.Report.Dashboard.Export.IStiDataDashboardExportSettings,StiHtmlChartType=(__.y.StiDataDashboardExportSettings=class extends __.y.StiDashboardExportSettings{implements(){let t=super.implements().concat([IStiDataDashboardExportSettings]);return(this.implements=()=>t)()}toParameters(){let t=super.toParameters();return t.DataType=Stimulsoft.System.Enum.getName(StiDataType,this.dataType),t}constructor(t){super(),this.format=__.f.StiDashboardExportFormat.Data,this.dataType=StiDataType.Csv,null!=t&&(this.dataType=t)}},Stimulsoft.Report.Export.StiHtmlChartType),StiHtmlExportSettings=Stimulsoft.Report.Export.StiHtmlExportSettings,StiDataExportSettings=Stimulsoft.Report.Export.StiDataExportSettings,StiImageExportSettings=Stimulsoft.Report.Export.StiImageExportSettings,StiSvgExportSettings=Stimulsoft.Report.Export.StiSvgExportSettings,StiDataDashboardExportSettings=__.y.StiDataDashboardExportSettings,StiExcelDashboardExportSettings=__.y.StiExcelDashboardExportSettings,StiPdfDashboardExportSettings=__.y.StiPdfDashboardExportSettings,StiDashboardExportSettings=__.y.StiDashboardExportSettings,StiDataExportMode=Stimulsoft.Report.Export.StiDataExportMode,StiPdfExportSettings=Stimulsoft.Report.Export.StiPdfExportSettings,StiExcelExportSettings=Stimulsoft.Report.Export.StiExcelExportSettings,XmlTextWriter=(__.A.StiExportSettingsHelper=class{static getExportSettings(i){switch(i.format){case __.f.StiDashboardExportFormat.Pdf:{let t=new StiPdfExportSettings;return t.imageQuality=1,t.imageResolution=i.imageQuality,t}case __.f.StiDashboardExportFormat.Excel:{let t=new StiExcelExportSettings;return t.imageQuality=1,t.imageResolution=i.imageQuality,t}case __.f.StiDashboardExportFormat.Data:{let t=new StiDataExportSettings;return t.dataType=i.dataType,t.dataExportMode=StiDataExportMode.DataAndHeadersFooters,t.skipColumnHeaders=!0,t}case __.f.StiDashboardExportFormat.Image:{let e=i.imageType;switch(e){case StiImageType.Svg:return new StiSvgExportSettings;default:{let t=new StiImageExportSettings;return t.imageType=e,t.imageZoom=i.scale/100,t.imageResolution=100,t}}}case __.f.StiDashboardExportFormat.Html:{let t=new StiHtmlExportSettings;return t.imageResolution=i.imageQuality,t.useEmbeddedImages=!0,t.zoom=i.scale/100,t.addPageBreaks=!1,t.chartType=i.enableAnimation?StiHtmlChartType.AnimatedVector:StiHtmlChartType.Vector,t}case __.f.StiDashboardExportFormat.Document:return null;default:throw new StiTypeNotRecognizedException(i.format)}}static getDashboardExportSettings(t){if(t instanceof StiDashboardExportSettings)return t;let e=null==t?StiExportFormat.Document:t.getExportFormat(),i=this.getDashboardExportSettings2(e);switch(e){case StiExportFormat.Html:i.enableAnimation=t.chartType==StiHtmlChartType.AnimatedVector;break}return i}static getDashboardExportSettings2(t){switch(t){case StiExportFormat.Pdf:return new StiPdfDashboardExportSettings;case StiExportFormat.Excel:return new StiExcelDashboardExportSettings;case StiExportFormat.Data:return new StiDataDashboardExportSettings;case StiExportFormat.Csv:return new StiDataDashboardExportSettings(StiDataType.Csv);case StiExportFormat.Dbf:return new StiDataDashboardExportSettings(StiDataType.Dbf);case StiExportFormat.Xml:return new StiDataDashboardExportSettings(StiDataType.Xml);case StiExportFormat.Json:return new StiDataDashboardExportSettings(StiDataType.Json);case StiExportFormat.Dif:return new StiDataDashboardExportSettings(StiDataType.Dif);case StiExportFormat.Sylk:return new StiDataDashboardExportSettings(StiDataType.Sylk);case StiExportFormat.Image:return new StiImageDashboardExportSettings;case StiExportFormat.ImageBmp:return new StiImageDashboardExportSettings(StiImageType.Bmp);case StiExportFormat.ImageGif:return new StiImageDashboardExportSettings(StiImageType.Gif);case StiExportFormat.ImagePng:return new StiImageDashboardExportSettings(StiImageType.Png);case StiExportFormat.ImageTiff:return new StiImageDashboardExportSettings(StiImageType.Tiff);case StiExportFormat.ImageJpeg:return new StiImageDashboardExportSettings(StiImageType.Jpeg);case StiExportFormat.ImageEmf:return new StiImageDashboardExportSettings(StiImageType.Emf);case StiExportFormat.ImagePcx:return new StiImageDashboardExportSettings(StiImageType.Pcx);case StiExportFormat.ImageSvgz:return new StiImageDashboardExportSettings(StiImageType.Svgz);case StiExportFormat.ImageSvg:return new StiSvgDashboardExportSettings;case StiExportFormat.Html:return new StiHtmlDashboardExportSettings;case StiExportFormat.Document:return null;default:throw new StiTypeNotRecognizedException(t)}}static isDataExport(t){return t.is(StiDataDashboardExportSettings)||t.is(StiExcelDashboardExportSettings)&&t.exportDataOnly}},Stimulsoft.System.Xml.XmlTextWriter),StiImage=Stimulsoft.Report.Components.StiImage;{class StiElementExportTool extends __.z.StiExportTool{async render(t,e,i,r){if(this.renderEmptyDataMessage(t,e,i.clone(),r))return;await this.renderContent(t,e,i.clone())}async renderContent(t,e,i){let r=new StiImage(i),l=(r.name=t.name+`_Content`,r.stretch=!0,r.aspectRatio=!1,await this.draw(t,i));r.imageToDraw=l,e.components.add(r)}async drawElement(e,t){let i=new Image,r=new XmlTextWriter(Encoding.UTF8),l=new StiSvgData;if(l.x=0,l.y=0,l.width=t.width,l.height=t.height,l.component=e.as(StiComponent),e.is(IStiBackColor)){let t=StiDashboardStyleHelper.getBackColor(e);t.a<255&&(t=Color.white),r.writeStartElement("rect"),r.writeAttributeString("x","0"),r.writeAttributeString("y","0"),r.writeAttributeString("height",l.height.toString()[Stimulsoft.System.StiObject.stimulsoft]().replaceAll(",",".")),r.writeAttributeString("width",l.width.toString()[Stimulsoft.System.StiObject.stimulsoft]().replaceAll(",",".")),r.writeAttributeString("style",StiContextSvgHelper.writeFillBrush(r,t,new RectangleD(0,0,l.width,l.height))),r.writeEndElement()}if(e.is(StiProgressElement)){let t=Stimulsoft.Report.Dashboards.StiDashboardHelperCreator.createProgressVisualSvgHelper();null!=t&&await t.writeProgress(r,l)}else if(e.is(StiIndicatorElement)){let t=Stimulsoft.Report.Dashboards.StiDashboardHelperCreator.createIndicatorVisualSvgHelper();null!=t&&await t.writeIndicator(r,l)}else if(e.is(StiCardsElement)){let t=Stimulsoft.Report.Dashboards.StiDashboardHelperCreator.createCardsVisualSvgHelper();null!=t&&await t.writeCards(r,l)}else if(e.is(StiGaugeElement)){let t=Stimulsoft.Report.Dashboards.StiDashboardHelperCreator.createGaugeVisualSvgHelper();null!=t&&await t.writeGauge(r,l,!1)}let n=Stimulsoft.Report.Resources.StimulsoftFont.getBase64Content(),o="<style>@font-face {font-family: 'Stimulsoft';src: url(data:font/ttf;base64,"+n+") format('truetype');font-weight: normal;font-style: normal;}</style>",s=StiString.format('<svg xmlns="http://www.w3.org/2000/svg" width="{0}" height="{1}"><defs>{3}</defs><rect x="0" y="0" width="{0}" height="{1}" style="fill: white;"/>{2}</svg>',l.width.toString(),l.height.toString(),r.textWriter.getStringBuilder().toString(),o);return i.svg=s,await i.convertAsync(Stimulsoft.System.Drawing.Imaging.ImageFormat.Jpeg),i}async draw(e,t){if(e.is(StiImageElement)){let t=await e.imageToDraw;return null!=t&&(t.url=e.imageHyperlink),t}let i=new Rectangle(0,0,Math.trunc(t.width),Math.trunc(t.height));if(e.is(StiIndicatorElement)||e.is(StiProgressElement)||e.is(StiGaugeElement)||e.is(StiCardsElement))return this.drawElement(e,i);let r=new Image;try{if(e.is(IStiBackColor)){let t=StiDashboardStyleHelper.getBackColor(e);t.a<255&&(t=Color.white)}await this.paintContent(null,i,e)}catch(t){}return r}async paintContent(t,e,i){try{await this.paintAtom(t,e.clone(),i)}catch(t){}finally{}}async paintAtom(t,e,i){let r=null;if(i.isQuerable&&null==(r=await StiElementExportTool.getDataTable(i)))return}static async getDataTable(t){let e,i=null==(e=t.as(IStiManuallyEnteredData))?void 0:e.getManuallyEnteredDataTable();if(null!=i)return i;return StiElementDataCache.tryToGetOrCreate(t)}renderEmptyDataMessage(e,i,r,t){var l;if(!t.is(StiSvgDashboardExportSettings)||t.renderEmptyContent)return!1;if(e.is(IStiRegionMapElement)&&e.dataFrom==StiMapSource.Manual)return!1;if(e.is(IStiImageElement)&&(null!=e.image||null!=e.icon||!StiString.isNullOrEmpty(e.imageHyperlink)))return!1;if(e.is(IStiWebContentElement)&&(!StiString.isNullOrEmpty(e.url)||!StiString.isNullOrEmpty(e.embedCode)))return!1;if(0<e.getMeters().length||(null==(l=e.as(IStiManuallyEnteredData))?void 0:l.dataMode)==StiDataMode.ManuallyEnteringData)return!1;let n=r.size,o=new Font("Arial",9),s=e.is(IStiWebContentElement)?Loc.get("FormStyleDesigner","NotSpecified"):e.is(IStiImageElement)?Loc.get("Dashboard","ImageNotSpecified"):Loc.get("Dashboard","DragDropDataFromDictionary"),a=Graphics.measureString(s,o);if(r.y+=r.height/2-48,r.height=Math.min(32,r.height),48<=n.width&&64<=n.height){r.y+=n.width>a.width+16?16:32;let t=new StiImage(new Rectangle(r.width/2-16,r.y,32,32));t.name=e.name+`_EmptyImage`,t.horAlignment=StiHorAlignment.Center,t.image=Stimulsoft.Base.Drawing.StiImageConverter.stringToImage(this.getEmptyDataImage(e)),i.components.add(t)}if(n.width>a.width+16&&32<=n.height){r.y+=32;let t=new StiText(r);t.name=e.name+`_EmptyText`,t.horAlignment=StiTextHorAlignment.Center,t.vertAlignment=StiVertAlignment.Center,t.font=o,t.text=s,t.textBrush=new StiSolidBrush(Color.darkGray),i.components.add(t)}return!0}format(t,e){var i,r;if(null!=e&&null!=t){if(e instanceof DateTime&&!(t.textFormat.is2(StiDateFormatService)||t.textFormat.is2(StiTimeFormatService)||t.textFormat.is2(StiCustomFormatService)))return e.toShortDateString();return StiExtValueConverter.isEligable(e,null==(i=null==t?void 0:t.report)?void 0:i.culture)?StiExtValueConverter.convert(e,null==(r=null==t?void 0:t.report)?void 0:r.culture):t.textFormat.format(e)}return""}getEmptyDataImage(t){if(t.is(Stimulsoft.Report.Dashboard.IStiTableElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTIzODI0M0M3MzI1MTFFN0E4QTI5RjYzRTdGNDREM0MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTIzODI0M0I3MzI1MTFFN0E4QTI5RjYzRTdGNDREM0MiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NWU4YzI0ZGYtNjI5ZS1jNDQwLTg2NjMtMjlmM2VlODA4MGFjIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YWM1MjY1OGUtNzMxZC0xMWU3LWE0ZGMtODFhMmMxY2EwMjcyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+9Pfr+wAAAINJREFUeNrsl8EJwCAQBD2xoOu/Ce1CrgqDEIJGMQQMm8fuRxbmsRzzUUopDpmQUsIOOF/UGSS0TVUHYnahnZxvi5m5Vf+C6wbknC+ovrXPspOTGCPUAe/ACSth7vI8MW+5wQFE4APgEtIBOkAH6AAdoAN0gAN+I6HALoD+HcMdOAQYAAB9hUYI2ET/AAAAAElFTkSuQmCC";if(t.is(Stimulsoft.Report.Dashboard.IStiCardsElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDA2IDc5LjE2NDc1MywgMjAyMS8wMi8xNS0xMTo1MjoxMyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUIzNTA2OThGNDM4MTFFQjg0MDZGNjlFNzQyNzdDRTQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUIzNTA2OTdGNDM4MTFFQjg0MDZGNjlFNzQyNzdDRTQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Mjc2NTY1N2UtZjU3OS03OTQxLWIwYTgtZGU3MjdiYjI3MDhhIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6OWZmYzA0NGMtNTQyYS03NTRkLWI0YzUtOTIwZWRkMTVlYjRlIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/5jbrAAAAG1JREFUeNrslzEOgDAMAxOU/+T/z8iLzMLACkZyAXvqUvWUNCclAYQyW4hTMyN7vLujjvPdPiR5V98CAxjAAHWeSWaeWQCZiOqhSl6tAvwJDbCcB9iABbCIKJlYRAb4jIiYJfG9Isrfb8e7AAMAInAVUndCPVIAAAAASUVORK5CYII=";if(t.is(Stimulsoft.Report.Dashboard.IStiChartElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGNJREFUeNpi/P//P8NAAsaBdgATiDh//vz/AXXAgIfAQAIWYhXiiiZDQ0PG0SigSxTQKnpGo2DUAYMrF9CisCFk5mgUjDpg1AGjDhh1wKgDRh0A7hsOVNcMVCUzjvjeMUCAAQAQtyafO9RmPQAAAABJRU5ErkJggg==";if(t.is(Stimulsoft.Report.Dashboard.IStiGaugeElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzczNjEzRTU3MzI1MTFFN0I4QTBFMzE1MDQyQjZBNDQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzczNjEzRTQ3MzI1MTFFN0I4QTBFMzE1MDQyQjZBNDQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NWU4YzI0ZGYtNjI5ZS1jNDQwLTg2NjMtMjlmM2VlODA4MGFjIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YWM1MjY1OGUtNzMxZC0xMWU3LWE0ZGMtODFhMmMxY2EwMjcyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+or3oxAAAA/1JREFUeNrEV9tOU0EU3S2UW4AWStsQ7oYaCA8QEj9BeOdB+AVRg36JxesvoA++i59gFB4hJnK/2AttgXBpKXWvcfZx2pz29IJxJZOec3rOWmv27Nkz48rn8/Q/0Vjpi+vr6x7+meX2kNsDbve4+fTfKW4/uX3l9oXb56mpqWwlvC6nCLAwRJ5zW/R6vYGOjg5qbW2l5uZmamhoUO/kcjm6vr6my8tLOjs7o3Q6HefHb7lF2EiqZgMsvgCSgYGBEItTY2NlAbu5uaFYLEa/GDDPJlaqMsDC6Nrrrq6ux8FgkPBOW1sbZTIZSqVSqpdXV1dKaHJykjY2NqipqYna29vJ5/Opa+D8/JwSiQQlk8n3fPuMjeQcDWjxj4FAYK6vr089AwlCDsLj4+OC95kU3xQ8Y+PU29trGTk4OEBEPvHlo2ITdjGNmOKnp6eqV5ubmzQ6OqpIMRQtLS3WkIyNjVnROTk5QY+RBzQ4OKi+1VxzbGKZf5+WjAD3ZJ7dr+BDl8tF8Xic9vf3aXh4WBEi7OFwmNxud8nxh5GjoyNlAoA4d0hd7+zs4PkCR+GDvO8uyvZXfr9fiaM3EJek6u7uVlm+u7tbNgERoaGhIerp6bHCDy4A3NDQWoUGkK2hUCiIREIvRAhEaJh+IAfZn+Quj/7+fvWdDBMiDW5o6Gn91wA7QrYsSqgQwtvbW5VMIBLoHqj/pVdOJsbHx1WH9vb21DOtsag1rQjMoMjALV6W8UMmF2e3ABHCkDgBPT88PFTJCW5oQAuaBQYQYlVTdc8gJtPIHF95DxHa2tpS+VG21rOgGBduzTFrGphGeZXiAWD62EGGQTJ+e3ubnMq5cAm31po2DdxHoQEkrKh8dujs7LTWACFFJMpBuIRba4VNA14hlZCaIiZQAzAlTVxcXDgOgw23t3gaVgwYQK2wqplxXS3EQBpLqulW7u2AMRwZGSGPx6Mar5aOq6MNd9pcC37weh6QGp/NZlVYsQSXAnJhYmKiol7KEEmiY+8ATTMC3yRBZJqh9t8VhAuV0EjG76aBVazx5pRB4UAk6gU4wGVya63VAgPsMoGxQrGRwoEKVi+EQwobNFgrhn2jZYCXxwz/vME2SkowphtKsqyItQDfggNcUta1xjutWTANI7zKRVFY4BR7AjNzqwUSD/sJAFzgBDdrwEGkYLGQtra2Ns+lNS/gD/L1gMXy0WjUugc3ayyYmgUGtIk3HLr8XQOc4C7Ws6uES9hAYidzVzA2pUtVb8ux+sn8dQKWaFQ5VMeat+U2B5NlbKOwk6nhYBJFr6s+mNgczV5we8Kl2V/h0Syhj2Yv6zqalTiczhiHU9mjJY3DKSrcqszzug+n/xq/BRgAggASny2TUqcAAAAASUVORK5CYII=";if(t.is(Stimulsoft.Report.Dashboard.IStiImageElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEJDMzU4OUE3MzI1MTFFN0EzMDFCNjJCNzkyMjQxMjIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEJDMzU4OTk3MzI1MTFFN0EzMDFCNjJCNzkyMjQxMjIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NWU4YzI0ZGYtNjI5ZS1jNDQwLTg2NjMtMjlmM2VlODA4MGFjIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6YWM1MjY1OGUtNzMxZC0xMWU3LWE0ZGMtODFhMmMxY2EwMjcyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+HvDPrgAAAe5JREFUeNrMV8luwkAMdUIECBAgEPsqDpz5/6/gxgmxbwLEJiR2yjNNBSW0mTJhaikaYqL4zbP9nNHO5zOpNKNaraoF8LmqokEzAVClUnlrZJN5nRSb4cRL5/M5DYdD2m635PF4KJlMUjgctnxWdyJ4s9mkzWZD6DCsuIf/LQCwcxG/dACgXcQvHQByLuKXDgAFJ+KXDgDVXiwWyev1kqZpvOL+WRc40oYI9iyg4wyI2v9TwtPpRKPRiKbTKd/HYjGKx+OcT8cZQPB6vU77/Z7K5TJf6F/4jsej8wx0Oh0KBoOUSCS+fPl8nhlpNBpUKpVI16+Yl8sl9Xo9ltt0Om276H4EMJvNeHW73bTb7cjlcnGg1WrFgRAwl8vReDzm36ZB6wE6lUrJmYatVuuan8tukRbTUBc+n89SVsES0pTNZu+eHwwGXD+RSIRrCZuy3QW3wU3rdrsUCAQoFAo9/DeZTDggrN/vc0oPhwPXFADWarWHqSjchkhFu93m7vD7/ZZM4DJr5dYABul6WQfADF6UyWQsh4xJ+zP9lyJE2A1qpVAokGEYfwbxkhKiGNENGDZWlNsB8bIUr9drbkswYaWWv4GQMgsWiwVrxW0L2gVxlzwZZ4NoNCr0wWJ8PyiomoYaKTJN9elY+QfJhwADAEAG9ixyyux6AAAAAElFTkSuQmCC";if(t.is(Stimulsoft.Report.Dashboard.IStiIndicatorElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0VGMkNEQjVCRkM3MTFFNzg1ODA5NENGODgxNjBBRTQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0VGMkNEQjRCRkM3MTFFNzg1ODA5NENGODgxNjBBRTQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZmUxMzY0MDEtMWIwOS1jODQ1LTg3Y2EtOWFlMjkyOGJiNjhiIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MmUxNzdhMzEtOWZlZS0xMWU3LWIxNzMtZTY1ODBhMDllOGE4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+TLktDAAAAdBJREFUeNrUl7FKA0EQhi/BXq61jEZSBhIUW429FlqofSKCrbHXcKkFQdNoa3wBMU8gCeQJrrCwCiSdIMj5D/zCeBzJZe82iQsftzc7m5mbnZ3dZIIgcObZss6c29K4wX6/n4qRYrFoLQLbxE4EJrQMaLC/BYJZ58A+2CR7s05Cidy1em+YRjNrOKcGCkpWoCxrIwdWwIaiDJYj9G7AFeiCN8VHUgfOwUXMDxLHdoi0JqgnXYJL0DJYqhbnJs4B2V6n4HkK423OCdJKwm9wDDoxdF/BCeekugu+wEMMvUfqWtmGazF0Vm3WgXwMnXWbDugIDMAZGUwZpUQR+OT+lv4tkb7HsbwtB1zwwrIrxWWkxkbc8wXquDaO4yE4mqDzHkPn75k+7zvhxAjgWnaAxx3wcbUqK7kUnApf6xhrhvRdFq4qxnyjHMCPySH0FF5TyD0aLzMfPMgqwKXxDozKjSnHd+MkFCNVrn9YPoSRnirPFSJO9CiT569j0zsAA7vgPmIop5zylSynEjY8tpj/C0wd8FVe6K/2Vc1wIiKSmgNy3rtY25LaCZJ4bRorUSbPnvEuGJMbTTrRZQmu07jDpC3BuYDOHC50Ifq3SZha+xFgANyufsKlz/2MAAAAAElFTkSuQmCC";if(t.is(Stimulsoft.Report.Dashboard.IStiListBoxElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMDEzNGViZC0wY2ZmLTczNDMtOWIwMi1jNTkzNzdiMWRiMjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTA5MTJDN0Q4NTYwMTFFOEI3N0JBNjlFRDdGQ0IwOEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTA5MTJDN0M4NTYwMTFFOEI3N0JBNjlFRDdGQ0IwOEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDAxMzRlYmQtMGNmZi03MzQzLTliMDItYzU5Mzc3YjFkYjIyIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAwMTM0ZWJkLTBjZmYtNzM0My05YjAyLWM1OTM3N2IxZGIyMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsGuI54AAACuSURBVHja7FeJCcAgDNTiEI7h/kvoGG5hm4JQQm2jGAOSgyKKyR3m0dpSipHEYYShAlxKSVbA9clmYYyxzMCIH7DRJHR4oScpQwi/e3LO9+i9pwmgOKUCyKuAlgi2EGByPGcPwRsZrOFTYAsB1c9eVTDS1qeGoNcWBO/biFp+sA1bFUC54VJc2oiA7EmI50vuAixg+V3wRayP0goLzyLpPmBFT0B/zVSAtIBTgAEAMM3EXL6e7tsAAAAASUVORK5CYII=";if(t.is(Stimulsoft.Report.Dashboard.IStiPivotTableElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA25pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTE1MUMzNDA5RkFDMTFFN0JERThGRDhBNTZGM0ZDN0YiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTE1MUMzM0Y5RkFDMTFFN0JERThGRDhBNTZGM0ZDN0YiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTIzODI0M0I3MzI1MTFFN0E4QTI5RjYzRTdGNDREM0MiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTIzODI0M0M3MzI1MTFFN0E4QTI5RjYzRTdGNDREM0MiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7WOnt0AAABPUlEQVR42uxXSW6EMBBsQxASJ8R2YPkD/38FT0BCgMRygSMCZsrKJCQZlGHAQJTpk90culyuajdsHEc6MiQ6ON6mmyiKdqMjDEP2A8D7B+HFrwc96RXMoZyycy+/gPbzifAF4LwinLPj1jZd7IKXBpZEnueUZdlzV7A20jSlsiz5ehgG8n1/PwBJklBd16QoCt9XVUV49oMg2OcKUNyyLDIMg7qu42vkdtOA4zhfKMcaud0AuK77UE64C0C/LMtiXXATHCienhLKb9uWNE0T1wdgtZvgpsX7vqc4jjkDpmmKYQBNBj6H1SRJ+mg4KNo0DQcBF+i6LgbAdJwviuKT0isYVVU5K7+dfhUAUA4QYMG2bfI8b9vX8JFAUYgNIBhjs1bbdB74Hmiv91rs352I1ozdzwT79z+nhwO4CDAAvLyCJQ9KIGkAAAAASUVORK5CYII=";if(t.is(Stimulsoft.Report.Dashboard.IStiProgressElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4M2I5YzlhNS1lZGRmLTU0NGItODFmMi1mMzVmMDgyNTUzMTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTI4QjI4RjdCRjUxMTFFNzk4RThFMTk3MzM2QTVEREYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTI4QjI4RjZCRjUxMTFFNzk4RThFMTk3MzM2QTVEREYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZTI4MmVmYWItOTQwYy1mYjQwLTg5OTctNzNiNzU1Nzk1ZmY1IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MmUxNzdhMzEtOWZlZS0xMWU3LWIxNzMtZTY1ODBhMDllOGE4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+xEa5MgAAAoxJREFUeNrEV7lOA0EMJeESFXcQLeIoiZBoEKIjKZEoIL/AFUJHR0FDRxDXJxAoEC1Ji0SBQKHjEh/ATRkQCs+SNzhmsrvZbMDS02jHM7bX4xnbgXw+X/OfVOd2YTabrccQBcaBYaAnHA63YJ7Yb8A9cAZkgGPwPt3IDTh5AApaMCSAWaBT8qCkhg3Q9ARsA0msebOTH3RQHsNwBaxo5Q7UwXuuWEZ5R4BNtRg2gZkKj7gL2IO8MYwL8MaXowdY+UEJ5TfAKjAKdANNjG6eW+U1mkjWAcu2jwEsoj+fNwhZ5jPNORxbI8fMmoG9jf3zJQ3A5mkMKbXphAzCxstyfA9Zgxi22DOSYpC1/8sAjvZrICQWnwIT2PDoJQAgkwL3CBgR0w/AgHU7ZAwklHKiWa/K+ZrS3jk1HWJdP0EISxv4nhedOQRkK33pWMay/jHWWfBARN1ziuSkjy9uUt2OTtZZZICklFO0l+mFnCG4o9KAIcXMVCHvpNX3kDSg3/Dg+E236ruv8BTDRc2K+V4FA7TM5oIBpoxGme4vKGhnnc9k9HLQ7nx8pj5TTFgGnCtmpAoGaJkX0gB9RWKc1XwhlhUzXUtpwLNg9sv32gdKqKtOOeK4YAAi/oNTp6Q1WB724e8HDbXBDussyoZJTpVFBQSnVK/Kae+Omn6UeSYo7j3l57haTHn8kP/Cy58fqlqAKC4rZVNJtmXI4VZJtm65zkYxpdklTyWZKkonDQKumUcBdAe88Hwb0MtXjcq6AcNe8saUroyNjYmPZblFu6XKctvOiJuKDUOp5pYoqBehOFVpa7bEcdHuUvEzt2brTq1ZwG13LJrTiNWcAq3MfhXNKT1qaadgLduAatG3AAMAxAf6UcvGQQYAAAAASUVORK5CYII=";if(t.is(Stimulsoft.Report.Dashboard.IStiTreeViewElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiNGFhYjFiMC1lZTZlLTJkNDctYWZlMi1lYmQzYmI3MzJkNWQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUE2RkJGN0VBNjVFMTFFODk5OTVCRERFOTIwOEI5N0UiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUE2RkJGN0RBNjVFMTFFODk5OTVCRERFOTIwOEI5N0UiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTI3NTcwYzItM2MyZS05NDQxLTgzZjctYmYwM2ZkODU5YjRjIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZTkyYWNjNTItYTY0OS0xMWU4LWJmZGYtYWIxMTU1OWY5YTkwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+WYlYxgAAAMBJREFUeNrsllEKwCAMQ9fhgbz/KbyRQ7Agm0pLbWRgQJhfi68xSDnna6dCu0kpfdzEGAlmoP6wNYQlIFGPUhVBDLxHYqUUOifcF0I+XcHsHT7WLcEMNzAJGuYWdILm1g9iAqUfeMEJCKUdG63OACmXjoBXP4QRgdaE57U8PXB6ANEDhMrA9L6bCXj1gIhAMcSm2u8VIuuz3EpGlQGPfjARGBgiKAFrP6h6wOOdgMjA9F3wrwwMRqJqvuU9YNUjwABgJX86W1bOxQAAAABJRU5ErkJggg==";if(t.is(Stimulsoft.Report.Dashboard.IStiWebContentElement))return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAACIUlEQVR42u2XsYoCQQyGfS0fQHu1slIQFES0sBEbF8ROUDtB2UpFtBIsfQUbH0Ks1wfI8YfLMYyzM7OuesVdYDhcvOTb5E8mZjL/9m3ZbJY+eYwAPtZsNmm73VIaexrgeDxSoVCg4XBIxWKRP38MIIoiDnq9Xh9g5NlbAZbLJQfTDeUAyHQ69QZJDADHuVwuNgCeJylLYgA4RwZcBhCIFCDn8/k1AHCEFJvscDjQaDSyitWUtUQAprReLhfqdDpUr9epWq0ySJxuUDr8hYgTAyAwUip2u92o3+9TuVym+XzOgcMw5M/3+91bH14A+EdpOzjfbDZUqVRoMBjQfr/n4HJ6vR4tFgunPlAWvJAXwGQyYfLT6cRv2O12HwLL2e12/B2Uxmbwh7Z1Aghtq9XiGku6bWc2m7EuXFPUqwRCCseNRsMZXA5EGSdIbw2opDCIbjweewGs12ujIPEy6hS1Auhth7rCKersAwGRYiybxOwE0EnFoHA4dgVHS6JktVrtJwvwB0F7DSIZo/r0gjNkYbVaGQPjOboE30G7SnARs+7PSwP6GDUJEmUJgoDngxpYXV5Ml5OzC+BIHaNi7XabW1ICl0olLo9pCupifuou0MeoCBKB0R0YzXFmuxETX8dyIyKlyIBr4sUtLy/dCW3LST6ft25HqbZiOEafI8Wm7dhneUkFYLtmpe3Uu/9tAGlW9ZcCqPNeXV6eAvjVn2Z/1r4A4YX01RrCMf0AAAAASUVORK5CYII=";return null}}__.z.StiElementExportTool=StiElementExportTool}let StiChartElementBuilder=__.i.StiChartElementBuilder,StiGaugeVisualSvgHelper=(__.z.StiChartElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r,l){if(this.renderEmptyDataMessage(t,e,i.clone(),r))return;let n=t.as(StiChartElement),o=null,s=(0<n.chartValuesList().length&&(o=await __.z.StiElementExportTool.getDataTable(n)),await StiChartElementBuilder.create(n).render(n,o)),a=StiExportTool.getScaleFactor(e,r);StiChartElementBuilder.scaleFont(s,a);for(let t=0;t<s.series.count;t++){if(null==l||t>=l.length)break;s.series.getByIndex(t).valuesStart=l[t]}s.name=t.name+`_Content`,s.clientRectangle=i.clone(),e.components.add(s)}},__.h.StiGaugeVisualSvgHelper),StiImageElementExportTool=(__.z.StiGaugeElementExportTool=class extends __.z.StiElementExportTool{async render(t,o,e,i){if(this.renderEmptyDataMessage(t,o,e.clone(),i))return;let s=t.as(StiGaugeElement),a=await __.z.StiElementExportTool.getDataTable(t),u=(new StiGaugeElementBuilder).render2(s,e.size,a);if(1!=(await u()).count2()||i.is(StiExcelDashboardExportSettings)||i.is(StiPdfDashboardExportSettings)){if(0<(await u()).count2())if(i.isDesignMode||i.format!=__.f.StiDashboardExportFormat.Html)await this.renderContent(t,o,e.clone());else{let r=0,l=StiElementLocationHelper.getLocationRectangles(e,(await u()).count2(),s),n=l[0].clone();for(let i of await(u=(new StiGaugeElementBuilder).render2(s,n.size,a))()){let t=l[r].clone(),e={ref:0};StiString.isNullOrEmpty(i.series)||(await this.renderSingleGaugeTitleFromIteration(s,o,i,t,n,u,r,e),t.height-=e.ref,t.y+=e.ref),this.renderSingleGaugeFromIteration(s,o,i,t,r),r++}}}else this.renderSingleGaugeFromIteration(s,o,(await u()).firstOrDefault(),e)}renderSingleGaugeFromIteration(t,e,i,r,l=0){let n=i.gauge;n.name=t.name+`_Content`+l,n.clientRectangle=r,n.style=StiDashboardStyleHelper.getGaugeStyle(t),n.customStyleName=t.customStyleName,n.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(t,null,!0)),e.components.add(n)}async renderSingleGaugeTitleFromIteration(o,s,t,a,e,i,u,S){let m=t.series,h=StiDashboardStyleHelper.getFont(o),r=await StiGaugeVisualSvgHelper.getTitleHeight(null,i,a,o,null),c=await StiGaugeVisualSvgHelper.getTitleMinFontSize(null,i,h,e.width,e.height);if(S.ref=r||0,null!=r){let t=new Rectangle(a.x,a.y,a.width,S.ref),e=StiFontUtils.changeFontSize(h,c),i=StiTitleMeasureHelper.measureTitle4(null,t,h,m),r=(t.height=i.height,StiDashboardExpressionHelper.getForeColor(o,o.foreColor)),l=Color.transparent.equals(r)?StiDashboardStyleHelper.getForeColor(o):r,n=new StiText(t);n.name=o.name+`_ContentTitle`+u,n.brush=new StiSolidBrush(Color.transparent),n.text=m,n.font=e,n.textBrush=new StiSolidBrush(l),n.horAlignment=StiTextHorAlignment.Center,s.components.add(n)}}},__.z.StiImageElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r){if(this.renderEmptyDataMessage(t,e,i.clone(),r))return;await this.renderContent(t,e,i.clone())}async renderContent(t,e,o){let s=t.as(StiImageElement),a=await this.draw(s,o.clone());if(s.aspectRatio&&null!=a){let t=o.width/a.width,e=o.height/a.height,i=(t=e=t<e?t:e,a.width*(t=e)),r=a.height*e,l=this.calculateHorAlignmentPosition(s,o,i),n=this.calculateVertAlignmentPosition(s,o,r);o=new Rectangle(l,n,i,r)}let i=new StiImage(o);i.name=s.name+`_Content`,i.stretch=!0,i.aspectRatio=!1,i.imageToDraw=a,e.components.add(i)}calculateHorAlignmentPosition(t,e,i){switch(t.horAlignment){case StiHorAlignment.Left:return e.x;case StiHorAlignment.Right:return e.right-i;default:return e.x+(e.width-i)/2}}calculateVertAlignmentPosition(t,e,i){switch(t.vertAlignment){case StiVertAlignment.Top:return e.y;case StiVertAlignment.Bottom:return e.bottom-i;default:return e.y+(e.height-i)/2}}},__.z.StiImageElementExportTool),StiGaugeElementExportTool=__.z.StiGaugeElementExportTool,StiChartElementExportTool=__.z.StiChartElementExportTool,StiExportSettingsHelper=__.A.StiExportSettingsHelper,StiExportFormatHelper=__.A.StiExportFormatHelper,StiElementExportTool=__.z.StiElementExportTool,StiTitleExportHelper=__.A.StiTitleExportHelper,StiBackColorExportHelper=__.A.StiBackColorExportHelper,StiBorderExportHelper=__.A.StiBorderExportHelper,StiLayoutExportHelper=__.A.StiLayoutExportHelper,IStiReport=Stimulsoft.Base.IStiReport;{class hj0{static exportAsync(e,i,r){setTimeout(async function(){let t=await hj0.export(i,r);e(t)})}static export(t,e){let i;return i=e instanceof StiDashboardExportSettings?e:e instanceof StiExportSettings?__.A.StiExportSettingsHelper.getDashboardExportSettings(e):__.A.StiExportSettingsHelper.getDashboardExportSettings2(e),this.exportToStream(t,i)}static async exportToStream(e,i){let t,n=new StiReport,r=(n.isDocument=!0,n.reportUnit=StiReportUnitType.HundredthsOfInch,n.renderedPages.getByIndex(0)),l=(r.orientation=i.orientation,r.paperSize=i.paperSize,(i.is(StiExcelDashboardExportSettings)||i.is(StiDataDashboardExportSettings)||i.is(StiImageDashboardExportSettings))&&(r.margins=new StiMargins(0)),i),o=("width"in i&&null!=l&&0<l.width&&0<l.height&&(r.width=l.width,r.height=l.height),null==(t=e.as(IStiDashboardWatermark))?void 0:t.dashboardWatermark),s=(r.tagValue=o,null==r.tagValue&&(r.tagValue="*Dashboards*"),null);if(e.is(IStiReport))await this.renderCellReportAsync(e,n,r,i);else if(e.is(IStiDashboard)){let t=e.as(IStiDashboard);(s=t.report).currentPage=s.pages.indexOf(t.page),await this.renderCellDashboardAsync(e,r,i)}else if(e.is(IStiElement)){let t=e.as(IStiElement);(s=t.report).currentPage=s.pages.indexOf(t.page),await this.renderCellElement(e,n,r,i)}n.parentReport=s;for(let r of n.renderedPages.list)r.components.toList().where(t=>t.is(StiContainer)).cast().forEach(t=>{let e=r.components.indexOf(t)+1,i=t.getComponentsList();for(let t=0;t<i.length;t++)i[t].page=r,i[t].setDirectDisplayRectangle(i[t].componentToPage(i[t].displayRectangle)),r.components.insert(e+t,i[t]);t.components.clear()});if(0<n.renderedPages.count&&!(Stimulsoft.Base.QGoTM.KbTix.tpECq()||(Stimulsoft.Base.QGoTM.KbTix.vsqQy()||Stimulsoft.Base.QGoTM.KbTix.uoGcg())&&Stimulsoft.System.NodeJs.isStandaloneVersion)){let t=n.renderedPages.getByIndex(0),e=t.report.unit.convertFromHInches(200),i=t.report.unit.convertFromHInches(52),r=new Rectangle((t.width-e)/2,t.height-i,e,i),l=new StiImage(r);l.stretch=!0,l.printable=!1,l.image=Stimulsoft.Report.Export.StiExportUtils.getAdditionalData2(192),l.name=Stimulsoft.Report.StiNameValidator.correctName(Stimulsoft.System.Guid.newGuidString().substring(0,8)),l.componentPlacement="pf.PageFooterBand",t.components.add(l)}let a,u=null==i?StiExportFormat.Document:StiExportFormatHelper.convert(i.format);if(u==StiExportFormat.Document)a=Stimulsoft.System.Text.Encoding.UTF8.getBytes(n.saveDocumentToJsonString());else{let t=StiExportSettingsHelper.getExportSettings(i),e=await n.exportDocumentAsync2(u,null,t);a="string"==typeof e?Stimulsoft.System.Text.Encoding.UTF8.getBytes(e):"undefined"!=typeof Buffer&&Buffer.isBuffer(e)?e.toJSON().data:e}return a}static async renderCellReportAsync(t,e,i,r){let l=t.as(IStiReport).fetchPages().where(t=>t.is(IStiDashboard)).cast();for(let t=0;t<l.length;t++)0<t&&(i=i.clone(!0,!1),e.renderedPages.add(i)),this.setUpPage(i,l[t],r),await this.renderDashboardAsync(i,l[t],r)}static async renderCellDashboardAsync(t,e,i){this.setUpPage(e,t,i),await this.renderDashboardAsync(e,t.as(IStiDashboard),i)}static async renderCellElement(t,e,i,r){let l=t.as(IStiElement);l.is(IStiRegionMapElement)&&e.dictionary.resources.addRange(l.report.dictionary.resources),e.reportAlias=l.name,this.setUpPage(i,t,r),await this.renderSingleElementAsync(i,l,r)}static async renderDashboardAsync(e,t,i){if(null==t)return;null!=i&&(i.renderSinglePage=!0,i.renderSingleElement=!1);let r=t.as(StiDashboard),l=await r.getElements(!1).whereAsync(async t=>t.isEnabledAsync()),n=1,o=1;if(i.is(IStiDashboardScaleMode)){let t=i.as(IStiDashboardScaleMode).scaleMode;switch(t){case StiDashboardScaleMode.PaperSize:n=e.width/r.width,o=e.height/r.height;break;case StiDashboardScaleMode.ViewSize:{let t=Math.min(e.width/i.viewportWidth,e.height/i.viewportHeight);n=i.viewportWidth/r.width*t,o=i.viewportHeight/r.height*t;break}case StiDashboardScaleMode.DesignSize:n=o=Math.min(e.width/r.width,e.height/r.height);break}}e.brush=new StiSolidBrush(StiDashboardStyleHelper.getDashboardBackColor(t,!1)),await this.renderElementsAsync(e,l,n,o,i)}static async renderSingleElementAsync(t,e,i){if(null==e||!await e.isEnabledAsync())return;null!=i&&(i.renderSingleElement=!0);let r=StiExportSettingsHelper.isDataExport(i),l=(r||(t.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(e))),e.as(StiComponent)),n=t.width/l.width,o=t.height/l.height,s=await this.renderElementAsync(t,e,n,o,i);if(s.left=0,s.top=0,!r){let t=e.margin;s.left=t.left,s.top=t.top}}static setUpPage(i,r,l){var t;if(l.is(StiPdfDashboardExportSettings)&&(i.orientation=l.as(StiPdfDashboardExportSettings).orientation,i.paperSize=l.as(StiPdfDashboardExportSettings).paperSize),(l.is(StiExcelDashboardExportSettings)||l.is(StiDataDashboardExportSettings)||l.is(StiHtmlDashboardExportSettings)||l.is(StiImageDashboardExportSettings))&&(i.margins=new StiMargins(0)),l.is(IStiDashboardScaleMode)){let t=l.as(IStiDashboardScaleMode).scaleMode,e=(0!=l.viewportWidth&&0!=l.viewportHeight&&t==StiDashboardScaleMode.ViewSize||(l.viewportWidth=r.as(StiComponent).width,l.viewportHeight=r.as(StiComponent).height),l.as(IStiSizeExportSettings));null!=e&&0<e.width&&0<e.height&&(l.viewportWidth=e.width,l.viewportHeight=e.height),l.is(StiPdfDashboardExportSettings)||(i.width=l.viewportWidth,i.height=l.viewportHeight)}let e=null==(t=r.as(IStiDashboardWatermark))?void 0:t.dashboardWatermark;i.tagValue=e,null==i.tagValue&&(i.tagValue="*Dashboards*"),null!=e&&(e.textEnabled&&(i.watermark.text=e.text,i.watermark.textBrush=new StiSolidBrush(e.textColor),i.watermark.font=e.textFont,i.watermark.angle=e.textAngle,i.watermark.showBehind=!0),e.imageEnabled)&&(i.watermark.image=e.image,i.watermark.aspectRatio=e.imageAspectRatio,i.watermark.imageAlignment=e.imageAlignment,i.watermark.imageMultipleFactor=e.imageMultipleFactor,i.watermark.imageStretch=e.imageStretch,i.watermark.imageTiling=e.imageTiling,i.watermark.imageTransparency=e.imageTransparency,i.watermark.showImageBehind=!0)}static async renderElementsAsync(r,e,l,n,o){null!=o&&(o.renderSingleElement=!1);for(let t of e){let e=await this.renderElementAsync(r,t,l,n,o),i=t.as(StiPanelElement);if(null!=i){let t=i.getComponents().toList().where(t=>t.is(IStiElement)).cast();await this.renderElementsAsync(e,t,l,n,o)}}}static async renderElementAsync(t,e,i,r,l,n,o={ref:new Stimulsoft.System.Drawing.Rectangle},s=new List){let a,u=e.as(StiComponent),S=StiExportSettingsHelper.isDataExport(l),m=Math.round(u.left*i),h=Math.round(u.top*r),c=Math.round(u.right*i),d=Math.round(u.bottom*r),g=new Rectangle(m,h,c-m,d-h);if(S||(g=StiLayoutExportHelper.excludeMargin(e,g)),u.parent.is(StiPanelElement)){let t=u.parent;g.x-=t.margin.left,g.y-=t.margin.top}let p=new StiPanel(g),b=(p.name=e.name,StiExportTool.isAllowOpacity(l));if(S||(p.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(e,null,b)),p.cornerRadius=null==(a=e.as(IStiCornerRadius))?void 0:a.cornerRadius),t.components.add(p),null!=p.report&&null!=e.report&&(p.report.styles.clear(),p.report.styles.addRange(e.report.styles)),g=await StiTitleExportHelper.render(e,p,l),!S){StiBorderExportHelper.render(e,p,l),StiBackColorExportHelper.render(e,p);let t=StiElementExportTool.getScaleFactor(p,l);g=StiLayoutExportHelper.excludePadding(e,g,t),g=StiLayoutExportHelper.excludeCornerRadius(e,g,t),o.ref=g}let C=StiExportTool.getTool(Type.getType(e));return(C=null==C?new StiElementExportTool:C)[Stimulsoft.System.StiObject.stimulsoft]().is(StiChartElementExportTool)&&l.is(StiHtmlDashboardExportSettings)?(e.previousAnimations=s,await C.render(e,p,g.clone(),l,n)):C[Stimulsoft.System.StiObject.stimulsoft]().is(StiGaugeElementExportTool)&&l.is(StiHtmlDashboardExportSettings)?(e.previousAnimations=s,await C.render(e,p,g.clone(),l)):!C[Stimulsoft.System.StiObject.stimulsoft]().is(StiImageElementExportTool)&&null!=l&&1==l.isDesignMode&&e[Stimulsoft.System.StiObject.stimulsoft]().is(IStiOnlineMapElement)||await C.render(e,p,g.clone(),l),p}}__.f.StiDashboardExportTools=hj0}let StiBorderElementHelper=Stimulsoft.Report.Dashboard.Helpers.StiBorderElementHelper,SolidBrush=(__.p.StiElementControlPainter=class{static getBorderContentRect(t,e){return StiBorderElementHelper.getBorderContentRect3(t.clone(),e,StiScale.factor,!1)}},__.p.StiLocHelper=class{static get locAll(){return`(${Loc.get("Report","RangeAll")[Stimulsoft.System.StiObject.stimulsoft]().replaceAll("& ","")})`}},Stimulsoft.System.Drawing.SolidBrush),StiTableElementConditionHelper=__.K.StiTableElementConditionHelper,StringFormat=Stimulsoft.System.Drawing.StringFormat,StringFormatFlags=Stimulsoft.System.Drawing.StringFormatFlags,StiIndicatorCellPainter=(__.C.StiIndicatorCellPainter=class{static async draw(t,e,i,r,l,n,o,s,a,u=!0){let S=await StiTableElementConditionHelper.getIconCondition(n.key,i,r,l),m=(null!=S&&S.iconAlignment!=StiIconAlignment.None&&(await __.C.StiConditionIconPainter.drawIcon(t,S,e,o),e=__.C.StiConditionIconPainter.adjustCellContentRectWithIcon(e,S)),this.getCellText(i,n,s));await this.draw2(t,e.clone(),i,r,l,n,o,s,a,m,u)}static async draw2(i,r,l,t,e,n,o,s,a,u,S=!0){let m=this.measureText(o,u,l.font),h=this.calculateIndicatorRect(r.clone(),n,o,m);if(await this.drawIndicator(i,l,t,e,n,h,s,a),S){let t=this.calculateTextRect(r.clone(),n),e=this.getColor(n,s,a);this.drawText(i,t,n,o,u,l.font,e)}}static async drawIndicator(o,s,a,u,S,m,h,c){let d=Math.min(m.width,m.height);if(null==h||0==h)o.fillRectangle(new RectangleD(m.x+(m.width-d)/2,m.y+(m.height-4)/2,d,5),Color.lightGray);else{let t=.75*d,e=(m=new Rectangle(m.x+(m.width-d)/2,m.y+(m.height-t)/2,d,t)).width/2,i,r,l,n=(l=0<h?(i=new Point(m.left+e,m.top),r=new Point(m.left,m.bottom),new Point(m.right,m.bottom)):(i=new Point(m.left+e,m.bottom),r=new Point(m.left,m.top),new Point(m.right,m.top)),0<h?c.cellIndicatorPositive:c.cellIndicatorNegative);n=await StiTableElementConditionHelper.processForeColor(n,S.key,s,a,u),o.fillPolygon([i,r,l],new SolidBrush(n))}}static drawText(t,e,i,r,l,n,o){if(StiString.isNullOrWhiteSpace(l))return;e.width-=2;let s=new StringFormat,a=StiElementConsts.Table.Font.getGdiFont(r,null,n);s.lineAlignment=StringAlignment.Center,s.alignment=this.toAlignment(i),s.trimming=StringTrimming.None,s.formatFlags|=StringFormatFlags.NoWrap,t.drawString(l,a,o,e.clone(),s)}static measureText(t,e,i){if(StiString.isNullOrWhiteSpace(e))return 0;let r=StiElementConsts.Table.Font.getGdiFont(t,null,i);return StiTextDrawing.measureString(null,e,r).width}static calculateIndicatorRect(e,t,i,r){let l=16*i;switch(this.getHorAlignment(t)){case StiHorAlignment.Left:e=new Rectangle(e.x,e.y,l,e.height);break;case StiHorAlignment.Right:e=new Rectangle(e.right-l,e.y,l,e.height);break;case StiHorAlignment.Center:{let t=r+l;e=new Rectangle(e.right-(e.width-t)/2-l,e.y,l,e.height);break}}return e.inflate(-4*i,-4*i),e}static getCellText(t,e,i){if(null==i)return"";return StiTextFormatHelper.formatAsPercentage2(t.report,e.textFormat,i)}static calculateTextRect(t,e){let i=t.width/4;switch(this.getHorAlignment(e)){case StiHorAlignment.Left:return new Rectangle(t.x+i,t.y,t.width-i,t.height);case StiHorAlignment.Right:return new Rectangle(t.x,t.y,t.width-i,t.height);case StiHorAlignment.Center:return new Rectangle(t.x,t.y,t.width,t.height)}return t}static getColor(t,e,i){if(!Color.transparent.equals(t.foreColor))return t.foreColor;if(0<e)return i.cellIndicatorPositive;if(e<0)return i.cellIndicatorNegative;return i.cellIndicatorNeutral}static toAlignment2(t){if(t[Stimulsoft.System.StiObject.stimulsoft]().is(StringAlignment))return t;let e=t[Stimulsoft.System.StiObject.stimulsoft]().as(IStiHorAlignment);if(null==e)return StringAlignment.Center;return this.toAlignment(e.horAlignment)}static toAlignment(t){switch(t){case StiHorAlignment.Left:return StringAlignment.Near;case StiHorAlignment.Center:return StringAlignment.Center;case StiHorAlignment.Right:return StringAlignment.Far}return StringAlignment.Center}static getHorAlignment(t){let e=t;return null!=e?e.horAlignment:StiHorAlignment.Right}},__.C.StiIndicatorCellPainter),StiDataSortRuleHelper=Stimulsoft.Data.Engine.StiDataSortRuleHelper;{class StiTableElementGdiPainter{static getBackgroundColor(t,e,i,r){return null==e||e.data.backColor.equals(Color.transparent)?r?i.alternatingCellBackColor:i.cellBackColor:r?StiDashboardStyleHelper.isDarkStyle3(t)?StiColorUtils.light(e.data.backColor,25):StiColorUtils.dark(e.data.backColor,25):e.data.backColor}static measureColumn(t,e,i,r,l){let n,o=StiElementConsts.Table.getHeight(i.font,i.zoom);if(r.is2(StiSparklinesColumn))n=this.measureSparklinesCell(i,0,i.zoom);else if(r.is2(StiIndicatorColumn))n=this.measureIndicatorCell(t,i,r,l,i.zoom);else if(r.is2(StiDataBarsColumn))n=this.measureDataBarsCell(t,i,r,l,i.zoom);else if(r.is2(StiBubbleColumn))n=this.measureBubbleCell(t,i,r,l,i.zoom);else if(StiImageHelper.isImage(l))return new Size(0,StiElementConsts.Table.getHeight(i.font,i.zoom));return new Size(n.width,Math.max(n.height,o))}static getArrowSize(t,e){let i=StiElementConsts.Table.getHeight(t.headerFont,t.zoom),r=StiDataSortRuleHelper.getSortDirection(t.userSorts,e.key);if(r!=StiDataSortDirection.None)return new Size(1.5*i,i);return Size.empty}static getRightImageRect(t,e,i){let r=i.width*t.zoom,l=i.height*t.zoom;return new Rectangle(e.right-3-r,e.y+(e.height-l)/2,r,l)}static measureSparklinesCell(t,e,i){return new Size(Math.max(e,80*i),0)}static measureIndicatorCell(t,e,i,r,l){let n=i,o=StiIndicatorCellPainter.getCellText(e,n,StiValueHelper.tryToNullableNumber(r)),s=this.measureCell2(t,o,e.font,i);return s.width=(s.width+4)*l*1.25,s}static measureDataBarsCell(t,e,i,r,l){let n=StiTextFormatHelper.formatBasedOnColumnType(e,i,r),o=this.measureCell2(t,n,e.font,i);return o.width*=l,i.horAlignment!=StiHorAlignment.Center&&(o.width*=2),i.is(StiDataBarsColumn)&&0<i.width&&(o.width=l*i.width),o}static measureBubbleCell(i,r,l,n,t){let o=StiElementConsts.Table.getHeight(r.font,r.zoom);if(l.horAlignment==StiHorAlignment.Center)return o-=2,new Size(o,StiElementConsts.Table.getHeight(r.font));{let t=StiTextFormatHelper.formatBasedOnColumnType(r,l,n),e=this.measureCell2(i,t,r.font,l);return e.width+=o,e}}static measureCommonCell(t,e,i,r,l,n){let o=StiTextFormatHelper.formatBasedOnColumnType(e,i,r),s=new Size(l,0);return StiImageHelper.isImage(o)||((s=this.measureCell2(t,o,e.font,i)).width*=n,s.height*=n),s}static measureHeader(t,e){return this.measureHeader2(null,t,e)}static measureHeader2(t,e,i){let r=StiLabelHelper.getLabel(i),l=this.measureCell2(t,r,e.headerFont,i);return l.width+=36,l}static measureCell(t,e,i){return this.measureCell2(null,t,e,i)}static measureCell2(t,e,i,r){let l=new Size(8,StiElementConsts.Table.getHeight(i));if(StiString.isNullOrEmpty(e))return l;let n=new __.C.StiTableColumnSizeHelper(i,r),o=i[Stimulsoft.System.StiObject.stimulsoft]().getHashCode().toString()+e+n.getUniqueCode().toString();if(this.captionSizeCache.contains(o)){let t=this.captionSizeCache.get(o);return l.width=t.width,l.height=t.height,l}let s=StiElementConsts.Table.Font.getGdiFont(1,null,i),a=0!=n.width?n.width:n.maxWidth,u=Graphics.measureString(e,s,a);return u.width=n.getColumnWidth(u.width),u.height=n.getColumnHeight(u.height),l.width=u.width,l.height=u.height,this.captionSizeCache.set(o,u),l}static measureHeaders(e,t){let r=StiElementConsts.Table.Font.getGdiFont(1,null,t),l=new Size(8,StiElementConsts.Table.getHeight(r));for(let t of e){let e=new Size(8,0),i=StiLabelHelper.getLabel(t);if(!StiString.isNullOrEmpty(i)){let t=Graphics.measureString(i,r,1e6);e.width+=t.width}l.width+=e.width}return l.width}}StiTableElementGdiPainter.captionSizeCache=new Hashtable,__.q.StiTableElementGdiPainter=StiTableElementGdiPainter}__.C.StiBubbleCellPainter=class{static async draw(l,t,e,i,r,n,o,s,a,u,S,m,h=!0){if(0==s)return;let c=StiTextFormatHelper.formatBasedOnColumnType(e,n,s),d=(0<a&&(a=0),u<0&&(u=0),n.horAlignment),g=t,p=await StiTableElementConditionHelper.getIconCondition(n.key,e,i,r),b=(null!=p&&p.iconAlignment!=StiIconAlignment.None&&(await __.C.StiConditionIconPainter.drawIcon(l,p,g,o),g=__.C.StiConditionIconPainter.adjustCellContentRectWithIcon(g,p)),g.inflate(-2,-2),this.calculateTextRect(e,g,n)),C=(g=this.calculateBubbleRect(e,g,n,Math.abs(s),a,u),StiDashboardStyleHelper.getTableStyle(e)),f=this.getForeColor(e,n,C,S,m);if(h&&d!=StiHorAlignment.Center&&l.drawString(c,e.font,f,b,null),0<g.width&&0<g.height){let t=n.as(StiBubbleColumn),e=t.allowCustomColors?t.positiveColor:C.cellDataBarsPositive,i=t.allowCustomColors?t.negativeColor:C.cellDataBarsNegative,r=new SolidBrush(s<0?i:e);l.fillEllipse(g,r)}}static getForeColor(t,e,i,r,l){if(!Color.transparent.equals(e.foreColor))return e.foreColor;if(!Color.transparent.equals(t.foreColor))return t.foreColor;if(r)return i.alternatingCellForeColor;return l?null!=i?i.selectedCellForeColor:StiElementConsts.Table.Font.Color:null!=i?i.cellForeColor:StiElementConsts.Table.Font.Color}static calculateBubbleRect(t,e,i,r,l,n){let o=i;if(null==o)return e;let s=StiElementConsts.Table.getHeight(t.font,t.zoom),a=(s-=2,Math.max(Math.abs(l),Math.abs(n))),u=Math.abs(s*r/a);switch(o.horAlignment){case StiHorAlignment.Left:return new RectangleD(e.right-s+(s-u)/2,e.y+(e.height-u)/2,u,u);case StiHorAlignment.Center:return new RectangleD(e.x+(e.width-u)/2,e.y+(e.height-u)/2,u,u);case StiHorAlignment.Right:return new RectangleD(e.x+(s-u)/2,e.y+(e.height-u)/2,u,u)}return e}static calculateTextRect(e,i,t){let r=t;if(null!=r){let t=StiElementConsts.Table.getHeight(e.font,e.zoom);switch(r.horAlignment){case StiHorAlignment.Left:i=new RectangleD(i.x,i.y,i.width-t,i.height);break;case StiHorAlignment.Right:i=new RectangleD(i.x+t,i.y,i.width-t,i.height);break}}return i.inflate(-2,-2),i}static getCellText(t,e,i){return StiTextFormatHelper.formatBasedOnColumnType(t,e,i)}},__.C.StiColorScaleCellPainter=class{static getScaleColor(e,i,r,t,l,n){let o=(r-i)/2,s=(e=Math.min(e,r),e=Math.max(e,i),0),a,u,S=t.cellBackColor;if(o<e){let t=r-o;u=0!=t?(s=(e-o)/t,a=Color.fromArgb3(255,S),Color.fromArgb3(255,n)):(a=Color.lightGray,Color.lightGray)}else{let t=o-i;u=0!=t?(s=e/t,a=Color.fromArgb3(255,l),Color.fromArgb3(255,S)):(a=Color.lightGray,Color.lightGray)}let m=(u.a-a.a)*s+a.a,h=(u.r-a.r)*s+a.r,c=(u.g-a.g)*s+a.g,d=(u.b-a.b)*s+a.b;return m=Math.min(m,255),h=Math.min(h,255),c=Math.min(c,255),d=Math.min(d,255),m=Math.max(m,0),h=Math.max(h,0),c=Math.max(c,0),d=Math.max(d,0),Color.fromArgb(Math.round(m),Math.round(h),Math.round(c),Math.round(d))}};let StiSvgGeomWriter=Stimulsoft.Report.Export.StiSvgGeomWriter,StiSvgHelper=Stimulsoft.Report.Export.StiSvgHelper,StiDataBarsDirection=(__.C.StiConditionIconPainter=class{static async drawIcon(h,c,d,g){if(!c||c.iconAlignment===StiIconAlignment.None)return;let t=c.customIcon;if(t){let m=StiImageHelper.getImageFromObject(t);if(m){let t=new RectangleD,e=(c.iconAlignment===StiIconAlignment.Left?t=new RectangleD(d.left,d.top,d.height,d.height):c.iconAlignment===StiIconAlignment.Right&&(t=new RectangleD(d.right-d.height,d.top,d.height,d.height)),m.width),i=m.height,r=t.width/e,l=t.height/i,n=Math.min(r,l),o=e*n,s=i*n,a=(t.width-o)/2,u=(t.height-s)/2,S=new RectangleD;S.x=t.x+a,S.y=t.y+u,S.width=o,S.height=s,S.inflate(-2*g,-2*g),h.drawImage(m,S)}}else{let t=new RectangleD,e=(c.iconAlignment===StiIconAlignment.Left?t=new RectangleD(d.left,d.top,d.height,d.height):c.iconAlignment===StiIconAlignment.Right&&(t=new RectangleD(d.right-d.height,d.top,d.height,d.height)),await StiFontIconsHelper.convertFontIconToImageAsync(c.icon,c.iconColor,t.width,t.height,"0.9em"));h.drawImage(e,t)}}static adjustCellContentRectWithIcon(t,e){if(e.iconAlignment===StiIconAlignment.Left)return new RectangleD(t.left+t.height,t.top,t.width-t.height,t.height);if(e.iconAlignment===StiIconAlignment.Right)return new RectangleD(t.left,t.top,t.width-t.height,t.height);return t}static async getImageWithConditionIcon(t,e,i){let r=t.iconAlignment===StiIconAlignment.Left?new RectangleD(e.x,e.y,e.height,e.height):new RectangleD(e.right-e.height,e.y,e.height,e.height),l=new XmlTextWriter(Encoding.UTF8),n=(l.indentation=-1,l.writeStartElement("svg"),l.writeAttributeString("version","1.1"),l.writeAttributeString("baseProfile","full"),l.writeAttributeString("xmlns","http://www.w3.org/2000/svg"),l.writeAttributeString("xmlns:xlink","http://www.w3.org/1999/xlink"),l.writeAttributeString("xmlns:ev","http://www.w3.org/2001/xml-events"),l.writeAttributeString("height",StiSvgHelper.toUnits(r.height)),l.writeAttributeString("width",StiSvgHelper.toUnits(r.width)),l.writeStartElement("rect"),l.writeAttributeString("x","0"),l.writeAttributeString("y","0"),l.writeAttributeString("width",StiSvgHelper.toUnits(r.width)),l.writeAttributeString("height",StiSvgHelper.toUnits(r.height)),l.writeAttributeString("style",StiSvgHelper.writeFillBrush(l,t.backColor,r)),l.writeEndElement(),new StiSvgGeomWriter(l)),o=(await this.drawIcon(n,t,new RectangleD(0,0,r.width,r.height),1),l.writeFullEndElement(),l.flush(),new StiImage(r)),s=(o.name=i+`_ConditionIcon`,l.textWriter.getStringBuilder().toString());return o.image=StiImageConverter.stringToImage(Stimulsoft.System.Convert.toBase64String(s)),o}},__.K.StiDataBarsDirection),StiDataBarsBrushType=__.K.StiDataBarsBrushType,StiGradientBrush=Stimulsoft.Base.Drawing.StiGradientBrush,IStiControlElement=(__.C.StiDataBarsCellPainter=class{static async draw(t,e,i,r,l,n,o,s,a,u,S,m,h=!0,c=StiDataBarsDirection.LeftToRight,d=StiDataBarsBrushType.Solid){let g=await StiTableElementConditionHelper.getIconCondition(n.key,i,r,l),p=(null!=g&&g.iconAlignment!=StiIconAlignment.None&&(await __.C.StiConditionIconPainter.drawIcon(t,g,e,o),e=__.C.StiConditionIconPainter.adjustCellContentRectWithIcon(e,g)),StiTextFormatHelper.formatBasedOnColumnType(i,n,s));await this.draw2(t,e,s,a,u,o,p,i,r,l,n,S,m,h,c,d)}static async draw2(l,t,n,e,i,r,o,s,a,u,S,m,h,c=!0,d=StiDataBarsDirection.LeftToRight,g=StiDataBarsBrushType.Solid){if(null==n||0==n)return;let p=S,b=(StiString.isNullOrWhiteSpace(p.minimum)||(e=StiValueHelper.tryToNumber(StiReportParser.parse2(p.minimum,s.report))),StiString.isNullOrWhiteSpace(p.maximum)||(i=StiValueHelper.tryToNumber(StiReportParser.parse2(p.maximum,s.report))),e=Math.min(e,0),!1),C=((i=Math.max(i,0))<n&&(b=!0,n=i),n<e&&(b=!0,n=e),S.horAlignment),f=t,w=(f.inflate(-2,-2),this.calculateTextRect(f,S)),y=(f=this.calculateDataBarsRect(f,S),StiDashboardStyleHelper.getTableStyle(s)),M=this.getColorPositive(y,p),I=this.getNegativeColor(y,p),T=this.getOverlappedColor(y,p),x=this.getFillColor(y,p),D=this.getForeColor(s,S,y,m,h),v=(c&&l.drawString(o,s.font,D,w,null),C!=StiHorAlignment.Center&&l.fillRectangle(f,x),i+Math.abs(e)),F=f.width*Math.abs(e)/v,A=f.width*n/v,E=f.width*Math.abs(n)/v,R=0;if(d==StiDataBarsDirection.LeftToRight?f.x+=n<0?F-E:F:(R=180,f.x=n<0?f.right-F:f.right-F-E),f.width=E,n<0&&(R+=180),0<f.width&&0<f.height){if(g==StiDataBarsBrushType.Gradient){let r;if(r=d==StiDataBarsDirection.LeftToRight?0<n?new RectangleD(t.left+F,t.top,A,t.height):new RectangleD(t.left,t.top,F,t.height):n<0?new RectangleD(t.left+A,t.top,F,t.height):new RectangleD(t.left,t.top,A,t.height),0<f.width&&f.width<1&&(f.width=1),0<r.width&&r.width<1&&(r.width=1),0<r.width&&0<f.width){let t=n<0?I:M,e=StiColorUtils.light(t,200),i=(r.x-=.1*r.width,r.width+=.2*r.width,new StiGradientBrush(t,e,R));l.fillRectangle(f,i)}}else{let t=n<0?I:M;t=await StiTableElementConditionHelper.processForeColor(t,S.key,s,a,u),l.fillRectangle(f,t)}if(b){let t=0<=n?new RectangleD(f.right-6*r,f.y,6*r,f.height):new RectangleD(f.x,f.y,6*r,f.height);l.fillRectangle(t,T)}C==StiHorAlignment.Center&&l.drawString(o,s.font,Color.white,w,null)}}static getOverlappedColor(t,e){return e.overlappedColor.equals(Color.transparent)?t.cellDataBarsOverlapped:e.overlappedColor}static getColorPositive(t,e){return e.positiveColor.equals(Color.transparent)?t.cellDataBarsPositive:e.positiveColor}static getNegativeColor(t,e){return e.negativeColor.equals(Color.transparent)?t.cellDataBarsNegative:e.negativeColor}static getFillColor(t,e){return e.fillColor.equals(Color.transparent)?Color.fromArgb3(40,t.cellDataBarsPositive):e.fillColor}static getForeColor(t,e,i,r,l){if(!Color.transparent.equals(e.foreColor))return e.foreColor;if(!Color.transparent.equals(t.foreColor))return t.foreColor;if(r)return i.alternatingCellForeColor;return l?null!=i?i.selectedCellForeColor:StiElementConsts.Table.Font.Color:null!=i?i.cellForeColor:StiElementConsts.Table.Font.Color}static calculateDataBarsRect(t,e){let i=e;if(null==i)return t;switch(i.horAlignment){case StiHorAlignment.Left:return new RectangleD(t.right-t.width/2,t.y,t.width/2,t.height);case StiHorAlignment.Right:return new RectangleD(t.x,t.y,t.width/2,t.height)}return t}static calculateTextRect(t,e){let i=e;if(null!=i)switch(i.horAlignment){case StiHorAlignment.Left:t=new RectangleD(t.x,t.y,t.width/2,t.height);break;case StiHorAlignment.Right:t=new RectangleD(t.right-t.width/2,t.y,t.width/2,t.height);break}return t.inflate(-2,-2),t}},__.C.StiSparklinesCellPainter=class{static draw(t,e,i,r,l){}static castToArray(t){return StiArray.isArray(t)?t:null}},__.C.StiTableColumnSizeHelper=class{getUniqueCode(){let t=0;return t=397*(t=397*(t=397*(t=397*t^this.width)^this.minWidth)^this.maxWidth)^this.wordWrap[Stimulsoft.System.StiObject.stimulsoft]().getHashCode(),Math.abs(t)}getColumnWidth(t,e=!1){if(0!=this.width&&!e)return this.width;if(!this.isMeasurable)return t;return t<this.minWidth&&(t=this.minWidth),t=0!=this.maxWidth&&t>this.maxWidth?this.maxWidth:t}getColumnHeight(t){if(!this.isMeasurable)return t;if(this.maxHeight<t)return this.maxHeight;return t}static isWordWrap(t){let e=t.as(IStiTableColumnSize);if(null==(null==e?void 0:e.size))return!1;return e.size.wordWrap}constructor(t,e){this.width=0,this.minWidth=30,this.maxWidth=300,this.maxHeight=0,this.wordWrap=!1,this.fontUniqueCode=0,this.isMeasurable=!1;let i=(this.column=e).as(IStiTableColumnSize);if(null==(null==i?void 0:i.size))return;this.isMeasurable=!0,this.fontUniqueCode=t.getHashCode();let r=i.size;this.width=r.width,this.minWidth=r.minWidth,this.maxWidth=r.maxWidth,this.maxHeight=r.wordWrap?Number.MAX_VALUE:Math.round(t.getHeight())+1,this.wordWrap=r.wordWrap}},Stimulsoft.Report.Dashboard.IStiControlElement),StiLocHelper=__.p.StiLocHelper,StiComboBoxHelper=__.S.StiComboBoxHelper;{class xq0 extends __.z.StiElementExportTool{async render(l,n,o,t){var i,e,s,a;if(0==l.getMeters().length)return;let u=await StiElementDataCache.tryToGetOrCreate(l);if(null==u)return;let r=t.is(StiSvgDashboardExportSettings)&&t.designMode,S=l.as(StiComboBoxElement),m=xq0.getNameMeterIndex(u),h=xq0.getKeyMeterIndex(u),c=r&&null!=S&&!StiString.isNullOrEmpty(S.initialValue),d=StiExportTool.isAllowOpacity(t),g=new Hashtable;if(1<u.meters.countItems)for(let e of u.rows){let t=null==(i=e[1])?void 0:i[Stimulsoft.System.StiObject.stimulsoft]().toString();StiString.isNullOrWhiteSpace(t)||g.set(t,e[0])}let p=l,b=l,C="";if(p.selectionMode==StiItemSelectionMode.One)if(b.userFilters.any())C=b.userFilters[0].value,C=null!=(e=g.get(C))?e:C;else if(p.showAllValue)C=StiLocHelper.locAll;else{let t=u.rows.firstOrDefault();null!=t&&0<t.length&&null!=t[0]&&(C=t[0].toString())}if(c)if(S.initialValue.includes(";"))C=S.initialValue;else{let t=xq0.getRow(S,u,h);if(null==t)return;let e=-1!=m?t[m]:null,i=-1!=h?t[h]:null;null==e&&null==i||(C=(e||i).toString())}if(this.renderElement(n,l,o,this.format(l.as(IStiControlElement),C),d),p.selectionMode==StiItemSelectionMode.Multi&&!c){let e=o,r=0;if(l.is(IStiComboBoxElement)&&(r=l.maxSelectedItems),b.userFilters.any()){let i=b.userFilters;if(i.all(t=>t.condition==StiDataFilterCondition.NotEqualTo)){i=new List;for(let t of u.rows){let e=null==(s=t[1])?void 0:s[Stimulsoft.System.StiObject.stimulsoft]().toString();if(b.userFilters.any(t=>t.value==e))continue;i.add(new StiDataFilterRule(null,null,StiDataFilterCondition.EqualTo,e))}}for(let t of i){if(!(e.x+e.width<=o.x+o.width)){while(1<n.components.count)n.components.removeAt(1);this.renderItem(n,l,o,StiString.format(Loc.get("Dashboard","NSelected"),0<r?r:b.userFilters.length));break}(e=this.renderItem(n,l,e,this.format(l.as(IStiControlElement),null!=(a=g.get(t.value))?a:t.value))).x+=e.width+4}}else if(p.showAllValue)this.renderItem(n,l,o,StiLocHelper.locAll);else{let t=this.getValuesCount(l,u);this.renderItem(n,l,o,StiString.format(Loc.get("Dashboard","NSelected"),0<r?r:t))}}}getValuesCount(t,e){let i=t.as(StiComboBoxElement),r=StiComboBoxHelper.fetchItems(i,e,i.showBlanks);return null!=r?r.length:0}renderElement(t,e,i,r,l){let n=StiDashboardStyleHelper.getForeColor(e),o=StiDashboardStyleHelper.getBackColor(e,null,l),s=new StiText(i);s.name=e.name+`_ComboBox`,s.allowHtmlTags=!0,s.vertAlignment=StiVertAlignment.Center,s.horAlignment=StiTextHorAlignment.Left,s.textBrush=new StiSolidBrush(n),s.brush=new StiSolidBrush(o),s.text=this.format(e.as(IStiControlElement),r),s.font=StiDashboardStyleHelper.getFont(e),t.components.add(s)}renderItem(t,e,i,r){let l=StiDashboardStyleHelper.getControlStyle(e),n=new StiText,o=(n.name=e.name+`_ComboBoxItem`,n.allowHtmlTags=!0,n.vertAlignment=StiVertAlignment.Center,n.horAlignment=StiTextHorAlignment.Center,n.textBrush=new StiSolidBrush(l.selectedForeColor),n.brush=new StiSolidBrush(l.selectedBackColor),n.text=this.format(e.as(IStiControlElement),r),n.font=StiDashboardStyleHelper.getFont(e),t.components.add(n),Graphics.measureString(r,n.font));return n.clientRectangle=new Rectangle(i.x,i.y,o.width+4,i.height)}static getNameMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>"StiNameComboBoxMeter"==t[Stimulsoft.System.StiObject.stimulsoft]().getType()[Stimulsoft.System.StiObject.stimulsoft]().getTypeName());return null!=e?t.meters.indexOf(e):-1}static getKeyMeterIndex(t){if(null==t)return-1;let e=t.meters.firstOrDefault(t=>"StiKeyComboBoxMeter"==t[Stimulsoft.System.StiObject.stimulsoft]().getType()[Stimulsoft.System.StiObject.stimulsoft]().getTypeName());return null!=e?t.meters.indexOf(e):-1}static getRow(i,t,r){if(StiString.isNullOrEmpty(i.initialValue)||-1==r)return t.rows.firstOrDefault();return t.rows.firstOrDefault(t=>{var e;return(null==(e=t[r])?void 0:e.toString())==i.initialValue})}}__.z.StiComboBoxElementExportTool=xq0}let StiDatePickerHelper=__.Q.StiDatePickerHelper,StiListBoxHelper=(__.z.StiDatePickerElementExportTool=class extends __.z.StiElementExportTool{async render(e,i,r,t){let l,n=e;if(null==n.getValueMeter())return;let o=await StiElementDataCache.tryToGetOrCreate(e),s=StiDashboardStyleHelper.getForeColor(e),a=StiDashboardStyleHelper.getBackColor(e);this.storedCulture=null;try{let t=null==(l=e.report)?void 0:l.getParsedCulture();StiString.isNullOrWhiteSpace(t)||(this.storedCulture=CultureInfo.currentCulture,CultureInfo.currentCulture=new CultureInfo(t))}finally{let t=new StiText(r);t.name=e.name+`_Content`,t.allowHtmlTags=!0,t.vertAlignment=StiVertAlignment.Center,t.textBrush=new StiSolidBrush(s),t.brush=new StiSolidBrush(a),t.text=this.getDateTimeString(n,o),t.font=StiDashboardStyleHelper.getFont(n),i.components.add(t),null!=this.storedCulture&&(CultureInfo.currentCulture=this.storedCulture)}}getDateTimeString(i,t){let e,r,l=StiDatePickerHelper.getDefaultValue(i);if(StiVariableExpressionHelper.isVariableSpecifiedAsExpression(i,null==(e=null==i?void 0:i.valueMeter)?void 0:e.expression)){let t=null==(r=StiDatePickerHelper.getVariableSpecifiedAsValue(i))?void 0:r.as(StiVariable);if(Range.isRangeType(null==t?void 0:t.type)&&i.initialRangeSelectionSource==StiInitialDateRangeSelectionSource.Selection){let t={ref:null},e={ref:null};return StiDatePickerHelper.calculateRangeFromInitial(i.initialRangeSelection,t,e),this.getRangeVariableString(i,new DateTimeRange(t.ref,e.ref))}return null!=l&&l[Stimulsoft.System.StiObject.stimulsoft]().is(DateTimeRange)?this.getRangeVariableString(i,l):this.format(i,l)}if(i.userFilters.any()){let t=this.format(i,i.userFilters[0].value);return i.selectionMode!=StiDateSelectionMode.AutoRange&&i.selectionMode!=StiDateSelectionMode.Range||(t+=` - `+this.format(i,i.userFilters[0].value2)),t}return i.selectionMode==StiDateSelectionMode.AutoRange?this.getAutoRangeColumnString(i,t):i.selectionMode==StiDateSelectionMode.Range?this.getRangeColumnString(i):this.format(i,l)}getRangeVariableString(t,e){let i=null==e?void 0:e[Stimulsoft.System.StiObject.stimulsoft]().as(DateTimeRange);return this.format(t,null==i?void 0:i.fromObject)+` - `+this.format(t,null==i?void 0:i.toObject)}getAutoRangeColumnString(i,t){if(null==t)return"";let r=t.rows.select(t=>t[0]).where(t=>null!=t&&t instanceof DateTime);if(r.any()){let t=r.where(t=>t instanceof DateTime).cast().min(),e=r.where(t=>t instanceof DateTime).cast().max();return this.format(i,t)+` - `+this.format(i,e)}return""}getRangeColumnString(t){let e={ref:null},i={ref:null};return StiDatePickerHelper.calculateRangeFromInitial(t.initialRangeSelection,e,i),this.format(t,e.ref)+` - `+this.format(t,i.ref)}},__.P.StiListBoxHelper),StiCheckBox=Stimulsoft.Report.Components.StiCheckBox,StiCheckStyle=Stimulsoft.Report.Components.StiCheckStyle,IStiShape=Stimulsoft.Report.Components.IStiShape;{class ps0 extends __.z.StiElementExportTool{async render(t,l,e,i){if(this.renderEmptyDataMessage(t,l,e.clone(),i))return;let n=l.report,o=l.page,s=t.as(StiListBoxElement),a=l.clone(!0,!1),r=(i.renderSinglePage||(e.height=Number.MAX_VALUE),StiExportTool.isAllowOpacity(i)),u=StiExportTool.getScaleFactor(l,i),S=(await this.renderItems(a,e.clone(),t,r,u),0),m=l.top;0<a.components.count&&(m+=a.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().min(t=>t.top));while(1){let t=a.getComponentsList(),r=0;for(let i of t){let t=i.bottom,e=i.left;i.is(IStiShape)&&(t+=StiElementConsts.ListBox.ItemHeight/3),null!=s?(s.orientation==StiItemOrientation.Vertical&&t<=l.height||s.orientation==StiItemOrientation.Horizontal&&e<=l.width||0==r)&&(a.components.remove(i),l.components.add(i)):t<=l.height&&(a.components.remove(i),l.components.add(i)),r++}if(i.renderSinglePage||0==a.components.count)break;let e=a.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().min(t=>t.top);a.getComponentsList().forEach(t=>t.top=t.top-e+1),n.renderedPages.count<=++S&&n.renderedPages.add(o.clone(!0,!1)),o=n.renderedPages.getByIndex(S),l=l.clone(!0,!1),i.renderSingleElement?(l.top=0,l.left=0):l.top=m,o.components.add(l)}for(let t of l.report.renderedPages.list)t.getComponentsList().forEach(t=>{t.report=n,t.page=o})}static getCheckStyle(t,e){let i=t,r=t.is(StiListBoxElement)&&t.as(StiListBoxElement).selectionMode==StiItemSelectionMode.One&&t.as(StiListBoxElement).selectionType==StiListBoxSelectionType.RadioButton,l=r?StiCheckStyle.DotCircle:StiCheckStyle.CheckRectangle,n=r?StiCheckStyle.NoneCircle:StiCheckStyle.NoneRectangle;if(!i.userFilters.any())return r?n:l;if(i.userFilters.any(t=>t.condition==StiDataFilterCondition.IsFalse))return n;if(i.userFilters.any(t=>t.condition==StiDataFilterCondition.EqualTo&&t.value==(null==e?void 0:e.toString())))return l;return n}async renderItems(r,l,n,o,s){let t=await StiElementDataCache.tryToGetOrCreate(n);if(null==t)return;let e=n,a=StiListBoxHelper.fetchItems(e,t,e.showBlanks);if(null!=a){let t=a.select(t=>null==t?"":null==t.label&&null!=t.value&&t.value instanceof DateTime?t.value.toShortDateString():t.toString()),e=a.select(t=>ps0.getCheckStyle(n,t)),i=a.select(t=>!1);this.renderItems2(r,l.clone(),n,t,e,i,o,s)}}renderItems2(n,o,s,a,u,S,m,h){let c=s,d=c.selectionMode==StiItemSelectionMode.Multi,g=c.selectionMode==StiItemSelectionMode.One&&s.is(StiListBoxElement)&&s.as(StiListBoxElement).selectionType==StiListBoxSelectionType.RadioButton,p=d||g,b=s.is(IStiListBoxElement)&&s.orientation==StiItemOrientation.Horizontal,C=s,f=StiDashboardStyleHelper.getFont(s),w=(f=null!=f?StiFontUtils.changeFontSize(f,f.size*h):new Font("Arial",8),b?this.getHorizontalItemAutoWidth(c,f,a,o.width,p):o.width),y=b?o.height:StiElementConsts.ListBox.ItemHeight,M=o.x,I=o.y;if(c.showAllValue){b&&0==w&&(w=this.measureItemWidth(StiLocHelper.locAll,f,p));let t=new Rectangle(M,I,w,y),e=g?StiCheckStyle.DotCircle:StiCheckStyle.CheckRectangle;C.userFilters.any()&&(e=g?StiCheckStyle.NoneCircle:C.userFilters.any(t=>t.condition==StiDataFilterCondition.IsFalse)?StiCheckStyle.NoneRectangle:StiCheckStyle.DotRectangle),this.renderItem(n,t,s,StiLocHelper.locAll,e,b?StiBorderSides.Right:StiBorderSides.Bottom,d,g,!1,m,h),b?M+=w+1:I+=y+1}if(null!=a){let r=0,l=0;if(0<(l=s.is(IStiListBoxElement)?s.maxSelectedItems:l)&&null!=u){let e=0,i=g?StiCheckStyle.NoneCircle:StiCheckStyle.NoneRectangle,r=g?StiCheckStyle.DotCircle:StiCheckStyle.CheckRectangle;for(let t=0;t<u.length;t++)u[t]==r&&(e<l?e++:u[t]=i)}for(let i=0;i<a.count2();i++){b&&0==w&&(w=this.measureItemWidth(a[i],f,p));let t=new Rectangle(M+r,I,w-r,y),e=u[i];if(!g||C.userFilters.any()||c.showAllValue||0!=i||(e=StiCheckStyle.DotCircle),this.renderItem(n,t,s,a[i],e,StiBorderSides.None,d,g,S[i],m,h),S[i]&&(r+=StiElementConsts.ListBox.CheckBoxWidth),b?M+=w+1:I+=y+1,b&&M>=o.right||!b&&I>=o.bottom)break}}}getHorizontalItemAutoWidth(t,e,i,r,l){let n=0,o=0;if(null!=i)while(n<r&&o<i.length)n+=this.measureItemWidth(i[o],e,l),o++;return t.showAllValue&&(this.measureItemWidth(StiLocHelper.locAll,e,l),o++),n<r&&0<o?r/o:0}measureItemWidth(t,e,i){let r=StiElementConsts.Table.Font.getGdiFont(1,null,e),l=Graphics.measureString(t,r,1e6),n=l.width;return i&&(n+=StiElementConsts.ListBox.CheckBoxWidth),n}renderItem(e,i,r,t,l,n,o,s,a,u,S){if(o||s){let t=r.is(IStiListBoxElement)&&r.orientation==StiItemOrientation.Horizontal;ps0.renderCheckControl(e,i.clone(),r,l,t?StiBorderSides.None:n,s,u,S),i.x+=StiElementConsts.ListBox.CheckBoxWidth*S,i.width-=StiElementConsts.ListBox.CheckBoxWidth*S}let m=StiDashboardStyleHelper.getForeColor(r),h=StiDashboardStyleHelper.getBackColor(r,null,u),c=StiDashboardStyleHelper.getFont(r),d=(c=null!=c?StiFontUtils.changeFontSize(c,c.size*S):new Font("Arial",8),this.format(r.as(IStiControlElement),t)),g=new StiText(i),p=(g.name=r.name+`_Item`,g.allowHtmlTags=!0,g.margins=o||s?new StiMargins(1,0,0,0):StiMargins.empty,g.border=n!=StiBorderSides.None?new StiBorder(n,Color.gray,1,StiPenStyle.Solid):new StiBorder(StiBorderSides.None,Color.transparent,0,StiPenStyle.None),g.brush=new StiSolidBrush(h),g.horAlignment=StiTextHorAlignment.Left,g.vertAlignment=StiVertAlignment.Center,g.text=d,g.textBrush=new StiSolidBrush(m),g.wordWrap=!1,g.font=c,r.as(IStiControlElement));null==p||p.textFormat.is(StiGeneralFormatService)||(g.excelDataValue=d),e.components.add(g)}static renderCheckControl(t,e,i,r,l,n,o,s){let a=StiDashboardStyleHelper.getForeColor(i),u=StiDashboardStyleHelper.getBackColor(i,null,o),S=(e=new Rectangle(e.x,e.y,StiElementConsts.ListBox.CheckBoxWidth*s,e.height),new StiCheckBox(e));S.name=i.name+`_ItemCheckBox`,S.border=l!=StiBorderSides.None?new StiBorder(l,Color.gray,1,StiPenStyle.Solid):new StiBorder(StiBorderSides.None,Color.transparent,0,StiPenStyle.None),S.contourColor=Color.transparent,S.textBrush=new StiSolidBrush(a),S.brush=new StiSolidBrush(u),S.checkStyleForTrue=r,S.checkStyleForFalse=n?StiCheckStyle.NoneCircle:StiCheckStyle.NoneRectangle,S.checkedValue=r!=StiCheckStyle.NoneRectangle&&r!=StiCheckStyle.NoneCircle,t.components.add(S)}}__.z.StiListBoxElementExportTool=ps0}let StiVerticalLinePrimitive=Stimulsoft.Report.Components.StiVerticalLinePrimitive,StiFlowchartSortShapeType=Stimulsoft.Report.Components.StiFlowchartSortShapeType;{class Au0 extends __.z.StiElementExportTool{async render(t,l,n,e){let o=t.as(StiNumberBoxElement);if(null==o.getValueMeter())return;let s=n.height+2*n.y,a=__.z.StiExportTool.isAllowOpacity(e),u=await StiNumberBoxHelper.getInitialValue(o);if(u[Stimulsoft.System.StiObject.stimulsoft]().getType()==Stimulsoft.Report.DecimalRange){let t=new Rectangle(n.x,n.y,n.width/2,n.height),e=1,i=new Rectangle(t.right,s/4,e,s/2),r=new Rectangle(t.right,n.y,n.width/2,n.height);this.paintItem(l,o,t,u.from,a),this.paintSeparator(l,o,i),this.paintItem(l,o,r,u.to,a)}else if(Stimulsoft.System.Type.isNumericType(Stimulsoft.System.Type.getType(u))){let t=u,e=10,i=new Rectangle(n.right-e-3,s/3,e,s/3);this.paintItem(l,o,n,t,a),this.paintNavButtons(l,o,i)}}paintItem(t,e,i,r,l){let n=StiDashboardStyleHelper.getForeColor(e),o=StiDashboardStyleHelper.getBackColor(e,null,l),s=new StiText(i);s.name=e.name+`_NumberBox`,s.allowHtmlTags=!0,s.vertAlignment=StiVertAlignment.Center,s.horAlignment=Enum.parse(StiTextHorAlignment,Enum.getName(StiHorAlignment,e.horAlignment)),s.textBrush=new StiSolidBrush(n),s.brush=new StiSolidBrush(o),s.text=Au0.formatValue(e,r),s.font=StiDashboardStyleHelper.getFont(e),t.components.add(s)}paintSeparator(t,e,i){let r=new StiVerticalLinePrimitive(i);r.name=e.name+`_NumberBoxSep`,r.color=Au0.getSeparatorColor(e),t.components.add(r)}paintNavButtons(t,e,i){let r=new StiShape(i);r.name=e.name+`_NumberBoxButtons`,r.shapeType=new StiFlowchartSortShapeType,r.borderColor=StiDashboardStyleHelper.getForeColor(e),t.components.add(r)}static formatValue(t,e){return t.textFormat.format(e)}static getSeparatorColor(t){return StiDashboardStyleHelper.getSeparatorColor(t)}}__.z.StiNumberBoxElementExportTool=Au0}let StiOnlineMapHelper=__.h.StiOnlineMapHelper,StiMapMode=Stimulsoft.Report.Maps.StiMapMode,StiDockStyle=(__.z.StiOnlineMapElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r){var l,n,o;if(this.renderEmptyDataMessage(t,e,i.clone(),r))return;let s=await StiElementDataCache.tryToGetOrCreate(t),a=StiOnlineMapHelper.calculateMapData(s,t),u=t,S=new StiMap;if(S.stretch=!0,S.page=u.page,S.dataTable=s,e.report.dictionary=u.report.dictionary,S.latitude=null==(l=u.latitude)?void 0:l.expression,S.longitude=null==(n=u.longitude)?void 0:n.expression,S.mapMode=StiMapMode.Online,S.provider=u.provider,a.pushpins)S.pushPins=`[${null==(o=a.pushpins)?void 0:o.map(t=>`"pp=${t.lon},${t.lat};60"`).join(",")}]`;else if(a.osmLocations)try{let t=await fetch("https://reports.stimulsoft.com/1/maplocation",{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a.osmLocations}),e=await t.json(),i=JSON.parse(e.Result);S.pushPins=`[${i.filter(t=>t.center&&t.found).map(t=>`"pp=${t.center.replace("[","").replace("]","").split(",").reverse().join(",")};60"`).join(",")}]`}catch(t){S.pushPins="[pp=0,0;60]"}else S.pushPins="[pp=0,0;60]";S.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(t,null,r.is(StiSvgDashboardExportSettings)||r.is(StiHtmlDashboardExportSettings))),S.left=i.left,S.top=i.top,S.width=i.width,S.height=i.height,e.components.add(S)}},__.z.StiPanelElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r){let l=StiDashboardStyleHelper.getBackColor(t),n=new StiContainer(i);n.name=t.name+`_Content`,n.brush=new StiSolidBrush(l),e.components.add(n)}},Stimulsoft.Report.Components.StiDockStyle),StiCrossTabBuilder=Stimulsoft.Report.Engine.StiCrossTabBuilder,StiCrossTabParams=Stimulsoft.Report.CrossTab.StiCrossTabParams,StiPivotTableHelper=__.h.StiPivotTableHelper;{class Fv0 extends __.z.StiElementExportTool{async render(l,n,o,s){if(this.renderEmptyDataMessage(l,n,o.clone(),s))return;let a=n.report,e=l.as(StiPivotTableElement),u=n.page,i=s.is(StiSvgDashboardExportSettings)&&s.designMode,t=StiExportSettingsHelper.isDataExport(s),S=StiExportTool.getScaleFactor(n,s),m=null,r=1!=StiScale.factor||1!=S,h=null==(m=r?m:StiPivotTableToCrossTabCache.get(e));if(h||r){let t=await StiElementDataCache.tryToGetOrCreate(e);null==t&&(t=new StiDataTable),m=await StiPivotTableHelper.convertToCrossTab(e,t,S),r||(StiPivotTableToCrossTabCache.put(e,m),StiPivotToConvertedStateCache.putFalse(e))}StiPivotTableHelper.applyStyle(e,m,t),i&&(Fv0.renderForWebDesigner(m,e),StiPivotTableToCrossTabCache.remove(e)),Fv0.convertSizes(e,m,!r);let c=m.crossTabInfo.cross,d=c.widths[Stimulsoft.System.StiObject.stimulsoft]().toList().sum(),g=c.heights[Stimulsoft.System.StiObject.stimulsoft]().toList().sum();if(d<=o.width&&g<=o.height||i||s.renderSinglePage){StiBorderExportHelper.render(l,n,s),StiBackColorExportHelper.render(l,n);let t=await StiTitleExportHelper.render(l,n,s);t=StiLayoutExportHelper.excludePadding(l,t,S),t=StiLayoutExportHelper.excludeCornerRadius(l,t,S),Fv0.renderCells(n,t,t,null,m,i)}else if(s.is(StiExcelDashboardExportSettings)){!s.renderSingleElement&&0!=a.renderedPages.getByIndex(0).components.count||a.renderedPages.removeAt(0),u=new StiPage;let t=new StiPanel,e=(t.name=l.name,t.clientRectangle=new Rectangle(0,0,d,g),u.components.add(t),a.renderedPages.add(u),StiBorderExportHelper.render(l,t,s),StiBackColorExportHelper.render(l,t),await StiTitleExportHelper.render(l,t,s)),i=(a.renderedPages.remove(u),2*d-e.width+e.left+1),r=2*g-e.height+e.top+1;(u=new StiPage).width=i,u.height=r,(t=new StiPanel).name=l.name,t.clientRectangle=new Rectangle(0,0,i,r),u.components.add(t),a.renderedPages.add(u),StiBorderExportHelper.render(l,t,s),StiBackColorExportHelper.render(l,t),e=await StiTitleExportHelper.render(l,t,s),u.unlimitedHeight=!0,Fv0.renderCells(t,e,e,null,m,!1)}else{let r=u.clone(!0,!1),t=(a.renderedPages.add(r),n.clone(!0,!1)),e=(t.left=0,t.top=0,t.width=r.width,t.height=r.height,o=new Rectangle(0,0,r.width,r.height),r.components.add(t),n=t,!s.renderSingleElement&&0!=a.renderedPages.getByIndex(0).components.count||a.renderedPages.removeAt(0),StiBorderExportHelper.render(l,n,s),StiBackColorExportHelper.render(l,n),await StiTitleExportHelper.render(l,n,s)),i=(e=StiLayoutExportHelper.excludePadding(l,e,S),e=StiLayoutExportHelper.excludeCornerRadius(l,e,S),new Rectangle(e.left,e.top,e.width+d,e.height+g));u.unlimitedHeight=!0,Fv0.renderCells(n,i,e,null,m,!1);for(let i=0;i<r.segmentPerWidth;i++)for(let e=0;e<r.segmentPerHeight;e++)if(0!=i||0!=e){let t=n.clone(!0,!1);t.left=i*u.width,t.top=e*u.height,t.width=u.width,t.height=u.height,r.components.insert(0,t),StiBorderExportHelper.render(l,t,s),StiBackColorExportHelper.render(l,t),await StiTitleExportHelper.render(l,t,s)}}for(let t of n.report.renderedPages.list)t.getComponentsList().forEach(t=>{t.report=a,t.page=u})}static renderForWebDesigner(t,e){let i=e.columns.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,e.report)).toList(),r=e.rows.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,e.report)).toList(),l=e.summaries.where(t=>StiPivotTableColumnVisibilityHelper.getVisible(t,e.report)).toList();if(!(1<i.length||1<r.length))return;let n=t.crossTabInfo.cross.cells,o=0,s=new List,a=new List,u=null,S=null,m=e.summaryDirection==StiSummaryDirection.LeftToRight?l.length:1,h=e.summaryDirection==StiSummaryDirection.UpToDown?l.length:1,c=StiPivotTableHelper.getHeadersBounds(n);for(let i=0;i<n.length;i++){let e=n[i][0];for(e.cellType==StiCellType.LeftTopLineMain&&((u=new Gv0).cell=e,u.x=i,u.width=e.width),e.cellType==StiCellType.RightTopLineMain&&((S=new Gv0).cell=e,S.x=i),o=0;o<n[i].length;o++)if((e=n[i][o]).cellType==StiCellType.CornerColMain||e.cellType==StiCellType.CornerRowMain){let t=new Gv0;t.cell=e,t.x=i,t.y=o,t.width=e.width,t.height=e.height,s.add(t)}}if(-1<c.top){let l=-1;for(let r=0;r<n.length;r++){let i=n[r][c.top];if(i.cellType==StiCellType.HeaderColMain||i.cellType==StiCellType.HeaderColTotalMain){l=-1==l?r:l;let t=c.bottom-c.top+(1<m?0:1),e=new Gv0;if(e.cell=i,e.x=l,e.y=c.top,e.height=t,e.width=m,s.add(e),i.text=(1<t&&i.cellType!=StiCellType.HeaderColTotalMain?"> ":"")+i.text,a.add(r+i.width-1),1<m)for(let e=r+i.width-m;e<r+i.width;e++){let t=new Gv0;t.cell=n[e][c.bottom],t.x=l,t.y=c.bottom,s.add(t),a.add(e),l++}else l++}}}if(-1<c.left){let r=-1;for(o=0;o<n[0].length;o++){let i=n[0][o];if(i.cellType==StiCellType.HeaderRowMain||i.cellType==StiCellType.HeaderRowTotalMain){r=-1==r?o:r;let t=c.right+(1<h?0:1),e=new Gv0;if(e.cell=i,e.x=0,e.y=r,e.height=h,e.width=t,e.cellRow=1==h?o+i.height-1:-1,s.add(e),i.text=(1<t&&i.cellType!=StiCellType.HeaderRowTotalMain?"> ":"")+i.text,1<h)for(let e=o+i.height-h;e<o+i.height;e++){let t=new Gv0;t.cell=n[c.right][e],t.x=c.right,t.y=r,t.cellRow=e,s.add(t),r++}else r++}}}null!=u&&(u.width=c.right-c.left+1,s.add(u)),null!=S&&(S.width=s.max(t=>t.x)-c.right,s.add(S));let d=StiDashboardStyleHelper.getPivotTableStyle(e),g=s.max(t=>t.y)+1,p=s.max(t=>t.x)+1,b=StiArray.create2(StiCell,p,g);for(let r of s)if(b[r.x][r.y]=r.cell,r.cell.width=r.width,r.cell.height=r.height,0<=r.cellRow)for(o=r.y;o<r.y+r.height;o++){let i=c.right+1;for(let t=r.width;t<n.length;t++)if(0<=a.indexOf(t)){b[i++][o]=n[t][r.cellRow+o-r.y],b[i-1][o].field.border.side=t==n.length-1?StiBorderSides.None:StiBorderSides.Right;let e=b[i-1][o];if(null!=e&&null!=e.field&&e.field.brush.is(StiSolidBrush)){let t=e.field.brush.color;(t.equals(d.alternatingCellBackColor)||t.equals(d.cellBackColor))&&(e.field.brush=new StiSolidBrush(o%2!=0?d.alternatingCellBackColor:d.cellBackColor),e.field.textBrush=new StiSolidBrush(o%2!=0?d.alternatingCellForeColor:d.cellForeColor))}null!=e&&null!=e.field&&(e.field.brush=null!=e.field.conditionBrush?e.field.conditionBrush:e.field.brush,e.field.textBrush=null!=e.field.conditionTextBrush?e.field.conditionTextBrush:e.field.textBrush)}}n=StiArray.create2(StiCell,p,0);for(let e=0;e<p;e++){n[e]=StiArray.create(StiCell,g);for(let t=0;t<g;t++)n[e][t]=null!=b[e][t]?b[e][t]:new StiCell,null!=n[e][t].field&&e==p-1&&(n[e][t].field.border.side|=StiBorderSides.Top),0<t&&(n[e][t].parentCell=n[e][t])}let C=StiArray.create(Number,g),f=StiArray.create(Number,p);StiArray.copy(t.crossTabInfo.cross.heights,0,C,g),StiArray.copy(t.crossTabInfo.cross.widths,0,f,p),t.crossTabInfo.cross.cells=n,t.crossTabInfo.cross.widths=f,t.crossTabInfo.cross.heights=C,t.crossTabInfo.cross.doAutoSize()}static renderCells(t,e,i,r,l,n){l.page.unlimitedHeight=!0,t.canBreak=!0,t.dockStyle=StiDockStyle.None;let o=new StiCrossTabParams,s=(o.startColumn=0,o.startRow=0,o.destinationContainer=t,o.destinationRectangle=i,o.forceNoBreak=n,new StiCrossTabBuilder);s.renderCrossTabUnlimitedBreakable(o,l,t,e.clone())}static convertSizes(t,e,i){let r=e.crossTabInfo.cross,l=t.report.unit;StiPivotToConvertedStateCache.isConverted(t)&&i||(this.convert(r.heights,l),this.convert(r.widths,l),this.convert(r.coordX,l),this.convert(r.coordY,l),i&&StiPivotToConvertedStateCache.putTrue(t))}static convert(e,i){for(let t=0;t<e.length;t++)e[t]=i.convertToHInches(e[t])}}__.z.StiPivotTableElementExportTool=Fv0;class Gv0{constructor(){this.x=0,this.y=0,this.width=1,this.height=1,this.cellRow=-1}}}__.z.StiRegionMapElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r){if(this.renderEmptyDataMessage(t,e,i.clone(),r))return;let l=t,n=StiDashboardStyleHelper.getElementFontFromStyle(t,l.font),o=new StiMap;if(o.stretch=!0,o.page=l.page,o.mapType=l.mapType,o.dataFrom=l.dataFrom,o.language=l.language,o.mapStyle=StiDashboardStyleHelper.getMapStyleIdent(l),o.componentStyle=l.customStyleName,o.mapIdent=l.mapIdent,o.mapMode=StiMapMode.Choropleth,o.showValue=l.showValue,o.shortValue=l.shortValue,o.showZeros=l.showZeros,o.showBubble=l.showBubble,o.colorEach=l.colorEach,o.show3D=l.show3D,o.displayNameType=l.showName,o.colorDataColumn=null==l.colorMeter?"":l.colorMeter.expression,o.groupDataColumn=null==l.groupMeter?"":l.groupMeter.expression,o.valueDataColumn=null==l.valueMeter?"":l.valueMeter.expression,o.nameDataColumn=null==l.nameMeter?"":l.nameMeter.expression,o.keyDataColumn=null==l.keyMeter?"":l.keyMeter.expression,o.mapData=l.mapData,o.labels=new StiMapLabels(n,l.labels.foreColor,l.labels.shadowColor,l.labels.showShadow),o.brush=new StiSolidBrush(StiDashboardStyleHelper.getBackColor(t,null,r.is(StiSvgDashboardExportSettings)||r.is(StiHtmlDashboardExportSettings))),o.left=i.left,o.top=i.top,o.width=i.width,o.height=i.height,o.valueFormat=l.valueFormat,l.dataFrom==StiMapSource.DataColumns){let t=await StiElementDataCache.tryToGetOrCreate(l);o.dataTable=t,e.report.dictionary=l.report.dictionary}e.components.add(o)}},__.z.StiShapeElementExportTool=class extends __.z.StiElementExportTool{async render(t,e,i,r){let l=t.as(StiShapeElement),n=new StiShape;n.shapeType=l.shapeType,n.size=l.size,n.borderColor=l.stroke,n.brush=l.fill,n.page=l.page,n.left=i.left,n.top=i.top,n.width=i.width,n.height=i.height,e.components.add(n)}};let StiTableElementPagingHelper=Stimulsoft.Report.Dashboard.Helpers.StiTableElementPagingHelper,StiTableColumnVisibilityHelper=Stimulsoft.Report.Dashboard.StiTableColumnVisibilityHelper,StiBubbleCellPainter=__.C.StiBubbleCellPainter,StiSparklinesCellPainter=__.C.StiSparklinesCellPainter,StiSparkline=Stimulsoft.Report.Components.StiSparkline,StiSystemVariableObject=Stimulsoft.Data.Functions.StiSystemVariableObject,StiTableElementGdiPainter=__.q.StiTableElementGdiPainter,StiTableElementHelper=__.h.StiTableElementHelper,StiDataBarsCellPainter=__.C.StiDataBarsCellPainter,StiColorScaleCellPainter=__.C.StiColorScaleCellPainter,StiTextQuality=Stimulsoft.Report.Components.StiTextQuality,StiConditionIconPainter=__.C.StiConditionIconPainter;{class Jx0 extends __.z.StiElementExportTool{async render(t,i,e,r){if(null==r||this.renderEmptyDataMessage(t,i,e.clone(),r))return;let l=i.report,n=i.page,o=r.is(StiSvgDashboardExportSettings)&&r.as(StiSvgDashboardExportSettings).designMode,s=t.as(StiTableElement),a=null==r?__.f.StiDashboardExportFormat.Document:r.format,u=StiExportSettingsHelper.isDataExport(r),S=r.renderSingleElement&&(a==__.f.StiDashboardExportFormat.Excel||a==__.f.StiDashboardExportFormat.Html||a==__.f.StiDashboardExportFormat.Image),m=(r.renderSinglePage&&!S||(e.height=Number.MAX_VALUE),delete s.cacheStyle,i.clone(!0,!1)),h=StiExportTool.getScaleFactor(i,r),c=(await Jx0.renderCells(m,e,s,h,a,u,o),S&&Jx0.fitToTable(t,i,e,r,m.components.toList(),u),0),d=i.top;0<m.components.count&&(d+=m.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().min(t=>t.top));while(1){if(m.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().where(t=>t.bottom<=i.height).toList().forEach(t=>{m.components.remove(t),(t.left<i.width||a==__.f.StiDashboardExportFormat.Data)&&(i.components.add(t),t.right>i.width)&&a!=__.f.StiDashboardExportFormat.Data&&(t.width=Math.max(0,i.width-t.left))}),r.renderSinglePage||0==m.components.count)break;let e=m.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().min(t=>t.top);m.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().forEach(t=>t.top=t.top-e+1),l.renderedPages.count<=++c&&l.renderedPages.add(n.clone(!0,!1)),n=l.renderedPages.getByIndex(c),i=i.clone(!0,!1),null!=r&&r.renderSingleElement?u||(i.top=t.as(IStiMargin).margin.top,i.left=t.as(IStiMargin).margin.left):i.top=d,n.components.add(i)}for(let t of i.report.renderedPages.list)t.getComponentsList()[Stimulsoft.System.StiObject.stimulsoft]().toList().forEach(t=>{t.report=l,t.page=n})}static async renderCellsForViewer(t,i,h){let c,d=t.as(StiTableElement);if(null==d)return null;let g=await StiElementDataCache.getOrCreate(d);if(null==g)return null;g=this.processDataTableWithTopN(g);let p=1,b=[],C=StiElementConsts.Table.getHeight(d.getDataFont(),p),f=g.meters.where(t=>t.is(StiTableColumn)).cast(),e=null!=f.firstOrDefault(t=>t.showTotalSummary),w=(delete d.cacheStyle,0),y=0<d.rowsPerPage,M=0,I=g.rows.length-1;if(y){let t=null!=i&&null!=i[d.key]?i[d.key]:1,e=Math.ceil(g.rows.length/d.rowsPerPage);t>e&&(t=e),M=(t-1)*d.rowsPerPage,I=Math.min(t*d.rowsPerPage-1,g.rows.length-1)}for(let m of f){m.cache={};let t=await this.getColumnVisibilityState(m,d.report);if(!t){w++;continue}let o=Jx0.measureHeader(d,m,p);if(m.is(StiSparklinesColumn))o=Jx0.measureSparklinesCell(p,o);else{for(let r=M;r<=I;r++){let t=g.rows[r],e=t[w],i;i=m.is2(StiIndicatorColumn)?Jx0.measureIndicatorCell(d,m,p,e):m.is2(StiDataBarsColumn)?Jx0.measureDataBarsCell(d,m,p,e):Jx0.measureCommonCell(d,m,p,e,o).width,o=Math.max(o,i)}if(m.showTotalSummary){let t=StiTableElementHelper.calculateTotal(m,w,g),e=this.measureFooter(d,m,p,t);o=Math.max(o,e)}}let s=StiTableElementHelper.minDataColumnValue(m,g,w),a=StiTableElementHelper.maxDataColumnValue(m,g,w),u=y&&h?M:0,S=y&&h?I:g.rows.length-1;for(let n=u;n<=S;n++){if(b.length<=S-u&&b.push([]),y&&!h&&(n<M||n>I))continue;let r=g.rows[n],i=this.processRowValue(n,r[w],m),t=new Rectangle(0,0,o,C),e=new StiPanel,l=(await Jx0.renderCell(e,t,d,r,f.select(t=>t.key),m,p,i,s,a,1==(1&n),__.f.StiDashboardExportFormat.Html,!1),{});if(0<d.tableConditions.length&&0<e.components.length){let t=e.components.getByIndex(0);t.is(StiText)||(t.is(IStiBrush)&&(l["backColor"]=ColorTranslator.toHtml(StiBrush.toColor(t.as(IStiBrush).brush))),t.is(IStiTextBrush)&&(l["textColor"]=ColorTranslator.toHtml(StiBrush.toColor(t.as(IStiTextBrush).textBrush))))}if("boolean"==typeof i)l["boolValue"]=i;else for(let t of e.components.list)if(t.is(StiText)){if(l["text"]=t.text,l["textColor"]=ColorTranslator.toHtml(StiBrush.toColor(t.textBrush)),l["backColor"]=ColorTranslator.toHtml(StiBrush.toColor(t.brush)),l["textWidth"]=t.width,l["textHeight"]=t.height,0<d.tableConditions.length){let t=null==(c=d.as(IStiFont))?void 0:c.font,e=0<d.tableConditions.length?await StiTableElementConditionHelper.processFontStyle(t,m.key,d,r,f.select(t=>t.key)):FontStyle.Regular,i=(t=new Font(t.fontFamily.name,t.size,e),{});i["bold"]=t.bold,i["italic"]=t.italic,i["underline"]=t.underline,i["strikeout"]=t.strikeout,l["textFontStyle"]=i}if(null!=i){let e=null;if(i instanceof DateTime){let t=CultureInfo.currentCulture;try{CultureInfo.currentCulture=CultureInfo.getCultureInfo("en-US"),e=i.toString()}finally{CultureInfo.currentCulture=t}}else e=i.toString();null!=e&&e!=l["text"]&&(l["value"]=e)}}else t.is(StiImage)?(l["image"]=null!=t.imageToDraw?Stimulsoft.Base.Drawing.StiImageConverter.imageToString(t.imageToDraw):null,l["imageWidth"]=t.width,l["imageHeight"]=t.height,0<d.tableConditions.length&&(l["iconAlignment"]=Enum.getName(StiIconAlignment,d.tableConditions.firstOrDefault().iconAlignment).toLowerCase())):t.is(StiSparkline)&&(l["sparkline"]=Stimulsoft.Report.Export.StiHtmlExportService.getSparklineData(null,t,t.width,t.height),l["sparklineWidth"]=t.width,l["sparklineHeight"]=t.height);null==l["boolValue"]&&null==l["text"]&&null==l["image"]&&(l["text"]=i),b[h?n-u:n].push(l)}if(e){b.length<g.rows.length+1&&b.push([]);let e={};if(e["text"]="",m.showTotalSummary){let t=StiTableElementHelper.calculateTotal(m,w,g);e["text"]=m.summaryType==StiSummaryColumnType.Count?StiMath.trunc(t).toString():StiTextFormatHelper.formatBasedOnColumnType(d,m,t)}b[b.length-1].push(e)}w++}return b}static fitToTable(r,l,n,t,o,e){if(0==o.countItems)return;if(n.width=o.max(t=>t.right),n.height=o.max(t=>t.bottom),!e){let t=r[Stimulsoft.System.StiObject.stimulsoft]().as(IStiPadding).padding,e=(n.width=o.max(t=>t.right)+t.right,n.height=o.max(t=>t.bottom)+t.bottom,0<l.components.count?l.components.list[l.components.count-1].as(StiText):null),i=(null!=e&&(e.width=n.width),r.as(IStiMargin).margin);n.width+=i.left+i.right,n.height+=i.top+i.bottom}t.format,__.f.StiDashboardExportFormat.Image,l.width=l.page.width=n.width,l.height=l.page.height=n.height}static async renderCells(u,S,m,h,c,d,r){let g=await StiElementDataCache.tryToGetOrCreate(m);if(null==g)return;g=this.processDataTableWithTopN(g);let e=StiElementConsts.Table.getHeight(m.getColumnFont(),h),t=StiElementConsts.Table.getHeight(m.getDataFont(),h),p=g.meters.where(t=>t.is(StiTableColumn)).cast(),i=null!=p.firstOrDefault(t=>t.showTotalSummary),l=r?0:m.currentPageIndex,n=0!=m.rowsPerPage&&-1!=l&&c!=__.f.StiDashboardExportFormat.Excel,o=1,b=(n&&(o=StiTableElementPagingHelper.getNumberOfPages(g.rows.length,m.rowsPerPage))<=1&&(n=!1),g.rows);if(n){let t=b.skip(m.rowsPerPage*l).take(m.rowsPerPage);t.any()?b=t:n=!1}let C=i?StiElementConsts.Table.getHeight(m.getTotalFont(),h):0,s=n?StiElementConsts.Table.getHeight(m.getTotalFont(),h):0,f=C+s,w=new List,y=[],M=0;for(let r of p){r.cache={};let i=0,t=await this.getColumnVisibilityState(r,m.report);if(t&&(i=this.measureHeader(m,r,h),r.showTotalSummary)){let t=StiTableElementHelper.calculateTotal(r,M,g),e=this.measureFooter(m,r,h,t);i=Math.max(i,e)}w.push(i),M++}let I=S.y+e;if(I<S.bottom-f){for(let o of b){let n=t;M=-1;for(let l of p){M++;let t=await StiTableColumnVisibilityHelper.getVisible(l,m.report);if(!t)continue;let r=w[M];if(l.is(StiSparklinesColumn))r=this.measureSparklinesCell(h,r);else{let e=o[M],i;if(l.is2(StiIndicatorColumn))i=this.measureIndicatorCell(m,l,h,e);else if(l.is2(StiDataBarsColumn))i=this.measureDataBarsCell(m,l,h,e);else if(l.is2(StiBubbleColumn))i=Jx0.measureBubbleCell(m,l,h,e);else{let t=this.measureCommonCell(m,l,h,e,r);i=t.width,n=Math.max(t.height,n)}r=Math.max(r,i)}w[M]=r}if(I+n>S.bottom-f&&(n=S.bottom-f-I)<1.2&&(n=1.2),y.push(n),(I+=n)>=S.bottom-f)break}y.push(t)}if(m.sizeMode==StiTableSizeMode.Fit){let e=S.width/w.sum(),t=((1<e||!r)&&(w=w.select(t=>t*e).toList()),-1);for(let n of b){if(++t>=y.length)break;M=-1;let l=y[t];for(let r of p){if(M++,r.is2(StiIndicatorColumn)||r.is2(StiDataBarsColumn))continue;if(r.is(IStiTableColumnSize)&&null!=r.size){let t=r,e=t.size.width,i=(t.size.width=w[M]-4,this.measureCommonCell(m,r,h,n[M],t.size.width));l=Math.max(i.height,l),t.size.width=e}}y[t]=l}}let T=S.x;M=0;for(let a of p){let t=await this.getColumnVisibilityState(a,m.report);if(!t){M++;continue}let s=w[M];if(c==__.f.StiDashboardExportFormat.Excel&&(s*=1.1),I=S.y,c!=__.f.StiDashboardExportFormat.Data){let t=new Rectangle(T,I,s,e);this.renderHeader(u,t,m,a,h,c,d),I+=t.height}if(I<=S.bottom-f){let l=StiTableElementHelper.minDataColumnValue(a,g,M),n=StiTableElementHelper.maxDataColumnValue(a,g,M),o=0;for(let r of b){let t=Math.ceil(y[o]),e=this.processRowValue(o,r[M],a),i=new Rectangle(T,I,s,t);if(await this.renderCell(u,i,m,r,p.select(t=>t.key),a,h,e,l,n,1==(1&o),c,d),I+=t,o++,I>=S.bottom-f)break}}if(c!=__.f.StiDashboardExportFormat.Data&&!d&&i){let t=new Rectangle(T,r?S.bottom-f:I,s,C);this.renderFooter(u,t,m,a,M,h,g)}T+=s,M++}if(c!=__.f.StiDashboardExportFormat.Data&&!d&&n){let t=StiString.format(StiLocalization.get("Report","PageNofM"),l+1,o),e=T-S.x,i=new Rectangle(S.x,(r?S.bottom-f:I)+C,e,s);this.renderCurrentPageNumber(u,i,m,h,t)}}static processDataTableWithTopN(t){let e=t.meters.where(t=>t.is(StiTableColumn)).cast().toList(),r=t.rows,l=0;for(let i of e){let t=i.topN,e=this.processTopNElements(r,t,l);r=e.select(t=>t).toList(),l++}let i=new StiDataTable;return i.meters.addRange(e),i.rows.addRange(r),i}static processTopNElements(t,e,i){if(e.mode==StiDataTopNMode.None)return t;let r=new List;for(let e of t){let t=StiValueHelper.tryToNumber(e[i]);r.add({key:t,value:e})}e.mode==StiDataTopNMode.Bottom?r.sort((t,e)=>t.key[Stimulsoft.System.StiObject.stimulsoft]().compareTo(e.key)):r.sort((t,e)=>e.key[Stimulsoft.System.StiObject.stimulsoft]().compareTo(t.key));let l=r.take(e.count).select(t=>t.value).toList();return l}static measureSparklinesCell(t,e){return Math.max(e,80*t)}static measureHeader(t,e,i){return StiTableElementGdiPainter.measureHeader(t,e).width*i}static measureFooter(t,e,i,r){let l=StiTextFormatHelper.formatBasedOnColumnType(t,e,r);return StiTableElementGdiPainter.measureCell(l,t.getTotalFont(),e).width*i}static measureIndicatorCell(t,e,i,r){let l=e.as(StiIndicatorColumn),n=StiIndicatorCellPainter.getCellText(t,l,StiValueHelper.tryToNullableNumber(r)),o=StiTableElementGdiPainter.measureCell(n,t.getDataFont(),e).width*i;return o*=1.25}static measureDataBarsCell(t,e,i,r){let l=StiTextFormatHelper.formatBasedOnColumnType(t,e,r),n=StiTableElementGdiPainter.measureCell(l,t.getDataFont(),e).width*i;return e.horAlignment!=StiHorAlignment.Center&&(n*=2),n=e.is(StiDataBarsColumn)&&0<e.width?i*e.width:n}static measureBubbleCell(t,e,i,r){let l=StiTextFormatHelper.formatBasedOnColumnType(t,e,r),n=StiTableElementGdiPainter.measureCell(l,t.getDataFont(),e).width*i,o=StiElementConsts.Table.getHeight(t.getDataFont(),i);if(e.horAlignment==StiHorAlignment.Center)return o;return n+=o}static measureCommonCell(t,e,i,r,l){if(StiImageHelper.isImage(r))return new Size(l,0);let n=StiTextFormatHelper.formatBasedOnColumnType(t,e,r),o=StiTableElementGdiPainter.measureCell(n,t.getDataFont(),e);return o.width*=i,o.height*=i,o}static renderHeader(t,e,i,r,l,n,o){let s=null!=r?StiLabelHelper.getLabel(r):"",a=StiString.isNullOrWhiteSpace(s)?i.name+`_Column`:StiNameValidator.correctName(s),u=StiDashboardStyleHelper.getTableStyle(i),S=0!=i.columns.indexOf(r)&&e.left<t.width&&!o,m=i.columns.indexOf(r)!=i.columns.length-1&&e.right<=t.width&&!o,h=(S?StiBorderSides.Left:StiBorderSides.None)|(m?StiBorderSides.Right:StiBorderSides.None),c=o?Color.black:this.getHeaderForeColor(i),d=o?Color.transparent:this.getHeaderBackColor(i),g=o?new Font("Arial",10,FontStyle.Bold):i.getColumnFont(),p=new StiText(e);p.name=a,p.allowHtmlTags=!0,p.autoWidth=!1,p.horAlignment=this.getHeaderAlignment(r),p.vertAlignment=StiVertAlignment.Center,p.wordWrap=!1,p.border=new StiBorder(h,u.lineColor,1,StiPenStyle.Solid),p.brush=new StiSolidBrush(d),p.font=StiElementConsts.Table.Font.getGdiFont(l,null,g),p.text=s,p.textFormat=null!=r.textFormat?r.textFormat.clone():null,p.textBrush=new StiSolidBrush(c),p.componentPlacement=`h.`+i.name,t.components.add(p)}static getHeaderAlignment(t){if(t.headerAlignment==StiHorAlignment.Left)return StiTextHorAlignment.Left;if(t.headerAlignment==StiHorAlignment.Right)return StiTextHorAlignment.Right;return StiTextHorAlignment.Center}static renderFooter(t,e,i,r,l,n,o){let s=this.getFooterForeColor(i),a=this.getFooterBackColor(i),u=i.getTotalFont(),S="",m=0,h=(r.showTotalSummary&&(m=StiTableElementHelper.calculateTotal(r,l,o),S=r.summaryType==StiSummaryColumnType.Count?StiMath.trunc(m).toString():StiTextFormatHelper.formatBasedOnColumnType(i,r,m)),StiTextHorAlignment.Right),c=(r.summaryAlignment==StiHorAlignment.Left?h=StiTextHorAlignment.Left:r.summaryAlignment==StiHorAlignment.Center&&(h=StiTextHorAlignment.Center),new StiText(e)),d=(c.name=i.name+`_FooterCell`,null!=r.textFormat&&r.textFormat.is(StiGeneralFormatService)?null:S);null!=r.textFormat&&(r.textFormat.is(StiCurrencyFormatService)||r.textFormat.is(StiNumberFormatService)||r.textFormat.is(StiPercentageFormatService))&&(d=m.toString()),c.border=this.getBorderSides(t,e,i,r,StiBorderSides.All),c.brush=new StiSolidBrush(a),c.excelDataValue=d,c.font=StiElementConsts.Table.Font.getGdiFont(n,null,u),c.horAlignment=h,c.vertAlignment=StiVertAlignment.Center,c.text=S,c.textBrush=new StiSolidBrush(s),c.textFormat=null!=r.textFormat?r.textFormat.clone():null,c.wordWrap=!1,c.componentPlacement=`f.`+i.name,t.components.add(c)}static renderCurrentPageNumber(t,e,i,r,l){let n=this.getFooterForeColor(i),o=this.getFooterBackColor(i),s=i.getTotalFont(),a=new StiText(e);a.name=i.name+`_CurrentPage`,a.brush=new StiSolidBrush(o),a.font=StiElementConsts.Table.Font.getGdiFont(r,null,s),a.horAlignment=StiTextHorAlignment.Center,a.vertAlignment=StiVertAlignment.Center,a.margins=new StiMargins(0,0,1,0),a.textQuality=StiTextQuality.Typographic,a.text=l,a.textBrush=new StiSolidBrush(n),a.wordWrap=!1,a.componentPlacement=`f.`+i.name,t.components.add(a)}static async renderCell(t,e,i,r,l,n,o,s,a,u,S,m,h){let c=StiDashboardStyleHelper.getTableStyle(i),d=this.getForeColor(i,n,c,S),g=StiTableElementGdiPainter.getBackgroundColor(i,i.cells,c,null!=S&&S);g=0<i.tableConditions.length?await StiTableElementConditionHelper.processBackColor(g,n.key,i,r,l):g,h?await this.renderTextCell(t,e,i,r,l,n,o,s,StiBorderSides.None,Color.black,Color.transparent,m,!0):n.is2(StiDataBarsColumn)||n.is2(StiSparklinesColumn)||n.is2(StiIndicatorColumn)||n.is2(StiBubbleColumn)?await this.renderGraphicCell(t,e,i,r,l,n,o,s,a,u,g,c,null!=S&&S,m):n.is2(StiColorScaleColumn)?await this.drawColorScaleColumn(t,e,i,r,l,n,o,s,a,u,c,m):StiImageHelper.isImage(s)?this.renderImageCell(t,e,i,n,s,g,m):"boolean"==typeof s?await this.renderBoolCell2(t,e,i,r,l,n,o,s,d,g,m):await this.renderTextCell(t,e,i,r,l,n,o,s,StiBorderSides.All,d,g,m,!1,null,!0,!0)}static processRowValue(t,e,i){let r,l=i.textFormat,n=(null!=e&&e[Stimulsoft.System.StiObject.stimulsoft]().is(StiSystemVariableObject)&&(e=e==StiSystemVariableObject.Line&&null!=l?l.format(t+1):Funcs.getSystemVariable(null==e?void 0:e[Stimulsoft.System.StiObject.stimulsoft]().as(StiSystemVariableObject),t+1)),i.ident==StiMeterIdent.SparklinesColumn);return e=ListExt.isList(e)&&!StiImageHelper.isImage(e)?n?ListExt.toList(e):null==(r=ListExt.toList(e))?void 0:r.firstOrDefault():e}static async renderGraphicCell(o,s,a,u,S,m,e,h,i,r,c,d,l,n){let g="",p=s,b=this.getForeColor(a,m,d,l),C=new XmlTextWriter(Encoding.UTF8);if(C.indentation=-1,C.writeStartElement("svg"),C.writeAttributeString("version","1.1"),C.writeAttributeString("baseProfile","full"),C.writeAttributeString("xmlns","http://www.w3.org/2000/svg"),C.writeAttributeString("xmlns:xlink","http://www.w3.org/1999/xlink"),C.writeAttributeString("xmlns:ev","http://www.w3.org/2001/xml-events"),C.writeAttributeString("height",StiSvgHelper.toUnits(s.height)),C.writeAttributeString("width",StiSvgHelper.toUnits(s.width)),C.writeStartElement("rect"),C.writeAttributeString("x","0"),C.writeAttributeString("y","0"),C.writeAttributeString("width",StiSvgHelper.toUnits(s.width)),C.writeAttributeString("height",StiSvgHelper.toUnits(s.height)),C.writeAttributeString("style",StiSvgHelper.writeFillBrush(C,c,s)),C.writeEndElement(),m.is2(StiSparklinesColumn)){let t=StiSparklinesCellPainter.castToArray(h),e=null==t?void 0:t.map(t=>null==t?void 0:t[Stimulsoft.System.StiObject.stimulsoft]().toNumber()),i=m.as(StiSparklinesColumn),r=s,l=await StiTableElementConditionHelper.getIconCondition(m.key,a,u,S),n=(null!=l&&l.iconAlignment!=StiIconAlignment.None&&(l.iconAlignment==StiIconAlignment.Right?r=new Rectangle(s.x,s.y,s.width-s.height,s.height):l.iconAlignment==StiIconAlignment.Left&&(r=new Rectangle(s.x+s.height,s.y,s.width-s.height,s.height))),new StiSparkline(r));if(n.values=e,n.positiveColor=i.allowCustomColors?i.positiveColor:d.cellSparkline,n.negativeColor=i.allowCustomColors?i.negativeColor:d.cellWinLossNegative,n.showFirstLastPoints=i.showFirstLastPoints,n.showHighLowPoints=i.showHighLowPoints,n.type=i.type,n.brush=new StiSolidBrush(c),n.componentPlacement=`d.`+a.name,o.components.add(n),null!=l&&l.iconAlignment!=StiIconAlignment.None){let t=await StiConditionIconPainter.getImageWithConditionIcon(l,s,a.name);o.components.add(t)}return}let f=new StiSvgGeomWriter(C),w=StiBorderSides.None,y="GraphicCell",M=new Rectangle(0,0,s.width,s.height),I=m.horAlignment;if(m.is2(StiDataBarsColumn)){await StiDataBarsCellPainter.draw(f,M,a,u,S,m,e,StiValueHelper.tryToNumber(h),i,r,l,!1,!1),n!=__.f.StiDashboardExportFormat.Data&&(p=StiDataBarsCellPainter.calculateTextRect(s.clone(),m)).inflate(2,2),g=StiTextFormatHelper.formatBasedOnColumnType(a,m,h),b=StiDataBarsCellPainter.getForeColor(a,m,d,l,!1);let t=StiValueHelper.tryToNumber(h);t<0&&StiNegativeColorChecker.isNegativeInRed(m.textFormat)&&(b=Stimulsoft.StiOptions.Engine.negativeColor),b=0<a.tableConditions.length?await StiTableElementConditionHelper.processForeColor(b,m.key,a,u,S):b,w=StiBorderSides.Right,y="DataBarsCell"}else if(m.is2(StiIndicatorColumn))await StiIndicatorCellPainter.draw(f,M,a,u,S,m,e,StiValueHelper.tryToNullableNumber(h),d,!1),p=StiIndicatorCellPainter.calculateTextRect(s.clone(),m),g=StiIndicatorCellPainter.getCellText(a,m,StiValueHelper.tryToNullableNumber(h)),b=StiIndicatorCellPainter.getColor(m,StiValueHelper.tryToNullableNumber(h),d),b=0<a.tableConditions.length?await StiTableElementConditionHelper.processForeColor(b,m.key,a,u,S):b,w=StiBorderSides.None,y="IndicatorCell";else if(m.is2(StiBubbleColumn)){await StiBubbleCellPainter.draw(f,M,a,u,S,m,e,StiValueHelper.tryToNullableNumber(h),i,r,l,!1,!1),n!=__.f.StiDashboardExportFormat.Data&&(p=StiBubbleCellPainter.calculateTextRect(a,s.clone(),m)).inflate(2,2),g=StiBubbleCellPainter.getCellText(a,m,StiValueHelper.tryToNullableNumber(h)),b=StiDataBarsCellPainter.getForeColor(a,m,d,l,!1),b=0<a.tableConditions.length?await StiTableElementConditionHelper.processForeColor(b,m.key,a,u,S):b,w=StiBorderSides.None,y="BubbleCell";let t=m[Stimulsoft.System.StiObject.stimulsoft]().as(IStiHorAlignment);null!=t&&(t.horAlignment==StiHorAlignment.Center&&n!=__.f.StiDashboardExportFormat.Data&&(g=null),t.horAlignment==StiHorAlignment.Left&&(I=StiHorAlignment.Right),t.horAlignment==StiHorAlignment.Right)&&(I=StiHorAlignment.Left)}if(C.writeFullEndElement(),C.flush(),n!=__.f.StiDashboardExportFormat.Data&&!m.is2(StiSparklinesColumn)){let t=new StiImage(s),e=(t.name=a.name+`_`+y,t.border=this.getBorderSides(o,s,a,m,StiBorderSides.All),t.stretch=!0,t.aspectRatio=m.is2(StiIndicatorColumn)||m.is2(StiBubbleColumn),C.textWriter.getStringBuilder().toString());t.image=StiImageConverter.stringToImage(Stimulsoft.System.Convert.toBase64String(e)),t.brush=new StiSolidBrush(c),t.horAlignment=I,o.components.add(t)}n!=__.f.StiDashboardExportFormat.Data&&StiString.isNullOrEmpty(g)||await this.renderTextCell(o,p,a,u,S,m,e,h,w,b,c,n,!1,!1,!0,!1)}static async drawColorScaleColumn(t,e,i,r,l,n,o,s,a,u,S,m){let h=n.as(StiColorScaleColumn),c=this.getForeColor(i,n,S,!1),d=StiColorScaleCellPainter.getScaleColor(StiValueHelper.tryToNumber(s),a,u,S,h.minimumColor,h.maximumColor),g=i.tableConditions.length?await StiTableElementConditionHelper.processForeAndBackColor(c,d,n.key,i,r,l):{foreColor:c,backColor:d};await this.renderTextCell(t,e,i,r,l,n,o,s,StiBorderSides.All,g.foreColor,g.backColor,m,!1,null,!0,!0)}static async renderBoolCell2(r,l,n,o,s,a,t,u,S,m,e){if(e==__.f.StiDashboardExportFormat.Data)await this.renderTextCell(r,l,n,o,s,a,t,u,StiBorderSides.None,S,m,e,!1);else{let t=0<n.tableConditions.length?await StiTableElementConditionHelper.processForeAndBackColor(S,m,a.key,n,o,s):{foreColor:S,backColor:m},e=u?StiCheckStyle.CheckRectangle:StiCheckStyle.NoneRectangle,i=new StiCheckBox(l);i.name=n.name+`_Cell`,i.border=this.getBorderSides(r,l,n,a,StiBorderSides.All),i.contourColor=Color.transparent,i.textBrush=new StiSolidBrush(t.foreColor),i.brush=new StiSolidBrush(t.backColor),i.checkStyleForTrue=e,i.checkStyleForFalse=StiCheckStyle.NoneRectangle,i.checkedValue=e!=StiCheckStyle.NoneRectangle,i.excelDataValue=u.toString(),i.componentPlacement=`d.`+n.name,r.components.add(i)}}static async renderTextCell(e,i,l,n,o,t,r,s,a,u,S,m,h,c=null,d=!1,g=!1){let p,b=null,C=null,f=(!d||h||null==(C=await StiTableElementConditionHelper.getIconCondition(t.key,l,n,o))||C.iconAlignment==StiIconAlignment.None||h||m==__.f.StiDashboardExportFormat.Html||(C.iconAlignment==StiIconAlignment.Left?b=new StiMargins(i.height,0,0,0):C.iconAlignment==StiIconAlignment.Right&&(b=new StiMargins(0,i.height,0,0))),StiTextFormatHelper.formatBasedOnColumnType(l,t,s)),w=h?new Font("Arial",10):l.getDataFont(),y=(t.is(StiDimensionColumn)&&t.showHyperlink&&(w=new Font(w.fontFamily.name,w.size,w.style|FontStyle.Underline)),await StiTableElementConditionHelper.processFontStyle(w,t.key,l,n,o)),M=(w.style!=y&&(w=new Font(w.fontFamily.name,w.size,y)),StiValueHelper.tryToNumber(s));if(M<0&&StiNegativeColorChecker.isNegativeInRed(t.textFormat)&&(u=Stimulsoft.StiOptions.Engine.negativeColor),t.is(StiSparklinesColumn)){let t=StiSparklinesCellPainter.castToArray(s),e=null==t?void 0:t.map(t=>t.toString());f=StiString.join(" ",e)}let I=0<l.tableConditions.length?await StiTableElementConditionHelper.processForeAndBackColor(u,S,t.key,l,n,o):{foreColor:u,backColor:S},T=StiTitleExportHelper.convert(t.horAlignment),x=(t.is(StiBubbleColumn)&&(T=StiTextHorAlignment.Right),t.as(IStiTableColumnSize)),D=(null!=(null==x?void 0:x.size)&&null==c&&(c=x.size.wordWrap),null);if(t.is(StiDimensionColumn)&&t.showHyperlink&&!StiString.isNullOrWhiteSpace(t.hyperlinkPattern)){let r=new Stimulsoft.System.Collections.Hashtable;r.add("Value",s);for(let i=0;i<o.length;i++){let t=l.columns.firstOrDefault(t=>t.key==o[i]),e="Row."+StiNameValidator.correctName(t.label,!0);r.add(e,null==(p=n[i])?void 0:p.toString())}D=await Stimulsoft.Report.Dashboard.StiReportParser.parseAsync(t.hyperlinkPattern,l,!1,r)}let v=null!=t.textFormat&&t.textFormat.is(StiGeneralFormatService)?null:f,F=(null!=s&&null!=t.textFormat&&(t.textFormat.is(StiCurrencyFormatService)||t.textFormat.is(StiNumberFormatService)||t.textFormat.is(StiPercentageFormatService))&&(v=s.toString()),new StiMargins(2,2,1,0)),A=(null!=b&&(F=new StiMargins(F.left+b.left,F.right+b.right,F.top+b.top,F.bottom+b.bottom)),new StiText(i));if(A.name=l.name+`_Cell`,A.border=this.getBorderSides(e,i,l,t,a),A.brush=new StiSolidBrush(I.backColor),A.excelDataValue=v,A.font=StiElementConsts.Table.Font.getGdiFont(r,null,w),A.horAlignment=T,A.vertAlignment=StiVertAlignment.Center,A.margins=F,A.text=f,A.textBrush=new StiSolidBrush(I.foreColor),A.textFormat=null!=t.textFormat?t.textFormat.clone():null,A.wordWrap=0!=c,A.componentPlacement=`d.`+l.name,A.trimming=StringTrimming.EllipsisCharacter,A.hyperlinkValue=D,e.components.add(A),null!=C&&C.iconAlignment!=StiIconAlignment.None&&g){let t=await StiConditionIconPainter.getImageWithConditionIcon(C,i,l.name);e.components.add(t)}}static renderImageCell(t,e,i,r,l,n,o){if(o==__.f.StiDashboardExportFormat.Data)return;let s=StiImageHelper.getImageFromObject(l);if(null==s)return;let a=new StiImage(e);a.name=i.name+`_Cell`,a.border=this.getBorderSides(t,e,i,r,StiBorderSides.All),a.brush=new StiSolidBrush(n),a.stretch=!0,a.aspectRatio=!0,a.imageToDraw=s,a.horAlignment=r.horAlignment,t.components.add(a)}static async renderBoolCell(t,e,i,r,l,n,o,s,a,u,S){if(S==__.f.StiDashboardExportFormat.Data)return void await this.renderTextCell(t,e,i,r,l,n,o,s,a,null,u,S,!1);let m=0!=i.columns.indexOf(n),h=i.columns.indexOf(n)!=i.columns.length-1,c=(m?StiBorderSides.Left:StiBorderSides.None)|(h?StiBorderSides.Right:StiBorderSides.None),d=StiDashboardStyleHelper.getTableStyle(i),g=new StiImage(e);g.name=i.name+`_Cell`,g.border=a?new StiBorder(c,d.lineColor,1,StiPenStyle.Solid):new StiBorder(StiBorderSides.None,Color.transparent,0,StiPenStyle.None),g.brush=new StiSolidBrush(u),g.horAlignment=StiHorAlignment.Center,g.vertAlignment=StiVertAlignment.Center,t.components.add(g)}static async getColumnVisibilityState(t,e){if(t.visibility==StiTableColumnVisibility.TrueAndHidden)return!1;return StiTableColumnVisibilityHelper.getVisible(t,e)}static getForeColor(t,e,i,r){if(!Color.transparent.equals(e.foreColor))return e.foreColor;if(e.is(StiDimensionColumn)&&e.showHyperlink)return StiColor.get("165dc8");let l=StiDashboardExpressionHelper.getForeColor(t,t.cells.data.foreColor);if(!Color.transparent.equals(l))return l;return null!=i?r?i.alternatingCellForeColor:i.cellForeColor:StiElementConsts.Table.Font.Color}static getHeaderBackColor(t){if(!t.cells.columns.backColor.equals(Color.transparent))return t.cells.columns.backColor;let e=StiDashboardStyleHelper.getTableStyle(t);return e.headerBackColor}static getHeaderForeColor(t){if(!Color.transparent.equals(t.cells.columns.foreColor))return t.cells.columns.foreColor;let e=StiDashboardStyleHelper.getTableStyle(t);return e.headerForeColor}static getFooterForeColor(t){if(!Color.transparent.equals(t.footerForeColor))return t.footerForeColor;let e=StiDashboardStyleHelper.getTableStyle(t);return e.footerForeColor}static getFooterBackColor(t){if(!t.cells.totals.backColor.equals(Color.transparent))return t.cells.totals.backColor;let e=StiDashboardStyleHelper.getTableStyle(t);return e.footerBackColor}static getBorderSides(t,e,i,r,l){let n=StiDashboardStyleHelper.getTableStyle(i),o=0!=(l&StiBorderSides.Left)&&0!=i.columns.indexOf(r)&&e.left<t.width,s=0!=(l&StiBorderSides.Right)&&i.columns.indexOf(r)!=i.columns.length-1&&e.right<=t.width,a=(o?StiBorderSides.Left:StiBorderSides.None)|(s?StiBorderSides.Right:StiBorderSides.None),u=a!=StiBorderSides.None?1:0,S=a!=StiBorderSides.None?n.lineColor:Color.transparent;return new StiBorder(a,S,u,StiPenStyle.Solid)}}__.z.StiTableElementExportTool=Jx0}let StiAutoSizeHtmlTextHelper=__.h.StiAutoSizeHtmlTextHelper;{class GF0 extends __.z.StiElementExportTool{async render(t,e,l,i){if(this.renderEmptyDataMessage(t,e,l.clone(),i))return;let n=t.as(StiTextElement),o="";if(n.isReportParserExpression||StiExpressionHelper.isTimeExpression(n.text)||GF0.isExpressionWithVariables(n.text,n.report))o=await StiReportParser.parseAsync(n.text,n,!1);else if(n.isQuerable){let t=await StiElementDataCache.tryToGetOrCreate(n),e=new List(null==t?void 0:t.rows.firstOrDefault()).select(t=>StiValueHelper.tryToString(t)).toList();null!=e&&(o=StiExpressionHelper.replaceExpressionBlocksByValues(n.text,e))}else o=n.text;!StiString.isNullOrEmpty(o)&&o.toLowerCase()[Stimulsoft.System.StiObject.stimulsoft]().replaceAll(" ","").includes("javascript:")&&(o=o.toLowerCase()[Stimulsoft.System.StiObject.stimulsoft]().replaceAll("javascript",""));let s=i.format==__.f.StiDashboardExportFormat.Excel||i.format==__.f.StiDashboardExportFormat.Html?.96:1,r=StiExportTool.getScaleFactor(e,i);if(o=this.changeFontSize(o,r*s),n.sizeMode==StiTextSizeMode.Fit||n.sizeMode==StiTextSizeMode.FitAndWordWrap){let r,t=3;do{let t=StiAutoSizeHtmlTextHelper.measure(null,l.clone(),o,n),e=t.width>l.width?l.width/t.width:1,i=l.height<t.height?l.height/t.height:1;r=Math.min(Math.abs(e),Math.abs(i)),(r=n.sizeMode==StiTextSizeMode.FitAndWordWrap&&.8<t.width/l.width&&i<.5?1-.7*(1-r):r)<1&&(o=this.changeFontSize(o,.99*r))}while(r<1&&0<t--);s<1&&(o=this.changeFontSize(o,s))}let a=new StiText(l);a.name=t.name+`_Content`,a.allowHtmlTags=!0,a.vertAlignment=n.vertAlignment,a.horAlignment=n.horAlignment,a.text=o,a.textBrush=new StiSolidBrush(StiDashboardStyleHelper.getForeColor(n)),a.trimming=n.sizeMode==StiTextSizeMode.Trimming?StringTrimming.EllipsisCharacter:StringTrimming.None,a.wordWrap=n.sizeMode==StiTextSizeMode.WordWrap||n.sizeMode==StiTextSizeMode.FitAndWordWrap,a.rightToLeft=n.rightToLeft,e.components.add(a)}changeFontSize(t,e){if(null==t||!t.startsWith("<font ")||t.indexOf(' size="')<0)return t;let i=t.indexOf(' size="')+7,r=t.substring(i),l=(r=r.substring(0,r.indexOf('"')))[Stimulsoft.System.StiObject.stimulsoft]().toNumber();return null==l&&(l=12),l=Math.ceil(l*e*10)/10,t.substring(0,i)+l.toString().replace(",",".")+t.substring(i+r.length)}static isExpressionWithVariables(e,i){var t;if(!StiString.isNullOrEmpty(e)&&StiExpressionHelper.isExpression(e)&&0<(null==(t=null==i?void 0:i.variables)?void 0:t.count))for(let t of i.variables.keys)if(e.toLowerCase().includes(t.toLowerCase()))return!0;return!1}}__.z.StiTextElementExportTool=GF0}__.z.StiTreeViewBoxElementExportTool=class extends __.z.StiComboBoxElementExportTool{async render(t,e,i,r){return super.render(t,e,i,r)}getValuesCount(t,e){let i=t.as(IStiTreeViewBoxElement),r=StiTreeViewHelper.fetchItems(e,i.showBlanks);return null!=r?r.length:0}};let StiShapeDirection=Stimulsoft.Report.Components.StiShapeDirection,StiTriangleShapeType=Stimulsoft.Report.Components.StiTriangleShapeType;{class nG0 extends __.z.StiListBoxElementExportTool{async render(t,e,i,r){return super.render(t,e,i,r)}getCheckStyle(e,i){let t=e;if(!t.userFilters.any())return StiCheckStyle.CheckRectangle;if(t.userFilters.any(t=>t.condition==StiDataFilterCondition.IsFalse))return StiCheckStyle.NoneRectangle;if(null!=i.items){let t=i.items.select(t=>this.getCheckStyle(e,t));if(t.all(t=>t==StiCheckStyle.CheckRectangle))return StiCheckStyle.CheckRectangle;if(t.all(t=>t==StiCheckStyle.NoneRectangle))return StiCheckStyle.NoneRectangle;return StiCheckStyle.DotRectangle}if(t.userFilters.any(t=>t.condition==StiDataFilterCondition.EqualTo&&t.value==i.toString()))return StiCheckStyle.CheckRectangle;return StiCheckStyle.NoneRectangle}async renderItems(t,e,i,r,l){let n,o=await StiElementDataCache.tryToGetOrCreate(i);if(null==o)return;let s=!1,a=i.as(IStiTreeViewElement),u=StiTreeViewHelper.fetchItems(o,a.showBlanks),S=(1==(null==u?void 0:u.length)&&0<(null==(n=u[0].items)?void 0:n.length)&&(u=u.concat(u[0].items),s=!0),null==u?void 0:u.select(t=>null==t?"":null!=t.key&&t.key instanceof DateTime?t.key.toShortDateString():t.toString())),m=null==u?void 0:u.select(t=>this.getCheckStyle(i,t)),h=null==u?void 0:u.select(t=>s&&t==u.first());this.renderItems2(t,e.clone(),i,S,m,h,r,l)}renderItem(t,e,i,r,l,n,o,s,a,u,S){r!=StiLocHelper.locAll&&(nG0.renderExpander(t,e.clone(),i,a),e.x+=StiElementConsts.ListBox.CheckBoxWidth/2,e.width-=StiElementConsts.ListBox.CheckBoxWidth/2),super.renderItem(t,e.clone(),i,r,l,n,o,s,a,u,S)}static renderExpander(t,e,i,r){e=new Rectangle(e.x,e.y+e.height/2-e.height/8,StiElementConsts.ListBox.CheckBoxWidth/3,e.height/4);let l=new StiShape(e);l.name=i.name+`_ItemExpander`,l.shapeType=new StiTriangleShapeType(r?StiShapeDirection.Down:StiShapeDirection.Right),l.brush=new StiSolidBrush(Color.dimGray),l.style=StiPenStyle.None,t.components.add(l)}}__.z.StiTreeViewElementExportTool=nG0}let StiHorizontalLinePrimitive=Stimulsoft.Report.Components.StiHorizontalLinePrimitive,StiWebContent=Stimulsoft.Report.Components.StiWebContent;__.z.StiWebContentElementExportTool=class extends __.z.StiElementExportTool{async render(e,r,l,t){if(this.renderEmptyDataMessage(e,r,l.clone(),t))return;let n=e.as(StiWebContentElement),o=StiString.isNullOrEmpty(n.url)?"EmbedCode":"URL",s=StiString.isNullOrEmpty(n.url)?n.embedCode:n.url;if(null!=t&&t.is(StiSvgDashboardExportSettings)&&t.designMode){let t=30,e=1,i=20;this.paintHeader(r,n,new Rectangle(l.x,l.top,l.width,t),o),this.paintSeparator(r,n,new Rectangle(l.x+i,l.top+t,l.width-2*i,e)),this.paintWebContent(r,n,new Rectangle(l.x,l.top+t+e,l.width,t),s,!0)}else{let t=new StiWebContent(l);t.name=e.name+"_Content",t.embedCode=n.embedCode,t.url=n.url,t.page=r.page,r.components.add(t)}}paintHeader(t,e,i,r){let l=StiDashboardStyleHelper.getForeColor(e),n=new StiText(i);n.name=e.name+`__WebContentHeader`,n.vertAlignment=StiVertAlignment.Center,n.horAlignment=StiTextHorAlignment.Left,n.textBrush=new StiSolidBrush(l),n.brush=new StiSolidBrush(Color.transparent),n.margins=new StiMargins(20,0,0,0),n.text=r,n.font=new Font("Arial",8,FontStyle.Bold),t.components.add(n)}paintSeparator(t,e,i){let r=StiDashboardStyleHelper.getForeColor(e),l=new StiHorizontalLinePrimitive(i);l.name=e.name+`_WebContentSep`,l.color=r,t.components.add(l)}paintWebContent(t,e,i,r,l=!1){let n=StiDashboardStyleHelper.getForeColor(e),o=new StiText(i);o.name=e.name+`__WebContentContent`,o.vertAlignment=l?StiVertAlignment.Center:StiVertAlignment.Top,o.horAlignment=StiTextHorAlignment.Left,o.textBrush=new StiSolidBrush(n),o.brush=new StiSolidBrush(Color.transparent),o.margins=new StiMargins(l?20:0,0,0,0),o.text=r,o.font=new Font("Arial",8,FontStyle.Bold),o.allowHtmlTags=!l,t.components.add(o)}};{class IH0{static run(S,m){var h,c,d,g;if(void 0===S)return void IH0.run(Stimulsoft,"Stimulsoft");if("Stimulsoft.ExternalLibrary"==m||"Stimulsoft.Blockly"==m||"Stimulsoft.StiOptions"==m)return;m=m.replace("Stimulsoft.System","System");for(let u in S){if(u[0]!==u[0].toUpperCase())continue;let t=S[u],e=typeof t,i=t instanceof Stimulsoft.System.Interface,r="object"==e,l="function"==e;if(!r&&!l||null==t)continue;let n=l&&null!=(c=null==(h=t.getTypeName)?void 0:h.call(t))?c:u,o=l&&null!=(g=null==(d=t.getNamespace)?void 0:d.call(t))?g:m,s=o+`.`+n,a=s.startsWith("Stimulsoft.Report.StiOptions");(i||l||a)&&(IH0.setProperty(t,"typeName",n),IH0.setProperty(t,"namespace",o),IH0.setProperty(t,"fullName",s)),r&&!i&&IH0.run(t,s)}}static setProperty(e,i,t){try{Object.defineProperty(e,i,{value:t,writable:!1,configurable:!0,enumerable:!1})}catch(t){console.warn(`Failed to set property '${i}' on '${e.constructor.name}':`,t)}}}__.c.StiTypesHelper=IH0}__.c.StiTypesHelper.run();export{Stimulsoft};
|