Saint 2023-05-31 16:57:17 -04:00
parent e4797f7fa8
commit 308fcf54d0
3 changed files with 352 additions and 595 deletions

View File

@ -13,535 +13,246 @@ struct MyCustomShape: Shape {
var path = Path()
let width = rect.size.width * 0.1
let height = rect.size.height * 0.1
path.move(to: CGPoint(x: 5.05217*width, y: 9.63163*height))
path.addCurve(to: CGPoint(x: 4.91142*width, y: 9.41742*height), control1: CGPoint(x: 4.98917*width, y: 9.57057*height), control2: CGPoint(x: 4.93701*width, y: 9.48949*height))
path.addCurve(to: CGPoint(x: 4.875*width, y: 9.17718*height), control1: CGPoint(x: 4.88681*width, y: 9.34535*height), control2: CGPoint(x: 4.86811*width, y: 9.22623*height))
path.addCurve(to: CGPoint(x: 4.87697*width, y: 9.13914*height), control1: CGPoint(x: 4.87795*width, y: 9.15616*height), control2: CGPoint(x: 4.87894*width, y: 9.13914*height))
path.addCurve(to: CGPoint(x: 4.63386*width, y: 9.08008*height), control1: CGPoint(x: 4.85039*width, y: 9.13914*height), control2: CGPoint(x: 4.69783*width, y: 9.1021*height))
path.addCurve(to: CGPoint(x: 3.8435*width, y: 8.53253*height), control1: CGPoint(x: 4.38681*width, y: 8.99499*height), control2: CGPoint(x: 4.18799*width, y: 8.85786*height))
path.addCurve(to: CGPoint(x: 3.46654*width, y: 8.19419*height), control1: CGPoint(x: 3.63681*width, y: 8.33734*height), control2: CGPoint(x: 3.54626*width, y: 8.25726*height))
path.addCurve(to: CGPoint(x: 2.91437*width, y: 7.91491*height), control1: CGPoint(x: 3.3061*width, y: 8.06907*height), control2: CGPoint(x: 3.13484*width, y: 7.98298*height))
path.addCurve(to: CGPoint(x: 2.78937*width, y: 7.85686*height), control1: CGPoint(x: 2.82579*width, y: 7.88789*height), control2: CGPoint(x: 2.79921*width, y: 7.87487*height))
path.addCurve(to: CGPoint(x: 2.80118*width, y: 7.9009*height), control1: CGPoint(x: 2.76575*width, y: 7.81381*height), control2: CGPoint(x: 2.77461*width, y: 7.84785*height))
path.addCurve(to: CGPoint(x: 3.11811*width, y: 8.28729*height), control1: CGPoint(x: 2.87598*width, y: 8.05305*height), control2: CGPoint(x: 3.00295*width, y: 8.20721*height))
path.addCurve(to: CGPoint(x: 3.63287*width, y: 8.44845*height), control1: CGPoint(x: 3.27854*width, y: 8.3974*height), control2: CGPoint(x: 3.44094*width, y: 8.44845*height))
path.addLine(to: CGPoint(x: 3.72933*width, y: 8.44845*height))
path.addLine(to: CGPoint(x: 3.88287*width, y: 8.59059*height))
path.addCurve(to: CGPoint(x: 4.03543*width, y: 8.73974*height), control1: CGPoint(x: 3.96654*width, y: 8.66867*height), control2: CGPoint(x: 4.03543*width, y: 8.73574*height))
path.addCurve(to: CGPoint(x: 3.8435*width, y: 8.77878*height), control1: CGPoint(x: 4.03543*width, y: 8.74675*height), control2: CGPoint(x: 3.95866*width, y: 8.76276*height))
path.addCurve(to: CGPoint(x: 3.4252*width, y: 8.77377*height), control1: CGPoint(x: 3.73917*width, y: 8.79379*height), control2: CGPoint(x: 3.51969*width, y: 8.79079*height))
path.addCurve(to: CGPoint(x: 3.13976*width, y: 8.68969*height), control1: CGPoint(x: 3.33858*width, y: 8.75776*height), control2: CGPoint(x: 3.2815*width, y: 8.74174*height))
path.addCurve(to: CGPoint(x: 3.0315*width, y: 8.65866*height), control1: CGPoint(x: 3.0935*width, y: 8.67267*height), control2: CGPoint(x: 3.04528*width, y: 8.65866*height))
path.addCurve(to: CGPoint(x: 2.83366*width, y: 8.76577*height), control1: CGPoint(x: 2.99114*width, y: 8.65866*height), control2: CGPoint(x: 2.8878*width, y: 8.71471*height))
path.addCurve(to: CGPoint(x: 2.66732*width, y: 9.002*height), control1: CGPoint(x: 2.78543*width, y: 8.81181*height), control2: CGPoint(x: 2.66732*width, y: 8.97898*height))
path.addCurve(to: CGPoint(x: 2.65748*width, y: 9.003*height), control1: CGPoint(x: 2.66732*width, y: 9.00901*height), control2: CGPoint(x: 2.66437*width, y: 9.01001*height))
path.addCurve(to: CGPoint(x: 2.63878*width, y: 8.76977*height), control1: CGPoint(x: 2.64075*width, y: 8.98599*height), control2: CGPoint(x: 2.62894*width, y: 8.84284*height))
path.addCurve(to: CGPoint(x: 2.7628*width, y: 8.47247*height), control1: CGPoint(x: 2.65059*width, y: 8.67267*height), control2: CGPoint(x: 2.6811*width, y: 8.5986*height))
path.addCurve(to: CGPoint(x: 2.71752*width, y: 8.38038*height), control1: CGPoint(x: 2.77461*width, y: 8.45345*height), control2: CGPoint(x: 2.77165*width, y: 8.44545*height))
path.addCurve(to: CGPoint(x: 2.5374*width, y: 8.11311*height), control1: CGPoint(x: 2.64665*width, y: 8.29429*height), control2: CGPoint(x: 2.59646*width, y: 8.22022*height))
path.addCurve(to: CGPoint(x: 2.36122*width, y: 7.67768*height), control1: CGPoint(x: 2.47638*width, y: 8.003*height), control2: CGPoint(x: 2.45079*width, y: 7.93994*height))
path.addCurve(to: CGPoint(x: 2.28445*width, y: 7.46146*height), control1: CGPoint(x: 2.3189*width, y: 7.55355*height), control2: CGPoint(x: 2.28445*width, y: 7.45646*height))
path.addCurve(to: CGPoint(x: 2.32776*width, y: 7.61161*height), control1: CGPoint(x: 2.28346*width, y: 7.46547*height), control2: CGPoint(x: 2.30315*width, y: 7.53353*height))
path.addCurve(to: CGPoint(x: 2.37205*width, y: 7.76076*height), control1: CGPoint(x: 2.35236*width, y: 7.69069*height), control2: CGPoint(x: 2.37205*width, y: 7.75776*height))
path.addCurve(to: CGPoint(x: 2.06791*width, y: 7.64665*height), control1: CGPoint(x: 2.37205*width, y: 7.77177*height), control2: CGPoint(x: 2.17323*width, y: 7.6977*height))
path.addCurve(to: CGPoint(x: 1.5935*width, y: 7.27027*height), control1: CGPoint(x: 1.87992*width, y: 7.55556*height), control2: CGPoint(x: 1.69882*width, y: 7.41241*height))
path.addCurve(to: CGPoint(x: 1.53642*width, y: 7.2002*height), control1: CGPoint(x: 1.57087*width, y: 7.23824*height), control2: CGPoint(x: 1.54429*width, y: 7.20621*height))
path.addCurve(to: CGPoint(x: 1.25689*width, y: 7.24825*height), control1: CGPoint(x: 1.50098*width, y: 7.17017*height), control2: CGPoint(x: 1.36516*width, y: 7.19319*height))
path.addCurve(to: CGPoint(x: 1.09547*width, y: 7.35435*height), control1: CGPoint(x: 1.19882*width, y: 7.27828*height), control2: CGPoint(x: 1.18209*width, y: 7.28929*height))
path.addLine(to: CGPoint(x: 1.06004*width, y: 7.38238*height))
path.addLine(to: CGPoint(x: 1.06594*width, y: 7.33534*height))
path.addCurve(to: CGPoint(x: 1.32972*width, y: 6.93994*height), control1: CGPoint(x: 1.08661*width, y: 7.17918*height), control2: CGPoint(x: 1.18602*width, y: 7.03103*height))
path.addCurve(to: CGPoint(x: 1.38287*width, y: 6.88288*height), control1: CGPoint(x: 1.37894*width, y: 6.90991*height), control2: CGPoint(x: 1.3878*width, y: 6.8999*height))
path.addCurve(to: CGPoint(x: 1.3189*width, y: 6.44144*height), control1: CGPoint(x: 1.34154*width, y: 6.73473*height), control2: CGPoint(x: 1.3189*width, y: 6.57958*height))
path.addCurve(to: CGPoint(x: 1.35827*width, y: 6.07107*height), control1: CGPoint(x: 1.3189*width, y: 6.33734*height), control2: CGPoint(x: 1.34547*width, y: 6.08609*height))
path.addCurve(to: CGPoint(x: 1.37303*width, y: 6.01602*height), control1: CGPoint(x: 1.36319*width, y: 6.06507*height), control2: CGPoint(x: 1.37008*width, y: 6.04004*height))
path.addCurve(to: CGPoint(x: 1.36811*width, y: 6.004*height), control1: CGPoint(x: 1.37795*width, y: 5.97397*height), control2: CGPoint(x: 1.37697*width, y: 5.97297*height))
path.addCurve(to: CGPoint(x: 1.34941*width, y: 6.03604*height), control1: CGPoint(x: 1.3622*width, y: 6.02102*height), control2: CGPoint(x: 1.35335*width, y: 6.03604*height))
path.addCurve(to: CGPoint(x: 1.18898*width, y: 5.85085*height), control1: CGPoint(x: 1.33858*width, y: 6.03604*height), control2: CGPoint(x: 1.25295*width, y: 5.93694*height))
path.addCurve(to: CGPoint(x: 0.92028*width, y: 5.26527*height), control1: CGPoint(x: 1.06004*width, y: 5.67768*height), control2: CGPoint(x: 0.94685*width, y: 5.43043*height))
path.addCurve(to: CGPoint(x: 0.84252*width, y: 5.14014*height), control1: CGPoint(x: 0.90945*width, y: 5.1992*height), control2: CGPoint(x: 0.89075*width, y: 5.16917*height))
path.addCurve(to: CGPoint(x: 0.58661*width, y: 5.08509*height), control1: CGPoint(x: 0.77657*width, y: 5.1011*height), control2: CGPoint(x: 0.74606*width, y: 5.09409*height))
path.addCurve(to: CGPoint(x: 0.4311*width, y: 5.06707*height), control1: CGPoint(x: 0.50689*width, y: 5.08108*height), control2: CGPoint(x: 0.43602*width, y: 5.07207*height))
path.addCurve(to: CGPoint(x: 0.59055*width, y: 4.93594*height), control1: CGPoint(x: 0.41831*width, y: 5.05405*height), control2: CGPoint(x: 0.51476*width, y: 4.97497*height))
path.addCurve(to: CGPoint(x: 0.82579*width, y: 4.86887*height), control1: CGPoint(x: 0.66535*width, y: 4.8969*height), control2: CGPoint(x: 0.73228*width, y: 4.87788*height))
path.addLine(to: CGPoint(x: 0.90551*width, y: 4.86186*height))
path.addLine(to: CGPoint(x: 0.91535*width, y: 4.82082*height))
path.addCurve(to: CGPoint(x: 1.24705*width, y: 4.19419*height), control1: CGPoint(x: 0.97933*width, y: 4.56456*height), control2: CGPoint(x: 1.0748*width, y: 4.38338*height))
path.addCurve(to: CGPoint(x: 1.55413*width, y: 3.88388*height), control1: CGPoint(x: 1.29429*width, y: 4.14114*height), control2: CGPoint(x: 1.43307*width, y: 4.001*height))
path.addCurve(to: CGPoint(x: 2.16142*width, y: 2.90591*height), control1: CGPoint(x: 1.97244*width, y: 3.47548*height), control2: CGPoint(x: 2.0561*width, y: 3.34034*height))
path.addCurve(to: CGPoint(x: 2.24902*width, y: 2.74474*height), control1: CGPoint(x: 2.18898*width, y: 2.79179*height), control2: CGPoint(x: 2.20079*width, y: 2.77077*height))
path.addCurve(to: CGPoint(x: 2.53543*width, y: 2.64264*height), control1: CGPoint(x: 2.30217*width, y: 2.71672*height), control2: CGPoint(x: 2.51083*width, y: 2.64264*height))
path.addCurve(to: CGPoint(x: 2.55413*width, y: 2.68068*height), control1: CGPoint(x: 2.55807*width, y: 2.64264*height), control2: CGPoint(x: 2.55906*width, y: 2.64565*height))
path.addCurve(to: CGPoint(x: 2.41732*width, y: 3.23323*height), control1: CGPoint(x: 2.54035*width, y: 2.75776*height), control2: CGPoint(x: 2.45079*width, y: 3.12312*height))
path.addCurve(to: CGPoint(x: 2.4252*width, y: 3.47047*height), control1: CGPoint(x: 2.37106*width, y: 3.38338*height), control2: CGPoint(x: 2.37205*width, y: 3.3974*height))
path.addCurve(to: CGPoint(x: 2.67717*width, y: 3.66567*height), control1: CGPoint(x: 2.47835*width, y: 3.54454*height), control2: CGPoint(x: 2.5689*width, y: 3.61562*height))
path.addCurve(to: CGPoint(x: 2.74213*width, y: 3.71972*height), control1: CGPoint(x: 2.75295*width, y: 3.7017*height), control2: CGPoint(x: 2.75886*width, y: 3.70671*height))
path.addCurve(to: CGPoint(x: 2.41142*width, y: 3.74474*height), control1: CGPoint(x: 2.6939*width, y: 3.75576*height), control2: CGPoint(x: 2.50295*width, y: 3.76977*height))
path.addCurve(to: CGPoint(x: 2.30118*width, y: 3.7027*height), control1: CGPoint(x: 2.38681*width, y: 3.73774*height), control2: CGPoint(x: 2.3376*width, y: 3.71872*height))
path.addCurve(to: CGPoint(x: 2.22146*width, y: 3.67367*height), control1: CGPoint(x: 2.26575*width, y: 3.68669*height), control2: CGPoint(x: 2.22933*width, y: 3.67367*height))
path.addCurve(to: CGPoint(x: 2.16043*width, y: 3.73674*height), control1: CGPoint(x: 2.21358*width, y: 3.67367*height), control2: CGPoint(x: 2.18602*width, y: 3.7017*height))
path.addCurve(to: CGPoint(x: 1.89567*width, y: 4.01902*height), control1: CGPoint(x: 2.13386*width, y: 3.77077*height), control2: CGPoint(x: 2.01476*width, y: 3.8979*height))
path.addCurve(to: CGPoint(x: 1.70472*width, y: 4.21522*height), control1: CGPoint(x: 1.77559*width, y: 4.14014*height), control2: CGPoint(x: 1.68996*width, y: 4.22823*height))
path.addCurve(to: CGPoint(x: 1.73228*width, y: 4.1952*height), control1: CGPoint(x: 1.72047*width, y: 4.2012*height), control2: CGPoint(x: 1.73228*width, y: 4.19319*height))
path.addCurve(to: CGPoint(x: 1.7815*width, y: 4.3974*height), control1: CGPoint(x: 1.73228*width, y: 4.1982*height), control2: CGPoint(x: 1.75492*width, y: 4.28929*height))
path.addCurve(to: CGPoint(x: 1.84941*width, y: 4.71271*height), control1: CGPoint(x: 1.80906*width, y: 4.50651*height), control2: CGPoint(x: 1.83957*width, y: 4.64865*height))
path.addCurve(to: CGPoint(x: 1.9124*width, y: 4.88789*height), control1: CGPoint(x: 1.87303*width, y: 4.85485*height), control2: CGPoint(x: 1.87402*width, y: 4.85786*height))
path.addCurve(to: CGPoint(x: 2.34449*width, y: 4.97598*height), control1: CGPoint(x: 2.01575*width, y: 4.96697*height), control2: CGPoint(x: 2.16831*width, y: 4.999*height))
path.addCurve(to: CGPoint(x: 2.34055*width, y: 5.04204*height), control1: CGPoint(x: 2.40945*width, y: 4.96797*height), control2: CGPoint(x: 2.40945*width, y: 4.97397*height))
path.addCurve(to: CGPoint(x: 1.95768*width, y: 5.1992*height), control1: CGPoint(x: 2.24016*width, y: 5.14114*height), control2: CGPoint(x: 2.10335*width, y: 5.1972*height))
path.addLine(to: CGPoint(x: 1.87106*width, y: 5.2002*height))
path.addLine(to: CGPoint(x: 1.86614*width, y: 5.23524*height))
path.addCurve(to: CGPoint(x: 1.76673*width, y: 5.77578*height), control1: CGPoint(x: 1.84252*width, y: 5.3984*height), control2: CGPoint(x: 1.81988*width, y: 5.52052*height))
path.addCurve(to: CGPoint(x: 1.69882*width, y: 6.71471*height), control1: CGPoint(x: 1.65551*width, y: 6.2993*height), control2: CGPoint(x: 1.64272*width, y: 6.48248*height))
path.addCurve(to: CGPoint(x: 2.1752*width, y: 7.30731*height), control1: CGPoint(x: 1.75689*width, y: 6.95495*height), control2: CGPoint(x: 1.94685*width, y: 7.19119*height))
path.addCurve(to: CGPoint(x: 2.24705*width, y: 7.35135*height), control1: CGPoint(x: 2.21063*width, y: 7.32533*height), control2: CGPoint(x: 2.24311*width, y: 7.34535*height))
path.addCurve(to: CGPoint(x: 2.10039*width, y: 6.95195*height), control1: CGPoint(x: 2.27264*width, y: 7.38639*height), control2: CGPoint(x: 2.1565*width, y: 7.06907*height))
path.addCurve(to: CGPoint(x: 1.72343*width, y: 6.43644*height), control1: CGPoint(x: 2.02756*width, y: 6.7968*height), control2: CGPoint(x: 1.97244*width, y: 6.72172*height))
path.addLine(to: CGPoint(x: 1.6811*width, y: 6.38739*height))
path.addLine(to: CGPoint(x: 1.69685*width, y: 6.25926*height))
path.addCurve(to: CGPoint(x: 1.75*width, y: 6.00801*height), control1: CGPoint(x: 1.71949*width, y: 6.08709*height), control2: CGPoint(x: 1.73425*width, y: 6.01301*height))
path.addCurve(to: CGPoint(x: 2.1752*width, y: 6.44444*height), control1: CGPoint(x: 1.76575*width, y: 6.003*height), control2: CGPoint(x: 2.11516*width, y: 6.36036*height))
path.addCurve(to: CGPoint(x: 2.26476*width, y: 6.50651*height), control1: CGPoint(x: 2.2185*width, y: 6.5035*height), control2: CGPoint(x: 2.22047*width, y: 6.50551*height))
path.addCurve(to: CGPoint(x: 2.62795*width, y: 6.35736*height), control1: CGPoint(x: 2.38484*width, y: 6.50751*height), control2: CGPoint(x: 2.50394*width, y: 6.45846*height))
path.addCurve(to: CGPoint(x: 2.70276*width, y: 6.2993*height), control1: CGPoint(x: 2.66831*width, y: 6.32432*height), control2: CGPoint(x: 2.70177*width, y: 6.2983*height))
path.addCurve(to: CGPoint(x: 2.69587*width, y: 6.36136*height), control1: CGPoint(x: 2.70374*width, y: 6.3003*height), control2: CGPoint(x: 2.70079*width, y: 6.32833*height))
path.addCurve(to: CGPoint(x: 2.45079*width, y: 6.74675*height), control1: CGPoint(x: 2.67618*width, y: 6.49249*height), control2: CGPoint(x: 2.56004*width, y: 6.67467*height))
path.addCurve(to: CGPoint(x: 2.40157*width, y: 6.78278*height), control1: CGPoint(x: 2.42421*width, y: 6.76476*height), control2: CGPoint(x: 2.40157*width, y: 6.78078*height))
path.addCurve(to: CGPoint(x: 2.45276*width, y: 6.91391*height), control1: CGPoint(x: 2.40157*width, y: 6.78478*height), control2: CGPoint(x: 2.42421*width, y: 6.84384*height))
path.addCurve(to: CGPoint(x: 2.57972*width, y: 7.27227*height), control1: CGPoint(x: 2.48031*width, y: 6.98398*height), control2: CGPoint(x: 2.5374*width, y: 7.14615*height))
path.addCurve(to: CGPoint(x: 2.6565*width, y: 7.49049*height), control1: CGPoint(x: 2.62205*width, y: 7.3994*height), control2: CGPoint(x: 2.6565*width, y: 7.4975*height))
path.addCurve(to: CGPoint(x: 3.3002*width, y: 7.68468*height), control1: CGPoint(x: 2.65846*width, y: 7.46446*height), control2: CGPoint(x: 3.11909*width, y: 7.6026*height))
path.addCurve(to: CGPoint(x: 3.43406*width, y: 7.71672*height), control1: CGPoint(x: 3.39075*width, y: 7.72573*height), control2: CGPoint(x: 3.40059*width, y: 7.72773*height))
path.addCurve(to: CGPoint(x: 3.73819*width, y: 7.41241*height), control1: CGPoint(x: 3.54134*width, y: 7.68168*height), control2: CGPoint(x: 3.66535*width, y: 7.55856*height))
path.addLine(to: CGPoint(x: 3.7687*width, y: 7.35335*height))
path.addLine(to: CGPoint(x: 3.78051*width, y: 7.38238*height))
path.addCurve(to: CGPoint(x: 3.79331*width, y: 7.54254*height), control1: CGPoint(x: 3.78937*width, y: 7.4014*height), control2: CGPoint(x: 3.79331*width, y: 7.45946*height))
path.addCurve(to: CGPoint(x: 3.71161*width, y: 7.84785*height), control1: CGPoint(x: 3.79331*width, y: 7.68869*height), control2: CGPoint(x: 3.78248*width, y: 7.72873*height))
path.addLine(to: CGPoint(x: 3.67421*width, y: 7.91191*height))
path.addLine(to: CGPoint(x: 3.75098*width, y: 7.97497*height))
path.addCurve(to: CGPoint(x: 4.16339*width, y: 8.35836*height), control1: CGPoint(x: 3.84646*width, y: 8.05405*height), control2: CGPoint(x: 4.05118*width, y: 8.24424*height))
path.addCurve(to: CGPoint(x: 4.93602*width, y: 8.78779*height), control1: CGPoint(x: 4.4065*width, y: 8.60761*height), control2: CGPoint(x: 4.68406*width, y: 8.76176*height))
path.addCurve(to: CGPoint(x: 5.48031*width, y: 8.67267*height), control1: CGPoint(x: 5.125*width, y: 8.80781*height), control2: CGPoint(x: 5.29626*width, y: 8.77077*height))
path.addCurve(to: CGPoint(x: 5.59744*width, y: 8.61862*height), control1: CGPoint(x: 5.53642*width, y: 8.64264*height), control2: CGPoint(x: 5.58858*width, y: 8.61862*height))
path.addCurve(to: CGPoint(x: 5.42421*width, y: 8.57958*height), control1: CGPoint(x: 5.63878*width, y: 8.61862*height), control2: CGPoint(x: 5.59055*width, y: 8.60761*height))
path.addCurve(to: CGPoint(x: 4.64665*width, y: 8.58959*height), control1: CGPoint(x: 5.10925*width, y: 8.52553*height), control2: CGPoint(x: 4.93602*width, y: 8.52753*height))
path.addCurve(to: CGPoint(x: 4.48031*width, y: 8.60861*height), control1: CGPoint(x: 4.53051*width, y: 8.61461*height), control2: CGPoint(x: 4.50098*width, y: 8.61862*height))
path.addCurve(to: CGPoint(x: 4.21752*width, y: 8.4034*height), control1: CGPoint(x: 4.45472*width, y: 8.5976*height), control2: CGPoint(x: 4.29528*width, y: 8.47247*height))
path.addCurve(to: CGPoint(x: 4.19193*width, y: 8.35936*height), control1: CGPoint(x: 4.18602*width, y: 8.37538*height), control2: CGPoint(x: 4.1811*width, y: 8.36637*height))
path.addCurve(to: CGPoint(x: 4.69783*width, y: 8.23223*height), control1: CGPoint(x: 4.20965*width, y: 8.34735*height), control2: CGPoint(x: 4.5374*width, y: 8.26627*height))
path.addCurve(to: CGPoint(x: 4.9252*width, y: 8.13814*height), control1: CGPoint(x: 4.8622*width, y: 8.1992*height), control2: CGPoint(x: 4.89469*width, y: 8.18519*height))
path.addCurve(to: CGPoint(x: 5.00787*width, y: 7.81081*height), control1: CGPoint(x: 4.97638*width, y: 8.05906*height), control2: CGPoint(x: 5.00197*width, y: 7.95596*height))
path.addCurve(to: CGPoint(x: 5.02067*width, y: 7.67768*height), control1: CGPoint(x: 5.00984*width, y: 7.73774*height), control2: CGPoint(x: 5.01575*width, y: 7.67768*height))
path.addCurve(to: CGPoint(x: 5.14764*width, y: 7.84885*height), control1: CGPoint(x: 5.03445*width, y: 7.67768*height), control2: CGPoint(x: 5.11516*width, y: 7.78679*height))
path.addCurve(to: CGPoint(x: 5.20669*width, y: 8.08408*height), control1: CGPoint(x: 5.18504*width, y: 7.92092*height), control2: CGPoint(x: 5.20669*width, y: 8.00601*height))
path.addCurve(to: CGPoint(x: 5.2126*width, y: 8.17718*height), control1: CGPoint(x: 5.20669*width, y: 8.11812*height), control2: CGPoint(x: 5.20965*width, y: 8.16016*height))
path.addCurve(to: CGPoint(x: 5.25*width, y: 8.20821*height), control1: CGPoint(x: 5.2185*width, y: 8.2042*height), control2: CGPoint(x: 5.22343*width, y: 8.20821*height))
path.addCurve(to: CGPoint(x: 5.71063*width, y: 8.28829*height), control1: CGPoint(x: 5.2874*width, y: 8.20821*height), control2: CGPoint(x: 5.43012*width, y: 8.23323*height))
path.addLine(to: CGPoint(x: 5.92421*width, y: 8.33033*height))
path.addLine(to: CGPoint(x: 6.05512*width, y: 8.20621*height))
path.addCurve(to: CGPoint(x: 6.41634*width, y: 7.89189*height), control1: CGPoint(x: 6.22638*width, y: 8.04505*height), control2: CGPoint(x: 6.28937*width, y: 7.98999*height))
path.addLine(to: CGPoint(x: 6.52067*width, y: 7.81181*height))
path.addLine(to: CGPoint(x: 6.52362*width, y: 7.73173*height))
path.addCurve(to: CGPoint(x: 6.49606*width, y: 7.56657*height), control1: CGPoint(x: 6.52559*width, y: 7.66166*height), control2: CGPoint(x: 6.52165*width, y: 7.63864*height))
path.addCurve(to: CGPoint(x: 6.4124*width, y: 7.4024*height), control1: CGPoint(x: 6.47933*width, y: 7.52052*height), control2: CGPoint(x: 6.44193*width, y: 7.44645*height))
path.addCurve(to: CGPoint(x: 6.37303*width, y: 7.31932*height), control1: CGPoint(x: 6.37795*width, y: 7.34935*height), control2: CGPoint(x: 6.36417*width, y: 7.32132*height))
path.addCurve(to: CGPoint(x: 6.5876*width, y: 7.4014*height), control1: CGPoint(x: 6.39665*width, y: 7.31331*height), control2: CGPoint(x: 6.53543*width, y: 7.36637*height))
path.addCurve(to: CGPoint(x: 6.77756*width, y: 7.6046*height), control1: CGPoint(x: 6.65256*width, y: 7.44344*height), control2: CGPoint(x: 6.74016*width, y: 7.53754*height))
path.addCurve(to: CGPoint(x: 6.81398*width, y: 7.65766*height), control1: CGPoint(x: 6.79331*width, y: 7.63363*height), control2: CGPoint(x: 6.80906*width, y: 7.65766*height))
path.addCurve(to: CGPoint(x: 6.93701*width, y: 7.61662*height), control1: CGPoint(x: 6.81791*width, y: 7.65766*height), control2: CGPoint(x: 6.87303*width, y: 7.63964*height))
path.addCurve(to: CGPoint(x: 7.29331*width, y: 7.51652*height), control1: CGPoint(x: 7*width, y: 7.59459*height), control2: CGPoint(x: 7.16043*width, y: 7.54955*height))
path.addCurve(to: CGPoint(x: 7.55315*width, y: 7.45045*height), control1: CGPoint(x: 7.42618*width, y: 7.48348*height), control2: CGPoint(x: 7.54232*width, y: 7.45445*height))
path.addCurve(to: CGPoint(x: 7.56496*width, y: 7.45646*height), control1: CGPoint(x: 7.56496*width, y: 7.44745*height), control2: CGPoint(x: 7.5689*width, y: 7.44945*height))
path.addCurve(to: CGPoint(x: 7.63287*width, y: 7.45245*height), control1: CGPoint(x: 7.5561*width, y: 7.47047*height), control2: CGPoint(x: 7.58268*width, y: 7.46947*height))
path.addCurve(to: CGPoint(x: 7.61614*width, y: 7.44645*height), control1: CGPoint(x: 7.67815*width, y: 7.43744*height), control2: CGPoint(x: 7.66929*width, y: 7.43443*height))
path.addCurve(to: CGPoint(x: 7.57874*width, y: 7.44945*height), control1: CGPoint(x: 7.59547*width, y: 7.45145*height), control2: CGPoint(x: 7.57874*width, y: 7.45245*height))
path.addCurve(to: CGPoint(x: 7.78445*width, y: 6.89489*height), control1: CGPoint(x: 7.57874*width, y: 7.43143*height), control2: CGPoint(x: 7.72835*width, y: 7.02903*height))
path.addLine(to: CGPoint(x: 7.85138*width, y: 6.73774*height))
path.addLine(to: CGPoint(x: 7.81791*width, y: 6.67467*height))
path.addCurve(to: CGPoint(x: 7.54626*width, y: 6.43043*height), control1: CGPoint(x: 7.76575*width, y: 6.57457*height), control2: CGPoint(x: 7.68996*width, y: 6.50651*height))
path.addLine(to: CGPoint(x: 7.4685*width, y: 6.38939*height))
path.addLine(to: CGPoint(x: 7.51575*width, y: 6.37237*height))
path.addCurve(to: CGPoint(x: 7.93012*width, y: 6.42042*height), control1: CGPoint(x: 7.63976*width, y: 6.32933*height), control2: CGPoint(x: 7.77756*width, y: 6.34535*height))
path.addLine(to: CGPoint(x: 8.02165*width, y: 6.46547*height))
path.addLine(to: CGPoint(x: 8.06791*width, y: 6.4034*height))
path.addCurve(to: CGPoint(x: 8.42913*width, y: 5.95596*height), control1: CGPoint(x: 8.1063*width, y: 6.35335*height), control2: CGPoint(x: 8.33858*width, y: 6.06507*height))
path.addLine(to: CGPoint(x: 8.4498*width, y: 5.93093*height))
path.addLine(to: CGPoint(x: 8.42717*width, y: 5.94995*height))
path.addCurve(to: CGPoint(x: 8.40157*width, y: 5.96496*height), control1: CGPoint(x: 8.41535*width, y: 5.96096*height), control2: CGPoint(x: 8.40354*width, y: 5.96697*height))
path.addCurve(to: CGPoint(x: 8.3376*width, y: 5.73774*height), control1: CGPoint(x: 8.39961*width, y: 5.96296*height), control2: CGPoint(x: 8.37106*width, y: 5.86086*height))
path.addCurve(to: CGPoint(x: 8.22835*width, y: 5.22422*height), control1: CGPoint(x: 8.27756*width, y: 5.51251*height), control2: CGPoint(x: 8.22835*width, y: 5.28128*height))
path.addCurve(to: CGPoint(x: 8.19291*width, y: 5.15816*height), control1: CGPoint(x: 8.22835*width, y: 5.2012*height), control2: CGPoint(x: 8.2185*width, y: 5.18318*height))
path.addCurve(to: CGPoint(x: 7.82776*width, y: 5.05706*height), control1: CGPoint(x: 8.11024*width, y: 5.07908*height), control2: CGPoint(x: 8.00984*width, y: 5.05105*height))
path.addCurve(to: CGPoint(x: 7.69685*width, y: 5.05405*height), control1: CGPoint(x: 7.75591*width, y: 5.05906*height), control2: CGPoint(x: 7.69685*width, y: 5.05706*height))
path.addCurve(to: CGPoint(x: 7.7628*width, y: 4.98599*height), control1: CGPoint(x: 7.69685*width, y: 5.05005*height), control2: CGPoint(x: 7.72638*width, y: 5.01902*height))
path.addCurve(to: CGPoint(x: 8.14173*width, y: 4.83483*height), control1: CGPoint(x: 7.87008*width, y: 4.88488*height), control2: CGPoint(x: 7.99705*width, y: 4.83483*height))
path.addCurve(to: CGPoint(x: 8.22244*width, y: 4.82282*height), control1: CGPoint(x: 8.19587*width, y: 4.83483*height), control2: CGPoint(x: 8.22047*width, y: 4.83083*height))
path.addCurve(to: CGPoint(x: 8.24606*width, y: 4.67968*height), control1: CGPoint(x: 8.22441*width, y: 4.81582*height), control2: CGPoint(x: 8.23524*width, y: 4.75175*height))
path.addCurve(to: CGPoint(x: 8.36713*width, y: 4.16416*height), control1: CGPoint(x: 8.27067*width, y: 4.52052*height), control2: CGPoint(x: 8.35433*width, y: 4.16416*height))
path.addCurve(to: CGPoint(x: 8.37598*width, y: 4.14815*height), control1: CGPoint(x: 8.37205*width, y: 4.16416*height), control2: CGPoint(x: 8.37598*width, y: 4.15716*height))
path.addCurve(to: CGPoint(x: 8.36713*width, y: 4.13814*height), control1: CGPoint(x: 8.37598*width, y: 4.14014*height), control2: CGPoint(x: 8.37205*width, y: 4.13514*height))
path.addCurve(to: CGPoint(x: 7.96358*width, y: 3.72272*height), control1: CGPoint(x: 8.35925*width, y: 4.14314*height), control2: CGPoint(x: 8.04921*width, y: 3.82382*height))
path.addCurve(to: CGPoint(x: 7.80315*width, y: 3.65365*height), control1: CGPoint(x: 7.92126*width, y: 3.67167*height), control2: CGPoint(x: 7.87795*width, y: 3.65365*height))
path.addCurve(to: CGPoint(x: 7.45965*width, y: 3.77778*height), control1: CGPoint(x: 7.69882*width, y: 3.65365*height), control2: CGPoint(x: 7.57579*width, y: 3.6987*height))
path.addCurve(to: CGPoint(x: 7.40551*width, y: 3.81081*height), control1: CGPoint(x: 7.4311*width, y: 3.7968*height), control2: CGPoint(x: 7.4065*width, y: 3.81181*height))
path.addCurve(to: CGPoint(x: 7.45079*width, y: 3.66366*height), control1: CGPoint(x: 7.39764*width, y: 3.8038*height), control2: CGPoint(x: 7.4252*width, y: 3.71471*height))
path.addCurve(to: CGPoint(x: 7.65354*width, y: 3.43143*height), control1: CGPoint(x: 7.49311*width, y: 3.57858*height), control2: CGPoint(x: 7.56988*width, y: 3.48949*height))
path.addCurve(to: CGPoint(x: 7.72638*width, y: 3.37237*height), control1: CGPoint(x: 7.6939*width, y: 3.4024*height), control2: CGPoint(x: 7.72638*width, y: 3.37638*height))
path.addCurve(to: CGPoint(x: 7.66929*width, y: 3.22222*height), control1: CGPoint(x: 7.72638*width, y: 3.36937*height), control2: CGPoint(x: 7.70079*width, y: 3.3013*height))
path.addCurve(to: CGPoint(x: 7.53445*width, y: 2.84685*height), control1: CGPoint(x: 7.63878*width, y: 3.14314*height), control2: CGPoint(x: 7.57776*width, y: 2.97397*height))
path.addLine(to: CGPoint(x: 7.45669*width, y: 2.61461*height))
path.addLine(to: CGPoint(x: 7.27461*width, y: 2.56757*height))
path.addCurve(to: CGPoint(x: 6.95965*width, y: 2.47648*height), control1: CGPoint(x: 7.17323*width, y: 2.54154*height), control2: CGPoint(x: 7.03248*width, y: 2.5005*height))
path.addCurve(to: CGPoint(x: 6.81201*width, y: 2.43243*height), control1: CGPoint(x: 6.88681*width, y: 2.45245*height), control2: CGPoint(x: 6.81988*width, y: 2.43243*height))
path.addCurve(to: CGPoint(x: 6.74409*width, y: 2.45946*height), control1: CGPoint(x: 6.80315*width, y: 2.43243*height), control2: CGPoint(x: 6.77264*width, y: 2.44444*height))
path.addCurve(to: CGPoint(x: 6.51575*width, y: 2.72372*height), control1: CGPoint(x: 6.66437*width, y: 2.5005*height), control2: CGPoint(x: 6.5748*width, y: 2.6046*height))
path.addCurve(to: CGPoint(x: 6.4626*width, y: 2.81381*height), control1: CGPoint(x: 6.48917*width, y: 2.77778*height), control2: CGPoint(x: 6.46555*width, y: 2.81882*height))
path.addCurve(to: CGPoint(x: 6.42717*width, y: 2.6026*height), control1: CGPoint(x: 6.44587*width, y: 2.78579*height), control2: CGPoint(x: 6.42717*width, y: 2.67668*height))
path.addCurve(to: CGPoint(x: 6.48622*width, y: 2.34234*height), control1: CGPoint(x: 6.42717*width, y: 2.5025*height), control2: CGPoint(x: 6.44488*width, y: 2.42643*height))
path.addCurve(to: CGPoint(x: 6.51575*width, y: 2.27928*height), control1: CGPoint(x: 6.50197*width, y: 2.30931*height), control2: CGPoint(x: 6.51575*width, y: 2.28128*height))
path.addCurve(to: CGPoint(x: 6.4498*width, y: 2.23023*height), control1: CGPoint(x: 6.51575*width, y: 2.27728*height), control2: CGPoint(x: 6.48622*width, y: 2.25526*height))
path.addCurve(to: CGPoint(x: 5.93602*width, y: 1.78378*height), control1: CGPoint(x: 6.32874*width, y: 2.14815*height), control2: CGPoint(x: 6.22244*width, y: 2.05706*height))
path.addCurve(to: CGPoint(x: 5.55807*width, y: 1.46647*height), control1: CGPoint(x: 5.75295*width, y: 1.61061*height), control2: CGPoint(x: 5.67126*width, y: 1.54254*height))
path.addCurve(to: CGPoint(x: 4.99016*width, y: 1.3043*height), control1: CGPoint(x: 5.36909*width, y: 1.34134*height), control2: CGPoint(x: 5.20965*width, y: 1.2963*height))
path.addCurve(to: CGPoint(x: 4.56102*width, y: 1.42042*height), control1: CGPoint(x: 4.82283*width, y: 1.31031*height), control2: CGPoint(x: 4.72539*width, y: 1.33734*height))
path.addCurve(to: CGPoint(x: 4.43307*width, y: 1.48148*height), control1: CGPoint(x: 4.49606*width, y: 1.45445*height), control2: CGPoint(x: 4.43898*width, y: 1.48148*height))
path.addCurve(to: CGPoint(x: 4.21555*width, y: 1.43043*height), control1: CGPoint(x: 4.42815*width, y: 1.48148*height), control2: CGPoint(x: 4.33071*width, y: 1.45846*height))
path.addLine(to: CGPoint(x: 4.00689*width, y: 1.37838*height))
path.addLine(to: CGPoint(x: 4.06102*width, y: 1.33433*height))
path.addCurve(to: CGPoint(x: 4.77362*width, y: 0.97197*height), control1: CGPoint(x: 4.28248*width, y: 1.15115*height), control2: CGPoint(x: 4.5374*width, y: 1.02102*height))
path.addCurve(to: CGPoint(x: 4.88091*width, y: 0.93694*height), control1: CGPoint(x: 4.82283*width, y: 0.96196*height), control2: CGPoint(x: 4.87106*width, y: 0.94595*height))
path.addCurve(to: CGPoint(x: 4.97441*width, y: 0.72873*height), control1: CGPoint(x: 4.91437*width, y: 0.90591*height), control2: CGPoint(x: 4.95866*width, y: 0.80681*height))
path.addCurve(to: CGPoint(x: 4.9813*width, y: 0.48048*height), control1: CGPoint(x: 4.99114*width, y: 0.64565*height), control2: CGPoint(x: 4.99311*width, y: 0.56757*height))
path.addCurve(to: CGPoint(x: 4.97638*width, y: 0.42142*height), control1: CGPoint(x: 4.97638*width, y: 0.45045*height), control2: CGPoint(x: 4.97441*width, y: 0.42342*height))
path.addCurve(to: CGPoint(x: 5.04331*width, y: 0.48348*height), control1: CGPoint(x: 4.97835*width, y: 0.41942*height), control2: CGPoint(x: 5.00787*width, y: 0.44745*height))
path.addCurve(to: CGPoint(x: 5.19291*width, y: 0.78078*height), control1: CGPoint(x: 5.12303*width, y: 0.56657*height), control2: CGPoint(x: 5.17224*width, y: 0.66466*height))
path.addCurve(to: CGPoint(x: 5.20472*width, y: 0.90991*height), control1: CGPoint(x: 5.20079*width, y: 0.82783*height), control2: CGPoint(x: 5.20669*width, y: 0.88589*height))
path.addLine(to: CGPoint(x: 5.20276*width, y: 0.95395*height))
path.addLine(to: CGPoint(x: 5.3002*width, y: 0.97698*height))
path.addCurve(to: CGPoint(x: 6.03346*width, y: 1.4024*height), control1: CGPoint(x: 5.56004*width, y: 1.03604*height), control2: CGPoint(x: 5.81594*width, y: 1.18418*height))
path.addCurve(to: CGPoint(x: 6.44291*width, y: 1.77878*height), control1: CGPoint(x: 6.12205*width, y: 1.49049*height), control2: CGPoint(x: 6.31496*width, y: 1.66867*height))
path.addCurve(to: CGPoint(x: 7.15551*width, y: 2.16817*height), control1: CGPoint(x: 6.68406*width, y: 1.98799*height), control2: CGPoint(x: 6.85138*width, y: 2.07908*height))
path.addCurve(to: CGPoint(x: 7.29331*width, y: 2.21622*height), control1: CGPoint(x: 7.22343*width, y: 2.18819*height), control2: CGPoint(x: 7.28543*width, y: 2.21021*height))
path.addCurve(to: CGPoint(x: 7.27461*width, y: 2.16717*height), control1: CGPoint(x: 7.30118*width, y: 2.22222*height), control2: CGPoint(x: 7.29232*width, y: 2.2002*height))
path.addCurve(to: CGPoint(x: 6.68504*width, y: 1.68969*height), control1: CGPoint(x: 7.13681*width, y: 1.91391*height), control2: CGPoint(x: 6.9498*width, y: 1.76276*height))
path.addCurve(to: CGPoint(x: 6.46358*width, y: 1.66667*height), control1: CGPoint(x: 6.62598*width, y: 1.67367*height), control2: CGPoint(x: 6.57677*width, y: 1.66867*height))
path.addLine(to: CGPoint(x: 6.31693*width, y: 1.66466*height))
path.addLine(to: CGPoint(x: 6.17815*width, y: 1.52853*height))
path.addCurve(to: CGPoint(x: 6.04921*width, y: 1.38138*height), control1: CGPoint(x: 6.07677*width, y: 1.43043*height), control2: CGPoint(x: 6.04134*width, y: 1.38939*height))
path.addCurve(to: CGPoint(x: 6.44193*width, y: 1.32833*height), control1: CGPoint(x: 6.07283*width, y: 1.35736*height), control2: CGPoint(x: 6.28051*width, y: 1.32933*height))
path.addCurve(to: CGPoint(x: 6.90256*width, y: 1.4024*height), control1: CGPoint(x: 6.63091*width, y: 1.32833*height), control2: CGPoint(x: 6.73524*width, y: 1.34535*height))
path.addCurve(to: CGPoint(x: 7.06201*width, y: 1.43143*height), control1: CGPoint(x: 7.0128*width, y: 1.44044*height), control2: CGPoint(x: 7.02559*width, y: 1.44244*height))
path.addCurve(to: CGPoint(x: 7.34449*width, y: 1.17117*height), control1: CGPoint(x: 7.15551*width, y: 1.4034*height), control2: CGPoint(x: 7.26476*width, y: 1.3033*height))
path.addCurve(to: CGPoint(x: 7.3937*width, y: 1.1011*height), control1: CGPoint(x: 7.36713*width, y: 1.13313*height), control2: CGPoint(x: 7.38976*width, y: 1.1011*height))
path.addCurve(to: CGPoint(x: 7.40945*width, y: 1.29329*height), control1: CGPoint(x: 7.4065*width, y: 1.1011*height), control2: CGPoint(x: 7.41339*width, y: 1.19019*height))
path.addCurve(to: CGPoint(x: 7.37402*width, y: 1.46647*height), control1: CGPoint(x: 7.4065*width, y: 1.38438*height), control2: CGPoint(x: 7.40256*width, y: 1.4044*height))
path.addCurve(to: CGPoint(x: 7.31398*width, y: 1.58258*height), control1: CGPoint(x: 7.3563*width, y: 1.5045*height), control2: CGPoint(x: 7.32874*width, y: 1.55656*height))
path.addLine(to: CGPoint(x: 7.28543*width, y: 1.62863*height))
path.addLine(to: CGPoint(x: 7.36909*width, y: 1.72172*height))
path.addCurve(to: CGPoint(x: 7.77756*width, y: 2.52553*height), control1: CGPoint(x: 7.53937*width, y: 1.91391*height), control2: CGPoint(x: 7.63878*width, y: 2.10811*height))
path.addCurve(to: CGPoint(x: 7.83071*width, y: 2.66967*height), control1: CGPoint(x: 7.80512*width, y: 2.60661*height), control2: CGPoint(x: 7.82874*width, y: 2.67167*height))
path.addCurve(to: CGPoint(x: 7.78051*width, y: 2.4995*height), control1: CGPoint(x: 7.83366*width, y: 2.66767*height), control2: CGPoint(x: 7.81102*width, y: 2.59059*height))
path.addCurve(to: CGPoint(x: 7.72638*width, y: 2.32833*height), control1: CGPoint(x: 7.75098*width, y: 2.40741*height), control2: CGPoint(x: 7.72638*width, y: 2.33033*height))
path.addCurve(to: CGPoint(x: 8.03543*width, y: 2.44144*height), control1: CGPoint(x: 7.72638*width, y: 2.32032*height), control2: CGPoint(x: 7.95669*width, y: 2.4044*height))
path.addCurve(to: CGPoint(x: 8.48031*width, y: 2.77077*height), control1: CGPoint(x: 8.20079*width, y: 2.51752*height), control2: CGPoint(x: 8.38386*width, y: 2.65365*height))
path.addLine(to: CGPoint(x: 8.53839*width, y: 2.84084*height))
path.addLine(to: CGPoint(x: 8.59843*width, y: 2.84184*height))
path.addCurve(to: CGPoint(x: 8.70177*width, y: 2.82983*height), control1: CGPoint(x: 8.63091*width, y: 2.84284*height), control2: CGPoint(x: 8.67815*width, y: 2.83684*height))
path.addCurve(to: CGPoint(x: 8.93898*width, y: 2.6997*height), control1: CGPoint(x: 8.77264*width, y: 2.80781*height), control2: CGPoint(x: 8.87598*width, y: 2.75075*height))
path.addCurve(to: CGPoint(x: 9.00197*width, y: 2.65465*height), control1: CGPoint(x: 8.97146*width, y: 2.67267*height), control2: CGPoint(x: 9*width, y: 2.65265*height))
path.addCurve(to: CGPoint(x: 8.94488*width, y: 2.86086*height), control1: CGPoint(x: 9.01083*width, y: 2.66466*height), control2: CGPoint(x: 8.97343*width, y: 2.8018*height))
path.addCurve(to: CGPoint(x: 8.74902*width, y: 3.08408*height), control1: CGPoint(x: 8.90748*width, y: 2.93794*height), control2: CGPoint(x: 8.81988*width, y: 3.03704*height))
path.addCurve(to: CGPoint(x: 8.70669*width, y: 3.13213*height), control1: CGPoint(x: 8.7126*width, y: 3.10711*height), control2: CGPoint(x: 8.70177*width, y: 3.12012*height))
path.addCurve(to: CGPoint(x: 8.77559*width, y: 3.38639*height), control1: CGPoint(x: 8.72933*width, y: 3.18819*height), control2: CGPoint(x: 8.7628*width, y: 3.30831*height))
path.addCurve(to: CGPoint(x: 8.78642*width, y: 3.65866*height), control1: CGPoint(x: 8.7874*width, y: 3.45646*height), control2: CGPoint(x: 8.79035*width, y: 3.52052*height))
path.addCurve(to: CGPoint(x: 8.67618*width, y: 4.33133*height), control1: CGPoint(x: 8.78051*width, y: 3.86887*height), control2: CGPoint(x: 8.76772*width, y: 3.94995*height))
path.addCurve(to: CGPoint(x: 8.56594*width, y: 4.95996*height), control1: CGPoint(x: 8.58661*width, y: 4.7047*height), control2: CGPoint(x: 8.57185*width, y: 4.78679*height))
path.addCurve(to: CGPoint(x: 8.62697*width, y: 5.47047*height), control1: CGPoint(x: 8.56004*width, y: 5.13614*height), control2: CGPoint(x: 8.57382*width, y: 5.25626*height))
path.addCurve(to: CGPoint(x: 8.65748*width, y: 5.63063*height), control1: CGPoint(x: 8.64665*width, y: 5.54755*height), control2: CGPoint(x: 8.66043*width, y: 5.61962*height))
path.addLine(to: CGPoint(x: 8.65256*width, y: 5.65065*height))
path.addLine(to: CGPoint(x: 8.66732*width, y: 5.63063*height))
path.addCurve(to: CGPoint(x: 8.81102*width, y: 5.30531*height), control1: CGPoint(x: 8.70177*width, y: 5.58559*height), control2: CGPoint(x: 8.79035*width, y: 5.38438*height))
path.addCurve(to: CGPoint(x: 8.83268*width, y: 5.04505*height), control1: CGPoint(x: 8.83071*width, y: 5.23123*height), control2: CGPoint(x: 8.83366*width, y: 5.1972*height))
path.addCurve(to: CGPoint(x: 8.80512*width, y: 4.78478*height), control1: CGPoint(x: 8.83268*width, y: 4.87988*height), control2: CGPoint(x: 8.83071*width, y: 4.86486*height))
path.addCurve(to: CGPoint(x: 8.69291*width, y: 4.54454*height), control1: CGPoint(x: 8.77362*width, y: 4.68969*height), control2: CGPoint(x: 8.74409*width, y: 4.62663*height))
path.addLine(to: CGPoint(x: 8.65846*width, y: 4.49049*height))
path.addLine(to: CGPoint(x: 8.70669*width, y: 4.28729*height))
path.addCurve(to: CGPoint(x: 8.75886*width, y: 4.08408*height), control1: CGPoint(x: 8.73228*width, y: 4.17518*height), control2: CGPoint(x: 8.75591*width, y: 4.08408*height))
path.addCurve(to: CGPoint(x: 8.95374*width, y: 4.33634*height), control1: CGPoint(x: 8.7687*width, y: 4.08408*height), control2: CGPoint(x: 8.89764*width, y: 4.25025*height))
path.addCurve(to: CGPoint(x: 9.1378*width, y: 4.72973*height), control1: CGPoint(x: 9.03346*width, y: 4.45746*height), control2: CGPoint(x: 9.08268*width, y: 4.56156*height))
path.addCurve(to: CGPoint(x: 9.23031*width, y: 4.91191*height), control1: CGPoint(x: 9.18504*width, y: 4.87087*height), control2: CGPoint(x: 9.18996*width, y: 4.88088*height))
path.addCurve(to: CGPoint(x: 9.55413*width, y: 4.98999*height), control1: CGPoint(x: 9.30413*width, y: 4.96897*height), control2: CGPoint(x: 9.39173*width, y: 4.98999*height))
path.addLine(to: CGPoint(x: 9.6939*width, y: 4.98999*height))
path.addLine(to: CGPoint(x: 9.64272*width, y: 5.04304*height))
path.addCurve(to: CGPoint(x: 9.24213*width, y: 5.2032*height), control1: CGPoint(x: 9.5502*width, y: 5.13914*height), control2: CGPoint(x: 9.37106*width, y: 5.21121*height))
path.addLine(to: CGPoint(x: 9.17618*width, y: 5.2002*height))
path.addLine(to: CGPoint(x: 9.15453*width, y: 5.3003*height))
path.addCurve(to: CGPoint(x: 8.90748*width, y: 5.87487*height), control1: CGPoint(x: 9.1122*width, y: 5.48849*height), control2: CGPoint(x: 9.02362*width, y: 5.69469*height))
path.addCurve(to: CGPoint(x: 8.59252*width, y: 6.28629*height), control1: CGPoint(x: 8.83661*width, y: 5.98398*height), control2: CGPoint(x: 8.78937*width, y: 6.04605*height))
path.addCurve(to: CGPoint(x: 8.04528*width, y: 7.14114*height), control1: CGPoint(x: 8.25197*width, y: 6.7007*height), control2: CGPoint(x: 8.16732*width, y: 6.83283*height))
path.addCurve(to: CGPoint(x: 7.92421*width, y: 7.34535*height), control1: CGPoint(x: 7.9685*width, y: 7.33333*height), control2: CGPoint(x: 7.97441*width, y: 7.32432*height))
path.addCurve(to: CGPoint(x: 7.77854*width, y: 7.3984*height), control1: CGPoint(x: 7.89961*width, y: 7.35636*height), control2: CGPoint(x: 7.83366*width, y: 7.38038*height))
path.addCurve(to: CGPoint(x: 7.68209*width, y: 7.43544*height), control1: CGPoint(x: 7.72343*width, y: 7.41642*height), control2: CGPoint(x: 7.68012*width, y: 7.43343*height))
path.addCurve(to: CGPoint(x: 7.94488*width, y: 7.34635*height), control1: CGPoint(x: 7.68799*width, y: 7.44144*height), control2: CGPoint(x: 7.90059*width, y: 7.36937*height))
path.addCurve(to: CGPoint(x: 7.98917*width, y: 7.31431*height), control1: CGPoint(x: 7.96457*width, y: 7.33634*height), control2: CGPoint(x: 7.98524*width, y: 7.32132*height))
path.addCurve(to: CGPoint(x: 8.07677*width, y: 7.25325*height), control1: CGPoint(x: 7.99311*width, y: 7.30731*height), control2: CGPoint(x: 8.03346*width, y: 7.28028*height))
path.addCurve(to: CGPoint(x: 8.41535*width, y: 6.88188*height), control1: CGPoint(x: 8.22933*width, y: 7.16116*height), control2: CGPoint(x: 8.3435*width, y: 7.03504*height))
path.addCurve(to: CGPoint(x: 8.49114*width, y: 6.54254*height), control1: CGPoint(x: 8.46654*width, y: 6.77177*height), control2: CGPoint(x: 8.48425*width, y: 6.69369*height))
path.addLine(to: CGPoint(x: 8.49705*width, y: 6.41441*height))
path.addLine(to: CGPoint(x: 8.61122*width, y: 6.27728*height))
path.addCurve(to: CGPoint(x: 8.75197*width, y: 6.10611*height), control1: CGPoint(x: 8.67421*width, y: 6.2022*height), control2: CGPoint(x: 8.7372*width, y: 6.12513*height))
path.addCurve(to: CGPoint(x: 8.78346*width, y: 6.07708*height), control1: CGPoint(x: 8.76673*width, y: 6.08709*height), control2: CGPoint(x: 8.78051*width, y: 6.07407*height))
path.addCurve(to: CGPoint(x: 8.83563*width, y: 6.47147*height), control1: CGPoint(x: 8.79823*width, y: 6.09209*height), control2: CGPoint(x: 8.83071*width, y: 6.33934*height))
path.addCurve(to: CGPoint(x: 8.72933*width, y: 7.04404*height), control1: CGPoint(x: 8.84252*width, y: 6.68569*height), control2: CGPoint(x: 8.81594*width, y: 6.82983*height))
path.addCurve(to: CGPoint(x: 8.73327*width, y: 7.13013*height), control1: CGPoint(x: 8.7185*width, y: 7.07107*height), control2: CGPoint(x: 8.7185*width, y: 7.08408*height))
path.addCurve(to: CGPoint(x: 9.02067*width, y: 7.43343*height), control1: CGPoint(x: 8.76772*width, y: 7.24024*height), control2: CGPoint(x: 8.87106*width, y: 7.35035*height))
path.addLine(to: CGPoint(x: 9.08858*width, y: 7.47147*height))
path.addLine(to: CGPoint(x: 9.04528*width, y: 7.48549*height))
path.addCurve(to: CGPoint(x: 8.74016*width, y: 7.47848*height), control1: CGPoint(x: 8.97539*width, y: 7.50751*height), control2: CGPoint(x: 8.81693*width, y: 7.5035*height))
path.addCurve(to: CGPoint(x: 8.53937*width, y: 7.36737*height), control1: CGPoint(x: 8.6752*width, y: 7.45746*height), control2: CGPoint(x: 8.57283*width, y: 7.4014*height))
path.addCurve(to: CGPoint(x: 8.44783*width, y: 7.41441*height), control1: CGPoint(x: 8.52165*width, y: 7.34935*height), control2: CGPoint(x: 8.5187*width, y: 7.35035*height))
path.addCurve(to: CGPoint(x: 7.57776*width, y: 7.80781*height), control1: CGPoint(x: 8.24114*width, y: 7.5976*height), control2: CGPoint(x: 8.01181*width, y: 7.7007*height))
path.addCurve(to: CGPoint(x: 6.83957*width, y: 8.03904*height), control1: CGPoint(x: 7.12205*width, y: 7.91992*height), control2: CGPoint(x: 6.99114*width, y: 7.96096*height))
path.addCurve(to: CGPoint(x: 6.43602*width, y: 8.32933*height), control1: CGPoint(x: 6.7126*width, y: 8.1031*height), control2: CGPoint(x: 6.59449*width, y: 8.18919*height))
path.addCurve(to: CGPoint(x: 6.32776*width, y: 8.39139*height), control1: CGPoint(x: 6.38287*width, y: 8.37738*height), control2: CGPoint(x: 6.36417*width, y: 8.38739*height))
path.addCurve(to: CGPoint(x: 6.46654*width, y: 8.39339*height), control1: CGPoint(x: 6.30413*width, y: 8.39439*height), control2: CGPoint(x: 6.36614*width, y: 8.3954*height))
path.addCurve(to: CGPoint(x: 6.74606*width, y: 8.36436*height), control1: CGPoint(x: 6.62598*width, y: 8.39139*height), control2: CGPoint(x: 6.66043*width, y: 8.38739*height))
path.addCurve(to: CGPoint(x: 7.1939*width, y: 8.11411*height), control1: CGPoint(x: 6.9065*width, y: 8.32232*height), control2: CGPoint(x: 7.07382*width, y: 8.22823*height))
path.addCurve(to: CGPoint(x: 7.30118*width, y: 7.99299*height), control1: CGPoint(x: 7.21161*width, y: 8.0971*height), control2: CGPoint(x: 7.25984*width, y: 8.04304*height))
path.addCurve(to: CGPoint(x: 7.39764*width, y: 7.89089*height), control1: CGPoint(x: 7.34154*width, y: 7.94394*height), control2: CGPoint(x: 7.38484*width, y: 7.8969*height))
path.addCurve(to: CGPoint(x: 7.76969*width, y: 7.79379*height), control1: CGPoint(x: 7.41831*width, y: 7.87888*height), control2: CGPoint(x: 7.68799*width, y: 7.80881*height))
path.addLine(to: CGPoint(x: 7.80709*width, y: 7.78679*height))
path.addLine(to: CGPoint(x: 7.74606*width, y: 7.9049*height))
path.addCurve(to: CGPoint(x: 7.42815*width, y: 8.35235*height), control1: CGPoint(x: 7.6437*width, y: 8.1041*height), control2: CGPoint(x: 7.5689*width, y: 8.21021*height))
path.addLine(to: CGPoint(x: 7.30118*width, y: 8.48148*height))
path.addLine(to: CGPoint(x: 7.30512*width, y: 8.56256*height))
path.addCurve(to: CGPoint(x: 7.42618*width, y: 8.87487*height), control1: CGPoint(x: 7.31102*width, y: 8.66266*height), control2: CGPoint(x: 7.34941*width, y: 8.76176*height))
path.addCurve(to: CGPoint(x: 7.47638*width, y: 8.95596*height), control1: CGPoint(x: 7.45571*width, y: 8.91792*height), control2: CGPoint(x: 7.47835*width, y: 8.95395*height))
path.addCurve(to: CGPoint(x: 7.40551*width, y: 8.93794*height), control1: CGPoint(x: 7.47539*width, y: 8.95796*height), control2: CGPoint(x: 7.44291*width, y: 8.94995*height))
path.addCurve(to: CGPoint(x: 7.04724*width, y: 8.65065*height), control1: CGPoint(x: 7.24409*width, y: 8.88689*height), control2: CGPoint(x: 7.1565*width, y: 8.81682*height))
path.addLine(to: CGPoint(x: 7.03248*width, y: 8.62763*height))
path.addLine(to: CGPoint(x: 6.95276*width, y: 8.65766*height))
path.addCurve(to: CGPoint(x: 6.49114*width, y: 8.73574*height), control1: CGPoint(x: 6.82185*width, y: 8.70671*height), control2: CGPoint(x: 6.68012*width, y: 8.73073*height))
path.addCurve(to: CGPoint(x: 5.9065*width, y: 8.67367*height), control1: CGPoint(x: 6.3002*width, y: 8.74174*height), control2: CGPoint(x: 6.19291*width, y: 8.72973*height))
path.addCurve(to: CGPoint(x: 5.72244*width, y: 8.64164*height), control1: CGPoint(x: 5.80709*width, y: 8.65365*height), control2: CGPoint(x: 5.72441*width, y: 8.63964*height))
path.addCurve(to: CGPoint(x: 5.85827*width, y: 8.67367*height), control1: CGPoint(x: 5.71949*width, y: 8.64364*height), control2: CGPoint(x: 5.7815*width, y: 8.65866*height))
path.addCurve(to: CGPoint(x: 6.01083*width, y: 8.70771*height), control1: CGPoint(x: 5.93602*width, y: 8.68869*height), control2: CGPoint(x: 6.00394*width, y: 8.7047*height))
path.addCurve(to: CGPoint(x: 5.81201*width, y: 8.88088*height), control1: CGPoint(x: 6.02264*width, y: 8.71371*height), control2: CGPoint(x: 5.92421*width, y: 8.7998*height))
path.addCurve(to: CGPoint(x: 5.31004*width, y: 9.11411*height), control1: CGPoint(x: 5.66929*width, y: 8.98398*height), control2: CGPoint(x: 5.46161*width, y: 9.08108*height))
path.addCurve(to: CGPoint(x: 5.19783*width, y: 9.16817*height), control1: CGPoint(x: 5.24409*width, y: 9.12913*height), control2: CGPoint(x: 5.22638*width, y: 9.13814*height))
path.addCurve(to: CGPoint(x: 5.10039*width, y: 9.54655*height), control1: CGPoint(x: 5.12106*width, y: 9.24925*height), control2: CGPoint(x: 5.09449*width, y: 9.35636*height))
path.addCurve(to: CGPoint(x: 5.10335*width, y: 9.67968*height), control1: CGPoint(x: 5.10335*width, y: 9.61962*height), control2: CGPoint(x: 5.10433*width, y: 9.67968*height))
path.addCurve(to: CGPoint(x: 5.05217*width, y: 9.63163*height), control1: CGPoint(x: 5.10236*width, y: 9.67968*height), control2: CGPoint(x: 5.07972*width, y: 9.65766*height))
path.move(to: CGPoint(x: 4.00952*width, y: 9.57692*height))
path.addCurve(to: CGPoint(x: 3.80952*width, y: 9.125*height), control1: CGPoint(x: 3.9*width, y: 9.34615*height), control2: CGPoint(x: 3.80952*width, y: 9.14423*height))
path.addCurve(to: CGPoint(x: 4.19048*width, y: 9.23558*height), control1: CGPoint(x: 3.80952*width, y: 9.04808*height), control2: CGPoint(x: 3.98571*width, y: 9.10096*height))
path.addCurve(to: CGPoint(x: 4.84286*width, y: 9.51442*height), control1: CGPoint(x: 4.46667*width, y: 9.41346*height), control2: CGPoint(x: 4.59524*width, y: 9.47115*height))
path.addCurve(to: CGPoint(x: 5.1619*width, y: 9.40385*height), control1: CGPoint(x: 5.03333*width, y: 9.55288*height), control2: CGPoint(x: 5.05238*width, y: 9.54327*height))
path.addLine(to: CGPoint(x: 5.27619*width, y: 9.25481*height))
path.addLine(to: CGPoint(x: 5.32857*width, y: 9.38942*height))
path.addCurve(to: CGPoint(x: 5.54762*width, y: 9.51923*height), control1: CGPoint(x: 5.37143*width, y: 9.49519*height), control2: CGPoint(x: 5.40952*width, y: 9.51923*height))
path.addCurve(to: CGPoint(x: 6.28095*width, y: 9.14423*height), control1: CGPoint(x: 5.8*width, y: 9.51923*height), control2: CGPoint(x: 6.01905*width, y: 9.40865*height))
path.addCurve(to: CGPoint(x: 6.62381*width, y: 8.05769*height), control1: CGPoint(x: 6.7*width, y: 8.72115*height), control2: CGPoint(x: 6.8381*width, y: 8.28846*height))
path.addCurve(to: CGPoint(x: 6.75238*width, y: 7.78365*height), control1: CGPoint(x: 6.49048*width, y: 7.91346*height), control2: CGPoint(x: 6.51905*width, y: 7.86058*height))
path.addCurve(to: CGPoint(x: 7.49048*width, y: 7.26442*height), control1: CGPoint(x: 6.95238*width, y: 7.72115*height), control2: CGPoint(x: 7.1619*width, y: 7.57212*height))
path.addCurve(to: CGPoint(x: 7.69048*width, y: 6.81731*height), control1: CGPoint(x: 7.71905*width, y: 7.04808*height), control2: CGPoint(x: 7.71905*width, y: 7.04808*height))
path.addCurve(to: CGPoint(x: 7.68571*width, y: 6.58654*height), control1: CGPoint(x: 7.67143*width, y: 6.69231*height), control2: CGPoint(x: 7.67143*width, y: 6.58654*height))
path.addCurve(to: CGPoint(x: 7.89524*width, y: 6.67788*height), control1: CGPoint(x: 7.70476*width, y: 6.58654*height), control2: CGPoint(x: 7.8*width, y: 6.62981*height))
path.addLine(to: CGPoint(x: 8.07619*width, y: 6.76923*height))
path.addLine(to: CGPoint(x: 8.2619*width, y: 6.65385*height))
path.addCurve(to: CGPoint(x: 8.57143*width, y: 6.58654*height), control1: CGPoint(x: 8.4619*width, y: 6.53365*height), control2: CGPoint(x: 8.57143*width, y: 6.50962*height))
path.addCurve(to: CGPoint(x: 8.19048*width, y: 7.03846*height), control1: CGPoint(x: 8.57143*width, y: 6.61058*height), control2: CGPoint(x: 8.4*width, y: 6.81731*height))
path.addCurve(to: CGPoint(x: 7.80952*width, y: 7.47596*height), control1: CGPoint(x: 7.98095*width, y: 7.26442*height), control2: CGPoint(x: 7.80952*width, y: 7.46154*height))
path.addCurve(to: CGPoint(x: 7.94286*width, y: 7.55288*height), control1: CGPoint(x: 7.80952*width, y: 7.49038*height), control2: CGPoint(x: 7.86667*width, y: 7.52404*height))
path.addCurve(to: CGPoint(x: 7.98095*width, y: 7.67308*height), control1: CGPoint(x: 8.06667*width, y: 7.60096*height), control2: CGPoint(x: 8.06667*width, y: 7.60577*height))
path.addCurve(to: CGPoint(x: 7.78095*width, y: 7.74038*height), control1: CGPoint(x: 7.92857*width, y: 7.71154*height), control2: CGPoint(x: 7.8381*width, y: 7.74038*height))
path.addCurve(to: CGPoint(x: 7.09524*width, y: 8.35577*height), control1: CGPoint(x: 7.48571*width, y: 7.74038*height), control2: CGPoint(x: 7.2381*width, y: 7.96154*height))
path.addCurve(to: CGPoint(x: 6.54286*width, y: 9.29808*height), control1: CGPoint(x: 6.94286*width, y: 8.76923*height), control2: CGPoint(x: 6.82857*width, y: 8.95673*height))
path.addCurve(to: CGPoint(x: 6.32381*width, y: 9.79327*height), control1: CGPoint(x: 6.27619*width, y: 9.61538*height), control2: CGPoint(x: 6.27143*width, y: 9.625*height))
path.addCurve(to: CGPoint(x: 6.3619*width, y: 9.99038*height), control1: CGPoint(x: 6.35238*width, y: 9.89423*height), control2: CGPoint(x: 6.37143*width, y: 9.98077*height))
path.addCurve(to: CGPoint(x: 6.06667*width, y: 9.95673*height), control1: CGPoint(x: 6.35238*width, y: 10.0*height), control2: CGPoint(x: 6.21905*width, y: 9.98558*height))
path.addCurve(to: CGPoint(x: 4.28571*width, y: 9.96635*height), control1: CGPoint(x: 5.37619*width, y: 9.83654*height), control2: CGPoint(x: 4.61429*width, y: 9.84135*height))
path.addCurve(to: CGPoint(x: 4.00952*width, y: 9.57692*height), control1: CGPoint(x: 4.23333*width, y: 9.98558*height), control2: CGPoint(x: 4.1619*width, y: 9.88462*height))
path.closeSubpath()
path.move(to: CGPoint(x: 5.70177*width, y: 8.63163*height))
path.addCurve(to: CGPoint(x: 5.67717*width, y: 8.63163*height), control1: CGPoint(x: 5.69488*width, y: 8.62963*height), control2: CGPoint(x: 5.68307*width, y: 8.62963*height))
path.addCurve(to: CGPoint(x: 5.68898*width, y: 8.63664*height), control1: CGPoint(x: 5.67028*width, y: 8.63463*height), control2: CGPoint(x: 5.6752*width, y: 8.63664*height))
path.addCurve(to: CGPoint(x: 5.70177*width, y: 8.63163*height), control1: CGPoint(x: 5.70276*width, y: 8.63664*height), control2: CGPoint(x: 5.70768*width, y: 8.63463*height))
path.move(to: CGPoint(x: 2.44762*width, y: 9.34135*height))
path.addCurve(to: CGPoint(x: 2.2619*width, y: 9.03846*height), control1: CGPoint(x: 2.37619*width, y: 9.12019*height), control2: CGPoint(x: 2.32857*width, y: 9.03846*height))
path.addCurve(to: CGPoint(x: 1.76667*width, y: 8.62981*height), control1: CGPoint(x: 2.22381*width, y: 9.03846*height), control2: CGPoint(x: 2.0*width, y: 8.85577*height))
path.addCurve(to: CGPoint(x: 1.14286*width, y: 8.22115*height), control1: CGPoint(x: 1.37143*width, y: 8.25481*height), control2: CGPoint(x: 1.31905*width, y: 8.22115*height))
path.addCurve(to: CGPoint(x: 1.04286*width, y: 8.03846*height), control1: CGPoint(x: 0.92381*width, y: 8.22115*height), control2: CGPoint(x: 0.91905*width, y: 8.21154*height))
path.addCurve(to: CGPoint(x: 1.18095*width, y: 7.57692*height), control1: CGPoint(x: 1.09048*width, y: 7.96635*height), control2: CGPoint(x: 1.15714*width, y: 7.75962*height))
path.addCurve(to: CGPoint(x: 1.46667*width, y: 7.57212*height), control1: CGPoint(x: 1.26667*width, y: 7.02404*height), control2: CGPoint(x: 1.38095*width, y: 7.01923*height))
path.addCurve(to: CGPoint(x: 1.97619*width, y: 8.17308*height), control1: CGPoint(x: 1.52857*width, y: 7.97596*height), control2: CGPoint(x: 1.69524*width, y: 8.17308*height))
path.addCurve(to: CGPoint(x: 2.17143*width, y: 8.34135*height), control1: CGPoint(x: 2.12381*width, y: 8.17308*height), control2: CGPoint(x: 2.14286*width, y: 8.1875*height))
path.addCurve(to: CGPoint(x: 3.71429*width, y: 8.69231*height), control1: CGPoint(x: 2.25714*width, y: 8.82212*height), control2: CGPoint(x: 2.84762*width, y: 8.95673*height))
path.addCurve(to: CGPoint(x: 4.2381*width, y: 8.33654*height), control1: CGPoint(x: 4.01905*width, y: 8.59615*height), control2: CGPoint(x: 4.2381*width, y: 8.45192*height))
path.addCurve(to: CGPoint(x: 4.30952*width, y: 8.22115*height), control1: CGPoint(x: 4.2381*width, y: 8.30769*height), control2: CGPoint(x: 4.27143*width, y: 8.25481*height))
path.addCurve(to: CGPoint(x: 4.45714*width, y: 8.34135*height), control1: CGPoint(x: 4.37143*width, y: 8.17308*height), control2: CGPoint(x: 4.39048*width, y: 8.1875*height))
path.addCurve(to: CGPoint(x: 4.75238*width, y: 8.49519*height), control1: CGPoint(x: 4.52857*width, y: 8.51923*height), control2: CGPoint(x: 4.53333*width, y: 8.52404*height))
path.addCurve(to: CGPoint(x: 5.77619*width, y: 8.19712*height), control1: CGPoint(x: 5.22381*width, y: 8.4375*height), control2: CGPoint(x: 5.67143*width, y: 8.30769*height))
path.addCurve(to: CGPoint(x: 6.01905*width, y: 8.0*height), control1: CGPoint(x: 5.83333*width, y: 8.13942*height), control2: CGPoint(x: 5.94286*width, y: 8.04808*height))
path.addLine(to: CGPoint(x: 6.1619*width, y: 7.90865*height))
path.addLine(to: CGPoint(x: 6.12857*width, y: 8.02885*height))
path.addCurve(to: CGPoint(x: 6.07143*width, y: 8.24519*height), control1: CGPoint(x: 6.10952*width, y: 8.09615*height), control2: CGPoint(x: 6.08095*width, y: 8.19231*height))
path.addCurve(to: CGPoint(x: 6.22381*width, y: 8.4375*height), control1: CGPoint(x: 6.05238*width, y: 8.31731*height), control2: CGPoint(x: 6.08571*width, y: 8.36538*height))
path.addCurve(to: CGPoint(x: 6.39524*width, y: 8.58173*height), control1: CGPoint(x: 6.32381*width, y: 8.49038*height), control2: CGPoint(x: 6.4*width, y: 8.55769*height))
path.addCurve(to: CGPoint(x: 5.82381*width, y: 8.65865*height), control1: CGPoint(x: 6.38571*width, y: 8.61058*height), control2: CGPoint(x: 6.13333*width, y: 8.64423*height))
path.addCurve(to: CGPoint(x: 5.2*width, y: 8.69712*height), control1: CGPoint(x: 5.51429*width, y: 8.67788*height), control2: CGPoint(x: 5.23333*width, y: 8.69231*height))
path.addCurve(to: CGPoint(x: 5.17143*width, y: 8.82212*height), control1: CGPoint(x: 5.1619*width, y: 8.70192*height), control2: CGPoint(x: 5.15238*width, y: 8.74038*height))
path.addCurve(to: CGPoint(x: 5.16667*width, y: 9.07212*height), control1: CGPoint(x: 5.18571*width, y: 8.88942*height), control2: CGPoint(x: 5.18571*width, y: 9.0*height))
path.addLine(to: CGPoint(x: 5.1381*width, y: 9.19712*height))
path.addLine(to: CGPoint(x: 4.99048*width, y: 9.01923*height))
path.addCurve(to: CGPoint(x: 4.48571*width, y: 8.81731*height), control1: CGPoint(x: 4.80476*width, y: 8.78846*height), control2: CGPoint(x: 4.65714*width, y: 8.73077*height))
path.addCurve(to: CGPoint(x: 4.09524*width, y: 8.91346*height), control1: CGPoint(x: 4.41429*width, y: 8.85096*height), control2: CGPoint(x: 4.2381*width, y: 8.89423*height))
path.addCurve(to: CGPoint(x: 3.59524*width, y: 9.01442*height), control1: CGPoint(x: 3.95238*width, y: 8.93269*height), control2: CGPoint(x: 3.72857*width, y: 8.97596*height))
path.addCurve(to: CGPoint(x: 3.07143*width, y: 9.11538*height), control1: CGPoint(x: 3.46667*width, y: 9.05288*height), control2: CGPoint(x: 3.22857*width, y: 9.09615*height))
path.addCurve(to: CGPoint(x: 2.6619*width, y: 9.28365*height), control1: CGPoint(x: 2.84286*width, y: 9.13942*height), control2: CGPoint(x: 2.7619*width, y: 9.17788*height))
path.addCurve(to: CGPoint(x: 2.44762*width, y: 9.34135*height), control1: CGPoint(x: 2.51429*width, y: 9.44712*height), control2: CGPoint(x: 2.48095*width, y: 9.45192*height))
path.closeSubpath()
path.move(to: CGPoint(x: 5.65256*width, y: 8.62162*height))
path.addCurve(to: CGPoint(x: 5.62795*width, y: 8.62162*height), control1: CGPoint(x: 5.64567*width, y: 8.61962*height), control2: CGPoint(x: 5.63386*width, y: 8.61962*height))
path.addCurve(to: CGPoint(x: 5.63976*width, y: 8.62663*height), control1: CGPoint(x: 5.62106*width, y: 8.62462*height), control2: CGPoint(x: 5.62598*width, y: 8.62663*height))
path.addCurve(to: CGPoint(x: 5.65256*width, y: 8.62162*height), control1: CGPoint(x: 5.65354*width, y: 8.62663*height), control2: CGPoint(x: 5.65846*width, y: 8.62462*height))
path.move(to: CGPoint(x: 7.67143*width, y: 8.99519*height))
path.addCurve(to: CGPoint(x: 7.24762*width, y: 8.80769*height), control1: CGPoint(x: 7.44762*width, y: 8.92308*height), control2: CGPoint(x: 7.25714*width, y: 8.83654*height))
path.addCurve(to: CGPoint(x: 7.70952*width, y: 8.62981*height), control1: CGPoint(x: 7.22381*width, y: 8.73558*height), control2: CGPoint(x: 7.38095*width, y: 8.67788*height))
path.addCurve(to: CGPoint(x: 8.1619*width, y: 8.40865*height), control1: CGPoint(x: 7.91905*width, y: 8.60096*height), control2: CGPoint(x: 8.00476*width, y: 8.55769*height))
path.addLine(to: CGPoint(x: 8.35714*width, y: 8.22596*height))
path.addLine(to: CGPoint(x: 8.24762*width, y: 8.125*height))
path.addCurve(to: CGPoint(x: 8.3619*width, y: 7.93269*height), control1: CGPoint(x: 8.11429*width, y: 7.99519*height), control2: CGPoint(x: 8.14762*width, y: 7.93269*height))
path.addCurve(to: CGPoint(x: 8.80952*width, y: 7.08173*height), control1: CGPoint(x: 8.6619*width, y: 7.93269*height), control2: CGPoint(x: 8.80952*width, y: 7.65385*height))
path.addCurve(to: CGPoint(x: 8.40476*width, y: 5.97115*height), control1: CGPoint(x: 8.80952*width, y: 6.50962*height), control2: CGPoint(x: 8.62381*width, y: 6.00481*height))
path.addCurve(to: CGPoint(x: 8.28571*width, y: 5.73558*height), control1: CGPoint(x: 8.19048*width, y: 5.9375*height), control2: CGPoint(x: 8.18571*width, y: 5.92308*height))
path.addCurve(to: CGPoint(x: 8.21429*width, y: 5.0*height), control1: CGPoint(x: 8.4381*width, y: 5.44712*height), control2: CGPoint(x: 8.39524*width, y: 5.0*height))
path.addCurve(to: CGPoint(x: 8.16667*width, y: 4.76442*height), control1: CGPoint(x: 8.10476*width, y: 5.0*height), control2: CGPoint(x: 8.08571*width, y: 4.91346*height))
path.addCurve(to: CGPoint(x: 8.16667*width, y: 4.23077*height), control1: CGPoint(x: 8.25714*width, y: 4.58654*height), control2: CGPoint(x: 8.25714*width, y: 4.38942*height))
path.addCurve(to: CGPoint(x: 8.20952*width, y: 4.0*height), control1: CGPoint(x: 8.0619*width, y: 4.04808*height), control2: CGPoint(x: 8.07619*width, y: 3.97596*height))
path.addCurve(to: CGPoint(x: 8.52381*width, y: 3.77885*height), control1: CGPoint(x: 8.35714*width, y: 4.02885*height), control2: CGPoint(x: 8.38571*width, y: 4.00962*height))
path.addCurve(to: CGPoint(x: 8.70476*width, y: 3.68269*height), control1: CGPoint(x: 8.62857*width, y: 3.60096*height), control2: CGPoint(x: 8.6381*width, y: 3.59615*height))
path.addCurve(to: CGPoint(x: 8.7381*width, y: 4.22115*height), control1: CGPoint(x: 8.75714*width, y: 3.75481*height), control2: CGPoint(x: 8.7619*width, y: 3.87019*height))
path.addLine(to: CGPoint(x: 8.70952*width, y: 4.66346*height))
path.addLine(to: CGPoint(x: 8.87619*width, y: 4.66346*height))
path.addCurve(to: CGPoint(x: 8.92857*width, y: 4.93269*height), control1: CGPoint(x: 9.08095*width, y: 4.66346*height), control2: CGPoint(x: 9.08571*width, y: 4.69712*height))
path.addCurve(to: CGPoint(x: 8.95238*width, y: 6.39423*height), control1: CGPoint(x: 8.76667*width, y: 5.17308*height), control2: CGPoint(x: 8.77143*width, y: 5.53365*height))
path.addCurve(to: CGPoint(x: 9.09524*width, y: 7.21635*height), control1: CGPoint(x: 9.03333*width, y: 6.76442*height), control2: CGPoint(x: 9.09524*width, y: 7.13462*height))
path.addCurve(to: CGPoint(x: 9.29048*width, y: 7.54808*height), control1: CGPoint(x: 9.09524*width, y: 7.41346*height), control2: CGPoint(x: 9.17619*width, y: 7.54808*height))
path.addCurve(to: CGPoint(x: 9.41429*width, y: 7.625*height), control1: CGPoint(x: 9.34286*width, y: 7.54808*height), control2: CGPoint(x: 9.39524*width, y: 7.58173*height))
path.addCurve(to: CGPoint(x: 9.15714*width, y: 7.93269*height), control1: CGPoint(x: 9.44286*width, y: 7.70673*height), control2: CGPoint(x: 9.25714*width, y: 7.93269*height))
path.addCurve(to: CGPoint(x: 8.59524*width, y: 8.39904*height), control1: CGPoint(x: 9.11905*width, y: 7.93269*height), control2: CGPoint(x: 8.86667*width, y: 8.13942*height))
path.addCurve(to: CGPoint(x: 8.14762*width, y: 8.97596*height), control1: CGPoint(x: 8.14762*width, y: 8.81731*height), control2: CGPoint(x: 8.10952*width, y: 8.87019*height))
path.addCurve(to: CGPoint(x: 7.67143*width, y: 8.99519*height), control1: CGPoint(x: 8.21905*width, y: 9.17308*height), control2: CGPoint(x: 8.22381*width, y: 9.17308*height))
path.closeSubpath()
path.move(to: CGPoint(x: 6.25295*width, y: 8.38138*height))
path.addCurve(to: CGPoint(x: 6.22835*width, y: 8.38138*height), control1: CGPoint(x: 6.24606*width, y: 8.37938*height), control2: CGPoint(x: 6.23425*width, y: 8.37938*height))
path.addCurve(to: CGPoint(x: 6.24016*width, y: 8.38639*height), control1: CGPoint(x: 6.22146*width, y: 8.38438*height), control2: CGPoint(x: 6.22638*width, y: 8.38639*height))
path.addCurve(to: CGPoint(x: 6.25295*width, y: 8.38138*height), control1: CGPoint(x: 6.25394*width, y: 8.38639*height), control2: CGPoint(x: 6.25886*width, y: 8.38438*height))
path.move(to: CGPoint(x: 3.50952*width, y: 8.60096*height))
path.addCurve(to: CGPoint(x: 3.35714*width, y: 8.41827*height), control1: CGPoint(x: 3.46667*width, y: 8.57692*height), control2: CGPoint(x: 3.39524*width, y: 8.49038*height))
path.addCurve(to: CGPoint(x: 2.52857*width, y: 7.88462*height), control1: CGPoint(x: 3.25238*width, y: 8.21154*height), control2: CGPoint(x: 2.74286*width, y: 7.88462*height))
path.addCurve(to: CGPoint(x: 2.34762*width, y: 7.69231*height), control1: CGPoint(x: 2.30476*width, y: 7.88462*height), control2: CGPoint(x: 2.28571*width, y: 7.86538*height))
path.addCurve(to: CGPoint(x: 2.31905*width, y: 7.46154*height), control1: CGPoint(x: 2.39048*width, y: 7.57692*height), control2: CGPoint(x: 2.38571*width, y: 7.53846*height))
path.addCurve(to: CGPoint(x: 1.36667*width, y: 6.99519*height), control1: CGPoint(x: 2.23333*width, y: 7.37019*height), control2: CGPoint(x: 1.79524*width, y: 7.15385*height))
path.addCurve(to: CGPoint(x: 0.78571*width, y: 6.58173*height), control1: CGPoint(x: 1.21905*width, y: 6.94231*height), control2: CGPoint(x: 1.00952*width, y: 6.79327*height))
path.addLine(to: CGPoint(x: 0.43333*width, y: 6.25*height))
path.addLine(to: CGPoint(x: 0.25714*width, y: 6.35577*height))
path.addLine(to: CGPoint(x: 0.08095*width, y: 6.46154*height))
path.addLine(to: CGPoint(x: 0.11429*width, y: 6.24519*height))
path.addCurve(to: CGPoint(x: 0.17619*width, y: 5.22596*height), control1: CGPoint(x: 0.13333*width, y: 6.12981*height), control2: CGPoint(x: 0.15714*width, y: 5.66827*height))
path.addCurve(to: CGPoint(x: 0.09524*width, y: 4.30288*height), control1: CGPoint(x: 0.20476*width, y: 4.4375*height), control2: CGPoint(x: 0.2*width, y: 4.41827*height))
path.addCurve(to: CGPoint(x: 0.20952*width, y: 4.08654*height), control1: CGPoint(x: -0.03333*width, y: 4.16346*height), control2: CGPoint(x: 0.00476*width, y: 4.08654*height))
path.addCurve(to: CGPoint(x: 0.54762*width, y: 3.96154*height), control1: CGPoint(x: 0.3*width, y: 4.08654*height), control2: CGPoint(x: 0.44286*width, y: 4.03365*height))
path.addCurve(to: CGPoint(x: 0.97143*width, y: 3.79327*height), control1: CGPoint(x: 0.77143*width, y: 3.80769*height), control2: CGPoint(x: 0.94286*width, y: 3.74038*height))
path.addCurve(to: CGPoint(x: 0.87619*width, y: 4.00962*height), control1: CGPoint(x: 0.98571*width, y: 3.8125*height), control2: CGPoint(x: 0.94286*width, y: 3.90865*height))
path.addCurve(to: CGPoint(x: 0.57143*width, y: 4.69712*height), control1: CGPoint(x: 0.71429*width, y: 4.25*height), control2: CGPoint(x: 0.57143*width, y: 4.56731*height))
path.addCurve(to: CGPoint(x: 0.74286*width, y: 4.87981*height), control1: CGPoint(x: 0.57143*width, y: 4.77885*height), control2: CGPoint(x: 0.61905*width, y: 4.82692*height))
path.addLine(to: CGPoint(x: 0.91429*width, y: 4.95192*height))
path.addLine(to: CGPoint(x: 0.83333*width, y: 5.08173*height))
path.addCurve(to: CGPoint(x: 0.6381*width, y: 5.34135*height), control1: CGPoint(x: 0.78571*width, y: 5.15865*height), control2: CGPoint(x: 0.7*width, y: 5.26923*height))
path.addCurve(to: CGPoint(x: 0.6381*width, y: 5.80769*height), control1: CGPoint(x: 0.49524*width, y: 5.49038*height), control2: CGPoint(x: 0.49524*width, y: 5.52404*height))
path.addCurve(to: CGPoint(x: 1.49048*width, y: 6.59135*height), control1: CGPoint(x: 0.79048*width, y: 6.10577*height), control2: CGPoint(x: 1.12381*width, y: 6.41346*height))
path.addCurve(to: CGPoint(x: 2.08095*width, y: 6.65865*height), control1: CGPoint(x: 1.82381*width, y: 6.75*height), control2: CGPoint(x: 1.93333*width, y: 6.75962*height))
path.addCurve(to: CGPoint(x: 2.22857*width, y: 6.66827*height), control1: CGPoint(x: 2.17619*width, y: 6.59135*height), control2: CGPoint(x: 2.19048*width, y: 6.59135*height))
path.addCurve(to: CGPoint(x: 2.30952*width, y: 6.90865*height), control1: CGPoint(x: 2.25238*width, y: 6.71635*height), control2: CGPoint(x: 2.29048*width, y: 6.82692*height))
path.addCurve(to: CGPoint(x: 3.29048*width, y: 7.74038*height), control1: CGPoint(x: 2.35714*width, y: 7.15385*height), control2: CGPoint(x: 3.05238*width, y: 7.74038*height))
path.addCurve(to: CGPoint(x: 3.47619*width, y: 7.90865*height), control1: CGPoint(x: 3.43333*width, y: 7.74038*height), control2: CGPoint(x: 3.5619*width, y: 7.85577*height))
path.addCurve(to: CGPoint(x: 3.54762*width, y: 8.34135*height), control1: CGPoint(x: 3.39524*width, y: 7.96154*height), control2: CGPoint(x: 3.42381*width, y: 8.13942*height))
path.addCurve(to: CGPoint(x: 3.50952*width, y: 8.60096*height), control1: CGPoint(x: 3.71429*width, y: 8.62019*height), control2: CGPoint(x: 3.70476*width, y: 8.71635*height))
path.closeSubpath()
path.move(to: CGPoint(x: 2.75689*width, y: 7.78078*height))
path.addCurve(to: CGPoint(x: 2.75197*width, y: 7.79279*height), control1: CGPoint(x: 2.74508*width, y: 7.76076*height), control2: CGPoint(x: 2.74311*width, y: 7.76677*height))
path.addCurve(to: CGPoint(x: 2.7628*width, y: 7.8038*height), control1: CGPoint(x: 2.75591*width, y: 7.8018*height), control2: CGPoint(x: 2.76083*width, y: 7.80681*height))
path.addCurve(to: CGPoint(x: 2.75689*width, y: 7.78078*height), control1: CGPoint(x: 2.76575*width, y: 7.8018*height), control2: CGPoint(x: 2.7628*width, y: 7.79079*height))
path.move(to: CGPoint(x: 1.54762*width, y: 6.19231*height))
path.addCurve(to: CGPoint(x: 1.47619*width, y: 5.83654*height), control1: CGPoint(x: 1.50952*width, y: 6.05769*height), control2: CGPoint(x: 1.47619*width, y: 5.89423*height))
path.addCurve(to: CGPoint(x: 1.2619*width, y: 5.43269*height), control1: CGPoint(x: 1.47619*width, y: 5.64904*height), control2: CGPoint(x: 1.38571*width, y: 5.48077*height))
path.addCurve(to: CGPoint(x: 1.22381*width, y: 5.23077*height), control1: CGPoint(x: 1.11905*width, y: 5.37981*height), control2: CGPoint(x: 1.11429*width, y: 5.35096*height))
path.addCurve(to: CGPoint(x: 1.14762*width, y: 3.59135*height), control1: CGPoint(x: 1.38095*width, y: 5.05769*height), control2: CGPoint(x: 1.3619*width, y: 4.625*height))
path.addCurve(to: CGPoint(x: 0.95238*width, y: 2.625*height), control1: CGPoint(x: 1.0381*width, y: 3.06731*height), control2: CGPoint(x: 0.95238*width, y: 2.63462*height))
path.addCurve(to: CGPoint(x: 0.80952*width, y: 2.54808*height), control1: CGPoint(x: 0.95238*width, y: 2.61538*height), control2: CGPoint(x: 0.89048*width, y: 2.58173*height))
path.addCurve(to: CGPoint(x: 0.84762*width, y: 2.3125*height), control1: CGPoint(x: 0.61429*width, y: 2.46635*height), control2: CGPoint(x: 0.62857*width, y: 2.37019*height))
path.addCurve(to: CGPoint(x: 1.11429*width, y: 2.10577*height), control1: CGPoint(x: 0.97143*width, y: 2.27885*height), control2: CGPoint(x: 1.05238*width, y: 2.21154*height))
path.addCurve(to: CGPoint(x: 1.55714*width, y: 1.58173*height), control1: CGPoint(x: 1.16667*width, y: 2.02404*height), control2: CGPoint(x: 1.36667*width, y: 1.78846*height))
path.addCurve(to: CGPoint(x: 1.9381*width, y: 1.03846*height), control1: CGPoint(x: 1.82381*width, y: 1.30288*height), control2: CGPoint(x: 1.91429*width, y: 1.16827*height))
path.addCurve(to: CGPoint(x: 2.0*width, y: 0.84135*height), control1: CGPoint(x: 1.95238*width, y: 0.94231*height), control2: CGPoint(x: 1.98095*width, y: 0.85577*height))
path.addCurve(to: CGPoint(x: 2.2619*width, y: 0.96635*height), control1: CGPoint(x: 2.01905*width, y: 0.83173*height), control2: CGPoint(x: 2.13333*width, y: 0.88462*height))
path.addCurve(to: CGPoint(x: 2.6381*width, y: 1.13942*height), control1: CGPoint(x: 2.38571*width, y: 1.04327*height), control2: CGPoint(x: 2.55238*width, y: 1.125*height))
path.addCurve(to: CGPoint(x: 2.57143*width, y: 1.43269*height), control1: CGPoint(x: 3.04762*width, y: 1.21635*height), control2: CGPoint(x: 3.01905*width, y: 1.35577*height))
path.addCurve(to: CGPoint(x: 2.16667*width, y: 1.56731*height), control1: CGPoint(x: 2.41905*width, y: 1.46154*height), control2: CGPoint(x: 2.2381*width, y: 1.51923*height))
path.addCurve(to: CGPoint(x: 2.04286*width, y: 1.9375*height), control1: CGPoint(x: 2.02857*width, y: 1.65865*height), control2: CGPoint(x: 1.9619*width, y: 1.85577*height))
path.addCurve(to: CGPoint(x: 1.8381*width, y: 2.16346*height), control1: CGPoint(x: 2.19048*width, y: 2.08654*height), control2: CGPoint(x: 2.04286*width, y: 2.24519*height))
path.addCurve(to: CGPoint(x: 1.40476*width, y: 2.55769*height), control1: CGPoint(x: 1.66667*width, y: 2.10096*height), control2: CGPoint(x: 1.49524*width, y: 2.25481*height))
path.addCurve(to: CGPoint(x: 1.49048*width, y: 3.60577*height), control1: CGPoint(x: 1.30476*width, y: 2.89904*height), control2: CGPoint(x: 1.31429*width, y: 2.97596*height))
path.addLine(to: CGPoint(x: 1.64762*width, y: 4.15865*height))
path.addLine(to: CGPoint(x: 1.84762*width, y: 4.19712*height))
path.addCurve(to: CGPoint(x: 1.88095*width, y: 4.46154*height), control1: CGPoint(x: 2.09048*width, y: 4.24519*height), control2: CGPoint(x: 2.1*width, y: 4.31731*height))
path.addCurve(to: CGPoint(x: 1.78095*width, y: 5.19231*height), control1: CGPoint(x: 1.69048*width, y: 4.58173*height), control2: CGPoint(x: 1.69048*width, y: 4.57692*height))
path.addCurve(to: CGPoint(x: 1.99524*width, y: 5.77404*height), control1: CGPoint(x: 1.84286*width, y: 5.60577*height), control2: CGPoint(x: 1.86667*width, y: 5.66346*height))
path.addCurve(to: CGPoint(x: 1.98095*width, y: 6.05769*height), control1: CGPoint(x: 2.19524*width, y: 5.94231*height), control2: CGPoint(x: 2.19048*width, y: 6.05769*height))
path.addCurve(to: CGPoint(x: 1.7619*width, y: 6.22596*height), control1: CGPoint(x: 1.8381*width, y: 6.05769*height), control2: CGPoint(x: 1.80952*width, y: 6.07692*height))
path.addCurve(to: CGPoint(x: 1.54762*width, y: 6.19231*height), control1: CGPoint(x: 1.68095*width, y: 6.47596*height), control2: CGPoint(x: 1.63333*width, y: 6.47115*height))
path.closeSubpath()
path.move(to: CGPoint(x: 1.38484*width, y: 5.94394*height))
path.addCurve(to: CGPoint(x: 1.37894*width, y: 5.94995*height), control1: CGPoint(x: 1.38189*width, y: 5.93594*height), control2: CGPoint(x: 1.37894*width, y: 5.93894*height))
path.addCurve(to: CGPoint(x: 1.38386*width, y: 5.96296*height), control1: CGPoint(x: 1.37795*width, y: 5.96096*height), control2: CGPoint(x: 1.38091*width, y: 5.96697*height))
path.addCurve(to: CGPoint(x: 1.38484*width, y: 5.94394*height), control1: CGPoint(x: 1.38681*width, y: 5.95996*height), control2: CGPoint(x: 1.3878*width, y: 5.95095*height))
path.move(to: CGPoint(x: 9.04762*width, y: 6.30769*height))
path.addCurve(to: CGPoint(x: 9.11905*width, y: 6.20192*height), control1: CGPoint(x: 9.04762*width, y: 6.28365*height), control2: CGPoint(x: 9.08095*width, y: 6.23558*height))
path.addCurve(to: CGPoint(x: 9.43333*width, y: 5.66346*height), control1: CGPoint(x: 9.18571*width, y: 6.14423*height), control2: CGPoint(x: 9.2381*width, y: 6.05769*height))
path.addCurve(to: CGPoint(x: 9.38095*width, y: 5.24038*height), control1: CGPoint(x: 9.55714*width, y: 5.42308*height), control2: CGPoint(x: 9.54762*width, y: 5.36058*height))
path.addLine(to: CGPoint(x: 9.23333*width, y: 5.13462*height))
path.addLine(to: CGPoint(x: 9.40476*width, y: 4.94712*height))
path.addCurve(to: CGPoint(x: 9.57143*width, y: 4.625*height), control1: CGPoint(x: 9.50952*width, y: 4.82692*height), control2: CGPoint(x: 9.57143*width, y: 4.71154*height))
path.addCurve(to: CGPoint(x: 8.70476*width, y: 3.53846*height), control1: CGPoint(x: 9.56667*width, y: 4.27404*height), control2: CGPoint(x: 9.16667*width, y: 3.76923*height))
path.addCurve(to: CGPoint(x: 8.10952*width, y: 3.59135*height), control1: CGPoint(x: 8.37619*width, y: 3.375*height), control2: CGPoint(x: 8.30476*width, y: 3.37981*height))
path.addCurve(to: CGPoint(x: 7.85714*width, y: 3.41827*height), control1: CGPoint(x: 7.91905*width, y: 3.80288*height), control2: CGPoint(x: 7.85714*width, y: 3.76442*height))
path.addCurve(to: CGPoint(x: 7.5381*width, y: 2.86538*height), control1: CGPoint(x: 7.85714*width, y: 3.22115*height), control2: CGPoint(x: 7.83333*width, y: 3.17788*height))
path.addCurve(to: CGPoint(x: 6.93333*width, y: 2.40385*height), control1: CGPoint(x: 7.17143*width, y: 2.48077*height), control2: CGPoint(x: 7.12857*width, y: 2.44712*height))
path.addCurve(to: CGPoint(x: 6.65714*width, y: 1.92308*height), control1: CGPoint(x: 6.8*width, y: 2.37981*height), control2: CGPoint(x: 6.78095*width, y: 2.34615*height))
path.addCurve(to: CGPoint(x: 6.47619*width, y: 1.42308*height), control1: CGPoint(x: 6.58571*width, y: 1.67308*height), control2: CGPoint(x: 6.50476*width, y: 1.45192*height))
path.addCurve(to: CGPoint(x: 6.25238*width, y: 1.44712*height), control1: CGPoint(x: 6.44762*width, y: 1.39423*height), control2: CGPoint(x: 6.36667*width, y: 1.40385*height))
path.addCurve(to: CGPoint(x: 6.07143*width, y: 1.74038*height), control1: CGPoint(x: 6.08095*width, y: 1.51442*height), control2: CGPoint(x: 6.07143*width, y: 1.52885*height))
path.addCurve(to: CGPoint(x: 6.0381*width, y: 2.0*height), control1: CGPoint(x: 6.07143*width, y: 1.86538*height), control2: CGPoint(x: 6.05714*width, y: 1.98077*height))
path.addCurve(to: CGPoint(x: 5.7619*width, y: 1.80769*height), control1: CGPoint(x: 5.99048*width, y: 2.04327*height), control2: CGPoint(x: 5.7619*width, y: 1.88942*height))
path.addCurve(to: CGPoint(x: 5.18095*width, y: 1.64904*height), control1: CGPoint(x: 5.7619*width, y: 1.69231*height), control2: CGPoint(x: 5.49524*width, y: 1.62019*height))
path.addCurve(to: CGPoint(x: 4.55238*width, y: 1.85096*height), control1: CGPoint(x: 4.97143*width, y: 1.66827*height), control2: CGPoint(x: 4.79048*width, y: 1.72596*height))
path.addCurve(to: CGPoint(x: 4.15714*width, y: 1.94231*height), control1: CGPoint(x: 4.2381*width, y: 2.01442*height), control2: CGPoint(x: 4.21429*width, y: 2.02404*height))
path.addCurve(to: CGPoint(x: 4.09524*width, y: 1.74519*height), control1: CGPoint(x: 4.12381*width, y: 1.89423*height), control2: CGPoint(x: 4.09524*width, y: 1.80769*height))
path.addCurve(to: CGPoint(x: 3.96667*width, y: 1.63462*height), control1: CGPoint(x: 4.09524*width, y: 1.65865*height), control2: CGPoint(x: 4.07143*width, y: 1.63462*height))
path.addCurve(to: CGPoint(x: 3.74286*width, y: 1.45673*height), control1: CGPoint(x: 3.76667*width, y: 1.63462*height), control2: CGPoint(x: 3.67619*width, y: 1.5625*height))
path.addCurve(to: CGPoint(x: 4.2619*width, y: 1.35577*height), control1: CGPoint(x: 3.78571*width, y: 1.38462*height), control2: CGPoint(x: 3.87619*width, y: 1.37019*height))
path.addCurve(to: CGPoint(x: 4.93333*width, y: 1.17308*height), control1: CGPoint(x: 4.71429*width, y: 1.34135*height), control2: CGPoint(x: 4.73333*width, y: 1.33654*height))
path.addCurve(to: CGPoint(x: 5.2381*width, y: 1.125*height), control1: CGPoint(x: 5.12857*width, y: 1.00962*height), control2: CGPoint(x: 5.2381*width, y: 0.99038*height))
path.addCurve(to: CGPoint(x: 5.6381*width, y: 1.25*height), control1: CGPoint(x: 5.2381*width, y: 1.23077*height), control2: CGPoint(x: 5.48571*width, y: 1.3125*height))
path.addCurve(to: CGPoint(x: 5.88095*width, y: 1.20192*height), control1: CGPoint(x: 5.70952*width, y: 1.22596*height), control2: CGPoint(x: 5.81905*width, y: 1.20192*height))
path.addCurve(to: CGPoint(x: 6.55714*width, y: 1.03846*height), control1: CGPoint(x: 5.94286*width, y: 1.20192*height), control2: CGPoint(x: 6.24286*width, y: 1.12981*height))
path.addCurve(to: CGPoint(x: 7.37143*width, y: 0.82212*height), control1: CGPoint(x: 6.86667*width, y: 0.94712*height), control2: CGPoint(x: 7.23333*width, y: 0.85096*height))
path.addCurve(to: CGPoint(x: 7.71429*width, y: 0.65865*height), control1: CGPoint(x: 7.53333*width, y: 0.78846*height), control2: CGPoint(x: 7.6619*width, y: 0.72596*height))
path.addCurve(to: CGPoint(x: 7.83333*width, y: 0.64904*height), control1: CGPoint(x: 7.8*width, y: 0.55288*height), control2: CGPoint(x: 7.80476*width, y: 0.55288*height))
path.addCurve(to: CGPoint(x: 8.3*width, y: 1.34615*height), control1: CGPoint(x: 7.90952*width, y: 0.88462*height), control2: CGPoint(x: 8.02857*width, y: 1.0625*height))
path.addCurve(to: CGPoint(x: 9.07619*width, y: 1.92308*height), control1: CGPoint(x: 8.66667*width, y: 1.72596*height), control2: CGPoint(x: 8.93333*width, y: 1.92308*height))
path.addCurve(to: CGPoint(x: 9.11905*width, y: 2.30288*height), control1: CGPoint(x: 9.24286*width, y: 1.92308*height), control2: CGPoint(x: 9.25238*width, y: 1.99038*height))
path.addCurve(to: CGPoint(x: 9.0*width, y: 2.66346*height), control1: CGPoint(x: 9.05238*width, y: 2.46154*height), control2: CGPoint(x: 9.0*width, y: 2.625*height))
path.addCurve(to: CGPoint(x: 8.85714*width, y: 2.98077*height), control1: CGPoint(x: 9.0*width, y: 2.75962*height), control2: CGPoint(x: 8.9*width, y: 2.98077*height))
path.addCurve(to: CGPoint(x: 8.69524*width, y: 2.47596*height), control1: CGPoint(x: 8.8*width, y: 2.98077*height), control2: CGPoint(x: 8.72381*width, y: 2.74038*height))
path.addCurve(to: CGPoint(x: 8.25714*width, y: 1.97596*height), control1: CGPoint(x: 8.65714*width, y: 2.18269*height), control2: CGPoint(x: 8.51429*width, y: 2.01923*height))
path.addCurve(to: CGPoint(x: 8.04286*width, y: 1.77885*height), control1: CGPoint(x: 8.09524*width, y: 1.94712*height), control2: CGPoint(x: 8.07143*width, y: 1.92788*height))
path.addCurve(to: CGPoint(x: 6.84762*width, y: 1.25481*height), control1: CGPoint(x: 7.9619*width, y: 1.37981*height), control2: CGPoint(x: 7.21905*width, y: 1.05288*height))
path.addCurve(to: CGPoint(x: 7.60952*width, y: 2.14423*height), control1: CGPoint(x: 6.57143*width, y: 1.40385*height), control2: CGPoint(x: 7.13333*width, y: 2.06731*height))
path.addCurve(to: CGPoint(x: 7.80952*width, y: 2.33173*height), control1: CGPoint(x: 7.79524*width, y: 2.17308*height), control2: CGPoint(x: 7.80952*width, y: 2.1875*height))
path.addCurve(to: CGPoint(x: 8.59048*width, y: 3.02885*height), control1: CGPoint(x: 7.80952*width, y: 2.58654*height), control2: CGPoint(x: 7.97143*width, y: 2.73077*height))
path.addCurve(to: CGPoint(x: 9.42381*width, y: 3.52885*height), control1: CGPoint(x: 8.9381*width, y: 3.19712*height), control2: CGPoint(x: 9.26667*width, y: 3.39423*height))
path.addCurve(to: CGPoint(x: 9.81429*width, y: 3.78365*height), control1: CGPoint(x: 9.56667*width, y: 3.65385*height), control2: CGPoint(x: 9.74286*width, y: 3.76923*height))
path.addLine(to: CGPoint(x: 9.95238*width, y: 3.8125*height))
path.addLine(to: CGPoint(x: 9.9619*width, y: 4.8125*height))
path.addCurve(to: CGPoint(x: 9.97143*width, y: 5.87019*height), control1: CGPoint(x: 9.9619*width, y: 5.36538*height), control2: CGPoint(x: 9.96667*width, y: 5.84135*height))
path.addCurve(to: CGPoint(x: 9.18095*width, y: 6.32212*height), control1: CGPoint(x: 9.97619*width, y: 5.93269*height), control2: CGPoint(x: 9.37619*width, y: 6.27404*height))
path.addCurve(to: CGPoint(x: 9.04762*width, y: 6.30769*height), control1: CGPoint(x: 9.10476*width, y: 6.34135*height), control2: CGPoint(x: 9.04762*width, y: 6.33654*height))
path.closeSubpath()
path.move(to: CGPoint(x: 1.39469*width, y: 5.89389*height))
path.addCurve(to: CGPoint(x: 1.38976*width, y: 5.90591*height), control1: CGPoint(x: 1.39173*width, y: 5.88689*height), control2: CGPoint(x: 1.38976*width, y: 5.89189*height))
path.addCurve(to: CGPoint(x: 1.39469*width, y: 5.91892*height), control1: CGPoint(x: 1.38976*width, y: 5.91992*height), control2: CGPoint(x: 1.39173*width, y: 5.92492*height))
path.addCurve(to: CGPoint(x: 1.39469*width, y: 5.89389*height), control1: CGPoint(x: 1.39665*width, y: 5.91191*height), control2: CGPoint(x: 1.39665*width, y: 5.8999*height))
path.closeSubpath()
path.move(to: CGPoint(x: 8.46949*width, y: 5.90591*height))
path.addCurve(to: CGPoint(x: 8.48228*width, y: 5.88589*height), control1: CGPoint(x: 8.47933*width, y: 5.89489*height), control2: CGPoint(x: 8.48524*width, y: 5.88589*height))
path.addCurve(to: CGPoint(x: 8.45965*width, y: 5.90591*height), control1: CGPoint(x: 8.47933*width, y: 5.88589*height), control2: CGPoint(x: 8.46949*width, y: 5.89489*height))
path.addCurve(to: CGPoint(x: 8.44685*width, y: 5.92593*height), control1: CGPoint(x: 8.4498*width, y: 5.91692*height), control2: CGPoint(x: 8.4439*width, y: 5.92593*height))
path.addCurve(to: CGPoint(x: 8.46949*width, y: 5.90591*height), control1: CGPoint(x: 8.4498*width, y: 5.92593*height), control2: CGPoint(x: 8.45965*width, y: 5.91692*height))
path.closeSubpath()
path.move(to: CGPoint(x: 1.40453*width, y: 5.85385*height))
path.addCurve(to: CGPoint(x: 1.39862*width, y: 5.85986*height), control1: CGPoint(x: 1.40157*width, y: 5.84585*height), control2: CGPoint(x: 1.39862*width, y: 5.84885*height))
path.addCurve(to: CGPoint(x: 1.40354*width, y: 5.87287*height), control1: CGPoint(x: 1.39764*width, y: 5.87087*height), control2: CGPoint(x: 1.40059*width, y: 5.87688*height))
path.addCurve(to: CGPoint(x: 1.40453*width, y: 5.85385*height), control1: CGPoint(x: 1.4065*width, y: 5.86987*height), control2: CGPoint(x: 1.40748*width, y: 5.86086*height))
path.closeSubpath()
path.move(to: CGPoint(x: 8.51476*width, y: 5.84885*height))
path.addCurve(to: CGPoint(x: 8.51181*width, y: 5.84484*height), control1: CGPoint(x: 8.52756*width, y: 5.83283*height), control2: CGPoint(x: 8.52657*width, y: 5.83183*height))
path.addCurve(to: CGPoint(x: 8.49409*width, y: 5.86186*height), control1: CGPoint(x: 8.50197*width, y: 5.85185*height), control2: CGPoint(x: 8.49409*width, y: 5.85986*height))
path.addCurve(to: CGPoint(x: 8.51476*width, y: 5.84885*height), control1: CGPoint(x: 8.49409*width, y: 5.86987*height), control2: CGPoint(x: 8.50197*width, y: 5.86486*height))
path.closeSubpath()
path.move(to: CGPoint(x: 1.41437*width, y: 5.8038*height))
path.addCurve(to: CGPoint(x: 1.40846*width, y: 5.80981*height), control1: CGPoint(x: 1.41142*width, y: 5.7958*height), control2: CGPoint(x: 1.40846*width, y: 5.7988*height))
path.addCurve(to: CGPoint(x: 1.41339*width, y: 5.82282*height), control1: CGPoint(x: 1.40748*width, y: 5.82082*height), control2: CGPoint(x: 1.41043*width, y: 5.82683*height))
path.addCurve(to: CGPoint(x: 1.41437*width, y: 5.8038*height), control1: CGPoint(x: 1.41634*width, y: 5.81982*height), control2: CGPoint(x: 1.41732*width, y: 5.81081*height))
path.closeSubpath()
path.move(to: CGPoint(x: 1.42421*width, y: 5.75375*height))
path.addCurve(to: CGPoint(x: 1.41929*width, y: 5.76577*height), control1: CGPoint(x: 1.42126*width, y: 5.74675*height), control2: CGPoint(x: 1.41929*width, y: 5.75175*height))
path.addCurve(to: CGPoint(x: 1.42421*width, y: 5.77878*height), control1: CGPoint(x: 1.41929*width, y: 5.77978*height), control2: CGPoint(x: 1.42126*width, y: 5.78478*height))
path.addCurve(to: CGPoint(x: 1.42421*width, y: 5.75375*height), control1: CGPoint(x: 1.42618*width, y: 5.77177*height), control2: CGPoint(x: 1.42618*width, y: 5.75976*height))
path.closeSubpath()
path.move(to: CGPoint(x: 1.44587*width, y: 5.67668*height))
path.addCurve(to: CGPoint(x: 1.44685*width, y: 5.64164*height), control1: CGPoint(x: 1.45079*width, y: 5.65265*height), control2: CGPoint(x: 1.45177*width, y: 5.63764*height))
path.addCurve(to: CGPoint(x: 1.43307*width, y: 5.6957*height), control1: CGPoint(x: 1.44291*width, y: 5.64665*height), control2: CGPoint(x: 1.43602*width, y: 5.67067*height))
path.addCurve(to: CGPoint(x: 1.44587*width, y: 5.67668*height), control1: CGPoint(x: 1.42618*width, y: 5.74875*height), control2: CGPoint(x: 1.43209*width, y: 5.73974*height))
path.closeSubpath()
path.move(to: CGPoint(x: 1.46949*width, y: 5.5005*height))
path.addCurve(to: CGPoint(x: 1.47441*width, y: 4.5996*height), control1: CGPoint(x: 1.54528*width, y: 5.13814*height), control2: CGPoint(x: 1.54626*width, y: 4.91291*height))
path.addCurve(to: CGPoint(x: 1.44685*width, y: 4.4955*height), control1: CGPoint(x: 1.46358*width, y: 4.55055*height), control2: CGPoint(x: 1.45079*width, y: 4.5035*height))
path.addCurve(to: CGPoint(x: 1.31398*width, y: 4.67968*height), control1: CGPoint(x: 1.43701*width, y: 4.47648*height), control2: CGPoint(x: 1.36024*width, y: 4.58358*height))
path.addCurve(to: CGPoint(x: 1.24311*width, y: 5.01602*height), control1: CGPoint(x: 1.2628*width, y: 4.78579*height), control2: CGPoint(x: 1.24803*width, y: 4.85285*height))
path.addCurve(to: CGPoint(x: 1.3189*width, y: 5.41241*height), control1: CGPoint(x: 1.2372*width, y: 5.18719*height), control2: CGPoint(x: 1.25197*width, y: 5.26827*height))
path.addCurve(to: CGPoint(x: 1.44193*width, y: 5.62362*height), control1: CGPoint(x: 1.3563*width, y: 5.49349*height), control2: CGPoint(x: 1.43602*width, y: 5.62963*height))
path.addCurve(to: CGPoint(x: 1.46949*width, y: 5.5005*height), control1: CGPoint(x: 1.4439*width, y: 5.62162*height), control2: CGPoint(x: 1.45669*width, y: 5.56657*height))
path.closeSubpath()
path.move(to: CGPoint(x: 1.4813*width, y: 4.44444*height))
path.addCurve(to: CGPoint(x: 1.49409*width, y: 4.42442*height), control1: CGPoint(x: 1.49114*width, y: 4.43343*height), control2: CGPoint(x: 1.49705*width, y: 4.42442*height))
path.addCurve(to: CGPoint(x: 1.47146*width, y: 4.44444*height), control1: CGPoint(x: 1.49114*width, y: 4.42442*height), control2: CGPoint(x: 1.4813*width, y: 4.43343*height))
path.addCurve(to: CGPoint(x: 1.45866*width, y: 4.46446*height), control1: CGPoint(x: 1.46161*width, y: 4.45546*height), control2: CGPoint(x: 1.45571*width, y: 4.46446*height))
path.addCurve(to: CGPoint(x: 1.4813*width, y: 4.44444*height), control1: CGPoint(x: 1.46161*width, y: 4.46446*height), control2: CGPoint(x: 1.47146*width, y: 4.45546*height))
path.closeSubpath()
path.move(to: CGPoint(x: 8.38287*width, y: 4.1021*height))
path.addCurve(to: CGPoint(x: 8.37697*width, y: 4.10811*height), control1: CGPoint(x: 8.37992*width, y: 4.09409*height), control2: CGPoint(x: 8.37697*width, y: 4.0971*height))
path.addCurve(to: CGPoint(x: 8.38189*width, y: 4.12112*height), control1: CGPoint(x: 8.37598*width, y: 4.11912*height), control2: CGPoint(x: 8.37894*width, y: 4.12513*height))
path.addCurve(to: CGPoint(x: 8.38287*width, y: 4.1021*height), control1: CGPoint(x: 8.38484*width, y: 4.11812*height), control2: CGPoint(x: 8.38583*width, y: 4.10911*height))
path.closeSubpath()
path.move(to: CGPoint(x: 8.39272*width, y: 4.06206*height))
path.addCurve(to: CGPoint(x: 8.38681*width, y: 4.06807*height), control1: CGPoint(x: 8.38976*width, y: 4.05405*height), control2: CGPoint(x: 8.38681*width, y: 4.05706*height))
path.addCurve(to: CGPoint(x: 8.39173*width, y: 4.08108*height), control1: CGPoint(x: 8.38583*width, y: 4.07908*height), control2: CGPoint(x: 8.38878*width, y: 4.08509*height))
path.addCurve(to: CGPoint(x: 8.39272*width, y: 4.06206*height), control1: CGPoint(x: 8.39469*width, y: 4.07808*height), control2: CGPoint(x: 8.39567*width, y: 4.06907*height))
path.closeSubpath()
path.move(to: CGPoint(x: 8.40256*width, y: 4.01201*height))
path.addCurve(to: CGPoint(x: 8.39764*width, y: 4.02402*height), control1: CGPoint(x: 8.39961*width, y: 4.00501*height), control2: CGPoint(x: 8.39764*width, y: 4.01001*height))
path.addCurve(to: CGPoint(x: 8.40256*width, y: 4.03704*height), control1: CGPoint(x: 8.39764*width, y: 4.03804*height), control2: CGPoint(x: 8.39961*width, y: 4.04304*height))
path.addCurve(to: CGPoint(x: 8.40256*width, y: 4.01201*height), control1: CGPoint(x: 8.40453*width, y: 4.03003*height), control2: CGPoint(x: 8.40453*width, y: 4.01802*height))
path.closeSubpath()
path.move(to: CGPoint(x: 8.43406*width, y: 3.85385*height))
path.addCurve(to: CGPoint(x: 8.42028*width, y: 3.89389*height), control1: CGPoint(x: 8.43307*width, y: 3.83984*height), control2: CGPoint(x: 8.42717*width, y: 3.85786*height))
path.addCurve(to: CGPoint(x: 8.42126*width, y: 3.93894*height), control1: CGPoint(x: 8.40256*width, y: 3.97898*height), control2: CGPoint(x: 8.40354*width, y: 4.01702*height))
path.addCurve(to: CGPoint(x: 8.43406*width, y: 3.85385*height), control1: CGPoint(x: 8.42815*width, y: 3.90591*height), control2: CGPoint(x: 8.43406*width, y: 3.86787*height))
path.closeSubpath()
path.move(to: CGPoint(x: 8.44193*width, y: 3.78679*height))
path.addCurve(to: CGPoint(x: 8.43701*width, y: 3.7988*height), control1: CGPoint(x: 8.43898*width, y: 3.77678*height), control2: CGPoint(x: 8.43701*width, y: 3.78278*height))
path.addCurve(to: CGPoint(x: 8.44193*width, y: 3.81682*height), control1: CGPoint(x: 8.43701*width, y: 3.81582*height), control2: CGPoint(x: 8.43898*width, y: 3.82282*height))
path.addCurve(to: CGPoint(x: 8.44193*width, y: 3.78679*height), control1: CGPoint(x: 8.4439*width, y: 3.80981*height), control2: CGPoint(x: 8.4439*width, y: 3.7958*height))
path.closeSubpath()
path.move(to: CGPoint(x: 8.44193*width, y: 3.57357*height))
path.addCurve(to: CGPoint(x: 8.37106*width, y: 3.23724*height), control1: CGPoint(x: 8.43602*width, y: 3.42342*height), control2: CGPoint(x: 8.42028*width, y: 3.34535*height))
path.addCurve(to: CGPoint(x: 7.93504*width, y: 2.78478*height), control1: CGPoint(x: 8.28445*width, y: 3.04304*height), control2: CGPoint(x: 8.1378*width, y: 2.89189*height))
path.addCurve(to: CGPoint(x: 7.85433*width, y: 2.74575*height), control1: CGPoint(x: 7.89075*width, y: 2.76076*height), control2: CGPoint(x: 7.85433*width, y: 2.74374*height))
path.addCurve(to: CGPoint(x: 7.9626*width, y: 3.05906*height), control1: CGPoint(x: 7.85433*width, y: 2.75576*height), control2: CGPoint(x: 7.93406*width, y: 2.98398*height))
path.addCurve(to: CGPoint(x: 8.375*width, y: 3.67668*height), control1: CGPoint(x: 8.05217*width, y: 3.28629*height), control2: CGPoint(x: 8.16732*width, y: 3.46046*height))
path.addCurve(to: CGPoint(x: 8.4439*width, y: 3.72673*height), control1: CGPoint(x: 8.4252*width, y: 3.72873*height), control2: CGPoint(x: 8.44094*width, y: 3.74074*height))
path.addCurve(to: CGPoint(x: 8.44193*width, y: 3.57357*height), control1: CGPoint(x: 8.44587*width, y: 3.71672*height), control2: CGPoint(x: 8.44488*width, y: 3.64765*height))
path.closeSubpath()
path.move(to: CGPoint(x: 1.3248*width, y: 4.003*height))
path.addCurve(to: CGPoint(x: 1.35433*width, y: 3.14014*height), control1: CGPoint(x: 1.25197*width, y: 3.67968*height), control2: CGPoint(x: 1.2628*width, y: 3.37437*height))
path.addCurve(to: CGPoint(x: 1.37795*width, y: 3.002*height), control1: CGPoint(x: 1.3878*width, y: 3.05606*height), control2: CGPoint(x: 1.38878*width, y: 3.04905*height))
path.addCurve(to: CGPoint(x: 1.1063*width, y: 2.69469*height), control1: CGPoint(x: 1.35236*width, y: 2.89289*height), control2: CGPoint(x: 1.25787*width, y: 2.78679*height))
path.addLine(to: CGPoint(x: 1.02362*width, y: 2.64464*height))
path.addLine(to: CGPoint(x: 1.05512*width, y: 2.63263*height))
path.addCurve(to: CGPoint(x: 1.32283*width, y: 2.62663*height), control1: CGPoint(x: 1.11319*width, y: 2.61161*height), control2: CGPoint(x: 1.24803*width, y: 2.60861*height))
path.addCurve(to: CGPoint(x: 1.54626*width, y: 2.73273*height), control1: CGPoint(x: 1.40157*width, y: 2.64565*height), control2: CGPoint(x: 1.49803*width, y: 2.69169*height))
path.addLine(to: CGPoint(x: 1.57972*width, y: 2.75976*height))
path.addLine(to: CGPoint(x: 1.65551*width, y: 2.68869*height))
path.addCurve(to: CGPoint(x: 1.97835*width, y: 2.45445*height), control1: CGPoint(x: 1.75394*width, y: 2.5956*height), control2: CGPoint(x: 1.86122*width, y: 2.51752*height))
path.addCurve(to: CGPoint(x: 2.28248*width, y: 2.33033*height), control1: CGPoint(x: 2.09449*width, y: 2.39139*height), control2: CGPoint(x: 2.27461*width, y: 2.31832*height))
path.addCurve(to: CGPoint(x: 2.35236*width, y: 2.31632*height), control1: CGPoint(x: 2.28543*width, y: 2.33534*height), control2: CGPoint(x: 2.31594*width, y: 2.32933*height))
path.addCurve(to: CGPoint(x: 2.34843*width, y: 2.30731*height), control1: CGPoint(x: 2.42421*width, y: 2.29129*height), control2: CGPoint(x: 2.42224*width, y: 2.28428*height))
path.addCurve(to: CGPoint(x: 2.29724*width, y: 2.31932*height), control1: CGPoint(x: 2.32185*width, y: 2.31532*height), control2: CGPoint(x: 2.29823*width, y: 2.32132*height))
path.addCurve(to: CGPoint(x: 2.42126*width, y: 1.98198*height), control1: CGPoint(x: 2.28937*width, y: 2.31131*height), control2: CGPoint(x: 2.37894*width, y: 2.06707*height))
path.addCurve(to: CGPoint(x: 2.65059*width, y: 1.65566*height), control1: CGPoint(x: 2.48228*width, y: 1.85886*height), control2: CGPoint(x: 2.54626*width, y: 1.76877*height))
path.addCurve(to: CGPoint(x: 2.74508*width, y: 1.53854*height), control1: CGPoint(x: 2.69783*width, y: 1.60561*height), control2: CGPoint(x: 2.74016*width, y: 1.55255*height))
path.addCurve(to: CGPoint(x: 2.71063*width, y: 1.32733*height), control1: CGPoint(x: 2.75886*width, y: 1.5035*height), control2: CGPoint(x: 2.74213*width, y: 1.40541*height))
path.addCurve(to: CGPoint(x: 2.62795*width, y: 1.17918*height), control1: CGPoint(x: 2.69685*width, y: 1.29429*height), control2: CGPoint(x: 2.65945*width, y: 1.22723*height))
path.addCurve(to: CGPoint(x: 2.57677*width, y: 1.09109*height), control1: CGPoint(x: 2.59547*width, y: 1.13013*height), control2: CGPoint(x: 2.57283*width, y: 1.09109*height))
path.addCurve(to: CGPoint(x: 2.7687*width, y: 1.15816*height), control1: CGPoint(x: 2.6063*width, y: 1.09109*height), control2: CGPoint(x: 2.71161*width, y: 1.12813*height))
path.addCurve(to: CGPoint(x: 2.97047*width, y: 1.34935*height), control1: CGPoint(x: 2.84843*width, y: 1.2012*height), control2: CGPoint(x: 2.9124*width, y: 1.26126*height))
path.addCurve(to: CGPoint(x: 3.02067*width, y: 1.41141*height), control1: CGPoint(x: 2.99409*width, y: 1.38338*height), control2: CGPoint(x: 3.01575*width, y: 1.41141*height))
path.addCurve(to: CGPoint(x: 3.08465*width, y: 1.39139*height), control1: CGPoint(x: 3.02461*width, y: 1.41141*height), control2: CGPoint(x: 3.05413*width, y: 1.4024*height))
path.addCurve(to: CGPoint(x: 3.46063*width, y: 1.33433*height), control1: CGPoint(x: 3.18307*width, y: 1.35736*height), control2: CGPoint(x: 3.29724*width, y: 1.33934*height))
path.addCurve(to: CGPoint(x: 4.32087*width, y: 1.46647*height), control1: CGPoint(x: 3.70177*width, y: 1.32533*height), control2: CGPoint(x: 3.77362*width, y: 1.33734*height))
path.addCurve(to: CGPoint(x: 5.00787*width, y: 1.58158*height), control1: CGPoint(x: 4.7815*width, y: 1.57558*height), control2: CGPoint(x: 4.81594*width, y: 1.58158*height))
path.addCurve(to: CGPoint(x: 5.43307*width, y: 1.54054*height), control1: CGPoint(x: 5.18799*width, y: 1.58158*height), control2: CGPoint(x: 5.28937*width, y: 1.57157*height))
path.addCurve(to: CGPoint(x: 5.66437*width, y: 1.56857*height), control1: CGPoint(x: 5.5935*width, y: 1.5045*height), control2: CGPoint(x: 5.57776*width, y: 1.5025*height))
path.addCurve(to: CGPoint(x: 5.81594*width, y: 1.6987*height), control1: CGPoint(x: 5.70768*width, y: 1.6016*height), control2: CGPoint(x: 5.77559*width, y: 1.65966*height))
path.addLine(to: CGPoint(x: 5.88976*width, y: 1.76877*height))
path.addLine(to: CGPoint(x: 5.77657*width, y: 1.7998*height))
path.addCurve(to: CGPoint(x: 5.47736*width, y: 1.87387*height), control1: CGPoint(x: 5.71457*width, y: 1.81782*height), control2: CGPoint(x: 5.58071*width, y: 1.85085*height))
path.addCurve(to: CGPoint(x: 5.25098*width, y: 1.92392*height), control1: CGPoint(x: 5.375*width, y: 1.8959*height), control2: CGPoint(x: 5.27264*width, y: 1.91892*height))
path.addCurve(to: CGPoint(x: 5.16535*width, y: 1.98198*height), control1: CGPoint(x: 5.22343*width, y: 1.93093*height), control2: CGPoint(x: 5.19685*width, y: 1.94895*height))
path.addCurve(to: CGPoint(x: 5.07185*width, y: 2.31031*height), control1: CGPoint(x: 5.10039*width, y: 2.05105*height), control2: CGPoint(x: 5.07972*width, y: 2.12412*height))
path.addLine(to: CGPoint(x: 5.06594*width, y: 2.45345*height))
path.addLine(to: CGPoint(x: 5.02559*width, y: 2.41341*height))
path.addCurve(to: CGPoint(x: 4.86713*width, y: 2.02202*height), control1: CGPoint(x: 4.93012*width, y: 2.31832*height), control2: CGPoint(x: 4.87106*width, y: 2.17117*height))
path.addLine(to: CGPoint(x: 4.86516*width, y: 1.92693*height))
path.addLine(to: CGPoint(x: 4.81201*width, y: 1.91892*height))
path.addCurve(to: CGPoint(x: 4.32677*width, y: 1.81582*height), control1: CGPoint(x: 4.70768*width, y: 1.9039*height), control2: CGPoint(x: 4.54921*width, y: 1.86987*height))
path.addLine(to: CGPoint(x: 4.10138*width, y: 1.76176*height))
path.addLine(to: CGPoint(x: 4.04724*width, y: 1.80881*height))
path.addCurve(to: CGPoint(x: 3.89862*width, y: 1.93994*height), control1: CGPoint(x: 4.01772*width, y: 1.83584*height), control2: CGPoint(x: 3.95079*width, y: 1.89389*height))
path.addCurve(to: CGPoint(x: 3.55413*width, y: 2.21221*height), control1: CGPoint(x: 3.81201*width, y: 2.01602*height), control2: CGPoint(x: 3.59055*width, y: 2.19119*height))
path.addCurve(to: CGPoint(x: 3.54823*width, y: 2.41842*height), control1: CGPoint(x: 3.5315*width, y: 2.22523*height), control2: CGPoint(x: 3.52756*width, y: 2.34535*height))
path.addCurve(to: CGPoint(x: 3.66732*width, y: 2.66066*height), control1: CGPoint(x: 3.5689*width, y: 2.49249*height), control2: CGPoint(x: 3.6122*width, y: 2.58058*height))
path.addCurve(to: CGPoint(x: 3.68307*width, y: 2.71672*height), control1: CGPoint(x: 3.70965*width, y: 2.72272*height), control2: CGPoint(x: 3.70965*width, y: 2.72272*height))
path.addCurve(to: CGPoint(x: 3.29232*width, y: 2.44144*height), control1: CGPoint(x: 3.50787*width, y: 2.67768*height), control2: CGPoint(x: 3.37697*width, y: 2.58559*height))
path.addCurve(to: CGPoint(x: 3.25295*width, y: 2.37437*height), control1: CGPoint(x: 3.27165*width, y: 2.40641*height), control2: CGPoint(x: 3.25394*width, y: 2.37638*height))
path.addCurve(to: CGPoint(x: 3.20768*width, y: 2.39039*height), control1: CGPoint(x: 3.25197*width, y: 2.37337*height), control2: CGPoint(x: 3.2313*width, y: 2.38038*height))
path.addCurve(to: CGPoint(x: 2.70177*width, y: 2.55756*height), control1: CGPoint(x: 3.12894*width, y: 2.42442*height), control2: CGPoint(x: 2.96063*width, y: 2.48048*height))
path.addCurve(to: CGPoint(x: 2.1624*width, y: 2.75475*height), control1: CGPoint(x: 2.39961*width, y: 2.64765*height), control2: CGPoint(x: 2.29331*width, y: 2.68769*height))
path.addCurve(to: CGPoint(x: 1.70276*width, y: 3.21522*height), control1: CGPoint(x: 1.94587*width, y: 2.86787*height), control2: CGPoint(x: 1.79429*width, y: 3.01902*height))
path.addCurve(to: CGPoint(x: 1.62894*width, y: 3.60961*height), control1: CGPoint(x: 1.63681*width, y: 3.35636*height), control2: CGPoint(x: 1.62992*width, y: 3.39439*height))
path.addLine(to: CGPoint(x: 1.62894*width, y: 3.8008*height))
path.addLine(to: CGPoint(x: 1.54035*width, y: 3.88388*height))
path.addCurve(to: CGPoint(x: 1.39665*width, y: 4.02202*height), control1: CGPoint(x: 1.49114*width, y: 3.92993*height), control2: CGPoint(x: 1.42717*width, y: 3.99199*height))
path.addLine(to: CGPoint(x: 1.34055*width, y: 4.07608*height))
path.addLine(to: CGPoint(x: 1.3248*width, y: 4.003*height))
path.closeSubpath()
path.move(to: CGPoint(x: 2.46555*width, y: 2.28228*height))
path.addCurve(to: CGPoint(x: 2.47047*width, y: 2.27327*height), control1: CGPoint(x: 2.47835*width, y: 2.27728*height), control2: CGPoint(x: 2.47933*width, y: 2.27327*height))
path.addCurve(to: CGPoint(x: 2.43602*width, y: 2.28228*height), control1: CGPoint(x: 2.4626*width, y: 2.27327*height), control2: CGPoint(x: 2.44685*width, y: 2.27728*height))
path.addCurve(to: CGPoint(x: 2.4311*width, y: 2.29129*height), control1: CGPoint(x: 2.42323*width, y: 2.28729*height), control2: CGPoint(x: 2.42224*width, y: 2.29129*height))
path.addCurve(to: CGPoint(x: 2.46555*width, y: 2.28228*height), control1: CGPoint(x: 2.43898*width, y: 2.29129*height), control2: CGPoint(x: 2.45472*width, y: 2.28729*height))
path.closeSubpath()
path.move(to: CGPoint(x: 2.56398*width, y: 2.25225*height))
path.addCurve(to: CGPoint(x: 2.5689*width, y: 2.24324*height), control1: CGPoint(x: 2.57677*width, y: 2.24725*height), control2: CGPoint(x: 2.57776*width, y: 2.24324*height))
path.addCurve(to: CGPoint(x: 2.53445*width, y: 2.25225*height), control1: CGPoint(x: 2.56102*width, y: 2.24324*height), control2: CGPoint(x: 2.54528*width, y: 2.24725*height))
path.addCurve(to: CGPoint(x: 2.52953*width, y: 2.26126*height), control1: CGPoint(x: 2.52165*width, y: 2.25726*height), control2: CGPoint(x: 2.52067*width, y: 2.26126*height))
path.addCurve(to: CGPoint(x: 2.56398*width, y: 2.25225*height), control1: CGPoint(x: 2.5374*width, y: 2.26126*height), control2: CGPoint(x: 2.55315*width, y: 2.25726*height))
path.closeSubpath()
path.move(to: CGPoint(x: 2.64173*width, y: 2.23023*height))
path.addCurve(to: CGPoint(x: 2.69193*width, y: 2.20521*height), control1: CGPoint(x: 2.66339*width, y: 2.22322*height), control2: CGPoint(x: 2.68701*width, y: 2.21221*height))
path.addCurve(to: CGPoint(x: 2.8937*width, y: 2.12913*height), control1: CGPoint(x: 2.69783*width, y: 2.1982*height), control2: CGPoint(x: 2.78839*width, y: 2.16416*height))
path.addCurve(to: CGPoint(x: 3.66142*width, y: 1.68368*height), control1: CGPoint(x: 3.21555*width, y: 2.02202*height), control2: CGPoint(x: 3.37402*width, y: 1.92993*height))
path.addCurve(to: CGPoint(x: 3.48917*width, y: 1.67568*height), control1: CGPoint(x: 3.67323*width, y: 1.67267*height), control2: CGPoint(x: 3.64272*width, y: 1.67167*height))
path.addCurve(to: CGPoint(x: 3.08563*width, y: 1.76176*height), control1: CGPoint(x: 3.27264*width, y: 1.68068*height), control2: CGPoint(x: 3.23228*width, y: 1.68869*height))
path.addCurve(to: CGPoint(x: 2.72736*width, y: 2.11712*height), control1: CGPoint(x: 2.92028*width, y: 1.84284*height), control2: CGPoint(x: 2.82677*width, y: 1.93594*height))
path.addCurve(to: CGPoint(x: 2.63091*width, y: 2.22422*height), control1: CGPoint(x: 2.6811*width, y: 2.2012*height), control2: CGPoint(x: 2.6752*width, y: 2.20821*height))
path.addCurve(to: CGPoint(x: 2.64173*width, y: 2.23023*height), control1: CGPoint(x: 2.57579*width, y: 2.24324*height), control2: CGPoint(x: 2.58268*width, y: 2.24725*height))
path.closeSubpath()
path.move(to: CGPoint(x: 3.85531*width, y: 1.70571*height))
path.addCurve(to: CGPoint(x: 3.83661*width, y: 1.7047*height), control1: CGPoint(x: 3.85236*width, y: 1.7027*height), control2: CGPoint(x: 3.8435*width, y: 1.7017*height))
path.addCurve(to: CGPoint(x: 3.84252*width, y: 1.71071*height), control1: CGPoint(x: 3.82874*width, y: 1.70771*height), control2: CGPoint(x: 3.83169*width, y: 1.71071*height))
path.addCurve(to: CGPoint(x: 3.85531*width, y: 1.70571*height), control1: CGPoint(x: 3.85335*width, y: 1.71171*height), control2: CGPoint(x: 3.85925*width, y: 1.70871*height))
path.closeSubpath()
path.move(to: CGPoint(x: 3.8061*width, y: 1.6957*height))
path.addCurve(to: CGPoint(x: 3.7874*width, y: 1.69469*height), control1: CGPoint(x: 3.80315*width, y: 1.69269*height), control2: CGPoint(x: 3.79429*width, y: 1.69169*height))
path.addCurve(to: CGPoint(x: 3.79331*width, y: 1.7007*height), control1: CGPoint(x: 3.77953*width, y: 1.6977*height), control2: CGPoint(x: 3.78248*width, y: 1.7007*height))
path.addCurve(to: CGPoint(x: 3.8061*width, y: 1.6957*height), control1: CGPoint(x: 3.80413*width, y: 1.7017*height), control2: CGPoint(x: 3.81004*width, y: 1.6987*height))
path.closeSubpath()
path.move(to: CGPoint(x: 3.74311*width, y: 1.68468*height))
path.addCurve(to: CGPoint(x: 3.7185*width, y: 1.68468*height), control1: CGPoint(x: 3.73622*width, y: 1.68268*height), control2: CGPoint(x: 3.72441*width, y: 1.68268*height))
path.addCurve(to: CGPoint(x: 3.73031*width, y: 1.68969*height), control1: CGPoint(x: 3.71161*width, y: 1.68769*height), control2: CGPoint(x: 3.71654*width, y: 1.68969*height))
path.addCurve(to: CGPoint(x: 3.74311*width, y: 1.68468*height), control1: CGPoint(x: 3.74409*width, y: 1.68969*height), control2: CGPoint(x: 3.74902*width, y: 1.68769*height))
path.move(to: CGPoint(x: 1.66667*width, y: 3.46635*height))
path.addCurve(to: CGPoint(x: 1.80952*width, y: 3.14904*height), control1: CGPoint(x: 1.59048*width, y: 3.31731*height), control2: CGPoint(x: 1.60952*width, y: 3.27885*height))
path.addCurve(to: CGPoint(x: 2.23333*width, y: 2.46635*height), control1: CGPoint(x: 2.05238*width, y: 2.99519*height), control2: CGPoint(x: 2.1381*width, y: 2.86058*height))
path.addLine(to: CGPoint(x: 2.30952*width, y: 2.13942*height))
path.addLine(to: CGPoint(x: 2.5381*width, y: 2.13942*height))
path.addCurve(to: CGPoint(x: 2.81429*width, y: 2.06731*height), control1: CGPoint(x: 2.69048*width, y: 2.13942*height), control2: CGPoint(x: 2.78571*width, y: 2.11538*height))
path.addCurve(to: CGPoint(x: 3.35714*width, y: 1.11538*height), control1: CGPoint(x: 3.00952*width, y: 1.75481*height), control2: CGPoint(x: 3.25238*width, y: 1.32692*height))
path.addCurve(to: CGPoint(x: 3.7381*width, y: 0.60096*height), control1: CGPoint(x: 3.42857*width, y: 0.97596*height), control2: CGPoint(x: 3.6*width, y: 0.74519*height))
path.addLine(to: CGPoint(x: 3.98571*width, y: 0.34135*height))
path.addLine(to: CGPoint(x: 3.87619*width, y: 0.23558*height))
path.addCurve(to: CGPoint(x: 4.0381*width, y: 0.02404*height), control1: CGPoint(x: 3.67619*width, y: 0.04327*height), control2: CGPoint(x: 3.72381*width, y: -0.01923*height))
path.addCurve(to: CGPoint(x: 5.16667*width, y: 0.07692*height), control1: CGPoint(x: 4.18571*width, y: 0.04327*height), control2: CGPoint(x: 4.69524*width, y: 0.06731*height))
path.addLine(to: CGPoint(x: 6.02381*width, y: 0.09135*height))
path.addLine(to: CGPoint(x: 6.0619*width, y: 0.25*height))
path.addCurve(to: CGPoint(x: 6.26667*width, y: 0.61058*height), control1: CGPoint(x: 6.08571*width, y: 0.33654*height), control2: CGPoint(x: 6.17619*width, y: 0.5*height))
path.addCurve(to: CGPoint(x: 5.84286*width, y: 0.69712*height), control1: CGPoint(x: 6.57143*width, y: 0.98558*height), control2: CGPoint(x: 6.43333*width, y: 1.01442*height))
path.addCurve(to: CGPoint(x: 5.31905*width, y: 0.48077*height), control1: CGPoint(x: 5.61905*width, y: 0.57692*height), control2: CGPoint(x: 5.38095*width, y: 0.48077*height))
path.addCurve(to: CGPoint(x: 5.02857*width, y: 0.69712*height), control1: CGPoint(x: 5.2381*width, y: 0.48077*height), control2: CGPoint(x: 5.14762*width, y: 0.54808*height))
path.addCurve(to: CGPoint(x: 4.68571*width, y: 0.71635*height), control1: CGPoint(x: 4.80476*width, y: 0.96635*height), control2: CGPoint(x: 4.72381*width, y: 0.97115*height))
path.addCurve(to: CGPoint(x: 4.59048*width, y: 0.49519*height), control1: CGPoint(x: 4.66667*width, y: 0.61058*height), control2: CGPoint(x: 4.62381*width, y: 0.50962*height))
path.addCurve(to: CGPoint(x: 3.92857*width, y: 0.92308*height), control1: CGPoint(x: 4.49048*width, y: 0.45673*height), control2: CGPoint(x: 4.12381*width, y: 0.69712*height))
path.addCurve(to: CGPoint(x: 3.59048*width, y: 1.46635*height), control1: CGPoint(x: 3.82857*width, y: 1.03846*height), control2: CGPoint(x: 3.68095*width, y: 1.28365*height))
path.addLine(to: CGPoint(x: 3.43333*width, y: 1.80288*height))
path.addLine(to: CGPoint(x: 3.5619*width, y: 1.9375*height))
path.addCurve(to: CGPoint(x: 3.41905*width, y: 2.20673*height), control1: CGPoint(x: 3.7*width, y: 2.08654*height), control2: CGPoint(x: 3.68095*width, y: 2.125*height))
path.addCurve(to: CGPoint(x: 2.84286*width, y: 2.62981*height), control1: CGPoint(x: 3.32381*width, y: 2.24038*height), control2: CGPoint(x: 3.06667*width, y: 2.42788*height))
path.addLine(to: CGPoint(x: 2.43333*width, y: 2.99519*height))
path.addLine(to: CGPoint(x: 2.4619*width, y: 3.23077*height))
path.addLine(to: CGPoint(x: 2.49048*width, y: 3.46635*height))
path.addLine(to: CGPoint(x: 2.32857*width, y: 3.4375*height))
path.addCurve(to: CGPoint(x: 1.95714*width, y: 3.48077*height), control1: CGPoint(x: 2.22857*width, y: 3.41827*height), control2: CGPoint(x: 2.08571*width, y: 3.4375*height))
path.addCurve(to: CGPoint(x: 1.66667*width, y: 3.46635*height), control1: CGPoint(x: 1.70476*width, y: 3.57692*height), control2: CGPoint(x: 1.72857*width, y: 3.57692*height))
path.closeSubpath()
return path
}

View File

@ -50,30 +50,20 @@ struct BlueButtonStyle: ButtonStyle {
}
}
struct SwitchButton : View {
var ribbon: Ribbon
@Binding var scrollId : String?
@Binding var scrollOffset : CGFloat?
@Binding var refresh : Bool
func goToRibbon(selectedRibbon: Ribbon,
destRibbon: Ribbon,
scrollId: Binding<String?>,
scrollOffset: Binding<CGFloat?>,
refresh: Binding<Bool>,
appDatabase: AppDatabase
) {
@Environment(\.appDatabase) private var appDatabase
@Query(SelectedRibbonRequest()) private var sr: [Ribbon]
@State var saveOffset = CGFloat()
var body: some View {
// ForEach(sr) { selectedRibbon in
let ribbonString = String(ribbon.scrollOffset) + " " + ribbon.scrollId
Button(String(sr[0].id!) + " " + String(ribbon.id!) + " " + ribbonString,
action: {
Task {
var selectedRibbon = sr[0]
// Print("SELECTED RIBBON", selectedRibbon)
// @Binding var scrollId : String?
// @Binding var scrollOffset : CGFloat?
// @Binding var refresh : Bool
print("SELECTED RIBBON", selectedRibbon)
let userDefaults = UserDefaults.standard
// var scrollOffsetToSave = userDefaults.object(forKey: "currentOffset") as? CGFloat
// var scrollIdToSave = userDefaults.object(forKey: "currentId") as? String
var scrollOffsetToSave = currentOffset
var scrollIdToSave = currentId
@ -86,24 +76,25 @@ struct SwitchButton : View {
// scrollOffset = CGFloat(100)
// refresh.toggle()
if (selectedRibbon.id != ribbon.id!) {
if (selectedRibbon.id != destRibbon.id!) {
// Print("switching")
scrollId = ribbon.scrollId
scrollOffset = CGFloat(ribbon.scrollOffset)
refresh.toggle()
scrollId.wrappedValue = destRibbon.scrollId
print("setting scroll offset")
scrollOffset.wrappedValue = CGFloat(destRibbon.scrollOffset)
print(scrollOffset.wrappedValue)
print("end setting scroll offset")
refresh.wrappedValue.toggle()
//scrollId = "10"
//scrollOffset = CGFloat(100)
userDefaults.set(scrollId.wrappedValue, forKey: "currentId")
userDefaults.set(scrollOffset.wrappedValue, forKey: "currentOffset")
userDefaults.set(scrollId, forKey: "currentId")
userDefaults.set(scrollOffset, forKey: "currentOffset")
var updateSelectRibbon = SelectedRibbon(id: Int64(1), ribbonId: ribbon.id!)
// Print("Saving selected ribbon")
// Print(updateSelectRibbon)
var updateSelectRibbon = SelectedRibbon(id: Int64(1), ribbonId: destRibbon.id!)
print("Saving selected ribbon")
print(updateSelectRibbon)
do {
_ = try await appDatabase.saveSelectedRibbon(&updateSelectRibbon)
} catch {
@ -111,20 +102,46 @@ struct SwitchButton : View {
}
}
updatedRibbon.scrollOffset = Int(scrollOffsetToSave!)
updatedRibbon.scrollId = scrollIdToSave!
_ = try await appDatabase.saveRibbon(&updatedRibbon)
// _ = Print("saved updatedRibbon", updatedRibbon)
print("saved updatedRibbon", updatedRibbon)
// Print("UPDATED")
print("UPDATED")
scrollOffsetToSave = userDefaults.object(forKey: "currentOffset") as? CGFloat
scrollIdToSave = userDefaults.object(forKey: "currentId") as? String
// Print("scrollOffsetToSave: ", scrollOffsetToSave)
// Print("scrollIdToSave: ", scrollIdToSave)
print("scrollOffsetToSave: ", scrollOffsetToSave)
print("scrollIdToSave: ", scrollIdToSave)
}
}
struct SwitchButton : View {
var ribbon: Ribbon
@Binding var scrollId : String?
@Binding var scrollOffset : CGFloat?
@Binding var refresh : Bool
@Environment(\.appDatabase) private var appDatabase
@Query(SelectedRibbonRequest()) private var sr: [Ribbon]
@State var saveOffset = CGFloat()
var body: some View {
// ForEach(sr) { selectedRibbon in
let ribbonString = String(sr[0].id!) + " " + String(ribbon.id!) + " " + String(ribbon.scrollOffset) + " " + ribbon.scrollId
Button(ribbonString,
action: {
Task {
goToRibbon(selectedRibbon: sr[0],
destRibbon: ribbon,
scrollId: $scrollId,
scrollOffset: $scrollOffset,
refresh: $refresh,
appDatabase: appDatabase)
}
}
@ -189,17 +206,28 @@ private struct SegRow: View {
segSplit.enumerated().forEach({ (index, item) in
let verse = try! decoder.decode(Verse.self, from: item.data(using: .utf8)!)
var attributedString: AttributedString {
// var result = AttributedString("Hello World!")
var result = AttributedString(verse.body)
result.underlineStyle = Text.LineStyle(
pattern: .dot, color: .white)
return result
}
retView = retView + Text(String(verse.verse))
//retView = retView + Text(attributedString)
// Text(seg.body)
// .contentShape(Rectangle())
.font(Font.custom("AveriaSerifLibre-Regular", size: 10))
.baselineOffset(6.0)
.foregroundColor(Color.white)
.foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
retView = retView + Text(verse.body)
retView = retView + Text(attributedString)
// .frame(maxWidth: .infinity, alignment: .leading)
// .contentShape(Rectangle())
.foregroundColor(Color.white)
.foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
.font(Font.custom("AveriaSerifLibre-Regular", size: 20))
// .listRowBackground(Color(red: 0.2, green: 0.8, blue: 0.2))
// .listRowInsets(EdgeInsets())
@ -281,15 +309,35 @@ struct ContentView: View {
var body: some View {
// Print("rendering")
var size1 = CGFloat(70)
var size2 = CGFloat(120)
var fontSize = CGFloat(20)
GeometryReader { geometry in
ZStack{
VStack{
// Text("MRK")
// .font(Font.custom("AveriaSerifLibre-Regular", size: 20))
// .foregroundColor(Color.white)
Text("MK")
.font(Font.custom("AveriaSerifLibre-Regular", size: fontSize))
.foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
// .background(Color(red: 0.3, green: 0.3, blue: 0.3))
// .overlay( MyCustomShape().frame(width: 120, height: 100).foregroundColor(.white))
// .frame(width: 120, height: 120)
.overlay( MyCustomShape().frame(width: size1, height: size1) .foregroundColor(Color(UIColor(red: 0.30, green: 0.30, blue: 0.30, alpha: 0.4))))
// .foregroundColor(.white))
.frame(width: size2, height: size2)
Text("Ps")
.font(Font.custom("AveriaSerifLibre-Regular", size: fontSize))
.foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
// .background(Color(red: 0.3, green: 0.3, blue: 0.3))
.overlay( MyCustomShape().frame(width: size1, height: size1) .foregroundColor(Color(UIColor(red: 0.30, green: 0.30, blue: 0.30, alpha: 0.4))))
// .foregroundColor(.white))
.frame(width: size1, height: size1)
Text("Jn")
.font(Font.custom("AveriaSerifLibre-Regular", size: fontSize))
.foregroundColor(Color(UIColor(red: 0.76, green: 0.76, blue: 0.76, alpha: 1.00)))
// .background(Color(red: 0.3, green: 0.3, blue: 0.3))
.overlay( MyCustomShape().frame(width: size1, height: size1) .foregroundColor(Color(UIColor(red: 0.30, green: 0.30, blue: 0.30, alpha: 0.4))))
// .foregroundColor(.white))
.frame(width: size1, height: size1)
// Text("MTW")
@ -367,7 +415,7 @@ struct ContentView: View {
//Print("Scroll delegate offset", scrollDelegate.scrollOffset)
if (setScrollOffset != nil) {
// Print("Setting scroll offset", setScrollOffset)
Print("Setting scroll offset in introspect", setScrollOffset)
scrollView.contentOffset.y = scrollView.contentOffset.y + setScrollOffset!
DispatchQueue.main.async { setScrollOffset = nil }
}
@ -470,15 +518,13 @@ struct ContentView: View {
// _ = try await appDatabase.saveScrollState(&updateScrollState)
// } catch {
Print("something wrong")
// Print("something wrong")
// }
// }
}
// gTracker!.visibleViews.removeAll()
}
}
private let itemFormatter: DateFormatter = {