// // Copyright 2020 FoxyUtils ehf. All rights reserved. // // This is a commercial product and requires a license to operate. // A trial license can be obtained at https://unidoc.io // // DO NOT EDIT: generated by unitwist Go source code obfuscator. // // Use of this source code is governed by the UniDoc End User License Agreement // terms that can be accessed at https://unidoc.io/eula/ package convertutils ;import (_b "bytes";_bc "errors";_a "fmt";_bg "github.com/unidoc/unichart";_bdf "github.com/unidoc/unichart/dataset";_d "github.com/unidoc/unichart/render";_ff "github.com/unidoc/unioffice/common/logger";_bac "github.com/unidoc/unioffice/document"; _be "github.com/unidoc/unioffice/measurement";_dc "github.com/unidoc/unioffice/schema/soo/dml";_ea "github.com/unidoc/unioffice/schema/soo/dml/chart";_bcf "github.com/unidoc/unioffice/spreadsheet";_aa "github.com/unidoc/unioffice/spreadsheet/format";_fa "github.com/unidoc/unioffice/spreadsheet/formula"; _gd "github.com/unidoc/unioffice/spreadsheet/reference";_gfe "github.com/unidoc/unipdf/v3/creator";_cd "github.com/unidoc/unipdf/v3/model";_fgd "github.com/unidoc/unipdf/v3/render";_fgf "github.com/unidoc/unitype";_bd "image";_cf "math";_gf "os";_c "regexp"; _ba "sort";_fg "strconv";_e "strings";_gc "sync";_g "unicode";);func _add (_bcg _dc .ST_SchemeColorVal ,_cgc *_dc .Theme )string {if _feg :=_cgc .ThemeElements ;_feg !=nil {if _bacf :=_feg .ClrScheme ;_bacf !=nil {switch _bcg {case _dc .ST_SchemeColorValLt1 :return GetColorStringFromDmlColor (_bacf .Lt1 ); case _dc .ST_SchemeColorValDk1 ,_dc .ST_SchemeColorValTx1 :return GetColorStringFromDmlColor (_bacf .Dk1 );case _dc .ST_SchemeColorValLt2 :return GetColorStringFromDmlColor (_bacf .Lt2 );case _dc .ST_SchemeColorValDk2 :return GetColorStringFromDmlColor (_bacf .Dk2 ); case _dc .ST_SchemeColorValAccent1 :return GetColorStringFromDmlColor (_bacf .Accent1 );case _dc .ST_SchemeColorValAccent2 :return GetColorStringFromDmlColor (_bacf .Accent2 );case _dc .ST_SchemeColorValAccent3 :return GetColorStringFromDmlColor (_bacf .Accent3 ); case _dc .ST_SchemeColorValAccent4 :return GetColorStringFromDmlColor (_bacf .Accent4 );case _dc .ST_SchemeColorValAccent5 :return GetColorStringFromDmlColor (_bacf .Accent5 );case _dc .ST_SchemeColorValAccent6 :return GetColorStringFromDmlColor (_bacf .Accent6 ); };};};return "";};func _fcc (_fgcc *_ea .CT_CatAx )(uint32 ,_ea .ST_AxPos ,_ea .ST_TickMark ,_ea .ST_TickLblPos ,*_ea .CT_ChartLines ,uint32 ,*_dc .CT_ShapeProperties ,error ){var _dbd ,_bfea uint32 ;var _cgf _ea .ST_AxPos ;var _bcfb _ea .ST_TickMark ; var _caa *_ea .CT_ChartLines ;var _ced _ea .ST_TickLblPos ;if _fgcc .AxId ==nil {return _dbd ,_cgf ,_bcfb ,_ced ,_caa ,_bfea ,_fgcc .SpPr ,_bc .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_dbd =_fgcc .AxId .ValAttr ; };if _fgcc .AxPos ==nil {return _dbd ,_cgf ,_bcfb ,_ced ,_caa ,_bfea ,_fgcc .SpPr ,_bc .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_cgf =_fgcc .AxPos .ValAttr ;};if _fgcc .MajorTickMark !=nil {_bcfb =_fgcc .MajorTickMark .ValAttr ; };if _fgcc .TickLblPos !=nil {_ced =_fgcc .TickLblPos .ValAttr ;};if _fgcc .CrossAx ==nil {return _dbd ,_cgf ,_bcfb ,_ced ,_caa ,_bfea ,_fgcc .SpPr ,_bc .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_bfea =_fgcc .CrossAx .ValAttr ; };_caa =_fgcc .MajorGridlines ;return _dbd ,_cgf ,_bcfb ,_ced ,_caa ,_bfea ,_fgcc .SpPr ,nil ;};func (_bafg *creatorContext )drawRectangleWithProps (_dfc *_dc .CT_ShapeProperties ,_dea ,_ccaa ,_fafe ,_addg float64 ,_gefc bool ){_eaedf :=_bafg ._bdga .NewRectangle (_dea ,_ccaa ,_fafe ,_addg ); if _dfc ==nil {if _gefc {_eaedf .SetBorderWidth (_dgbc );}else {return ;};}else {_bfaa :=_bafg .getPdfColorFromSolidFill (_dfc .SolidFill );if _bfaa !=nil {_eaedf .SetFillColor (_bfaa );};if _gcf :=_dfc .Ln ;_gcf !=nil {if _bag :=_gcf .WAttr ;_bag !=nil {_dadb :=_be .FromEMU (int64 (*_bag )); _eaedf .SetBorderWidth (_dadb );if _dgda :=_gcf .SolidFill ;_dgda !=nil {_gcd :=_bafg .getPdfColorFromSolidFill (_dgda );if _gcd !=nil {_eaedf .SetBorderColor (_gcd );};};}else {_eaedf .SetBorderWidth (0);};};};_bafg ._bdga .Draw (_eaedf );};func (_bbb *creatorContext )drawLegend (_fc *Rectangle ,_egd []*legendItem ,_ccd bool ){_ecfg :=_bbb ._fgac ; _fbb :=_bcac (2.5)*_ecfg ;_eec :=_ace *_ecfg ;_gbcb :=(_fbb -_eec )/2;_aga :=float64 (len (_egd ));if _ccd {_cff :=&Rectangle {Top :_fc .Top +_bcac (1)*_ecfg ,Bottom :_fc .Bottom -_bcac (1)*_ecfg ,Left :_fc .Left +_bcac (2.5)*_ecfg ,Right :_fc .Right -_bcac (2.5)*_ecfg }; var _cae float64 ;if _aga > 1{_cae =(_cff .Right -_cff .Left )/_aga ;};_ffdb :=_cff .Left ;_ae :=_cff .Top ;for _ ,_gbf :=range _egd {if _agb :=_gbf ._fdbee ;_agb !=nil {_bbb .drawRectangleWithProps (_agb ,_ffdb ,_ae +_gbcb ,_eec ,_eec ,false );_aaba :=_ffdb +_eec *2; _ccf :=_bbb ._bdga .NewStyledParagraph ();_ccf .SetPos (_aaba ,_ae );_aad :=_ccf .Append (_gbf ._gbaf );_gaab ,_dac :=_cd .NewStandard14Font (_cd .HelveticaName );if _dac ==nil {_cdbdd :=_bbb ._bdga .NewTextStyle ();_cdbdd .Font =_gaab ;_cdbdd .FontSize =_fbb ; _cdbdd .TextRise =0.4;_aad .Style =_cdbdd ;_bbb ._bdga .Draw (_ccf );};};_ffdb +=_cae ;};}else {_cea :=&Rectangle {Top :_fc .Top +_bcac (2.5)*_ecfg ,Bottom :_fc .Bottom -_bcac (2.5)*_ecfg ,Left :_fc .Left +_bcac (2.5)*_ecfg ,Right :_fc .Right -_bcac (2.5)*_ecfg }; var _afg float64 ;if _aga > 1{_afg =(_cea .Bottom -_cea .Top -_fbb )/(_aga -1);if _afg < _fbb {_afg =_fbb ;};};_abgc :=_cea .Top ;_gca :=_cea .Left ;_bdab :=_gca +_eec *2;for _ ,_eed :=range _egd {if _ddb :=_eed ._fdbee ;_ddb !=nil {_bbb .drawRectangleWithProps (_ddb ,_gca ,_abgc +_gbcb ,_eec ,_eec ,false ); _dacd :=_bbb ._bdga .NewStyledParagraph ();_dacd .SetPos (_bdab ,_abgc );_dacd .SetWidth (_cea .Right -_cea .Left );_fcg :=_dacd .Append (_eed ._gbaf );_cge ,_dfg :=_cd .NewStandard14Font (_cd .HelveticaName );if _dfg ==nil {_fbc :=_bbb ._bdga .NewTextStyle (); _fbc .Font =_cge ;_fbc .FontSize =_fbb ;_fbc .TextRise =0.4;_fcg .Style =_fbc ;_bbb ._bdga .Draw (_dacd );};};_abgc +=_afg ;};};};func MakeTempCreatorMaxHeight (width float64 )*_gfe .Creator {return MakeTempCreator (width ,_cf .MaxFloat64 );};const (FontStyle_Regular FontStyle =0; FontStyle_Bold FontStyle =1;FontStyle_Italic FontStyle =2;FontStyle_BoldItalic FontStyle =3;);var _eaeg =_bcac (7.5);func GetColorStringFromDmlColor (dmlColor *_dc .CT_Color )string {var _bef string ;if _fcdf :=dmlColor .SrgbClr ;_fcdf !=nil {_bef =_fcdf .ValAttr ; }else if _debe :=dmlColor .SysClr ;_debe !=nil {if _debe .LastClrAttr !=nil {return *_debe .LastClrAttr ;};return "\u0030\u0030\u0030\u0030\u0030\u0030";};return _bef ;};func DrawLine (c *_gfe .Creator ,x0 ,y0 ,x1 ,y1 ,width float64 ,color _gfe .Color ){if color ==nil {return ; };_ceg :=c .NewLine (x0 ,y0 ,x1 ,y1 );_ceg .SetLineWidth (width );_ceg .SetColor (color );c .Draw (_ceg );};func AdjustColorByShade (colorStr string ,shade float64 )string {var _dfef ,_aedg ,_dbe uint8 ;_fff ,_ :=_a .Sscanf (colorStr ,"\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",&_dfef ,&_aedg ,&_dbe ); if _fff !=3{return "";};return _bgc (_dfef ,shade )+_bgc (_aedg ,shade )+_bgc (_dbe ,shade );};var _cdf =_bcac (5);var _bbcb =_bcac (1.5);func MakeImageFromChartSpace (cs *_ea .ChartSpace ,width ,height float64 ,theme *_dc .Theme ,workbook *_bcf .Workbook )(_bd .Image ,error ){_dad ,_gbad :=_bbc (cs ,width ,height ,theme ,true ,workbook ); if _gbad !=nil {return nil ,_gbad ;};_gfc ,_gbad :=GetPageFromCreator (_dad );if _gbad !=nil {return nil ,_gbad ;};return _fgd .NewImageDevice ().Render (_gfc );};func _eaca (_dgaf ,_aggeg ,_bdgg uint8 )(float64 ,float64 ,float64 ){_gbab ,_abdf ,_bdfb :=float64 (_dgaf )/255,float64 (_aggeg )/255,float64 (_bdgg )/255; _gdcd :=_gbab ;if _abdf < _gdcd {_gdcd =_abdf ;};if _bdfb < _gdcd {_gdcd =_bdfb ;};var _bedg ,_befd bool ;_cfbb :=_gbab ;if _abdf > _cfbb {_cfbb =_abdf ;_bedg =true ;};if _bdfb > _cfbb {_cfbb =_bdfb ;_bedg =false ;_befd =true ;};_cffe :=(_gdcd +_cfbb )/2; var _cddd float64 ;if _gdcd !=_cfbb {if _cffe <=0.5{_cddd =(_cfbb -_gdcd )/(_cfbb +_gdcd );}else {_cddd =(_cfbb -_gdcd )/(2.0-_cfbb -_gdcd );};};var _dec float64 ;if _gdcd !=_cfbb {if _bedg {_dec =2.0+(_bdfb -_gbab )/(_cfbb -_gdcd );}else if _befd {_dec =4.0+(_gbab -_abdf )/(_cfbb -_gdcd ); }else {_dec =(_abdf -_bdfb )/(_cfbb -_gdcd );};_dec *=60;if _dec < 0{_dec +=360;};};return _dec ,_cddd ,_cffe ;};type serValue struct{_ceeb string ;_degc float64 ;_aff *_dc .CT_ShapeProperties ;};func _dcda (_afeg _dc .ST_SchemeColorVal ,_fdde *_dc .Theme )string {if _gce :=_fdde .ThemeElements ; _gce !=nil {if _beeb :=_gce .ClrScheme ;_beeb !=nil {switch _afeg {case _dc .ST_SchemeColorValLt1 :return GetColorStringFromDmlColor (_beeb .Lt1 );case _dc .ST_SchemeColorValDk1 ,_dc .ST_SchemeColorValTx1 :return GetColorStringFromDmlColor (_beeb .Dk1 ); case _dc .ST_SchemeColorValLt2 :return GetColorStringFromDmlColor (_beeb .Lt2 );case _dc .ST_SchemeColorValDk2 :return GetColorStringFromDmlColor (_beeb .Dk2 );case _dc .ST_SchemeColorValAccent1 :return GetColorStringFromDmlColor (_beeb .Accent1 );case _dc .ST_SchemeColorValAccent2 :return GetColorStringFromDmlColor (_beeb .Accent2 ); case _dc .ST_SchemeColorValAccent3 :return GetColorStringFromDmlColor (_beeb .Accent3 );case _dc .ST_SchemeColorValAccent4 :return GetColorStringFromDmlColor (_beeb .Accent4 );case _dc .ST_SchemeColorValAccent5 :return GetColorStringFromDmlColor (_beeb .Accent5 ); case _dc .ST_SchemeColorValAccent6 :return GetColorStringFromDmlColor (_beeb .Accent6 );};};};return "";};func IsNoSpaceLanguage (symbol string )bool {for _ ,_dde :=range symbol {if _g .Is (_g .Han ,_dde ){return true ;};};return false ;};type Rectangle struct{Top float64 ; Bottom float64 ;Left float64 ;Right float64 ;};func PointsFromTwips (twips int64 )float64 {return float64 (int64 (float64 (twips )*_be .Twips *10+0.5))/10;};func _addf (_gcec float64 )float64 {if _gcec < 0{_gcec +=float64 (-int (_gcec )+1);}else if _gcec > 1{_gcec -=float64 (int (_gcec )); };return _gcec ;};func _abgf (_facb ,_ade ,_dece float64 )(uint8 ,uint8 ,uint8 ){var _gcc float64 ;if _dece < 0.5{_gcc =_dece *(1+_ade );}else {_gcc =_dece +_ade -_dece *_ade ;};_eda :=_dece *2-_gcc ;_facb /=360.0;_ddbbe :=_addf (_facb +1.0/3.0);_adac :=_addf (_facb ); _edfg :=_addf (_facb -1.0/3.0);_gadbb :=_beed (_ddbbe ,_gcc ,_eda );_cfgg :=_beed (_adac ,_gcc ,_eda );_dgeb :=_beed (_edfg ,_gcc ,_eda );return uint8 (255*_gadbb ),uint8 (255*_cfgg ),uint8 (255*_dgeb );};var _cfg =_bcac (1.5);func Lighten (clr float64 )float64 {return 0.6+0.4*clr }; func AdjustColorByTint (colorStr string ,tint float64 )string {var _efgc ,_acf ,_gae uint8 ;_bbga ,_ :=_a .Sscanf (colorStr ,"\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",&_efgc ,&_acf ,&_gae );if _bbga !=3{return "";};return _baaa (_efgc ,tint )+_baaa (_acf ,tint )+_baaa (_gae ,tint ); };func ClearRegisteredFonts (){_fce ._ddcb .Lock ();_fce ._cdac =map[string ]map[FontStyle ]*_cd .PdfFont {};_fce ._ddcb .Unlock ();};var _dgbc =_bcac (0.125);func DrawRectangle (c *_gfe .Creator ,r *Rectangle ,w float64 ,color _gfe .Color ){if color ==nil {return ; };DrawLine (c ,r .Left ,r .Top ,r .Right ,r .Top ,w ,color );DrawLine (c ,r .Left ,r .Top ,r .Left ,r .Bottom ,w ,color );DrawLine (c ,r .Left ,r .Bottom ,r .Right ,r .Bottom ,w ,color );DrawLine (c ,r .Right ,r .Top ,r .Right ,r .Bottom ,w ,color );}; var StdFontsMap =map[string ][]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a":[]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061-\u0042\u006f\u006c\u0064","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061\u002d\u004f\u0062l\u0069\u0071\u0075\u0065","H\u0065\u006c\u0076\u0065ti\u0063a\u002d\u0042\u006f\u006c\u0064O\u0062\u006c\u0069\u0071\u0075\u0065"},"\u0043o\u0075\u0072\u0069\u0065\u0072":[]string {"\u0043o\u0075\u0072\u0069\u0065\u0072","\u0043\u006f\u0075r\u0069\u0065\u0072\u002d\u0042\u006f\u006c\u0064","\u0043o\u0075r\u0069\u0065\u0072\u002d\u004f\u0062\u006c\u0069\u0071\u0075\u0065","\u0043\u006f\u0075\u0072ie\u0072\u002d\u0042\u006f\u006c\u0064\u004f\u0062\u006c\u0069\u0071\u0075\u0065"},"\u0054i\u006de\u0073\u0020\u004e\u0065\u0077\u0020\u0052\u006f\u006d\u0061\u006e":[]string {"T\u0069\u006d\u0065\u0073\u002d\u0052\u006f\u006d\u0061\u006e","\u0054\u0069\u006d\u0065\u0073\u002d\u0042\u006f\u006c\u0064","\u0054\u0069\u006de\u0073\u002d\u0049\u0074\u0061\u006c\u0069\u0063","\u0054\u0069m\u0065\u0073\u002dB\u006f\u006c\u0064\u0049\u0074\u0061\u006c\u0069\u0063"},"\u0064e\u0066\u0061\u0075\u006c\u0074":[]string {"\u0048e\u006c\u0076\u0065\u0074\u0069\u0063a","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061-\u0042\u006f\u006c\u0064","\u0048\u0065\u006c\u0076\u0065\u0074\u0069\u0063\u0061\u002d\u004f\u0062l\u0069\u0071\u0075\u0065","H\u0065\u006c\u0076\u0065ti\u0063a\u002d\u0042\u006f\u006c\u0064O\u0062\u006c\u0069\u0071\u0075\u0065"}}; func TwipsFromPoints (points float64 )float64 {return points /_be .Twips };func GetDataFromXfrm (xfrm *_dc .CT_Transform2D )(float64 ,float64 ,float64 ,float64 ){var _bcag ,_cdbe ,_afgc ,_fege float64 ;if _agbf :=xfrm .Off ;_agbf !=nil {_bcag =_be .FromEMU (FromSTCoordinate (_agbf .XAttr )); _cdbe =_be .FromEMU (FromSTCoordinate (_agbf .YAttr ));};if _ffg :=xfrm .Ext ;_ffg !=nil {_afgc =_be .FromEMU (_ffg .CxAttr );_fege =_be .FromEMU (_ffg .CyAttr );};return _bcag ,_cdbe ,_afgc ,_fege ;};func FromSTCoordinate (st _dc .ST_Coordinate )int64 {if _cfba :=st .ST_CoordinateUnqualified ; _cfba !=nil {return *_cfba ;};return 0;};func _efgb (_fbe *_ea .CT_ValAx )(uint32 ,_ea .ST_AxPos ,_ea .ST_TickMark ,_ea .ST_TickLblPos ,*_ea .CT_ChartLines ,uint32 ,*_dc .CT_ShapeProperties ,error ){var _bcb ,_gbag uint32 ;var _bba _ea .ST_AxPos ;var _dbca _ea .ST_TickMark ; var _deeb *_ea .CT_ChartLines ;var _dfd _ea .ST_TickLblPos ;if _fbe .AxId ==nil {return _bcb ,_bba ,_dbca ,_dfd ,_deeb ,_gbag ,_fbe .SpPr ,_bc .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_bcb =_fbe .AxId .ValAttr ; };if _fbe .AxPos ==nil {return _bcb ,_bba ,_dbca ,_dfd ,_deeb ,_gbag ,_fbe .SpPr ,_bc .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_bba =_fbe .AxPos .ValAttr ;};if _fbe .MajorTickMark !=nil {_dbca =_fbe .MajorTickMark .ValAttr ; };if _fbe .TickLblPos !=nil {_dfd =_fbe .TickLblPos .ValAttr ;};if _fbe .CrossAx ==nil {return _bcb ,_bba ,_dbca ,_dfd ,_deeb ,_gbag ,_fbe .SpPr ,_bc .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_gbag =_fbe .CrossAx .ValAttr ; };_deeb =_fbe .MajorGridlines ;return _bcb ,_bba ,_dbca ,_dfd ,_deeb ,_gbag ,_fbe .SpPr ,nil ;};func RegisterFontsFromFiles (files []string )error {for _ ,_dgga :=range files {if _e .HasSuffix (_dgga ,"\u002e\u0074\u0074\u0066"){_adbd :=_ggd (_dgga );if _adbd !=nil {_ff .Log .Debug ("\u0075\u006ea\u0062\u006c\u0065\u0020\u0074o\u0020\u0070\u0072\u006f\u0063e\u0073\u0073\u0020\u0061\u006e\u0064\u0020\u0072\u0065\u0067\u0069\u0073\u0074\u0065\u0072\u0020\u0066\u006f\u006e\u0074\u0020\u0066\u0072\u006f\u006d\u0020\u0054\u0054\u0046\u0020\u0066\u0069\u006c\u0065\u0020\u0025\u0073",_adbd ); continue ;};};};return nil ;};func (_ece barSerByOrder )Len ()int {return len (_ece )};type ImgPart byte ;func (_fef barSerByOrder )Swap (i ,j int ){_fef [i ],_fef [j ]=_fef [j ],_fef [i ]};func _bbc (_cbg *_ea .ChartSpace ,_efe ,_dbfd float64 ,_gddd *_dc .Theme ,_beda bool ,_abf *_bcf .Workbook )(*_gfe .Creator ,error ){_bgdb :=1.0; if _beda {_bgdb =8.0;};_fbf :=&Rectangle {};_df :=&Rectangle {Top :_fbf .Top ,Bottom :_dbfd -_fbf .Bottom ,Left :_fbf .Left ,Right :_efe -_fbf .Right };_fgca :=MakeTempCreator (_efe *_bgdb +1,_dbfd *_bgdb +1);_bfe :=&creatorContext {_bdga :_fgca ,_aafef :_gddd ,_fgac :_bgdb }; var _gbb bool ;if _ffb :=_cbg .Chart ;_ffb !=nil {_abd :=_ffb .PlotArea ;if _abd ==nil {return nil ,_bc .New ("\u004e\u006f\u0020p\u006c\u006f\u0074\u0020\u0061\u0072\u0065\u0061");};_adb :=0.0;if _ffb .AutoTitleDeleted !=nil &&_ffb .AutoTitleDeleted .ValAttr !=nil &&!*_ffb .AutoTitleDeleted .ValAttr {_beb :="C\u0068\u0061\u0072\u0074\u0020\u0054\u0069\u0074\u006c\u0065"; if _ffb .Title !=nil &&_ffb .Title .Overlay !=nil &&_ffb .Title .Overlay .ValAttr !=nil &&!*_ffb .Title .Overlay .ValAttr {_adb =_bcac (10);};if _ffb .Title !=nil &&_ffb .Title .Tx !=nil &&_ffb .Title .Tx .Choice !=nil &&_ffb .Title .Tx .Choice .Rich !=nil {if len (_ffb .Title .Tx .Choice .Rich .P )> 0{if len (_ffb .Title .Tx .Choice .Rich .P [0].EG_TextRun )> 0{_beb =_ffb .Title .Tx .Choice .Rich .P [0].EG_TextRun [0].R .T ; };};};_bfe .drawTitle (_beb ,_df .Left +_df .Right /2,_bcac (5));};_bgf :=&Rectangle {Top :_bcac (10)+_adb ,Bottom :_df .Bottom -_bcac (15),Left :_bcac (10),Right :_df .Right -_bcac (10)};var _gbc *Rectangle ;_eef :=_ffb .Legend ;if _eef !=nil {_ddc :=_eef .Overlay !=nil &&_eef .Overlay .ValAttr !=nil &&*_eef .Overlay .ValAttr ; if _abbb :=_eef .LegendPos ;_abbb !=nil {switch _abbb .ValAttr {case _ea .ST_LegendPosTr :if !_ddc {_bgf =&Rectangle {Top :_bcac (25)+_adb ,Bottom :_df .Bottom -_bcac (10),Left :_bcac (10),Right :_df .Right -_bcac (25)};};_gbc =&Rectangle {Top :_bcac (2.5)+_adb ,Bottom :_bcac (22.5),Left :_df .Right -_bcac (22.5),Right :_df .Right -_bcac (2.5)}; case _ea .ST_LegendPosT :_gbc =&Rectangle {Top :_bcac (2.5)+_adb ,Bottom :_bcac (7.5),Left :(_df .Right -_df .Left )*0.25,Right :(_df .Right -_df .Left )*0.75};if !_ddc {_bgf =&Rectangle {Top :_bcac (12.5)+_adb ,Bottom :_df .Bottom -_bcac (15),Left :_bcac (10),Right :_df .Right -_bcac (5)}; };_gbb =true ;case _ea .ST_LegendPosB :_gbc =&Rectangle {Top :_df .Bottom -_bcac (7.5)+_adb ,Bottom :_df .Bottom -_bcac (2.5),Left :(_df .Right -_df .Left )*0.25,Right :(_df .Right -_df .Left )*0.75};if !_ddc {_bgf =&Rectangle {Top :_bcac (5)+_adb ,Bottom :_df .Bottom -_bcac (15),Left :_bcac (10),Right :_df .Right -_bcac (5)}; };_gbb =true ;case _ea .ST_LegendPosR :_gbc =&Rectangle {Top :(_df .Bottom -_df .Top )/2-_bcac (10)+_adb ,Bottom :(_df .Bottom -_df .Top )/2+_bcac (10),Left :_df .Right -_bcac (22.5),Right :_df .Right -_bcac (2.5)};if !_ddc {_bgf =&Rectangle {Top :_bcac (5)+_adb ,Bottom :_df .Bottom -_bcac (12.5),Left :_bcac (10),Right :_df .Right -_bcac (25)}; };case _ea .ST_LegendPosL :_gbc =&Rectangle {Top :(_df .Bottom -_df .Top )/2-_bcac (10)+_adb ,Bottom :(_df .Bottom -_df .Top )/2+_bcac (10),Left :_bcac (2.5),Right :_bcac (22.5)};if !_ddc {_bgf =&Rectangle {Top :_bcac (5)+_adb ,Bottom :_df .Bottom -_bcac (12.5),Left :_bcac (30),Right :_df .Right -_bcac (5)}; };default:_gbc =&Rectangle {Top :(_df .Bottom -_df .Top )/2-_bcac (10)+_adb ,Bottom :(_df .Bottom -_df .Top )/2+_bcac (10),Left :_df .Right -_bcac (25),Right :_df .Right -_bcac (5)};if !_ddc {_bgf =&Rectangle {Top :_bcac (5)+_adb ,Bottom :_df .Bottom -_bcac (12.5),Left :_bcac (100),Right :_df .Right -_bcac (25)}; };};};};_bgf .scale (_bgdb );_bfe .drawBorderWithProps (_abd .SpPr ,_bgf ,_dgbc );_aaff :=[]*legendItem {};var _dee error ;_gbg :=_abd .CChoice ;for _ ,_dcb :=range _abd .Choice {if _dede :=_dcb .BarChart ;_dede !=nil {_aaff ,_dee =_bfe .drawBarChart (_dede ,_bgf ,_gbg ,_abf ); if _dee !=nil {return nil ,_dee ;};};if _gfgg :=_dcb .PieChart ;_gfgg !=nil {_aaff ,_dee =_bfe .drawPieChart (_gfgg ,_bgf ,_abf ,_bgdb );if _dee !=nil {return nil ,_dee ;};};};if _eef !=nil {_gbc .scale (_bgdb );_bfe .drawBorderWithProps (_eef .SpPr ,_gbc ,_dgbc ); if len (_aaff )!=0{_bfe .drawLegend (_gbc ,_aaff ,_gbb );};};};_df .scale (_bgdb );_bfe .drawBorderWithProps (_cbg .SpPr ,_df ,_dgbc );return _fgca ,nil ;};func FillRectangle (c *_gfe .Creator ,x ,y ,width ,height float64 ,color _gfe .Color ){if color ==nil {return ; };_dgd :=c .NewRectangle (x ,y ,width ,height );_dgd .SetFillColor (color );_dgd .SetBorderWidth (0);c .Draw (_dgd );};type serCategory struct{_cdbf string ;_gge []serValue ;};func RegisterEmbeddedFonts (d *_bac .Document )error {_cedb :=d .FontTable (); if _cedb ==nil {return nil ;};for _ ,_ege :=range _cedb .Font {if _ege .EmbedRegular !=nil {return _fbec (d ,_ege .NameAttr ,_ege .EmbedRegular .IdAttr ,_ege .EmbedRegular .FontKeyAttr );};if _ege .EmbedBold !=nil {return _fbec (d ,_ege .NameAttr ,_ege .EmbedBold .IdAttr ,_ege .EmbedBold .FontKeyAttr ); };if _ege .EmbedItalic !=nil {return _fbec (d ,_ege .NameAttr ,_ege .EmbedItalic .IdAttr ,_ege .EmbedItalic .FontKeyAttr );};if _ege .EmbedBoldItalic !=nil {return _fbec (d ,_ege .NameAttr ,_ege .EmbedBoldItalic .IdAttr ,_ege .EmbedBoldItalic .FontKeyAttr ); };};return nil ;};func GetPageFromCreator (c *_gfe .Creator )(*_cd .PdfPage ,error ){_gec :=_b .NewBuffer ([]byte {});_abda :=c .Write (_gec );if _abda !=nil {return nil ,_abda ;};_ddfc :=_b .NewReader (_gec .Bytes ());_fadc ,_abda :=_cd .NewPdfReader (_ddfc ); if _abda !=nil {return nil ,_abda ;};return _fadc .GetPage (1);};func _ggd (_cde string )error {if !_e .HasSuffix (_cde ,"\u002e\u0074\u0074\u0066"){_ff .Log .Debug ("\u0055\u006es\u0075\u0070\u0070\u006f\u0072\u0074\u0065\u0064\u0020\u0066\u006f\u006e\u0074\u0020\u0066\u0069\u006c\u0065\u0020\u0066\u006f\u0072ma\u0074\u002e"); return _a .Errorf ("\u0055\u006e\u0073\u0075\u0070\u0070o\u0072\u0074\u0065\u0064\u0020f\u006f\u006e\u0074\u0020\u0066\u0069l\u0065\u0020\u0066\u006f\u0072m\u0061\u0074\u002c\u0020\u0063\u0075\u0072\u0072\u0065\u006e\u0074\u006cy\u0020\u006f\u006e\u006c\u0079\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0020\u0054T\u0046\u0020\u0066\u006f\u006e\u0074\u0020\u0066i\u006c\u0065\u002e"); };_gfb ,_fad :=_fgf .ParseFile (_cde );if _fad !=nil {_ff .Log .Debug ("\u0043a\u006e\u006e\u006f\u0074\u0020\u0070\u0061\u0072\u0073\u0065\u0020T\u0054\u0046\u0020\u0066\u0069\u006c\u0065\u0020\u0025\u0073",_fad );return _fad ;};_bdfd ,_fad :=_cd .NewCompositePdfFontFromTTFFile (_cde ); if _fad !=nil {return _fad ;};_dcac :=_gfb .GetNameRecords ();for _ ,_aeda :=range _dcac {_eacg :=_aeda [1];if _eacg ==""{continue ;};_ceaf :=make ([]byte ,0);for _dag :=0;_dag < len (_eacg );_dag ++{if _eacg [_dag ]==39||_eacg [_dag ]==92{continue ;}; _fdaf :=4;if _dag +_fdaf < len (_eacg ){if _eacg [_dag :_dag +_fdaf ]=="\u0000"{_dag =_dag +_fdaf +1;continue ;};};_ceaf =append (_ceaf ,_eacg [_dag ]);};_eacg =_e .Replace (string (_ceaf ),"\u0078\u0030\u0030","",-1);_cbe :=_aeda [2];if _cbe ==""{return _a .Errorf ("N\u006f\u0020\u0073\u0074\u0079\u006ce\u0020\u0069\u006e\u0066\u006f\u0072m\u0061\u0074\u0069\u006f\u006e\u0020\u0069n\u0020\u0074\u0068\u0065\u0020\u0066\u0069\u006c\u0065\u0020%\u0073",_cde ); };_ceaf =make ([]byte ,0);for _bdee :=0;_bdee < len (_cbe );_bdee ++{if _cbe [_bdee ]==39||_cbe [_bdee ]==92{continue ;};_bbgd :=4;if _bdee +_bbgd < len (_cbe ){if _cbe [_bdee :_bdee +_bbgd ]=="\u0000"{_bdee =_bdee +_bbgd +1;continue ;};};_ceaf =append (_ceaf ,_cbe [_bdee ]); };_cbe =_e .Replace (string (_ceaf ),"\u0078\u0030\u0030","",-1);RegisterFont (_eacg ,_gbac [_cbe ],_bdfd );};return nil ;};const (BorderPositionTop BorderPosition =0;BorderPositionLeft BorderPosition =1;BorderPositionBottom BorderPosition =2;BorderPositionRight BorderPosition =3; );var DefaultFontSize =12.0;func CropImageByRect (sourceImg _bd .Image ,rect _bd .Rectangle )_bd .Image {_gfec ,_bffa ,_ggg ,_bdfgg :=rect .Min .X ,rect .Min .Y ,rect .Max .X ,rect .Max .Y ;_gcgga :=_bd .NewNRGBA (_bd .Rect (0,0,_ggg -_gfec ,_bdfgg -_bffa )); for _edce :=_gfec ;_edce < _ggg ;_edce ++{for _cbgg :=_bffa ;_cbgg < _bdfgg ;_cbgg ++{_gcgga .Set (_edce -_gfec ,_cbgg -_bffa ,sourceImg .At (_edce ,_cbgg ));};};return _gcgga ;};func (_dgbf *creatorContext )drawBorderWithProps (_egge *_dc .CT_ShapeProperties ,_bbbd *Rectangle ,_fbda float64 ){if _bbbd !=nil &&_egge !=nil &&_egge .Ln !=nil &&_egge .Ln .SolidFill !=nil {_afce :=_dgbf .getPdfColorFromSolidFill (_egge .Ln .SolidFill ); DrawRectangle (_dgbf ._bdga ,_bbbd ,_fbda ,_afce );};};var _ace =_bcac (1.5);type creatorContext struct{_bdga *_gfe .Creator ;_aafef *_dc .Theme ;_fgac float64 ;};func GetRegisteredFont (name string ,style FontStyle )*_cd .PdfFont {_fce ._ddcb .Lock (); defer _fce ._ddcb .Unlock ();if _dba ,_feb :=_fce ._cdac [name ];_feb {if _dff ,_abe :=_dba [style ];_abe {return _dff ;};};return nil ;};func (_gbcc *creatorContext )drawPieChart (_cbge *_ea .CT_PieChart ,_aggec *Rectangle ,_fcge *_bcf .Workbook ,_gfgb float64 )([]*legendItem ,error ){_fcef :=[]*legendItem {}; _cgfe :=map[string ]serCategory {};_abc :=[]string {};_fga :=_cf .Inf (1);_dggae :=_cf .Inf (-1);_cbf :=_cbge .Ser ;for _ ,_cbbg :=range _cbf {var _egab string ;if _ggac :=_cbbg .Tx ;_ggac !=nil {if _efdf :=_ggac .Choice ;_efdf !=nil {if _efdf .V !=nil {_egab =*_efdf .V ; }else if _bcc :=_efdf .StrRef ;_bcc !=nil {if _effb :=_bcc .StrCache ;_effb !=nil {for _ ,_cag :=range _effb .Pt {_egab =_cag .V ;};};};};};if _gbcg :=_cbbg .Cat ;_gbcg !=nil {if _ddeb :=_gbcg .Choice ;_ddeb !=nil {if _cadd :=_ddeb .StrRef ;_cadd !=nil {if _dcbf :=_cadd .F ; _dcbf !=""&&_fcge !=nil {_agf ,_fgdf ,_ddeg ,_fcbg :=ParseExcelRange (_dcbf );if _fcbg ==nil {for _ ,_cfdc :=range _fcge .Sheets (){if _cfdc .Name ()==_e .Trim (_agf ,"\u0027"){_gbe :=_fgdf .String ();for _gdb :=_fgdf .RowIdx ;_gdb <=_ddeg .RowIdx ;_gdb +=1{_dgf :=_e .ReplaceAll (_gbe ,_a .Sprint (_fgdf .RowIdx ),_a .Sprint (_gdb )); _gbcc .addCatName (_cfdc .Cell (_dgf ).GetString (),_cgfe ,&_abc );};break ;};};};};if _eeeg :=_cadd .StrCache ;_eeeg !=nil {for _ ,_fcbf :=range _eeeg .Pt {_gbcc .addCatName (_fcbf .V ,_cgfe ,&_abc );};};}else if _gag :=_ddeb .NumRef ;_gag !=nil {if _cgd :=_gag .NumCache ; _cgd !=nil {var _bedga string ;if _cgd .FormatCode !=nil {_bedga =*_cgd .FormatCode ;};for _ ,_edgdf :=range _cgd .Pt {var _egdg string ;if _edgdf .FormatCodeAttr ==nil {_egdg =_bedga ;}else {_egdg =*_edgdf .FormatCodeAttr ;};var _cdc string ;_efeg ,_ddad :=_fg .ParseFloat (_edgdf .V ,64); if _ddad !=nil {_cdc =_edgdf .V ;}else {_cdc =_aa .Number (_efeg ,_egdg );};_gbcc .addCatName (_cdc ,_cgfe ,&_abc );};};};};};if _gdce :=_cbbg .Val ;_gdce !=nil {if _ggadb :=_gdce .Choice ;_ggadb !=nil {if _fgcbc :=_ggadb .NumRef ;_fgcbc !=nil {if _cgce :=_fgcbc .F ; _cgce !=""&&_fcge !=nil {_ffbc ,_cbcf ,_fceg ,_bgg :=ParseExcelRange (_cgce );if _bgg ==nil {for _ ,_fgdfb :=range _fcge .Sheets (){if _fgdfb .Name ()==_e .Trim (_ffbc ,"\u0027"){_fegg :=_cbcf .String ();for _dfa :=_cbcf .RowIdx ;_dfa <=_fceg .RowIdx ; _dfa +=1{_cfc :=_e .ReplaceAll (_fegg ,_a .Sprint (_cbcf .RowIdx ),_a .Sprint (_dfa ));if _fgdfb .FormulaContext ().HasFormula (_cfc ){_dgebb :=_fa .NewEvaluator ();_dace :=_fgdfb .FormulaContext ().Cell (_cfc ,_dgebb );_ggfc :=_dace .Value ();_gbcc .addCatValue (_ggfc ,_cgfe ,_abc ,(int )(_dfa -_cbcf .RowIdx ),&_fga ,&_dggae ,_egab ,_cbbg .SpPr ); }else {_dfda :=_fgdfb .Cell (_cfc ).GetString ();_gbcc .addCatValue (_dfda ,_cgfe ,_abc ,(int )(_dfa -_cbcf .RowIdx ),&_fga ,&_dggae ,_egab ,_cbbg .SpPr );};};break ;};};};};if _gcge :=_fgcbc .NumCache ;_gcge !=nil {for _aadd ,_aac :=range _gcge .Pt {_gbcc .addCatValue (_aac .V ,_cgfe ,_abc ,_aadd ,&_fga ,&_dggae ,_egab ,_cbbg .SpPr ); };};};};};};_cgbe :=&_bg .PieChart {Values :[]_bdf .Value {}};for _ ,_gdcdd :=range _abc {_bgdbb :=_cgfe [_gdcdd ];if len (_bgdbb ._gge )> 0{_cgbe .Values =append (_cgbe .Values ,_bdf .Value {Value :_bgdbb ._gge [0]._degc ,Label :_gdcdd ,Style :_d .Style {FontSize :12*_gfgb }}); };};_cgbe .SetHeight (int (_aggec .Top -_aggec .Bottom ));_cgbe .SetWidth (int (_aggec .Right -_aggec .Left ));_cfgb :=_gbcc ._bdga ;_ecec :=_gfe .NewChart (_cgbe );_ecec .SetPos (_aggec .Left ,_aggec .Top );_fdef :=_cfgb .Draw (_ecec );if _fdef !=nil {return nil ,_fdef ; };return _fcef ,nil ;};func GetImage (c *_gfe .Creator ,goImg _bd .Image ,imgHeight ,imgWidth ,left ,top ,dividerX ,dividerY float64 ,part ImgPart )(*_gfe .Image ,error ){if goImg ==nil {return nil ,nil ;};_bgdad :=goImg .Bounds ().Size ();_dffb :=_bgdad .X ; _ceb :=_bgdad .Y ;if dividerX !=0{dividerX =dividerX /imgWidth *float64 (_dffb );};if dividerY !=0{dividerY =dividerY /imgHeight *float64 (_ceb );};var _fcfd _bd .Rectangle ;switch part {case ImgPart_t :_fcfd =_bd .Rect (0,0,_dffb ,int (dividerY ));case ImgPart_b :_fcfd =_bd .Rect (0,int (dividerY ),_dffb ,_ceb ); case ImgPart_l :_fcfd =_bd .Rect (0,0,int (dividerX ),_ceb );case ImgPart_r :_fcfd =_bd .Rect (int (dividerX ),0,_dffb ,_ceb );case ImgPart_lt :_fcfd =_bd .Rect (0,0,int (dividerX ),int (dividerY ));case ImgPart_rt :_fcfd =_bd .Rect (int (dividerX ),0,_dffb ,int (dividerY )); case ImgPart_lb :_fcfd =_bd .Rect (0,int (dividerY ),int (dividerX ),_ceb );case ImgPart_rb :_fcfd =_bd .Rect (int (dividerX ),int (dividerY ),_dffb ,_ceb );default:_fcfd =_bd .Rect (0,0,_dffb ,_ceb );};_adff :=CropImageByRect (goImg ,_fcfd );_addge ,_ddee :=c .NewImageFromGoImage (_adff ); if _ddee !=nil {return nil ,_ddee ;};_addge .Scale (imgWidth /float64 (_dffb ),imgHeight /float64 (_ceb ));_addge .SetPos (left ,top );return _addge ,nil ;};type BorderPosition byte ;func (_fgb *Rectangle )scale (_adde float64 ){_fgb .Top *=_adde ;_fgb .Bottom *=_adde ; _fgb .Left *=_adde ;_fgb .Right *=_adde ;};func GetOpacityFromColorTransform (trs []*_dc .EG_ColorTransform )float64 {for _ ,_acdc :=range trs {if _acdc !=nil {if _egc :=_acdc .Alpha ;_egc !=nil {if _gbbc :=_egc .ValAttr .ST_PositiveFixedPercentageDecimal ; _gbbc !=nil {return float64 (*_gbbc )/100000;};};};};return 1.0;};type FontStyle byte ;func MakeBlockFromChartSpace (cs *_ea .ChartSpace ,width ,height float64 ,theme *_dc .Theme )(*_gfe .Block ,error ){_bge ,_faa :=_bbc (cs ,width ,height ,theme ,false ,nil ); if _faa !=nil {return nil ,_faa ;};_bdcg ,_faa :=GetPageFromCreator (_bge );if _faa !=nil {return nil ,_faa ;};_gddf ,_faa :=_gfe .NewBlockFromPage (_bdcg );if _faa !=nil {return nil ,_faa ;};return _gddf ,nil ;};func AdjustColor (colorStr string ,EG_ColorTransform []*_dc .EG_ColorTransform )string {for _ ,_ede :=range EG_ColorTransform {if _bbea :=_ede .Tint ; _bbea !=nil {if _bbfc :=_bbea .ValAttr .ST_PositiveFixedPercentageDecimal ;_bbfc !=nil {colorStr =AdjustColorByTint (colorStr ,float64 (*_bbfc )/100000);};};if _adbb :=_ede .Shade ;_adbb !=nil {if _daee :=_adbb .ValAttr .ST_PositiveFixedPercentageDecimal ; _daee !=nil {colorStr =AdjustColorByShade (colorStr ,float64 (*_daee )/100000);};};if _gbbd :=_ede .LumMod ;_gbbd !=nil {if _ddf :=_gbbd .ValAttr .ST_PercentageDecimal ;_ddf !=nil {colorStr =AdjustColorByLumMod (colorStr ,float64 (*_ddf )/100000);};};}; return colorStr ;};func AssignStdFontByName (style _gfe .TextStyle ,fontName string )*_cd .PdfFont {_ggbf :=_cd .StdFontName (fontName );return _cd .NewStandard14FontMustCompile (_ggbf );};func MakeTempCreator (width ,height float64 )*_gfe .Creator {_beg :=_gfe .New (); _beg .SetPageSize (_gfe .PageSize {width ,height });_beg .SetPageMargins (0,0,0,0);return _beg ;};func AdjustColorByLumMod (colorStr string ,lum float64 )string {var _dedba ,_ebef ,_gdcc uint8 ;_eeg ,_ :=_a .Sscanf (colorStr ,"\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",&_dedba ,&_ebef ,&_gdcc ); if _eeg !=3{return "";};_eac ,_dgc ,_edd :=_eaca (_dedba ,_ebef ,_gdcc );_edd =lum *_edd ;_dedba ,_ebef ,_gdcc =_abgf (_eac ,_dgc ,_edd );return _a .Sprintf ("\u0025\u0030\u0032x\u0025\u0030\u0032\u0078\u0025\u0030\u0032\u0078",_dedba ,_ebef ,_gdcc );}; func _bgc (_fgef uint8 ,_fcfg float64 )string {_ecdf :=float64 (_fgef );return _a .Sprintf ("\u0025\u0030\u0032\u0078",int (_ecdf *_fcfg ));};func _beed (_fafg ,_gcgg ,_ccee float64 )float64 {if _fafg *6< 1{return _ccee +(_gcgg -_ccee )*6*_fafg ;}else if _fafg *2< 1{return _gcgg ; }else if _fafg *3< 2{return _ccee +(_gcgg -_ccee )*(2.0/3.0-_fafg )*6;}else {return _ccee ;};};func (_ecfge FontStyle )String ()string {return []string {"\u0052e\u0067\u0075\u006c\u0061\u0072","\u0042\u006f\u006c\u0064","\u0049\u0074\u0061\u006c\u0069\u0063","\u0042\u006f\u006c\u0064\u0049\u0074\u0061\u006c\u0069\u0063"}[int (_ecfge )]; };func MakeBlockFromCreator (c *_gfe .Creator )(*_gfe .Block ,error ){_dfbe ,_dgca :=GetPageFromCreator (c );if _dgca !=nil {return nil ,_dgca ;};_fgbd ,_dgca :=_gfe .NewBlockFromPage (_dfbe );if _dgca !=nil {return nil ,_dgca ;};return _fgbd ,nil ;};func FromSTPercentage (st *_dc .ST_Percentage )float64 {if _ccc :=st .ST_PercentageDecimal ; _ccc !=nil {return float64 (*_ccc )/100000;};return 0;};func _dcde (_gbfb *_ea .CT_DateAx )(uint32 ,_ea .ST_AxPos ,_ea .ST_TickMark ,_ea .ST_TickLblPos ,*_ea .CT_ChartLines ,uint32 ,*_dc .CT_ShapeProperties ,error ){var _afec ,_ebc uint32 ;var _agba _ea .ST_AxPos ; var _dgaa _ea .ST_TickMark ;var _eedf *_ea .CT_ChartLines ;var _gdcb _ea .ST_TickLblPos ;if _gbfb .AxId ==nil {return _afec ,_agba ,_dgaa ,_gdcb ,_eedf ,_ebc ,_gbfb .SpPr ,_bc .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044"); }else {_afec =_gbfb .AxId .ValAttr ;};if _gbfb .AxPos ==nil {return _afec ,_agba ,_dgaa ,_gdcb ,_eedf ,_ebc ,_gbfb .SpPr ,_bc .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e");}else {_agba =_gbfb .AxPos .ValAttr ; };if _gbfb .MajorTickMark !=nil {_dgaa =_gbfb .MajorTickMark .ValAttr ;};if _gbfb .TickLblPos !=nil {_gdcb =_gbfb .TickLblPos .ValAttr ;};if _gbfb .CrossAx ==nil {return _afec ,_agba ,_dgaa ,_gdcb ,_eedf ,_ebc ,_gbfb .SpPr ,_bc .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044"); }else {_ebc =_gbfb .CrossAx .ValAttr ;};_eedf =_gbfb .MajorGridlines ;return _afec ,_agba ,_dgaa ,_gdcb ,_eedf ,_ebc ,_gbfb .SpPr ,nil ;};func _fbec (_bfa *_bac .Document ,_eff ,_accb ,_dffd string )error {_fcb ,_gef :=_bfa .GetFontBytesByRelId (_accb ); if _gef !=nil {return _gef ;};_ccdd ,_gef :=_cacd (_dffd );if _gef !=nil {return _gef ;};for _dbgg :=0;_dbgg < 32;_dbgg ++{_cba :=_dbgg %len (_ccdd );_fcb [_dbgg ]=_fcb [_dbgg ]^_ccdd [_cba ];};_adea :=_bfa .TmpPath +"\u002f"+_eff +"\u002e\u0074\u0074\u0066"; _gef =_gf .WriteFile (_adea ,_fcb ,0644);if _gef !=nil {return _gef ;};_ggd (_adea );return nil ;};func FromSTCoordinate32 (st _dc .ST_Coordinate32 )int64 {if _ddcc :=st .ST_Coordinate32Unqualified ;_ddcc !=nil {return int64 (*_ddcc );};return 0;};func ParseExcelRange (s string )(string ,_gd .CellReference ,_gd .CellReference ,error ){_gdae :=_e .FieldsFunc (s ,func (_bcga rune )bool {return _bcga ==':'||_bcga =='!'}); if len (_gdae )==3{_bgfb ,_bdbc :=_gd .ParseCellReference (_gdae [1]);if _bdbc !=nil {return "",_gd .CellReference {},_gd .CellReference {},_bdbc ;};_ecg ,_bdbc :=_gd .ParseCellReference (_gdae [2]);if _bdbc !=nil {return "",_gd .CellReference {},_gd .CellReference {},_bdbc ; };return _gdae [0],_bgfb ,_ecg ,nil ;};return "",_gd .CellReference {},_gd .CellReference {},_bc .New ("\u0065r\u0072\u006f\u0072\u0020p\u0061\u0072\u0073\u0069\u006eg\u0020e\u0078c\u0065\u006c\u0020\u0072\u0061\u006e\u0067e");};func RegisterFontsFromDirectory (dirName string )error {_bbbg ,_dcfc :=_gf .Open (dirName ); if _dcfc !=nil {return _dcfc ;};defer _bbbg .Close ();_baf ,_dcfc :=_bbbg .Readdirnames (0);if _dcfc !=nil {return _dcfc ;};for _ ,_cgbb :=range _baf {if _e .HasSuffix (_cgbb ,"\u002e\u0074\u0074\u0066"){_dfbg :=dirName +"\u002f"+_cgbb ;_deba :=_ggd (_dfbg ); if _deba !=nil {_ff .Log .Debug ("\u0075\u006ea\u0062\u006c\u0065\u0020\u0074o\u0020\u0070\u0072\u006f\u0063e\u0073\u0073\u0020\u0061\u006e\u0064\u0020\u0072\u0065\u0067\u0069\u0073\u0074\u0065\u0072\u0020\u0066\u006f\u006e\u0074\u0020\u0066\u0072\u006f\u006d\u0020\u0054\u0054\u0046\u0020\u0066\u0069\u006c\u0065\u0020\u0025\u0073",_deba ); continue ;};};};return nil ;};var _ccdg =_bcac (2);var _gbac =map[string ]FontStyle {"\u0052e\u0067\u0075\u006c\u0061\u0072":FontStyle_Regular ,"\u0042\u006f\u006c\u0064":FontStyle_Bold ,"\u0049\u0074\u0061\u006c\u0069\u0063":FontStyle_Italic ,"B\u006f\u006c\u0064\u0020\u0049\u0074\u0061\u006c\u0069\u0063":FontStyle_BoldItalic }; func _bgfc (_gcba *_ea .CT_SerAx )(uint32 ,_ea .ST_AxPos ,_ea .ST_TickMark ,_ea .ST_TickLblPos ,*_ea .CT_ChartLines ,uint32 ,*_dc .CT_ShapeProperties ,error ){var _edca ,_gadb uint32 ;var _agga _ea .ST_AxPos ;var _ccb _ea .ST_TickMark ;var _fcd *_ea .CT_ChartLines ; var _fde _ea .ST_TickLblPos ;if _gcba .AxId ==nil {return _edca ,_agga ,_ccb ,_fde ,_fcd ,_gadb ,_gcba .SpPr ,_bc .New ("\u004e\u006f\u0020x\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044");}else {_edca =_gcba .AxId .ValAttr ;};if _gcba .AxPos ==nil {return _edca ,_agga ,_ccb ,_fde ,_fcd ,_gadb ,_gcba .SpPr ,_bc .New ("\u004eo\u0020x\u0020\u0061\u0078\u0069\u0073 \u0070\u006fs\u0069\u0074\u0069\u006f\u006e"); }else {_agga =_gcba .AxPos .ValAttr ;};if _gcba .MajorTickMark !=nil {_ccb =_gcba .MajorTickMark .ValAttr ;};if _gcba .TickLblPos !=nil {_fde =_gcba .TickLblPos .ValAttr ;};if _gcba .CrossAx ==nil {return _edca ,_agga ,_ccb ,_fde ,_fcd ,_gadb ,_gcba .SpPr ,_bc .New ("\u004e\u006f \u0063\u0072\u006fs\u0073\u0020\u0061\u0078\u0069\u0073\u0020\u0049\u0044"); }else {_gadb =_gcba .CrossAx .ValAttr ;};_fcd =_gcba .MajorGridlines ;return _edca ,_agga ,_ccb ,_fde ,_fcd ,_gadb ,_gcba .SpPr ,nil ;};func (_aba *creatorContext )getPdfColorFromSolidFill (_ecce *_dc .CT_SolidColorFillProperties )_gfe .Color {if _ecce ==nil {return nil ; };_gecb :="";if _fddf :=_ecce .SrgbClr ;_fddf !=nil {_gecb =_fddf .ValAttr ;}else if _efgg :=_ecce .SchemeClr ;_efgg !=nil {_gecb =_add (_efgg .ValAttr ,_aba ._aafef );};if _gecb ==""{return nil ;};return _gfe .ColorRGBFromHex ("\u0023"+_gecb );};func (_dacc *creatorContext )drawLineWithProps (_dggc *_dc .CT_ShapeProperties ,_eged ,_bbd ,_cab ,_abga float64 ,_cgeb bool ){if _dggc !=nil {if _afb :=_dggc .Ln ; _afb !=nil {_gfd :=_dacc .getPdfColorFromSolidFill (_afb .SolidFill );if _gfd ==nil &&_cgeb {_gfd =_gfe .ColorBlack ;};if _gfd !=nil {var _fec float64 ;if _faff :=_afb .WAttr ;_faff !=nil {_fec =_be .FromEMU (int64 (*_faff ));}else {_fec =_dgbc ;};DrawLine (_dacc ._bdga ,_eged ,_bbd ,_cab ,_abga ,_fec ,_gfd ); };};};};func (_cgb *creatorContext )addCatValue (_acge string ,_gad map[string ]serCategory ,_afc []string ,_dge int ,_dda ,_fbgb *float64 ,_aafe string ,_abb *_dc .CT_ShapeProperties ){_agc ,_dbfb :=_fg .ParseFloat (_acge ,64);if _dbfb !=nil {_agc =0; _ff .Log .Debug ("\u0070a\u0072s\u0065\u0020\u0065\u0072\u0072\u006f\u0072\u003a\u0020\u0025\u0073",_dbfb );};if _agc > *_fbgb {*_fbgb =_agc ;};if _agc < *_dda {*_dda =_agc ;};_aag :=_gad [_afc [_dge ]];_aag ._gge =append (_aag ._gge ,serValue {_ceeb :_aafe ,_degc :_agc ,_aff :_abb }); _gad [_afc [_dge ]]=_aag ;};type legendItem struct{_gbaf string ;_fdbee *_dc .CT_ShapeProperties ;};type barSerByOrder []*_ea .CT_BarSer ;func RegisterFont (name string ,style FontStyle ,font *_cd .PdfFont ){_fce ._ddcb .Lock ();if _fce ._cdac [name ]==nil {_fce ._cdac [name ]=map[FontStyle ]*_cd .PdfFont {}; };_fce ._cdac [name ][style ]=font ;_fce ._ddcb .Unlock ();};const _eba =6.0;var _gab =_bcac (0.5);var _ecb =_bcac (1);func (_afe *creatorContext )addCatName (_adg string ,_bed map[string ]serCategory ,_cdbd *[]string ){if _ ,_gee :=_bed [_adg ];!_gee {_bed [_adg ]=serCategory {_cdbf :_adg ,_gge :[]serValue {}}; *_cdbd =append (*_cdbd ,_adg );};};func (_agg *creatorContext )drawAxes (_fdd *_ea .CT_PlotAreaChoice1 ,_ccdgb ,_bca ,_fbaf float64 ,_ecee []string ,_ebd *Rectangle ,_adf bool )error {_fgg :=_agg ._bdga ;_bdg :=_agg ._fgac ;if _fdd ==nil {return _bc .New ("\u004e\u006f\u0020\u0061xi\u0073\u0020\u0069\u006e\u0066\u006f\u0072\u006d\u0061\u0074\u0069\u006f\u006e"); };if len (_fdd .ValAx )==0||(len (_fdd .CatAx )==0&&len (_fdd .DateAx )==0&&len (_fdd .SerAx )==0){return _bc .New ("\u004e\u006f\u0020\u0078\u0020\u006f\u0072\u0020\u0079 \u0061\u0078\u0069\u0073");};var _aeb ,_bdgb ,_cdd ,_gebb uint32 ;var _aebe ,_ccdf _ea .ST_AxPos ; var _bfc ,_aada _ea .ST_TickMark ;var _fbd ,_eeb *_ea .CT_ChartLines ;var _ggeb ,_ddd _ea .ST_TickLblPos ;var _ebfc ,_bee *_dc .CT_ShapeProperties ;var _eage error ;_efg :=_ebd .Right -_ebd .Left ;_dedb :=_ebd .Bottom -_ebd .Top ;if len (_fdd .ValAx )> 0{_bdgb ,_ccdf ,_aada ,_ddd ,_eeb ,_gebb ,_bee ,_eage =_efgb (_fdd .ValAx [0]); };if _ccdf !=_ea .ST_AxPosL &&_ccdf !=_ea .ST_AxPosB {return _bc .New ("\u004f\u006e\u006c\u0079\u0020l\u0065\u0066\u0074\u0020\u006f\u0072\u0020\u0062\u006f\u0074\u0074\u006f\u006d \u0079\u0020\u0061\u0078\u0069\u0073\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0020\u0073\u006f\u0020\u0066\u0061\u0072"); };_dcd :=_bca -_ccdgb ;_ddg :=int (_dcd /_fbaf )+1;var _fcf ,_deed float64 ;switch _aada {case _ea .ST_TickMarkIn :_fcf ,_deed =_ecb ,0;case _ea .ST_TickMarkOut :_fcf ,_deed =0,_ecb ;case _ea .ST_TickMarkCross :_fcf ,_deed =_ecb ,_ecb ;};_fcf =_fcf *_bdg ; _deed =_deed *_bdg ;var _bbcg *_dc .CT_ShapeProperties ;if _eeb !=nil {_bbcg =_eeb .SpPr ;};_cad ,_agad :=_ggeb !=_ea .ST_TickLblPosNone ,_ddd !=_ea .ST_TickLblPosNone ;_ggef :=_ccdgb ;if len (_fdd .CatAx )> 0{_aeb ,_aebe ,_bfc ,_ggeb ,_fbd ,_cdd ,_ebfc ,_eage =_fcc (_fdd .CatAx [0]); }else if len (_fdd .DateAx )> 0{_aeb ,_aebe ,_bfc ,_ggeb ,_fbd ,_cdd ,_ebfc ,_eage =_dcde (_fdd .DateAx [0]);}else if len (_fdd .SerAx )> 0{_aeb ,_aebe ,_bfc ,_ggeb ,_fbd ,_cdd ,_ebfc ,_eage =_bgfc (_fdd .SerAx [0]);};if _eage !=nil {return _eage ;};if _aebe !=_ea .ST_AxPosL &&_aebe !=_ea .ST_AxPosB {return _bc .New ("\u004f\u006e\u006c\u0079\u0020l\u0065\u0066\u0074\u0020\u006f\u0072\u0020\u0062\u006f\u0074\u0074\u006f\u006d \u0078\u0020\u0061\u0078\u0069\u0073\u0020\u0073\u0075\u0070\u0070\u006f\u0072\u0074\u0020\u0073\u006f\u0020\u0066\u0061\u0072"); };if _aeb !=_gebb ||_bdgb !=_cdd {return _bc .New ("a\u0078i\u0073\u0020\u0069\u0064\u0073\u0020\u0064\u006fn\u0027\u0074\u0020\u006dat\u0063\u0068");};_dbb :=len (_ecee )+1;var _gda ,_cda float64 ;switch _bfc {case _ea .ST_TickMarkIn :_gda ,_cda =_ecb ,0; case _ea .ST_TickMarkOut :_gda ,_cda =0,_ecb ;case _ea .ST_TickMarkCross :_gda ,_cda =_ecb ,_ecb ;};_gda =_gda *_bdg ;_cda =_cda *_bdg ;var _ddbb *_dc .CT_ShapeProperties ;if _fbd !=nil {_ddbb =_fbd .SpPr ;};if _adf {_dcdc :=_dedb /float64 (len (_ecee )); _fggg :=_ebd .Left -_ccdgb *_efg /_dcd ;_ecc :=_fggg -_eaeg *_bdg ;if _cad {var _bcaa float64 ;for _cceg :=0;_cceg < _dbb ;_cceg ++{_dddd :=_ebd .Bottom -float64 (_cceg )*_dcdc ;if _cceg < _dbb -1{_ggad :=_fgg .NewParagraph (_ecee [_cceg ]);_ggad .SetFontSize (_eba *_bdg ); _ggad .SetPos (_ecc ,_dddd -_dcdc /2-_cfg *_bdg );_fgg .Draw (_ggad );_adfb :=(_ggad .Width ()/1000-_eaeg )*_bdg ;if _adfb > 0&&_adfb > _bcaa {_bcaa =_adfb ;};};};if _bcaa > 0{_ebd .Left +=_bcaa +_ccdg ;_fggg =_ebd .Left -_ccdgb *_efg /_dcd ;_efg =_ebd .Right -_ebd .Left ; };};_eeeb :=_fggg -_cda ;_dbcf :=_fggg +_gda ;_dgg :=_ebd .Left ;_bdfg :=_ebd .Right ;for _bbe :=0;_bbe < _dbb ;_bbe ++{_cca :=_ebd .Bottom -float64 (_bbe )*_dcdc ;_agg .drawLineWithProps (_ebfc ,_eeeb ,_cca ,_dbcf ,_cca ,true );_agg .drawLineWithProps (_ddbb ,_dgg ,_cca ,_bdfg ,_cca ,true ); };_cbgf :=_efg /_dcd ;_efgd :=_ebd .Bottom -_fcf ;_cbc :=_ebd .Bottom +_deed ;_ggb :=_ebd .Top ;_dfe :=_ebd .Bottom ;for _afd :=0;_afd < _ddg ;_afd ++{_babg :=_ebd .Left +(_ggef -_ccdgb )*_cbgf ;_agg .drawLineWithProps (_bee ,_babg ,_efgd ,_babg ,_cbc ,true ); _agg .drawLineWithProps (_bbcg ,_babg ,_ggb ,_babg ,_dfe ,true );if _agad {_gea :=_fgg .NewParagraph (_fg .FormatFloat (_ggef ,'g',-1,64));_gea .SetFontSize (_eba *_bdg );_gea .SetPos (_babg -_gab *_bdg ,_dfe +_bbcb *_bdg );_fgg .Draw (_gea );};_ggef +=_fbaf ; };}else {_ffe :=_dedb /_dcd ;_dgbd :=_ebd .Left ;if _agad {var _dgge float64 ;for _fbcf :=0;_fbcf < _ddg ;_fbcf ++{_edgd :=_ebd .Bottom -(_ggef -_ccdgb )*_ffe ;_dab :=_fgg .NewParagraph (_fg .FormatFloat (_ggef ,'g',-1,64));_dab .SetFontSize (_eba *_bdg ); _dab .SetPos (_dgbd -_eaeg *_bdg ,_edgd -_cfg *_bdg );_fgg .Draw (_dab );_bbf :=(_dab .Width ()/1000-_eaeg )*_bdg ;if _bbf > 0&&_bbf > _dgge {_dgge =_bbf ;};_ggef +=_fbaf ;};if _dgge > 0{_ebd .Left +=_dgge +_ccdg ;_efg =_ebd .Right -_ebd .Left ;};};_ggef =_ccdgb ; _gddg :=_ebd .Left -_deed ;_baa :=_ebd .Left +_fcf ;_dgbd =_ebd .Left ;_bea :=_ebd .Right ;for _acc :=0;_acc < _ddg ;_acc ++{_gac :=_ebd .Bottom -(_ggef -_ccdgb )*_ffe ;_agg .drawLineWithProps (_bee ,_gddg ,_gac ,_baa ,_gac ,true );_agg .drawLineWithProps (_bbcg ,_dgbd ,_gac ,_bea ,_gac ,true ); _ggef +=_fbaf ;};_adab :=_efg /float64 (len (_ecee ));_dbce :=_ebd .Bottom +_ccdgb *_dedb /_dcd ;_egdb :=_dbce -_gda ;_aedf :=_dbce +_cda ;_agge :=_ebd .Top ;_fae :=_ebd .Bottom ;_ged :=_dbce +_bbcb *_bdg ;for _ebg :=0;_ebg < _dbb ;_ebg ++{_cdfb :=_ebd .Left +float64 (_ebg )*_adab ; _agg .drawLineWithProps (_ebfc ,_cdfb ,_egdb ,_cdfb ,_aedf ,true );_agg .drawLineWithProps (_ddbb ,_cdfb ,_agge ,_cdfb ,_fae ,true );if _cad &&_ebg < _dbb -1{_faac :=_fgg .NewParagraph (_ecee [_ebg ]);_faac .SetFontSize (_eba *_bdg );_faac .SetPos (_cdfb +_cdf *_bdg ,_ged ); _fgg .Draw (_faac );};};};return nil ;};const (ImgPart_whole ImgPart =0;ImgPart_t ImgPart =1;ImgPart_b ImgPart =2;ImgPart_l ImgPart =3;ImgPart_r ImgPart =4;ImgPart_lt ImgPart =5;ImgPart_rt ImgPart =6;ImgPart_lb ImgPart =7;ImgPart_rb ImgPart =8;);func (_ab *creatorContext )drawBarChart (_aab *_ea .CT_BarChart ,_gdd *Rectangle ,_fgc *_ea .CT_PlotAreaChoice1 ,_bgd *_bcf .Workbook )([]*legendItem ,error ){var _db bool ; if _ad :=_aab .BarDir ;_ad !=nil {_db =_ad .ValAttr ==_ea .ST_BarDirBar ;};_ef :=_aab .Ser ;_ba .Sort (barSerByOrder (_ef ));_bb :=map[string ]serCategory {};_cdb :=[]string {};_abg :=[]*legendItem {};_eag :=_cf .Inf (1);_ffd :=_cf .Inf (-1);for _ ,_aae :=range _ef {var _gfg string ; if _gcg :=_aae .Tx ;_gcg !=nil {if _dd :=_gcg .Choice ;_dd !=nil {if _dd .V !=nil {_gfg =*_dd .V ;}else if _gg :=_dd .StrRef ;_gg !=nil {if _fb :=_gg .StrCache ;_fb !=nil {for _ ,_fge :=range _fb .Pt {_gfg =_fge .V ;};};};};};if _ec :=_aae .Cat ;_ec !=nil {if _ac :=_ec .Choice ; _ac !=nil {if _gb :=_ac .StrRef ;_gb !=nil {if _fd :=_gb .F ;_fd !=""&&_bgd !=nil {_acg ,_bf ,_bad ,_aca :=ParseExcelRange (_fd );if _aca ==nil {for _ ,_eb :=range _bgd .Sheets (){if _eb .Name ()==_e .Trim (_acg ,"\u0027"){_da :=_bf .String ();for _aaf :=_bf .RowIdx ; _aaf <=_bad .RowIdx ;_aaf +=1{_fgcb :=_e .ReplaceAll (_da ,_a .Sprint (_bf .RowIdx ),_a .Sprint (_aaf ));_ab .addCatName (_eb .Cell (_fgcb ).GetString (),_bb ,&_cdb );};break ;};};};};if _fba :=_gb .StrCache ;_fba !=nil {for _ ,_fdb :=range _fba .Pt {_ab .addCatName (_fdb .V ,_bb ,&_cdb ); };};}else if _eg :=_ac .NumRef ;_eg !=nil {if _dbg :=_eg .NumCache ;_dbg !=nil {var _dg string ;if _dbg .FormatCode !=nil {_dg =*_dbg .FormatCode ;};for _ ,_ebf :=range _dbg .Pt {var _gga string ;if _ebf .FormatCodeAttr ==nil {_gga =_dg ;}else {_gga =*_ebf .FormatCodeAttr ; };var _bab string ;_ega ,_af :=_fg .ParseFloat (_ebf .V ,64);if _af !=nil {_bab =_ebf .V ;}else {_bab =_aa .Number (_ega ,_gga );};_ab .addCatName (_bab ,_bb ,&_cdb );};};};};};if _bfd :=_aae .Val ;_bfd !=nil {if _fe :=_bfd .Choice ;_fe !=nil {if _ed :=_fe .NumRef ; _ed !=nil {if _ecf :=_ed .F ;_ecf !=""&&_bgd !=nil {_acd ,_dgb ,_ebe ,_eee :=ParseExcelRange (_ecf );if _eee ==nil {for _ ,_ead :=range _bgd .Sheets (){if _ead .Name ()==_e .Trim (_acd ,"\u0027"){_dae :=_dgb .String ();for _gfgc :=_dgb .RowIdx ;_gfgc <=_ebe .RowIdx ; _gfgc +=1{_ce :=_e .ReplaceAll (_dae ,_a .Sprint (_dgb .RowIdx ),_a .Sprint (_gfgc ));if _ead .FormulaContext ().HasFormula (_ce ){_dbf :=_fa .NewEvaluator ();_dga :=_ead .FormulaContext ().Cell (_ce ,_dbf );_bae :=_dga .Value ();_ab .addCatValue (_bae ,_bb ,_cdb ,(int )(_gfgc -_dgb .RowIdx ),&_eag ,&_ffd ,_gfg ,_aae .SpPr ); }else {_fdgd :=_ead .Cell (_ce ).GetString ();_ab .addCatValue (_fdgd ,_bb ,_cdb ,(int )(_gfgc -_dgb .RowIdx ),&_eag ,&_ffd ,_gfg ,_aae .SpPr );};};break ;};};};};if _de :=_ed .NumCache ;_de !=nil {for _bdb ,_ada :=range _de .Pt {_ab .addCatValue (_ada .V ,_bb ,_cdb ,_bdb ,&_eag ,&_ffd ,_gfg ,_aae .SpPr ); };};};};};_abg =append (_abg ,&legendItem {_gbaf :_gfg ,_fdbee :_aae .SpPr });};var _cef float64 ;var _efc ,_fac float64 ;if _ffd ==0&&_eag ==0{_cef =0.2;_fac =0;_efc =1;}else {var _ga float64 ;if _deg :=_cf .Abs (_eag );_ffd < _deg {_ga =_deg ;}else {_ga =_ffd ; };_ge :=_cf .Pow (10,_cf .Floor (_cf .Log10 (_ga )));_eaa :=_ga /_ge ;if _eaa < 4.29{_cef =0.5;}else if _eaa >=4.29&&_eaa < 8.58{_cef =1;}else {_cef =2;};_cef *=_ge ;if _ffd <=0{_efc =0;}else {_efc =(_cf .Ceil (_ffd /_cef )+1)*_cef ;};if _eag >=0{_fac =0; }else {_fac =(_cf .Floor (_eag /_cef )-1)*_cef ;};};_cbd :=_ab .drawAxes (_fgc ,_fac ,_efc ,_cef ,_cdb ,_gdd ,_db );if _cbd !=nil {return nil ,_cbd ;};_cee :=0.0;if _aab .GapWidth !=nil {if _dca :=_aab .GapWidth .ValAttr ;_dca !=nil {if _efa :=_dca .ST_GapAmountUShort ; _efa !=nil {_cee =float64 (*_efa )/100.0;};};};_edb :=_gdd .Right -_gdd .Left ;_cfa :=_gdd .Bottom -_gdd .Top ;_efd :=float64 (len (_cdb ));if _db {_geb :=_efc /(_efc -_fac )*_edb ;_bce :=-_fac /(_efc -_fac )*_edb ;_fdbe :=_gdd .Left +_bce ;_cac :=_cfa /_efd ; for _faf ,_edf :=range _cdb {_edc :=_bb [_edf ];_ag :=float64 (len (_edc ._gge ))+_cee ;_bff :=_cac /_ag ;_gaf :=_bff *_cee ;_dbc :=_gdd .Bottom -float64 (_faf )*_cac -_gaf /2-_bff ;for _ ,_gaa :=range _edc ._gge {if _gaa ._degc ==0{continue ;};var _gdc ,_ffa float64 ; if _gaa ._degc > 0{_ffa =_gaa ._degc /_efc *_geb ;_ab .drawRectangleWithProps (_gaa ._aff ,_fdbe ,_dbc ,_ffa ,_bff ,false );}else {_ffa =_gaa ._degc /_fac *_bce ;_gdc =_fdbe -_ffa ;_ab .drawRectangleWithProps (_gaa ._aff ,_gdc ,_dbc ,_ffa ,_bff ,false ); };_dbc -=_bff ;};};}else {_gba :=_efc /(_efc -_fac )*_cfa ;_egg :=-_fac /(_efc -_fac )*_cfa ;_bda :=_gdd .Top +_gba ;_bga :=_edb /_efd ;for _gcb ,_cec :=range _cdb {_deb :=_bb [_cec ];_daf :=float64 (len (_deb ._gge ))+_cee ;_cg :=_bga /_daf ;_bdc :=_cg *_cee ; _fbg :=_gdd .Left +float64 (_gcb )*_bga +_bdc /2;for _ ,_edg :=range _deb ._gge {var _ded ,_cbb float64 ;if _edg ._degc > 0{_cbb =_edg ._degc /_efc *_gba ;_ded =_bda -_cbb ;_ab .drawRectangleWithProps (_edg ._aff ,_fbg ,_ded ,_cg ,_cbb ,false );}else {_cbb =_edg ._degc /_fac *_egg ; _ab .drawRectangleWithProps (_edg ._aff ,_fbg ,_bda ,_cg ,_cbb ,false );};_fbg +=_cg ;};};};return _abg ,nil ;};func (_fda barSerByOrder )Less (i ,j int )bool {return _fda [i ].Order .ValAttr < _fda [j ].Order .ValAttr };func (_age *creatorContext )drawTitle (_cgg string ,_cga ,_efcc float64 ){_gaae :=_age ._fgac ; _faab :=_age ._bdga .NewStyledParagraph ();_cfd :=_faab .SetText (_cgg );_dgba ,_cce :=_cd .NewStandard14Font (_cd .HelveticaName );if _cce ==nil {_ggf :=_age ._bdga .NewTextStyle ();_ggf .Font =_dgba ;_ggf .FontSize =14;_ggf .TextRise =0.4;_cfd .Style =_ggf ; _faab .SetPos (_cga -_faab .Width ()*_gaae /2,_efcc );_age ._bdga .Draw (_faab );};};func _cacd (_adbbd string )([]byte ,error ){_bade :=_c .MustCompile ("\u005b\u005e\u0061\u002d\u007a\u0041\u002d\u005a\u0030\u002d\u0039\u005d\u002b");_adbbd =_bade .ReplaceAllString (_adbbd ,""); _bgda :=[]rune (_adbbd );_gabe :=[]byte {};for _agd :=len (_bgda )-2;_agd >=0;_agd -=2{_fgdc ,_eccb :=_fg .ParseUint (string (_bgda [_agd ])+string (_bgda [_agd +1]),16,8);if _eccb !=nil {return nil ,_eccb ;};_gabe =append (_gabe ,byte (_fgdc ));};return _gabe ,nil ; };func _bcac (_fag float64 )float64 {return _fag *_be .Millimeter };func GetGroupOffsetFromXfrm (xfrm *_dc .CT_GroupTransform2D )(float64 ,float64 ){var _acfa ,_cebd float64 ;if xfrm .Off !=nil &&xfrm .ChOff !=nil {_acfa =_be .FromEMU (FromSTCoordinate (xfrm .Off .XAttr ))-_be .FromEMU (FromSTCoordinate (xfrm .ChOff .XAttr )); _cebd =_be .FromEMU (FromSTCoordinate (xfrm .Off .YAttr ))-_be .FromEMU (FromSTCoordinate (xfrm .ChOff .YAttr ));};return _acfa ,_cebd ;};func (_bdaf *Rectangle )Translate (x ,y float64 ){_bdaf .Left +=x ;_bdaf .Right +=x ;_bdaf .Top +=y ;_bdaf .Bottom +=y ; };func _baaa (_cfb uint8 ,_ecd float64 )string {_baba :=float64 (_cfb );var _fbce float64 ;if _ecd < 0{_fbce =_baba *(1+_ecd );}else {_fbce =_baba +(255-_baba )*_ecd ;};return _a .Sprintf ("\u0025\u0030\u0032\u0078",int (_fbce ));};type fontsMap struct{_ddcb *_gc .Mutex ; _cdac map[string ]map[FontStyle ]*_cd .PdfFont ;};var _fce =fontsMap {_ddcb :&_gc .Mutex {},_cdac :map[string ]map[FontStyle ]*_cd .PdfFont {}};