REVO2700 SVGL Ppllocal sStartPoint local sCurrentPoint local sPath, sPathSize local sStroke, sStrokeWidth local sFill local sBlend local sFlatness local sBezierPoints local sTransformation local sStateStack, sStateStackSize local sLayerStack, sLayerStackSize local sGraphicsGroup on openStack open stack "import" open stack "output" end openStack on svglExecute pTargetStackLongID, pScript local tCommand local tArgs local tDefaultStack put "0,0,0" into sStroke put "0,0,0" into sFill put "1" into sStrokeWidth put "0" into sBlend put "0.5" into sFlatness put empty into sTransformation put 0 into sStateStackSize put 0 into sLayerStackSize put empty into sPath put 0 into sPathSize put the defaultStack into tDefaultStack set the defaultStack to pTargetStackLongID if there is a sGraphicsGroup then delete sGraphicsGroup end if create group put the long id of the last group into sGraphicsGroup lock screen repeat for each line tLine in pScript put word 1 of tLine into tCommand put word 2 to -1 of tLine into tArgs switch tCommand case "MR" add item 1 of sCurrentPoint to word 1 of tArgs add item 2 of sCurrentPoint to word 2 of tArgs case "M" #move command command_MoveTo tArgs break case "LR" add item 1 of sCurrentPoint to word 1 of tArgs add item 2 of sCurrentPoint to word 2 of tArgs case "L" #line command command_LineTo tArgs break case "LHR" add item 1 of sCurrentPoint to tArgs case "LH" command_LineTo tArgs && item 2 of sCurrentPoint break case "LVR" add item 2 of sCurrentPoint to tArgs case "LV" command_LineTo item 1 of sCurrentPoint && tArgs break case "Z" #close subpath command_ClosePath tArgs break case "S" #save state command_SaveState tArgs break case "R" #restore state command_RestoreState tArgs break case "D" #draw path command_Draw tArgs break case "DS" #draw just stroke command_DrawStroke tArgs break case "DF" #draw just fill command_DrawFill tArgs break case "A" #set opacity command_SetBlend tArgs break case "IS" #set stroke colour command_SetStrokeColor tArgs break case "IF" #set fill colour command_SetFillColor tArgs break case "P" #set stroke width" command_SetStrokeWidth tArgs break case "T" #transform command_Transform tArgs break case "TR" #rotation command_TransformRotate tArgs break case "TT" #translation command_TransformTranslate tArgs break case "TS" #scale command_TransformScale tArgs break case "CR" repeat with i = 1 to ((the number of words in tArgs)/2) add item 1 of sCurrentPoint to word (2*i - 1) of tArgs add item 2 of sCurrentPoint to word (2*i) of tArgs end repeat case "C" #bezier curve command_BezierCurve tArgs break case "B" #begin layer command_BeginLayer break case "E" #end layer command_EndLayer break case "PR" #add rectangle command_PrimitiveRectangle tArgs break case "PC" #add circle or ellipse command_PrimitiveCircle tArgs break case "PG" #add regular polygon command_PrimitiveRegularPolygon tArgs break case "PA" #add arc segment command_PrimitiveArc tArgs break case "CA" #add arc to point command_ArcTo tArgs break case "CER" add item 1 of sCurrentPoint to word 6 of tArgs add item 2 of sCurrentPoint to word 7 of tArgs case "CE" #add elliptic arc segment command_EllipticArc tArgs break --case "IFG" #set gradient -- unimplemented --command_SetFillGradient tArgs --break --case "ISG" #set gradient -- unimplemented --command_SetStrokeGradient tArgs --break end switch end repeat unlock screen set the topleft of sGraphicsGroup to (0, 0) set the width of the defaultStack to the width of sGraphicsGroup set the height of the defaultStack to the height of sGraphicsGroup set the defaultStack to tDefaultStack end svglExecute on command_MoveTo pArgs local tX local tY local tSubPath put word 1 of pArgs into tX put word 2 of pArgs into tY put (tX, tY) into sStartPoint put sStartPoint into sCurrentPoint put "Move " & sStartPoint into tSubPath put tSubPath into sPath[sPathSize] add 1 to sPathSize end command_MoveTo on command_LineTo pArgs local tX local tY put word 1 of pArgs into tX put word 2 of pArgs into tY put (tX, tY) into sCurrentPoint put return & "Line " & sCurrentPoint after sPath[sPathSize - 1] end command_LineTo on command_ClosePath pArgs put return & "Line " & sStartPoint after sPath[sPathSize - 1] end command_ClosePath on command_SaveState pArgs #sStroke #sStrokeWidth #sFill #sBlend #sTransformation local tState put sStroke into tState["Stroke"] put sStrokeWidth into tState["StrokeWidth"] put sFill into tState["Fill"] put sBlend into tState["Blend"] put sTransformation into tState["Transformation"] put tState into sStateStack[(sStateStackSize, sLayerStackSize)] add 1 to sStateStackSize end command_SaveState on command_RestoreState pArgs local tState if sStateStackSize > 0 then subtract 1 from sStateStackSize put sStateStack[(sStateStackSize, sLayerStackSize)] into tState put tState["Stroke"] into sStroke put tState["StrokeWidth"] into sStrokeWidth put tState["Fill"] into sFill put tState["Blend"] into sBlend put tState["Transformation"] into sTransformation end if end command_RestoreState on command_BeginLayer local tLayerState command_SaveState put sGraphicsGroup into tLayerState["GraphicsGroup"] put sStateStackSize into tLayerState["StateStackSize"] put tLayerState into sLayerStack[sLayerStackSize] add 1 to sLayerStackSize put 0 into sStateStackSize create group in sGraphicsGroup put the long id of the last group into sGraphicsGroup set the blendLevel of sGraphicsGroup to sBlend command_SetBlend 0 end command_BeginLayer on command_EndLayer local tLayerState if SLayerStackSize > 0 then subtract 1 from sLayerStackSize put sLayerStack[sLayerStackSize] into tLayerState put tLayerState["StateStackSize"] into sStateStackSize put tLayerState["GraphicsGroup"] into sGraphicsGroup command_RestoreState end if end command_EndLayer on command_Draw pArgs local tPoly lock screen put createPoly() into tPoly set the backgroundColor of tPoly to sFill set the fillrule of tPoly to "nonzero" set the opaque of tPoly to true set the foregroundColor of tPoly to sStroke set the lineSize of tPoly to sStrokeWidth unlock screen end command_Draw on command_DrawStroke pArgs local tPoly lock screen put createPoly() into tPoly set the foregroundColor of tPoly to sStroke set the lineSize of tPoly to sStrokeWidth unlock screen end command_DrawStroke on command_DrawFill pArgs local tPoly lock screen put createPoly() into tPoly set the backgroundColor of tPoly to sFill set the fillrule of tPoly to "nonzero" set the opaque of tPoly to true set the lineSize of tPoly to 0 unlock screen end command_DrawFill function createPoly local tPoly local tVector local tSubPath local tCommand local tPoints local tTPoints, tNumTPoints local tX1 local tY1 local tX2 local tY2 local tX3 local tY3 local tX4 local tY4 create graphic in sGraphicsGroup put the long id of the last graphic into tPoly set the style of tPoly to "Polygon" put empty into tPoints repeat with i = 0 to (sPathSize - 1) put sPath[i] into tSubPath repeat for each line tLine in tSubPath put word 1 of tLine into tCommand put empty into tTPoints put 0 into tNumTPoints if keys of sTransformation is not empty then repeat for each word tPoint in word 2 to -1 of tLine put item 1 of tPoint into tVector[0,0] put item 2 of tPoint into tVector[1,0] put 1 into tVector[2,0] put matrixMultiply(sTransformation, tVector) into tVector put tVector[0,0] into tTPoints[tNumTPoints][0] put tVector[1,0] into tTPoints[tNumTPoints][1] add 1 to tNumTPoints end repeat else repeat for each word tPoint in word 2 to -1 of tLine put item 1 of tPoint into tTPoints[tNumTPoints][0] put item 2 of tPoint into tTPoints[tNumTPoints][1] add 1 to tNumTPoints end repeat end if switch tCommand case "Move" put return after tPoints case "Line" put (round(tTPoints[0][0]), round(tTPoints[0][1])) & return after tPoints break case "QuadraticBezier" put tTPoints[0][0] into tX1 put tTPoints[0][1] into tY1 put tTPoints[1][0] into tX2 put tTPoints[1][1] into tY2 put tTPoints[2][0] into tX3 put tTPoints[2][1] into tY3 put empty into sBezierPoints QuadraticBezier tX1, tY1, tX2, tY2, tX3, tY3 put sBezierPoints after tPoints break case "CubicBezier" put tTPoints[0][0] into tX1 put tTPoints[0][1] into tY1 put tTPoints[1][0] into tX2 put tTPoints[1][1] into tY2 put tTPoints[2][0] into tX3 put tTPoints[2][1] into tY3 put tTPoints[3][0] into tX4 put tTPoints[3][1] into tY4 put empty into sBezierPoints CubicBezier tX1, tY1, tX2, tY2, tX3, tY3, tX4, tY4 put sBezierPoints after tPoints break end switch put line -1 of tPoints into sCurrentPoint end repeat end repeat set the points of tPoly to tPoints set the blendLevel of tPoly to sBlend put empty into sPath put 0 into sPathSize return tPoly end createPoly on command_SetBlend pArgs local tBlend put word 1 of pArgs into tBlend put tBlend into sBlend end command_SetBlend on command_SetStrokeColor pArgs local tR local tG local tB put word 1 of pArgs into tR put word 2 of pArgs into tG put word 3 of pArgs into tB put (tR, tG, tB) into sStroke end command_SetStrokeColor on command_SetFillColor pArgs local tR local tG local tB put word 1 of pArgs into tR put word 2 of pArgs into tG put word 3 of pArgs into tB put (tR, tG, tB) into sFill end command_SetFillColor on command_SetStrokeWidth pArgs local tWidth put word 1 of pArgs into tWidth if tWIdth > 0 then if tWidth < 1 then put 1 into tWidth else put trunc(tWidth) into tWidth end if end if put tWidth into sStrokeWidth end command_SetStrokeWidth #transformation matrix commands on command_Transform pArgs local tA local tB local tC local tD local tE local tF local tMatrix put word 1 of pArgs into tA put word 2 of pArgs into tB put word 3 of pArgs into tC put word 4 of pArgs into tD put tA into tMatrix[0,0] put tB into tMatrix[0,1] put tC into tMatrix[1,0] put tD into tMatrix[1,1] if (the number of words in pArgs) is 6 then put word 5 of pArgs into tE put word 6 of pArgs into tF else put 0 into tE put 0 into tF end if put tE into tMatrix[0,2] put tF into tMatrix[1,2] put 0 into tMatrix[2,0] put 0 into tMatrix[2,1] put 1 into tMatrix[2,2] if the keys of sTransformation is empty then put tMatrix into sTransformation else put matrixMultiply(sTransformation, tMatrix) into sTransformation end if end command_Transform on command_TransformRotate pArgs local tAngle local tA local tB local tC local tD local tArgs put word 1 of pArgs into tAngle #conv to radians put (tAngle*pi)/180 into tAngle put cos(tAngle) into tA put sin(tAngle) into tC put 0 - tC into tB put tA into tD put tA & space & tB & space & tC & space & tD into tArgs command_Transform tArgs end command_TransformRotate on command_TransformTranslate pArgs local tX local tY local tArgs put word 1 of pArgs into tX put word 2 of pArgs into tY put "1 0 0 1" & space & tX & space & tY into tArgs command_Transform tArgs end command_TransformTranslate on command_TransformScale pArgs local tSX local tSY local tArgs put word 1 of pArgs into tSX put word 2 of pArgs into tSY put tSX & " 0 0 " & tSY into tArgs command_Transform tArgs end command_TransformScale #Bezier curve commands on command_BezierCurve pArgs local tAX local tAY local tBX local tBY local tX local tY put word 1 of pArgs into tAX put word 2 of pArgs into tAY if the number of words in pArgs is 6 then put word 3 of pArgs into tBX put word 4 of pArgs into tBY put word 5 of pArgs into tX put word 6 of pArgs into tY put return & "CubicBezier " & sCurrentPoint && (tAX, tAY) && (tBX, tBY) && (tX, tY) after sPath[sPathSize - 1] else put word 3 of pArgs into tX put word 4 of pArgs into tY put return & "QuadraticBezier " & sCurrentPoint && (tAX, tAY) && (tX, tY) after sPath[sPathSize - 1] end if put (tX, tY) into sCurrentPoint end command_BezierCurve on QuadraticBezier pAX, pAY, pBX, pBY, pCX, pCY local tQ0X local tQ0Y local tQ1X local tQ1Y local tBX local tBY if isFlat(pAX, pAY, pCX, pCY, (pBX, pBY)) then put (round(pCX), round(pCY)) & return after sBezierPoints exit QuadraticBezier end if put (pAX + pBX) / 2 into tQ0X put (pAY + pBY) / 2 into tQ0Y put (pBX + pCX) / 2 into tQ1X put (pBY + pCY) / 2 into tQ1Y put (tQ0X + tQ1X) / 2 into tBX put (tQ0Y + tQ1Y) / 2 into tBY QuadraticBezier pAX, pAY, tQ0X, tQ0Y, tBX, tBY QuadraticBezier tBX, tBY, tQ1X, tQ1Y, pCX, pCY end QuadraticBezier on CubicBezier pAX, pAY, pBX, pBY, pCX, pCY, pDX, pDY local tQ0X local tQ0Y local tQ1X local tQ1Y local tQ2X local tQ2Y local tQ3X local tQ3Y local tQ4X local tQ4Y local tBX local tBY if isFlat(pAX, pAY, pDX, pDY, (pBX, pBY) & return & (pCx, pCY)) then #put (round(pBX), round(pBY)) & return after sBezierPoints #put (round(pCX), round(pCY)) & return after sBezierPoints put (round(pDX), round(pDY)) & return after sBezierPoints #draw bezier while generating points for debugging #set the points of the last graphic to sBezierPoints exit CubicBezier end if put (pAX + pBX) / 2 into tQ0X put (pAY + pBY) / 2 into tQ0Y put (pBX + pCX) / 2 into tQ1X put (pBY + pCY) / 2 into tQ1Y put (pCX + pDX) / 2 into tQ2X put (pCY + pDY) / 2 into tQ2Y put (tQ0X + tQ1X) / 2 into tQ3X put (tQ0Y + tQ1Y) / 2 into tQ3Y put (tQ1X + tQ2X) / 2 into tQ4X put (tQ1Y + tQ2Y) / 2 into tQ4Y put (tQ3X + tQ4X) / 2 into tBX put (tQ3Y + tQ4Y) / 2 into tBY CubicBezier pAX, pAY, tQ0X, tQ0Y, tQ3X, tQ3Y, tBX, tBY CubicBezier tBX, tBY, tQ4X, tQ4Y, tQ2X, tQ2Y, pDX, pDY end CubicBezier function distanceToLine pA, pB, pC, pX, pY #return distance from point (x, y) to line with equation Ax+By+C=0 return (pA*pX + pB*pY +pC) / ((pA^2 + pB^2)^(1/2)) end distanceToLine function isFlat pAX, pAY, pBX, pBY, pControlPoints #calc line in form Ax + By + C = 0 local tX local tY local tA local tB local tC local tDistance local tEqn put lineEquation(pAX, pAY, pBX, pBY) into tEqn put item 1 of tEqn into tA put item 2 of tEqn into tB put item 3 of tEqn into tC repeat for each line tPoint in pControlPoints put item 1 of tPoint into tX put item 2 of tPoint into tY if tB is 0 then put abs(pAX - tX) into tDistance else if tA is 0 then put abs(pAY - tY) into tDistance else put abs(distanceToLine(tA, tB, tC, tX, tY)) into tDistance end if if tDistance >= sFlatness then return false end if end repeat return true end isFlat function lineEquation pX1, pY1, pX2, pY2 #return A, B, C of equation of line through points (x1, y1), (x2, y2) in form Ax + By + C = 0 local tDX local tDY put pX2 - pX1 into tDX put pY2 - pY1 into tDY local tM local tA local tB local tC if tDX is not 0 then put tDY/tDX into tM #from y = mx + c -> c = y - mx put pY1 - (pX1 * tM) into tC #now mx - y + c = 0 #a = m, b = -1 put tM into tA put -1 into tB else put -1 into tA put 0 into tB put pX1 into tC end if return (tA, tB, tC) end lineEquation ##Primative shape commands on command_PrimitiveRectangle pArgs local tX, tY local tW, tH local tHR, tVR put word 1 of pArgs into tX put word 2 of pArgs into tY put word 3 of pArgs into tW put word 4 of pArgs into tH if the number of words in pArgs is 4 then command_MoveTo (tX, tY) command_LineTo (tX+tW && tY) command_LineTo (tX+tW && tY+tH) command_LineTo (tX && tY+tH) command_ClosePath else if the number of words in pArgs is 6 then put word 5 of pArgs into tHR put word 6 of pArgs into tVR put min(tHR, tW/2) into tHR put min(tVR, tH/2) into tVR command_MoveTo (tX+tW-tHR && tY) createAcuteArc tX+tW-tHR, tY+tVR, tHR, tVR, pi*3/2, pi/2, false command_LineTo (tX+tW && tY+tH-tVR) createAcuteArc tX+tW-tHR, tY+tH-tVR, tHR, tVR, 0, pi/2, false command_LineTo (tX+tHR && tY+tH) createAcuteArc tX+tHR, tY+tH-tVR, tHR, tVR, pi/2, pi/2, false command_LineTo (tX && tY+tVR) createAcuteArc tX+tHR, tY+tVR, tHR, tVR, pi, pi/2, false command_ClosePath end if end command_PrimitiveRectangle on command_PrimitiveCircle pArgs constant MAGIC_NUMBER = "0.551784" local tX local tY local tR local tS local tMR local tMS put word 1 of pArgs into tX put word 2 of pArgs into tY put word 3 of pArgs into tR put MAGIC_NUMBER*tR into tMR if the number of words in pArgs is 4 then put word 4 of pArgs into tS put MAGIC_NUMBER*tS into tMS else put tR into tS put tMR into tMS end if command_MoveTo tX+tR && tY command_BezierCurve (tX+tR && tY+tMS) && (tX+tMR && tY+tS) && (tX && tY+tS) command_BezierCurve (tX-tMR && tY+tS) && (tX-tR && tY+tMS) && (tX-tR && tY) command_BezierCurve (tX-tR && tY-tMS) && (tX-tMR && tY-tS) && (tX && tY-tS) command_BezierCurve (tX+tMR && tY-tS) && (tX+tR && tY-tMS) && (tX+tR && tY) end command_PrimitiveCircle on command_PrimitiveRegularPolygon pArgs local tX local tY local tR local tSides local tAngle local tCurrentAngle local tPX local tPY put word 1 of pArgs into tX put word 2 of pArgs into tY put word 3 of pArgs into tR put word 4 of pArgs into tSides put (2*pi)/tSides into tAngle put tAngle into tCurrentAngle command_MoveTo (tX+tR && tY) repeat for (tSides-1) times put tR*cos(tCurrentAngle) into tPX put tR*sin(tCurrentAngle) into tPY command_LineTo tX+tPX && tY+tPY add tAngle to tCurrentAngle end repeat command_ClosePath end command_PrimitiveRegularPolygon on command_PrimitiveArc pArgs local tCX local tCY local tHR local tVR local tS local tE local tA put word 1 of pArgs into tCX put word 2 of pArgs into tCy put word 3 of pArgs into tHR put word 4 of pArgs into tVR put word 5 of pArgs into tS put word 6 of pArgs into tE if tHR is 0 or tVR is 0 or (tE - tS) is 0 then exit command_PrimitiveArc end if local tAngle put (tE - tS) into tAngle if tAngle >= 360 then command_PrimitiveCircle pArgs exit command_PrimitiveArc end if if the number of words in pArgs is 7 then put word 7 of pArgs into tA createArc tCX, tCY, tHR, tVR, tS*pi/180, tAngle*pi/180, , tA*pi/180 exit command_PrimitiveArc end if createArc tCX, tCY, tHR, tVR, tS*pi/180, tAngle*pi/180 end command_PrimitiveArc on createArc pX, pY, pHR, pVR, pS, pAngle, pFirst, pXAngle put pS mod (2*pi) into pS if pFirst is empty then put true into pFirst end if local tDelta if pAngle > 0 then repeat while pAngle > 0 put min( pi/2 - (pS mod (pi/2)), pAngle) into tDelta subtract tDelta from pAngle createAcuteArc pX, pY, pHR, pVR, pS, tDelta, pFirst, pXAngle put false into pFirst add tDelta to pS end repeat else repeat while pAngle < 0 put min( pi/2 - ((pi*2-pS) mod (pi/2)) , -pAngle) into tDelta add tDelta to pAngle createAcuteArc pX, pY, pHR, pVR, pS, -tDelta, pFirst, pXAngle put false into pFirst subtract tDelta from pS end repeat end if end createArc on createAcuteArc pX, pY, pHR, pVR, pS, pAngle, pFirst, pXAngle local tHK local tVK if pAngle is pi/2 then put pHR * 0.551784 into tHK put pVR * 0.551784 into tVK else if pAngle is -pi/2 then put pHR * -0.551784 into tHK put pVR * -0.551784 into tVK else local tH put tan(pAngle/4) into tH put pHR*4*tH/3 into tHK put pVR*4*tH/3 into tVK end if local tCA local tSA local tCB local tSB put cos(pS) into tCA put sin(pS) into tSA put cos(pS+pAngle) into tCB put sin(pS+pAngle) into tSB local tP put (pHR*tCA && pVR*tSA) into tP[0] put (pHR*tCA - tHK*tSA && pVR*tSA + tVK*tCA) into tP[1] put (pHR*tCB + tHK*tSB && pVR*tSB - tVK*tCB) into tP[2] put (pHR*tCB && pVR*tSB) into tP[3] repeat with i = 0 to 3 local tX, tY put word 1 of tP[i] into tX put word 2 of tP[i] into tY if pXAngle is not empty then local tXp put tX*cos(pXAngle) - tY*sin(pXAngle) into tXp put tY*cos(pXAngle) + tX*sin(pXAngle) into tY put tXp into tX end if put pX + tX into word 1 of tP[i] put pY + tY into word 2 of tP[i] end repeat if pFirst then command_MoveTo tP[0] end if command_BezierCurve tP[1] && tP[2] && tP[3] end createAcuteArc on command_ArcTo pArgs local tX0 local tY0 local tX1 local tY1 local tX2 local tY2 local tR put item 1 of sCurrentPoint into tX0 put item 2 of sCurrentPoint into tY0 put word 1 of pArgs into tX1 put word 2 of pArgs into tY1 put word 3 of pArgs into tX2 put word 4 of pArgs into tY2 put word 5 of pArgs into tR local tL1DX local tL1DY local tL1Angle local tL2DX local tL2DY local tL2Angle put tX1 - tX0 into tL1DX put tY1 - tY0 into tL1DY put tX2 - tX1 into tL2DX put tY2 - tY1 into tL2DY #calculate the angles between lines L1 and zero, and L2 and zero put atan2(tL1DY, tL1DX) into tL1Angle put atan2(tL2DY, tL2DX) into tL2Angle local tLineAngle local tArcAngle #calculate angle between the two lines put (3*pi - tL2Angle + tL1Angle) mod (2*pi) into tLineAngle #calculate the arc angle from the line angle put pi - tLineAngle into tArcAngle local tD local tF #use trig to find F the distance from point (x1, y1) to the centre of the circle #and D the distance from (x1, y1) to the tangent points put tR / cos(tArcAngle/2) into tF put tF * sin(tArcAngle/2) into tD local tCX local tCY local tCAngle #calc angle from (x1, y1) to circle centre C put tL2Angle + tLineAngle/2 into tCAngle if tArcAngle < 0 then #curve is on the opposite side, flip direction to circle centre through 180 degrees add pi to tCAngle end if #find circle centre point C from point (x1, y1), radius and angle put tX1 + tF*cos(tCAngle) into tCX put tY1 + tF*sin(tCAngle) into tCY local tS local tE # find start & end angles of arc by offset of angle FROM C to (x1, y1) put tCAngle+pi - tArcAngle/2 into tS put tCAngle+pi + tArcAngle/2 into tE local tSX local tSY local tEX local tEY #find tangent points at start and end of arc put tCX + tR*cos(tS) into tSX put tCY + tR*sin(tS) into tSY put tCX + tR*cos(tE) into tEX put tCY + tR*sin(tE) into tEY /*local tOutput put "L1Angle:" && tL1Angle*180/pi & return after tOutput put "L2Angle:" && tL2Angle*180/pi & return after tOutput put "LineAngle:" && tLineAngle*180/pi & return after tOutput put "ArcAngle:" && tArcAngle*180/pi & return after tOutput put "CAngle:" && tCAngle*180/pi & return after tOutput put "D:" && tD & return after tOutput put "F:" && tF & return after tOutput put "C:" && (tCX,tCY) & return after tOutput put "PS:" && (tSX, tSY) & return after tOutput put "PE:" && (tEX, tEY) & return after tOutput put "S:" && tS*180/pi & return after tOutput put "E:" && tE*180/pi & return after tOutput put tOutput */ command_LineTo tSX && tSY createArc tCX, tCY, tR, tR, tS, tArcAngle, false end command_ArcTo on command_EllipticArc pArgs local tHR, tVR, tAngle, tLargeArc, tSweep, tX1, tY1, tX2, tY2 put item 1 of sCurrentPoint into tX1 put item 2 of sCurrentPoint into tY1 put word 1 of pArgs into tHR put word 2 of pArgs into tVR put word 3 of pArgs into tAngle put word 4 of pArgs into tLargeArc put word 5 of pArgs into tSweep put word 6 of pArgs into tX2 put word 7 of pArgs into tY2 local tV, tVp, tM multiply tAngle by (pi/180) put (2*pi + tAngle) mod (2*pi) into tAngle put cos(tAngle) into tM[0,0] put tM[0,0] into tM[1,1] put sin(tAngle) into tM[0,1] put -tM[0,1] into tM[1,0] put (tX1 - tX2)/2 into tV[0,0] put (tY1 - tY2)/2 into tV[1,0] put matrixMultiply(tM, tV) into tVp local tX1p, tY1p put tVp[0,0] into tX1p put tVp[1,0] into tY1p local tA put (tX1p^2/tHR^2) + (tY1p^2/tVR^2) into tA if tA > 1 then multiply tHR by sqrt(tA) multiply tVR by sqrt(tA) end if local tCXp, tCYp put tHR*tY1p/tVR into tV[0,0] put -tVR*tX1p/tHR into tV[1,0] local tTemp put ((tHR^2*tVR^2) - (tHR^2*tY1p^2)-(tVR^2*tX1p^2)) / ((tHR^2*tY1p^2) + (tVR^2*tX1p^2)) into tTemp if tTemp is 0 then multiply tV by 0 else multiply tV by sqrt( tTemp ) end if if tLargeArc = tSweep then multiply tV by -1 end if put tV[0,0] into tCXp put tV[1,0] into tCYp put -tM[0,1] into tM[0,1] put -tM[1,0] into tM[1,0] put matrixMultiply(tM, tV) into tVp local tCX, tCY put ((tX1+tX2)/2) + tVp[0,0] into tCX put ((tY1+tY2)/2) + tVp[1,0] into tCY local tS, tDA put angleBetweenVectors(1, 0, (tX1p-tCXp)/tHR, (tY1p-tCYp)/tVR) into tS put angleBetweenVectors((tX1p-tCXp)/tHR, (tY1p-tCYp)/tVR, (-tX1p-tCXp)/tHR, (-tY1p-tCYp)/tVR) into tDA put tDA mod (2*pi) into tDA if tSweep is 0 and tDA > 0 then subtract 2*pi from tDA else if tSweep is 1 and tDA < 0 then add 2*pi to tDA end if if tAngle is 0 then createArc tCX, tCY, tHR, tVR, tS, tDA, false else createArc tCX, tCY, tHR, tVR, tS, tDA, false, tAngle end if end command_EllipticArc function angleBetweenVectors pX1, pY1, pX2, pY2 local tDP, tM1, tM2, tS put sqrt(pX1^2 + pY1^2) into tM1 put sqrt(pX2^2 + pY2^2) into tM2 put pX1*pX2 + pY1*pY2 into tDP put sign(pX1*pY2 - pY1*pX2) into tS if tS is 0 then put 1 into tS end if return tS*acos(max(tDP/(tM1*tM2), -1)) end angleBetweenVectors function sign pA if pA <0 then return -1 else if pA > 0 then return 1 else return 0 end if end sign = | U Tahoma U TimesNewRomanPSMT,Unicode U TimesNewRomanPSMT,Unicode U MS Sans Serif cREVGeometryCache stackID 52247 cREVGeneral @ scriptChecksum L%mJ~SO debugObjects @stack "Import" of stack "SVGL" stack "Gradients" of stack "SVGL"breakPoints handlerList svglExecute command_MoveTo command_LineTo command_ClosePath command_SaveState command_RestoreState command_BeginLayer command_EndLayer command_Draw command_DrawStroke command_DrawFill applyGradient createPoly computeRamp drawHorizontalGradient drawVerticalGradient command_SetBlend command_SetStrokeColor command_SetFillColor command_SetStrokeWidth command_SetGradient command_Transform command_TransformRotate command_TransformTranslate command_TransformScale command_BezierCurve QuadraticBezier CubicBezier distanceToLine isFlat lineEquation command_PrimitiveRectangle command_PrimitiveCircle command_PrimitiveRegularPolygon command_PrimitiveArc createArc createAcuteArc command_ArcTo command_EllipticArc angleBetweenVectors signscriptSelection char 8009 to 8008breakpointstates bookmarks breakpointconditions scripteditorvscroll 3025scripteditorselection 4186prevHandler angleBetweenVectorstempScript stackfileversion 2.7script
local sStartPoint
local sCurrentPoint
local sPath, sPathSize
local sStroke, sStrokeWidth
local sFill
local sBlend
local sGradientType, sGradient
local sFlatness
local sBezierPoints
local sTransformation
local sStateStack, sStateStackSize
local sLayerStack, sLayerStackSize
local sGraphicsGroup
on svglExecute pTargetStackLongID, pScript
local tCommand
local tArgs
local tDefaultStack
put "0,0,0" into sStroke
put "0,0,0" into sFill
put empty into sGradient
put "1" into sStrokeWidth
put "0" into sBlend
put "0.5" into sFlatness
put empty into sTransformation
put 0 into sStateStackSize
put 0 into sLayerStackSize
put empty into sPath
put 0 into sPathSize
put the defaultStack into tDefaultStack
set the defaultStack to pTargetStackLongID
if there is a sGraphicsGroup then
delete sGraphicsGroup
end if
create group
put the long id of the last group into sGraphicsGroup
repeat for each line tLine in pScript
put word 1 of tLine into tCommand
put word 2 to -1 of tLine into tArgs
switch tCommand
case "MR"
add item 1 of sCurrentPoint to word 1 of tArgs
add item 2 of sCurrentPoint to word 2 of tArgs
case "M"
#move command
command_MoveTo tArgs
break
case "LR"
add item 1 of sCurrentPoint to word 1 of tArgs
add item 2 of sCurrentPoint to word 2 of tArgs
case "L"
#line command
command_LineTo tArgs
break
case "LHR"
add item 1 of sCurrentPoint to tArgs
case "LH"
command_LineTo tArgs && item 2 of sCurrentPoint
break
case "LVR"
add item 2 of sCurrentPoint to tArgs
case "LV"
command_LineTo item 1 of sCurrentPoint && tArgs
break
case "Z"
#close subpath
command_ClosePath tArgs
break
case "S"
#save state
command_SaveState tArgs
break
case "R"
#restore state
command_RestoreState tArgs
break
case "D"
#draw path
command_Draw tArgs
break
case "DS"
#draw just stroke
command_DrawStroke tArgs
break
case "DF"
#draw just fill
command_DrawFill tArgs
break
case "A"
#set opacity
command_SetBlend tArgs
break
case "IS"
#set stroke colour
command_SetStrokeColor tArgs
break
case "IF"
#set fill colour
command_SetFillColor tArgs
break
case "P"
#set stroke width"
command_SetStrokeWidth tArgs
break
case "T"
#transform
command_Transform tArgs
break
case "TR"
#rotation
command_TransformRotate tArgs
break
case "TT"
#translation
command_TransformTranslate tArgs
break
case "TS"
#scale
command_TransformScale tArgs
break
case "CR"
repeat with i = 1 to ((the number of words in tArgs)/2)
add item 1 of sCurrentPoint to word (2*i - 1) of tArgs
add item 2 of sCurrentPoint to word (2*i) of tArgs
end repeat
case "C"
#bezier curve
command_BezierCurve tArgs
break
case "B"
#begin layer
command_BeginLayer
break
case "E"
#end layer
command_EndLayer
break
case "PR"
#add rectangle
command_PrimitiveRectangle tArgs
break
case "PC"
#add circle or ellipse
command_PrimitiveCircle tArgs
break
case "PG"
#add regular polygon
command_PrimitiveRegularPolygon tArgs
break
case "PA"
#add arc segment
command_PrimitiveArc tArgs
break
case "CA"
#add arc to point
command_ArcTo tArgs
break
case "CER"
add item 1 of sCurrentPoint to word 6 of tArgs
add item 2 of sCurrentPoint to word 7 of tArgs
case "CE"
#add elliptic arc segment
command_EllipticArc tArgs
break
case "IFG"
#set gradient
command_SetGradient tArgs
break
end switch
end repeat
set the defaultStack to tDefaultStack
end svglExecute
on command_MoveTo pArgs
local tX
local tY
local tSubPath
put word 1 of pArgs into tX
put word 2 of pArgs into tY
put (tX, tY) into sStartPoint
put sStartPoint into sCurrentPoint
put "Move " & sStartPoint into tSubPath
put tSubPath into sPath[sPathSize]
add 1 to sPathSize
end command_MoveTo
on command_LineTo pArgs
local tX
local tY
put word 1 of pArgs into tX
put word 2 of pArgs into tY
put (tX, tY) into sCurrentPoint
put return & "Line " & sCurrentPoint after sPath[sPathSize - 1]
end command_LineTo
on command_ClosePath pArgs
put return & "Line " & sStartPoint after sPath[sPathSize - 1]
end command_ClosePath
on command_SaveState pArgs
#sStroke
#sStrokeWidth
#sFill
#sBlend
#sTransformation
local tState
local tTransformation
put sStroke into tState["Stroke"]
put sStrokeWidth into tState["StrokeWidth"]
put sFill into tState["Fill"]
put sBlend into tState["Blend"]
put sTransformation into tTransformation
combine tTransformation using "[" and "]"
put tTransformation into tState["Transformation"]
local tGradient
put sGradient into tGradient
replace return with "/" in tGradient
put tGradient into tState["Gradient"]
put sGradient into tState["GradientType"]
combine tState using return and "|"
put tState into sStateStack[(sStateStackSize, sLayerStackSize)]
add 1 to sStateStackSize
end command_SaveState
on command_RestoreState pArgs
local tState
local tTransformation
if sStateStackSize > 0 then
subtract 1 from sStateStackSize
put sStateStack[(sStateStackSize, sLayerStackSize)] into tState
split tState using return and "|"
put tState["Stroke"] into sStroke
put tState["StrokeWidth"] into sStrokeWidth
put tState["Fill"] into sFill
put tState["Blend"] into sBlend
put tState["Transformation"] into tTransformation
split tTransformation using "[" and "]"
put tTransformation into sTransformation
local tGradient
put tState["Gradient"] into tGradient
replace "/" with return in tGradient
put tGradient into sGradient
put tState["GradientType"] into sGradientType
end if
end command_RestoreState
on command_BeginLayer
local tLayerState
command_SaveState
put sGraphicsGroup into tLayerState["GraphicsGroup"]
put sStateStackSize into tLayerState["StateStackSize"]
combine tLayerState using return and "|"
put tLayerState into sLayerStack[sLayerStackSize]
add 1 to sLayerStackSize
put 0 into sStateStackSize
create group in sGraphicsGroup
put the long id of the last group into sGraphicsGroup
set the blendLevel of sGraphicsGroup to sBlend
command_SetBlend 0
end command_BeginLayer
on command_EndLayer
local tLayerState
if SLayerStackSize > 0 then
subtract 1 from sLayerStackSize
put sLayerStack[sLayerStackSize] into tLayerState
split tLayerState using return and "|"
put tLayerState["StateStackSize"] into sStateStackSize
put tLayerState["GraphicsGroup"] into sGraphicsGroup
command_RestoreState
end if
end command_EndLayer
on command_Draw pArgs
local tPoly
lock screen
put createPoly() into tPoly
set the backgroundColor of tPoly to sFill
set the fillrule of tPoly to "nonzero"
set the opaque of tPoly to true
set the foregroundColor of tPoly to sStroke
set the lineSize of tPoly to sStrokeWidth
applyGradient tPoly
unlock screen
end command_Draw
on command_DrawStroke pArgs
local tPoly
lock screen
put createPoly() into tPoly
set the foregroundColor of tPoly to sStroke
set the lineSize of tPoly to sStrokeWidth
unlock screen
end command_DrawStroke
on command_DrawFill pArgs
local tPoly
lock screen
put createPoly() into tPoly
set the backgroundColor of tPoly to sFill
set the fillrule of tPoly to "nonzero"
set the opaque of tPoly to true
set the lineSize of tPoly to 0
applyGradient tPoly
unlock screen
end command_DrawFill
on applyGradient pPoly
local tImage
local tSnapshot
if sGradient is not empty then
create image in sGraphicsGroup
put the long id of the last image into tImage
set the rect of tImage to the rect of pPoly
set the blendLevel of tImage to the blendLevel of pPoly
import snapshot from pPoly
put the long id of the last image into tSnapshot
set the rect of tSnapshot to the rect of pPoly
delete pPoly
local tRamp
switch sGradientType
case "h"
local tWidth
put item 3 of the rect of tSnapshot into tWidth
put computeRamp( sGradient, 0, 1, tWidth ) into tRamp
drawHorizontalGradient tRamp, tSnapshot
break
case "v"
local tHeight
put item 4 of the rect of tSnapshot into tHeight
put computeRamp( sGradient, 0, 1, tHeight ) into tRamp
drawVerticalGradient tRamp, tSnapshot
break
end switch
set the imageData of tImage to the imageData of tSnapshot
set the alphaData of tImage to the alphaData of tSnapshot
delete tSnapshot
end if
end applyGradient
function createPoly
local tPoly
local tVector
local tSubPath
local tCommand
local tPoints
local tTransformedPoints
local tX1
local tY1
local tX2
local tY2
local tX3
local tY3
local tX4
local tY4
create graphic in sGraphicsGroup
put the long id of the last graphic into tPoly
set the style of tPoly to "Polygon"
put empty into tPoints
repeat with i = 0 to (sPathSize - 1)
put sPath[i] into tSubPath
repeat for each line tLine in tSubPath
put word 1 of tLine into tCommand
put empty into tTransformedPoints
if keys of sTransformation is not empty then
repeat for each word tPoint in word 2 to -1 of tLine
put item 1 of tPoint into tVector[0,0]
put item 2 of tPoint into tVector[1,0]
put 1 into tVector[2,0]
put matrixMultiply(sTransformation, tVector) into tVector
put (round(tVector[0,0]) , round(tVector[1,0])) & return after tTransformedPoints
end repeat
else
repeat for each word tPoint in word 2 to -1 of tLine
put (round(item 1 of tPoint), round(item 2 of tPoint)) & return after tTransformedPoints
end repeat
end if
switch tCommand
case "Move"
put return after tPoints
case "Line"
put (line 1 of tTransformedPoints) & return after tPoints
break
case "QuadraticBezier"
put item 1 of line 1 of tTransformedPoints into tX1
put item 2 of line 1 of tTransformedPoints into tY1
put item 1 of line 2 of tTransformedPoints into tX2
put item 2 of line 2 of tTransformedPoints into tY2
put item 1 of line 3 of tTransformedPoints into tX3
put item 2 of line 3 of tTransformedPoints into tY3
put empty into sBezierPoints
QuadraticBezier tX1, tY1, tX2, tY2, tX3, tY3
put sBezierPoints after tPoints
break
case "CubicBezier"
put item 1 of line 1 of tTransformedPoints into tX1
put item 2 of line 1 of tTransformedPoints into tY1
put item 1 of line 2 of tTransformedPoints into tX2
put item 2 of line 2 of tTransformedPoints into tY2
put item 1 of line 3 of tTransformedPoints into tX3
put item 2 of line 3 of tTransformedPoints into tY3
put item 1 of line 4 of tTransformedPoints into tX4
put item 2 of line 4 of tTransformedPoints into tY4
put empty into sBezierPoints
CubicBezier tX1, tY1, tX2, tY2, tX3, tY3, tX4, tY4
put sBezierPoints after tPoints
break
end switch
put line -1 of tPoints into sCurrentPoint
end repeat
end repeat
set the points of tPoly to tPoints
set the blendLevel of tPoly to sBlend
put empty into sPath
put 0 into sPathSize
return tPoly
end createPoly
function computeRamp pGradient, pStartTime, pEndTime, pIntervals
local tStep
local tStartGradient
local tEndGradient
local tGradientLine
put 1 into tGradientLine
local tST, tSC
local tET, tEC
put line tGradientLine of pGradient into tStartGradient
put item 1 of tStartGradient into tST
put item 2 to 5 of tStartGradient into tSC
put line (tGradientLine + 1) of pGradient into tEndGradient
put item 1 of tEndGradient into tET
put item 2 to 5 of tEndGradient into tEC
put (pEndTime - pStartTime) / (pIntervals - 1) into tStep
local tRamp
repeat until pStartTime > pEndTime
repeat while pStartTime > item 1 of tEndGradient
put tEndGradient into tStartGradient
put tET into tST
put tEC into tSC
add 1 to tGradientLine
put line (tGradientLine + 1) of pGradient into tEndGradient
put item 1 of tEndGradient into tET
put item 2 to 5 of tEndGradient into tEC
end repeat
local tT
local tColour
if (pStartTime is tST) then
put tSC & return after tRamp
else
put (pStartTime - tST) / (tET - tST) into tT
repeat with i = 1 to 4
local tC1, tC2
put item i of tSC into tC1
put item i of tEC into tC2
put tC1 + tT*(tC2 - tC1) into item i of tColour
end repeat
put tColour & return after tRamp
end if
add tStep to pStartTime
end repeat
return tRamp
end computeRamp
on drawHorizontalGradient pColours, pImageLongId
local tImageData, tAlphaData, tNewAlphaData
local tW, tH
#put the imageData of pImageLongId into tImageData
put the alphaData of pImageLongId into tAlphaData
put the width of pImageLongId into tW
put the height of pImageLongId into tH
local tImageLine
repeat with y = 0 to (tH - 1)
repeat with x = 0 to (tW-1)
local tColour, tR, tG, tB, tA
put (x / (tW-1)) * (number of lines in pColours) into tColour
put trunc(tColour) into tColour
put line (tColour+1) of pColours into tColour
if tImageData is empty then
put item 1 of tColour into tR
put item 2 of tColour into tG
put item 3 of tColour into tB
put numToChar(0) & numToChar(tR) & numToChar(tG) & numToChar(tB) after tImageLine
end if
put item 4 of tColour into tA
local tOA, tNA
local tCharPos
put (x+(y*tW))+1 into tCharPos
put charToNum(char tCharPos of tAlphaData) into tOA
put ((tA*tOA) / 255) into tNA
put numToChar(tNA) after tNewAlphaData
end repeat
put tImageLine after tImageData
end repeat
set the imageData of pImageLongId to tImageData
set the alphaData of pImageLongId to tNewAlphaData
end drawHorizontalGradient
on drawVerticalGradient pColours, pImageLongId
local tImageData, tAlphaData, tNewAlphaData
local tW, tH
#put the imageData of pImageLongId into tImageData
put the alphaData of pImageLongId into tAlphaData
put the width of pImageLongId into tW
put the height of pImageLongId into tH
repeat with y = 0 to (tH - 1)
local tColour, tR, tG, tB, tA
put (y / (tH-1)) * (number of lines in pColours) into tColour
put trunc(tColour) into tColour
put line (tColour+1) of pColours into tColour
put item 1 of tColour into tR
put item 2 of tColour into tG
put item 3 of tColour into tB
put item 4 of tColour into tA
put numToChar(0) & numToChar(tR) & numToChar(tG) & numToChar(tB) into tColour
repeat with x = 0 to (tW-1)
put tColour after tImageData
local tOA, tNA
local tCharPos
put (x+(y*tW))+1 into tCharPos
put charToNum(char tCharPos of tAlphaData) into tOA
put ((tA*tOA) / 255) into tNA
put numToChar(tNA) after tNewAlphaData
end repeat
end repeat
set the imageData of pImageLongId to tImageData
set the alphaData of pImageLongId to tNewAlphaData
end drawVerticalGradient
on command_SetBlend pArgs
local tBlend
put word 1 of pArgs into tBlend
put tBlend into sBlend
end command_SetBlend
on command_SetStrokeColor pArgs
local tR
local tG
local tB
put word 1 of pArgs into tR
put word 2 of pArgs into tG
put word 3 of pArgs into tB
put (tR, tG, tB) into sStroke
end command_SetStrokeColor
on command_SetFillColor pArgs
local tR
local tG
local tB
put word 1 of pArgs into tR
put word 2 of pArgs into tG
put word 3 of pArgs into tB
put (tR, tG, tB) into sFill
end command_SetFillColor
on command_SetStrokeWidth pArgs
local tWidth
put word 1 of pArgs into tWidth
if tWIdth > 0 then
if tWidth < 1 then
put 1 into tWidth
else
put trunc(tWidth) into tWidth
end if
end if
put tWidth into sStrokeWidth
end command_SetStrokeWidth
on command_SetGradient pArgs
local tType
local tGradient
put word 1 of pArgs into tType
put word 2 to -1 of pArgs into tGradient
replace space with return in tGradient
put tType into sGradientType
put tGradient into sGradient
end command_SetGradient
#transformation matrix commands
on command_Transform pArgs
local tA
local tB
local tC
local tD
local tE
local tF
local tMatrix
put word 1 of pArgs into tA
put word 2 of pArgs into tB
put word 3 of pArgs into tC
put word 4 of pArgs into tD
put tA into tMatrix[0,0]
put tB into tMatrix[0,1]
put tC into tMatrix[1,0]
put tD into tMatrix[1,1]
if (the number of words in pArgs) is 6 then
put word 5 of pArgs into tE
put word 6 of pArgs into tF
else
put 0 into tE
put 0 into tF
end if
put tE into tMatrix[0,2]
put tF into tMatrix[1,2]
put 0 into tMatrix[2,0]
put 0 into tMatrix[2,1]
put 1 into tMatrix[2,2]
if the keys of sTransformation is empty then
put tMatrix into sTransformation
else
put matrixMultiply(sTransformation, tMatrix) into sTransformation
end if
end command_Transform
on command_TransformRotate pArgs
local tAngle
local tA
local tB
local tC
local tD
local tArgs
put word 1 of pArgs into tAngle
#conv to radians
put (tAngle*pi)/180 into tAngle
put cos(tAngle) into tA
put sin(tAngle) into tC
put 0 - tC into tB
put tA into tD
put tA & space & tB & space & tC & space & tD into tArgs
command_Transform tArgs
end command_TransformRotate
on command_TransformTranslate pArgs
local tX
local tY
local tArgs
put word 1 of pArgs into tX
put word 2 of pArgs into tY
put "1 0 0 1" & space & tX & space & tY into tArgs
command_Transform tArgs
end command_TransformTranslate
on command_TransformScale pArgs
local tSX
local tSY
local tArgs
put word 1 of pArgs into tSX
put word 2 of pArgs into tSY
put tSX & " 0 0 " & tSY into tArgs
command_Transform tArgs
end command_TransformScale
#Bezier curve commands
on command_BezierCurve pArgs
local tAX
local tAY
local tBX
local tBY
local tX
local tY
put word 1 of pArgs into tAX
put word 2 of pArgs into tAY
if the number of words in pArgs is 6 then
put word 3 of pArgs into tBX
put word 4 of pArgs into tBY
put word 5 of pArgs into tX
put word 6 of pArgs into tY
put return & "CubicBezier " & sCurrentPoint && (tAX, tAY) && (tBX, tBY) && (tX, tY) after sPath[sPathSize - 1]
else
put word 3 of pArgs into tX
put word 4 of pArgs into tY
put return & "QuadraticBezier " & sCurrentPoint && (tAX, tAY) && (tX, tY) after sPath[sPathSize - 1]
end if
put (tX, tY) into sCurrentPoint
end command_BezierCurve
on QuadraticBezier pAX, pAY, pBX, pBY, pCX, pCY
local tQ0X
local tQ0Y
local tQ1X
local tQ1Y
local tBX
local tBY
if isFlat(pAX, pAY, pCX, pCY, (pBX, pBY)) then
put (round(pCX), round(pCY)) & return after sBezierPoints
exit QuadraticBezier
end if
put (pAX + pBX) / 2 into tQ0X
put (pAY + pBY) / 2 into tQ0Y
put (pBX + pCX) / 2 into tQ1X
put (pBY + pCY) / 2 into tQ1Y
put (tQ0X + tQ1X) / 2 into tBX
put (tQ0Y + tQ1Y) / 2 into tBY
QuadraticBezier pAX, pAY, tQ0X, tQ0Y, tBX, tBY
QuadraticBezier tBX, tBY, tQ1X, tQ1Y, pCX, pCY
end QuadraticBezier
on CubicBezier pAX, pAY, pBX, pBY, pCX, pCY, pDX, pDY
local tQ0X
local tQ0Y
local tQ1X
local tQ1Y
local tQ2X
local tQ2Y
local tQ3X
local tQ3Y
local tQ4X
local tQ4Y
local tBX
local tBY
if isFlat(pAX, pAY, pDX, pDY, (pBX, pBY) & return & (pCx, pCY)) then
#put (round(pBX), round(pBY)) & return after sBezierPoints
#put (round(pCX), round(pCY)) & return after sBezierPoints
put (round(pDX), round(pDY)) & return after sBezierPoints
#draw bezier while generating points for debugging
#set the points of the last graphic to sBezierPoints
exit CubicBezier
end if
put (pAX + pBX) / 2 into tQ0X
put (pAY + pBY) / 2 into tQ0Y
put (pBX + pCX) / 2 into tQ1X
put (pBY + pCY) / 2 into tQ1Y
put (pCX + pDX) / 2 into tQ2X
put (pCY + pDY) / 2 into tQ2Y
put (tQ0X + tQ1X) / 2 into tQ3X
put (tQ0Y + tQ1Y) / 2 into tQ3Y
put (tQ1X + tQ2X) / 2 into tQ4X
put (tQ1Y + tQ2Y) / 2 into tQ4Y
put (tQ3X + tQ4X) / 2 into tBX
put (tQ3Y + tQ4Y) / 2 into tBY
CubicBezier pAX, pAY, tQ0X, tQ0Y, tQ3X, tQ3Y, tBX, tBY
CubicBezier tBX, tBY, tQ4X, tQ4Y, tQ2X, tQ2Y, pDX, pDY
end CubicBezier
function distanceToLine pA, pB, pC, pX, pY
#return distance from point (x, y) to line with equation Ax+By+C=0
return (pA*pX + pB*pY +pC) / ((pA^2 + pB^2)^(1/2))
end distanceToLine
function isFlat pAX, pAY, pBX, pBY, pControlPoints
#calc line in form Ax + By + C = 0
local tX
local tY
local tA
local tB
local tC
local tDistance
local tEqn
put lineEquation(pAX, pAY, pBX, pBY) into tEqn
put item 1 of tEqn into tA
put item 2 of tEqn into tB
put item 3 of tEqn into tC
repeat for each line tPoint in pControlPoints
put item 1 of tPoint into tX
put item 2 of tPoint into tY
if tB is 0 then
put abs(pAX - tX) into tDistance
else if tA is 0 then
put abs(pAY - tY) into tDistance
else
put abs(distanceToLine(tA, tB, tC, tX, tY)) into tDistance
end if
if tDistance >= sFlatness then
return false
end if
end repeat
return true
end isFlat
function lineEquation pX1, pY1, pX2, pY2
#return A, B, C of equation of line through points (x1, y1), (x2, y2) in form Ax + By + C = 0
local tDX
local tDY
put pX2 - pX1 into tDX
put pY2 - pY1 into tDY
local tM
local tA
local tB
local tC
if tDX is not 0 then
put tDY/tDX into tM
#from y = mx + c -> c = y - mx
put pY1 - (pX1 * tM) into tC
#now mx - y + c = 0
#a = m, b = -1
put tM into tA
put -1 into tB
else
put -1 into tA
put 0 into tB
put pX1 into tC
end if
return (tA, tB, tC)
end lineEquation
##Primative shape commands
on command_PrimitiveRectangle pArgs
local tX, tY
local tW, tH
local tHR, tVR
put word 1 of pArgs into tX
put word 2 of pArgs into tY
put word 3 of pArgs into tW
put word 4 of pArgs into tH
if the number of words in pArgs is 4 then
command_MoveTo (tX, tY)
command_LineTo (tX+tW && tY)
command_LineTo (tX+tW && tY+tH)
command_LineTo (tX && tY+tH)
command_ClosePath
else if the number of words in pArgs is 6 then
put word 5 of pArgs into tHR
put word 6 of pArgs into tVR
put min(tHR, tW/2) into tHR
put min(tVR, tH/2) into tVR
command_MoveTo (tX+tW-tHR && tY)
createAcuteArc tX+tW-tHR, tY+tVR, tHR, tVR, pi*3/2, pi/2, false
command_LineTo (tX+tW && tY+tH-tVR)
createAcuteArc tX+tW-tHR, tY+tH-tVR, tHR, tVR, 0, pi/2, false
command_LineTo (tX+tHR && tY+tH)
createAcuteArc tX+tHR, tY+tH-tVR, tHR, tVR, pi/2, pi/2, false
command_LineTo (tX && tY+tVR)
createAcuteArc tX+tHR, tY+tVR, tHR, tVR, pi, pi/2, false
command_ClosePath
end if
end command_PrimitiveRectangle
on command_PrimitiveCircle pArgs
constant MAGIC_NUMBER = "0.551784"
local tX
local tY
local tR
local tS
local tMR
local tMS
put word 1 of pArgs into tX
put word 2 of pArgs into tY
put word 3 of pArgs into tR
put MAGIC_NUMBER*tR into tMR
if the number of words in pArgs is 4 then
put word 4 of pArgs into tS
put MAGIC_NUMBER*tS into tMS
else
put tR into tS
put tMR into tMS
end if
command_MoveTo tX+tR && tY
command_BezierCurve (tX+tR && tY+tMS) && (tX+tMR && tY+tS) && (tX && tY+tS)
command_BezierCurve (tX-tMR && tY+tS) && (tX-tR && tY+tMS) && (tX-tR && tY)
command_BezierCurve (tX-tR && tY-tMS) && (tX-tMR && tY-tS) && (tX && tY-tS)
command_BezierCurve (tX+tMR && tY-tS) && (tX+tR && tY-tMS) && (tX+tR && tY)
end command_PrimitiveCircle
on command_PrimitiveRegularPolygon pArgs
local tX
local tY
local tR
local tSides
local tAngle
local tCurrentAngle
local tPX
local tPY
put word 1 of pArgs into tX
put word 2 of pArgs into tY
put word 3 of pArgs into tR
put word 4 of pArgs into tSides
put (2*pi)/tSides into tAngle
put tAngle into tCurrentAngle
command_MoveTo (tX+tR && tY)
repeat for (tSides-1) times
put tR*cos(tCurrentAngle) into tPX
put tR*sin(tCurrentAngle) into tPY
command_LineTo tX+tPX && tY+tPY
add tAngle to tCurrentAngle
end repeat
command_ClosePath
end command_PrimitiveRegularPolygon
on command_PrimitiveArc pArgs
local tCX
local tCY
local tHR
local tVR
local tS
local tE
local tA
put word 1 of pArgs into tCX
put word 2 of pArgs into tCy
put word 3 of pArgs into tHR
put word 4 of pArgs into tVR
put word 5 of pArgs into tS
put word 6 of pArgs into tE
if tHR is 0 or tVR is 0 or (tE - tS) is 0 then
exit command_PrimitiveArc
end if
local tAngle
put (tE - tS) into tAngle
if tAngle >= 360 then
command_PrimitiveCircle pArgs
exit command_PrimitiveArc
end if
if the number of words in pArgs is 7 then
put word 7 of pArgs into tA
createArc tCX, tCY, tHR, tVR, tS*pi/180, tAngle*pi/180, , tA*pi/180
exit command_PrimitiveArc
end if
createArc tCX, tCY, tHR, tVR, tS*pi/180, tAngle*pi/180
end command_PrimitiveArc
on createArc pX, pY, pHR, pVR, pS, pAngle, pFirst, pXAngle
put pS mod (2*pi) into pS
if pFirst is empty then
put true into pFirst
end if
local tDelta
if pAngle > 0 then
repeat while pAngle > 0
put min( pi/2 - (pS mod (pi/2)), pAngle) into tDelta
subtract tDelta from pAngle
createAcuteArc pX, pY, pHR, pVR, pS, tDelta, pFirst, pXAngle
put false into pFirst
add tDelta to pS
end repeat
else
repeat while pAngle < 0
put min( pi/2 - ((pi*2-pS) mod (pi/2)) , -pAngle) into tDelta
add tDelta to pAngle
createAcuteArc pX, pY, pHR, pVR, pS, -tDelta, pFirst, pXAngle
put false into pFirst
subtract tDelta from pS
end repeat
end if
end createArc
on createAcuteArc pX, pY, pHR, pVR, pS, pAngle, pFirst, pXAngle
local tHK
local tVK
if pAngle is pi/2 then
put pHR * 0.551784 into tHK
put pVR * 0.551784 into tVK
else if pAngle is -pi/2 then
put pHR * -0.551784 into tHK
put pVR * -0.551784 into tVK
else
local tH
put tan(pAngle/4) into tH
put pHR*4*tH/3 into tHK
put pVR*4*tH/3 into tVK
end if
local tCA
local tSA
local tCB
local tSB
put cos(pS) into tCA
put sin(pS) into tSA
put cos(pS+pAngle) into tCB
put sin(pS+pAngle) into tSB
local tP
put (pHR*tCA && pVR*tSA) into tP[0]
put (pHR*tCA - tHK*tSA && pVR*tSA + tVK*tCA) into tP[1]
put (pHR*tCB + tHK*tSB && pVR*tSB - tVK*tCB) into tP[2]
put (pHR*tCB && pVR*tSB) into tP[3]
repeat with i = 0 to 3
local tX, tY
put word 1 of tP[i] into tX
put word 2 of tP[i] into tY
if pXAngle is not empty then
local tXp
put tX*cos(pXAngle) - tY*sin(pXAngle) into tXp
put tY*cos(pXAngle) + tX*sin(pXAngle) into tY
put tXp into tX
end if
put pX + tX into word 1 of tP[i]
put pY + tY into word 2 of tP[i]
end repeat
if pFirst then
command_MoveTo tP[0]
end if
command_BezierCurve tP[1] && tP[2] && tP[3]
end createAcuteArc
on command_ArcTo pArgs
local tX0
local tY0
local tX1
local tY1
local tX2
local tY2
local tR
put item 1 of sCurrentPoint into tX0
put item 2 of sCurrentPoint into tY0
put word 1 of pArgs into tX1
put word 2 of pArgs into tY1
put word 3 of pArgs into tX2
put word 4 of pArgs into tY2
put word 5 of pArgs into tR
local tL1DX
local tL1DY
local tL1Angle
local tL2DX
local tL2DY
local tL2Angle
put tX1 - tX0 into tL1DX
put tY1 - tY0 into tL1DY
put tX2 - tX1 into tL2DX
put tY2 - tY1 into tL2DY
#calculate the angles between lines L1 and zero, and L2 and zero
put atan2(tL1DY, tL1DX) into tL1Angle
put atan2(tL2DY, tL2DX) into tL2Angle
local tLineAngle
local tArcAngle
#calculate angle between the two lines
put (3*pi - tL2Angle + tL1Angle) mod (2*pi) into tLineAngle
#calculate the arc angle from the line angle
put pi - tLineAngle into tArcAngle
local tD
local tF
#use trig to find F the distance from point (x1, y1) to the centre of the circle
#and D the distance from (x1, y1) to the tangent points
put tR / cos(tArcAngle/2) into tF
put tF * sin(tArcAngle/2) into tD
local tCX
local tCY
local tCAngle
#calc angle from (x1, y1) to circle centre C
put tL2Angle + tLineAngle/2 into tCAngle
if tArcAngle < 0 then
#curve is on the opposite side, flip direction to circle centre through 180 degrees
add pi to tCAngle
end if
#find circle centre point C from point (x1, y1), radius and angle
put tX1 + tF*cos(tCAngle) into tCX
put tY1 + tF*sin(tCAngle) into tCY
local tS
local tE
# find start & end angles of arc by offset of angle FROM C to (x1, y1)
put tCAngle+pi - tArcAngle/2 into tS
put tCAngle+pi + tArcAngle/2 into tE
local tSX
local tSY
local tEX
local tEY
#find tangent points at start and end of arc
put tCX + tR*cos(tS) into tSX
put tCY + tR*sin(tS) into tSY
put tCX + tR*cos(tE) into tEX
put tCY + tR*sin(tE) into tEY
/*local tOutput
put "L1Angle:" && tL1Angle*180/pi & return after tOutput
put "L2Angle:" && tL2Angle*180/pi & return after tOutput
put "LineAngle:" && tLineAngle*180/pi & return after tOutput
put "ArcAngle:" && tArcAngle*180/pi & return after tOutput
put "CAngle:" && tCAngle*180/pi & return after tOutput
put "D:" && tD & return after tOutput
put "F:" && tF & return after tOutput
put "C:" && (tCX,tCY) & return after tOutput
put "PS:" && (tSX, tSY) & return after tOutput
put "PE:" && (tEX, tEY) & return after tOutput
put "S:" && tS*180/pi & return after tOutput
put "E:" && tE*180/pi & return after tOutput
put tOutput
*/
command_LineTo tSX && tSY
createArc tCX, tCY, tR, tR, tS, tArcAngle, false
end command_ArcTo
on command_EllipticArc pArgs
local tHR, tVR, tAngle, tLargeArc, tSweep, tX1, tY1, tX2, tY2
put item 1 of sCurrentPoint into tX1
put item 2 of sCurrentPoint into tY1
put word 1 of pArgs into tHR
put word 2 of pArgs into tVR
put word 3 of pArgs into tAngle
put word 4 of pArgs into tLargeArc
put word 5 of pArgs into tSweep
put word 6 of pArgs into tX2
put word 7 of pArgs into tY2
local tV, tVp, tM
multiply tAngle by (pi/180)
put (2*pi + tAngle) mod (2*pi) into tAngle
put cos(tAngle) into tM[0,0]
put tM[0,0] into tM[1,1]
put sin(tAngle) into tM[0,1]
put -tM[0,1] into tM[1,0]
put (tX1 - tX2)/2 into tV[0,0]
put (tY1 - tY2)/2 into tV[1,0]
put matrixMultiply(tM, tV) into tVp
local tX1p, tY1p
put tVp[0,0] into tX1p
put tVp[1,0] into tY1p
local tA
put (tX1p^2/tHR^2) + (tY1p^2/tVR^2) into tA
if tA > 1 then
multiply tHR by sqrt(tA)
multiply tVR by sqrt(tA)
end if
local tCXp, tCYp
put tHR*tY1p/tVR into tV[0,0]
put -tVR*tX1p/tHR into tV[1,0]
local tTemp
put ((tHR^2*tVR^2) - (tHR^2*tY1p^2)-(tVR^2*tX1p^2)) / ((tHR^2*tY1p^2) + (tVR^2*tX1p^2)) into tTemp
if tTemp is 0 then
multiply tV by 0
else
multiply tV by sqrt( tTemp )
end if
if tLargeArc = tSweep then
multiply tV by -1
end if
put tV[0,0] into tCXp
put tV[1,0] into tCYp
put -tM[0,1] into tM[0,1]
put -tM[1,0] into tM[1,0]
put matrixMultiply(tM, tV) into tVp
local tCX, tCY
put ((tX1+tX2)/2) + tVp[0,0] into tCX
put ((tY1+tY2)/2) + tVp[1,0] into tCY
local tS, tDA
put angleBetweenVectors(1, 0, (tX1p-tCXp)/tHR, (tY1p-tCYp)/tVR) into tS
put angleBetweenVectors((tX1p-tCXp)/tHR, (tY1p-tCYp)/tVR, (-tX1p-tCXp)/tHR, (-tY1p-tCYp)/tVR) into tDA
put tDA mod (2*pi) into tDA
if tSweep is 0 and tDA > 0 then
subtract 2*pi from tDA
else if tSweep is 1 and tDA < 0 then
add 2*pi to tDA
end if
if tAngle is 0 then
createArc tCX, tCY, tHR, tVR, tS, tDA, false
else
createArc tCX, tCY, tHR, tVR, tS, tDA, false, tAngle
end if
end command_EllipticArc
function angleBetweenVectors pX1, pY1, pX2, pY2
local tDP, tM1, tM2, tS
put sqrt(pX1^2 + pY1^2) into tM1
put sqrt(pX2^2 + pY2^2) into tM2
put pX1*pX2 + pY1*pY2 into tDP
put sign(pX1*pY2 - pY1*pX2) into tS
if tS is 0 then
put 1 into tS
end if
return tS*acos(max(tDP/(tM1*tM2), -1))
end angleBetweenVectors
function sign pA
if pA <0 then
return -1
else if pA > 0 then
return 1
else
return 0
end if
end sign
AlreadyHidden false card id 1002 @ = cREVGeometryCacheIDs 1203528103296 10061203528114258 1009 cREVGeometrycache total 2order cREVGeneral scriptChecksum ُ B~ bookmarks handlerList breakPoints scriptSelection char 1 to 0prevHandler command_TRtempScript script Commands )` 2} cREVGeneral revUniqueID 1203528103296 B B TT 200 200 B IS 0 0 0 P 0.172 IF 255 255 255 S M -122.304 84.285 1C -122.304 84.285 -122.203 86.179 -123.027 86.16 2C -123.851 86.141 -140.305 38.066 -160.833 40.309 1C -160.833 40.309 -143.05 32.956 -122.304 84.285 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -118.774 81.262 2C -118.774 81.262 -119.323 83.078 -120.092 82.779 1C -120.86 82.481 -119.977 31.675 -140.043 26.801 1C -140.043 26.801 -120.82 25.937 -118.774 81.262 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -91.284 123.59 0C -91.284 123.59 -89.648 124.55 -90.118 125.227 4C -90.589 125.904 -139.763 113.102 -149.218 131.459 3C -149.218 131.459 -145.539 112.572 -91.284 123.59 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -94.093 133.801 2C -94.093 133.801 -92.237 134.197 -92.471 134.988 4C -92.704 135.779 -143.407 139.121 -146.597 159.522 4C -146.597 159.522 -149.055 140.437 -94.093 133.801 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -98.304 128.276 2C -98.304 128.276 -96.526 128.939 -96.872 129.687 4C -97.218 130.435 -147.866 126.346 -153.998 146.064 4C -153.998 146.064 -153.646 126.825 -98.304 128.276 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -109.009 110.072 4C -109.009 110.072 -107.701 111.446 -108.34 111.967 4C -108.979 112.488 -152.722 86.634 -166.869 101.676 4C -166.869 101.676 -158.128 84.533 -109.009 110.072 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -116.554 114.263 4C -116.554 114.263 -115.098 115.48 -115.674 116.071 3C -116.25 116.661 -162.638 95.922 -174.992 112.469 4C -174.992 112.469 -168.247 94.447 -116.554 114.263 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -119.154 118.335 5C -119.154 118.335 -117.546 119.343 -118.036 120.006 5C -118.526 120.669 -167.308 106.446 -177.291 124.522 5C -177.291 124.522 -173.066 105.749 -119.154 118.335 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -108.42 118.949 3C -108.42 118.949 -107.298 120.48 -107.999 120.915 1C -108.7 121.35 -148.769 90.102 -164.727 103.207 3C -164.727 103.207 -153.862 87.326 -108.42 118.949 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -128.2 90 "C -128.2 90 -127.6 91.8 -128.4 92 (C -129.2 92.2 -157.8 50.2 -177.001 57.8 $C -177.001 57.8 -161.8 46 -128.2 90 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -127.505 96.979 1C -127.505 96.979 -126.53 98.608 -127.269 98.975 2C -128.007 99.343 -164.992 64.499 -182.101 76.061 2C -182.101 76.061 -169.804 61.261 -127.505 96.979 Z D R E B IS 0 0 0 P 0.172 IF 255 255 255 S M -127.62 101.349 3C -127.62 101.349 -126.498 102.88 -127.199 103.315 1C -127.9 103.749 -167.969 72.502 -183.927 85.607 2C -183.927 85.607 -173.062 69.726 -127.62 101.349 Z D R E B IS 0 0 0 IF 255 255 255 S M -129.83 103.065 3C -129.327 109.113 -128.339 115.682 -126.6 118.801 /C -126.6 118.801 -130.2 131.201 -121.4 144.401 /C -121.4 144.401 -121.8 151.601 -120.2 154.801 /C -120.2 154.801 -116.2 163.201 -111.4 164.001 3C -107.516 164.648 -98.793 167.717 -88.932 169.121 ,C -88.932 169.121 -71.8 183.201 -75 196.001 (C -75 196.001 -75.4 212.401 -79 214.001 (C -79 214.001 -67.4 202.801 -77 219.601 L -81.4 238.401 ,C -81.4 238.401 -55.8 216.801 -71.4 235.201 L -81.4 261.201 *C -81.4 261.201 -61.8 242.801 -69 251.201 L -72.2 260.001 *C -72.2 260.001 -29 232.801 -59.8 262.401 ,C -59.8 262.401 -51.8 258.801 -47.4 261.601 ,C -47.4 261.601 -40.6 260.401 -41.4 262.001 ,C -41.4 262.001 -62.2 272.401 -65.8 290.801 ,C -65.8 290.801 -57.4 280.801 -60.6 291.601 L -60.2 303.201 ,C -60.2 303.201 -56.2 281.601 -56.6 319.201 *C -56.6 319.201 -37.4 301.201 -49 322.001 L -49 338.801 *C -49 338.801 -33.8 322.401 -40.2 335.201 ,C -40.2 335.201 -30.2 326.401 -34.2 341.601 *C -34.2 341.601 -35 352.001 -30.6 340.801 ,C -30.6 340.801 -14.6 310.201 -20.6 336.401 ,C -20.6 336.401 -21.4 355.601 -16.6 340.801 )C -16.6 340.801 -16.2 351.201 -7 358.401 &C -7 358.401 -8.2 307.601 4.6 343.601 L 8.6 360.001 &C 8.6 360.001 11.4 350.801 11 345.601 %C 11 345.601 25.8 329.201 19 353.601 %C 19 353.601 34.2 330.801 31 344.001 %C 31 344.001 23.4 360.001 25 364.801 %C 25 364.801 41.8 330.001 43 328.401 %C 43 328.401 41 370.802 51.8 334.801 )C 51.8 334.801 57.4 346.801 54.6 351.201 )C 54.6 351.201 62.6 343.201 61.8 340.001 )C 61.8 340.001 66.4 331.801 69.2 345.401 'C 69.2 345.401 71 354.801 72.6 351.601 )C 72.6 351.601 76.6 375.602 77.8 352.801 )C 77.8 352.801 79.4 339.201 72.2 327.601 'C 72.2 327.601 73 324.401 70.2 320.401 )C 70.2 320.401 83.8 342.001 76.6 313.201 -C 76.6 313.201 87.801 321.201 89.001 321.201 +C 89.001 321.201 75.4 298.001 84.2 302.801 )C 84.2 302.801 79 292.401 97.001 304.401 +C 97.001 304.401 81 288.401 98.601 298.001 0C 98.601 298.001 106.601 304.401 99.001 294.401 .C 99.001 294.401 84.6 278.401 106.601 296.401 2C 106.601 296.401 118.201 312.801 119.001 315.601 2C 119.001 315.601 109.001 286.401 104.601 283.601 2C 104.601 283.601 113.001 247.201 154.201 262.801 2C 154.201 262.801 161.001 280.001 165.401 261.601 2C 165.401 261.601 178.201 255.201 189.401 282.801 2C 189.401 282.801 193.401 269.201 192.601 266.401 2C 192.601 266.401 199.401 267.601 198.601 266.401 2C 198.601 266.401 211.801 270.801 213.001 270.001 2C 213.001 270.001 219.801 276.801 220.201 273.201 2C 220.201 273.201 229.401 276.001 227.401 272.401 2C 227.401 272.401 236.201 288.001 236.601 291.601 L 239.001 277.601 L 241.001 280.401 2C 241.001 280.401 242.601 272.801 241.801 271.601 2C 241.001 270.401 261.801 278.401 266.601 299.201 L 268.601 307.601 2C 268.601 307.601 274.601 292.801 273.001 288.801 2C 273.001 288.801 278.201 289.601 278.601 294.001 2C 278.601 294.001 282.601 270.801 277.801 264.801 2C 277.801 264.801 282.201 264.001 283.401 267.601 L 283.401 260.401 2C 283.401 260.401 290.601 261.201 290.601 258.801 2C 290.601 258.801 295.001 254.801 297.001 259.601 2C 297.001 259.601 284.601 224.401 303.001 243.601 2C 303.001 243.601 310.201 254.401 306.601 235.601 2C 303.001 216.801 299.001 215.201 303.801 214.801 2C 303.801 214.801 304.601 211.201 302.601 209.601 2C 300.601 208.001 303.801 209.601 303.801 209.601 2C 303.801 209.601 308.601 213.601 303.401 191.601 2C 303.401 191.601 309.801 193.201 297.801 164.001 2C 297.801 164.001 300.601 161.601 296.601 153.201 2C 296.601 153.201 304.601 157.601 307.401 156.001 2C 307.401 156.001 307.001 154.401 303.801 150.401 /C 303.801 150.401 282.201 95.6 302.601 117.601 2C 302.601 117.601 314.451 131.151 308.051 108.351 /C 308.051 108.351 298.94 84.341 299.717 80.045 L -129.83 103.065 Z D R E B IS 0 0 0 IF 204 114 38 S M 299.717 80.245 ,C 300.345 80.426 302.551 81.55 303.801 83.2 'C 303.801 83.2 310.601 94 305.401 75.6 'C 305.401 75.6 296.201 46.8 305.001 58 'C 305.001 58 311.001 65.2 307.801 51.6 +C 303.936 35.173 301.401 28.8 301.401 28.8 'C 301.401 28.8 313.001 33.6 286.201 -6 L 295.001 -2.4 )C 295.001 -2.4 275.401 -42 253.801 -47.2 L 245.801 -53.2 +C 245.801 -53.2 284.201 -91.2 271.401 -128 +C 271.401 -128 264.601 -133.2 255.001 -124 -C 255.001 -124 248.601 -119.2 242.601 -120.8 /C 242.601 -120.8 211.801 -119.6 209.801 -119.6 /C 207.801 -119.6 173.001 -156.8 107.401 -139.2 .C 107.401 -139.2 102.201 -137.2 97.801 -138.4 (C 97.801 -138.4 79.4 -154.4 30.6 -131.6 $C 30.6 -131.6 20.6 -129.6 19 -129.6 %C 17.4 -129.6 14.6 -129.6 6.6 -123.2 $C -1.4 -116.8 -1.8 -116 -3.8 -114.4 &C -3.8 -114.4 -20.2 -103.2 -25 -102.4 C -25 -102.4 -36.6 -96 -41 -86 L -44.6 -84.8 &C -44.6 -84.8 -46.2 -77.6 -46.6 -76.4 &C -46.6 -76.4 -51.4 -72.8 -52.2 -67.2 $C -52.2 -67.2 -61 -61.2 -60.6 -56.8 $C -60.6 -56.8 -62.2 -51.6 -63 -46.8 "C -63 -46.8 -70.2 -42 -69.4 -39.2 $C -69.4 -39.2 -77 -25.2 -75.8 -18.4 $C -75.8 -18.4 -82.2 -18.8 -85 -16.4 $C -85 -16.4 -85.8 -11.6 -87.4 -11.2 !C -87.4 -11.2 -90.2 -10 -87.8 -6 !C -87.8 -6 -89.4 -3.2 -89.8 -1.6 C -89.8 -1.6 -89 1.2 -93.4 6.8 "C -93.4 6.8 -99.8 25.6 -97.8 30.8 $C -97.8 30.8 -97.4 35.6 -100.2 37.2 %C -100.2 37.2 -103.8 36.8 -95.4 48.8 !C -95.4 48.8 -94.6 50 -97.8 52.4 !C -97.8 52.4 -115 56 -117.4 72.4 "C -117.4 72.4 -131 87.2 -131 92.4 .C -131 94.705 -130.729 97.852 -130.03 102.465 .C -130.03 102.465 -130.6 110.801 -103 111.601 .C -75.4 112.401 299.717 80.245 299.717 80.245 Z D R E B IF 204 114 38 S M -115.6 102.6 ,C -140.6 63.2 -126.2 119.601 -126.2 119.601 +C -117.4 154.001 12.2 116.401 12.2 116.401 %C 12.2 116.401 181.001 86 192.201 82 'C 203.401 78 298.601 84.4 298.601 84.4 L 293.001 67.6 )C 228.201 21.2 209.001 44.4 195.401 40.4 'C 181.801 36.4 184.201 46 181.001 46.8 )C 177.801 47.6 138.601 22.8 132.201 23.6 *C 125.801 24.4 100.459 0.649 115.401 32.4 !C 131.401 66.4 57 71.6 40.2 60.4 C 23.4 49.2 47.4 78.8 47.4 78.8 C 65.8 98.8 31.4 82 31.4 82 C -3 69.2 -27 94.8 -30.2 95.6 !C -33.4 96.4 -38.2 99.6 -39 93.2 $C -39.8 86.8 -47.31 70.099 -79 96.4 "C -99 113.001 -112.8 91 -112.8 91 L -115.6 102.6 Z DF R E B IF 232 127 58 S M 133.51 25.346 ,C 127.11 26.146 101.743 2.407 116.71 34.146 *C 133.31 69.346 58.31 73.346 41.51 62.146 *C 24.709 50.946 48.71 80.546 48.71 80.546 ,C 67.11 100.546 32.709 83.746 32.709 83.746 .C -1.691 70.946 -25.691 96.546 -28.891 97.346 0C -32.091 98.146 -36.891 101.346 -37.691 94.946 .C -38.491 88.546 -45.87 72.012 -77.691 98.146 2C -98.927 115.492 -112.418 94.037 -112.418 94.037 L -115.618 104.146 4C -140.618 64.346 -125.546 122.655 -125.546 122.655 1C -116.745 157.056 13.509 118.146 13.509 118.146 -C 13.509 118.146 182.31 87.746 193.51 83.746 .C 204.71 79.746 299.038 86.073 299.038 86.073 L 293.51 68.764 ,C 228.71 22.364 210.31 46.146 196.71 42.146 ,C 183.11 38.146 185.51 47.746 182.31 48.546 ,C 179.11 49.346 139.91 24.546 133.51 25.346 Z DF R E B IF 234 140 77 S M 134.819 27.091 .C 128.419 27.891 103.685 3.862 118.019 35.891 -C 134.219 72.092 59.619 75.092 42.819 63.892 ,C 26.019 52.692 50.019 82.292 50.019 82.292 -C 68.419 102.292 34.019 85.492 34.019 85.492 .C -0.381 72.692 -24.382 98.292 -27.582 99.092 0C -30.782 99.892 -35.582 103.092 -36.382 96.692 .C -37.182 90.292 -44.43 73.925 -76.382 99.892 2C -98.855 117.983 -112.036 97.074 -112.036 97.074 L -115.636 105.692 2C -139.436 66.692 -124.891 125.71 -124.891 125.71 0C -116.091 160.11 14.819 119.892 14.819 119.892 /C 14.819 119.892 183.619 89.492 194.819 85.492 /C 206.019 81.492 299.474 87.746 299.474 87.746 L 294.02 69.928 /C 229.219 23.528 211.619 47.891 198.019 43.891 /C 184.419 39.891 186.819 49.491 183.619 50.292 /C 180.419 51.092 141.219 26.291 134.819 27.091 Z DF R E B IF 236 153 97 S M 136.128 28.837 .C 129.728 29.637 104.999 5.605 119.328 37.637 -C 136.128 75.193 60.394 76.482 44.128 65.637 ,C 27.328 54.437 51.328 84.037 51.328 84.037 -C 69.728 104.037 35.328 87.237 35.328 87.237 /C 0.928 74.437 -23.072 100.037 -26.272 100.837 1C -29.472 101.637 -34.272 104.837 -35.072 98.437 0C -35.872 92.037 -42.989 75.839 -75.073 101.637 2C -98.782 120.474 -111.655 100.11 -111.655 100.11 L -115.655 107.237 4C -137.455 70.437 -124.236 128.765 -124.236 128.765 1C -115.436 163.165 16.128 121.637 16.128 121.637 /C 16.128 121.637 184.928 91.237 196.129 87.237 /C 207.329 83.237 299.911 89.419 299.911 89.419 L 294.529 71.092 /C 229.729 24.691 212.929 49.637 199.329 45.637 /C 185.728 41.637 188.128 51.237 184.928 52.037 /C 181.728 52.837 142.528 28.037 136.128 28.837 Z DF R E B IF 238 165 117 S M 137.438 30.583 .C 131.037 31.383 106.814 7.129 120.637 39.383 -C 137.438 78.583 62.237 78.583 45.437 67.383 ,C 28.637 56.183 52.637 85.783 52.637 85.783 -C 71.037 105.783 36.637 88.983 36.637 88.983 /C 2.237 76.183 -21.763 101.783 -24.963 102.583 2C -28.163 103.383 -32.963 106.583 -33.763 100.183 0C -34.563 93.783 -41.548 77.752 -73.763 103.383 4C -98.709 122.965 -111.273 103.146 -111.273 103.146 L -115.673 108.783 4C -135.473 73.982 -123.582 131.819 -123.582 131.819 0C -114.782 166.22 17.437 123.383 17.437 123.383 /C 17.437 123.383 186.238 92.983 197.438 88.983 /C 208.638 84.983 300.347 91.092 300.347 91.092 L 295.038 72.255 /C 230.238 25.855 214.238 51.383 200.638 47.383 /C 187.038 43.383 189.438 52.983 186.238 53.783 /C 183.038 54.583 143.838 29.783 137.438 30.583 Z DF R E B IF 241 178 136 S M 138.747 32.328 .C 132.347 33.128 106.383 9.677 121.947 41.128 -C 141.147 79.928 63.546 80.328 46.746 69.128 ,C 29.946 57.928 53.946 87.528 53.946 87.528 -C 72.346 107.528 37.946 90.728 37.946 90.728 /C 3.546 77.928 -20.454 103.528 -23.654 104.328 2C -26.854 105.128 -31.654 108.328 -32.454 101.928 0C -33.254 95.528 -40.108 79.665 -72.454 105.128 4C -98.636 125.456 -110.891 106.183 -110.891 106.183 L -115.691 110.328 4C -133.691 77.128 -122.927 134.874 -122.927 134.874 1C -114.127 169.274 18.746 125.128 18.746 125.128 /C 18.746 125.128 187.547 94.728 198.747 90.728 /C 209.947 86.728 300.783 92.764 300.783 92.764 L 295.547 73.419 /C 230.747 27.019 215.547 53.128 201.947 49.128 /C 188.347 45.128 190.747 54.728 187.547 55.528 /C 184.347 56.328 145.147 31.528 138.747 32.328 Z DF R E B IF 243 191 156 S M 140.056 34.073 /C 133.655 34.873 107.313 11.613 123.255 42.873 -C 143.656 82.874 64.855 82.074 48.055 70.874 ,C 31.255 59.674 55.255 89.274 55.255 89.274 -C 73.655 109.274 39.255 92.474 39.255 92.474 /C 4.855 79.674 -19.145 105.274 -22.345 106.074 2C -25.545 106.874 -30.345 110.074 -31.145 103.674 0C -31.945 97.274 -38.668 81.578 -71.145 106.874 4C -98.564 127.947 -110.509 109.219 -110.509 109.219 L -115.709 111.874 4C -131.709 81.674 -122.273 137.929 -122.273 137.929 1C -113.473 172.329 20.055 126.874 20.055 126.874 /C 20.055 126.874 188.856 96.474 200.056 92.474 -C 211.256 88.474 301.22 94.437 301.22 94.437 L 296.056 74.583 /C 231.256 28.183 216.856 54.874 203.256 50.874 /C 189.656 46.873 192.056 56.474 188.856 57.274 /C 185.656 58.074 146.456 33.273 140.056 34.073 Z DF R E B IF 245 204 176 S M 141.365 35.819 /C 134.965 36.619 107.523 13.944 124.565 44.619 -C 146.565 84.219 66.164 83.819 49.364 72.619 ,C 32.564 61.419 56.564 91.019 56.564 91.019 -C 74.964 111.019 40.564 94.219 40.564 94.219 /C 6.164 81.419 -17.836 107.019 -21.036 107.819 2C -24.236 108.619 -29.036 111.819 -29.836 105.419 0C -30.636 99.019 -37.227 83.492 -69.836 108.619 4C -98.491 130.438 -110.127 112.256 -110.127 112.256 L -115.727 113.419 4C -130.128 85.019 -121.618 140.983 -121.618 140.983 1C -112.818 175.384 21.364 128.619 21.364 128.619 /C 21.364 128.619 190.165 98.219 201.365 94.219 -C 212.565 90.219 301.656 96.11 301.656 96.11 L 296.565 75.746 /C 231.765 29.346 218.165 56.619 204.565 52.619 /C 190.965 48.619 193.365 58.219 190.165 59.019 /C 186.965 59.819 147.765 35.019 141.365 35.819 Z DF R E B IF 248 216 196 S M 142.674 37.565 /C 136.274 38.365 108.832 15.689 125.874 46.365 -C 147.874 85.965 67.474 85.565 50.674 74.365 ,C 33.874 63.165 57.874 92.765 57.874 92.765 -C 76.274 112.765 41.874 95.965 41.874 95.965 /C 7.473 83.165 -16.527 108.765 -19.727 109.565 2C -22.927 110.365 -27.727 113.565 -28.527 107.165 1C -29.327 100.765 -35.786 85.405 -68.527 110.365 4C -98.418 132.929 -109.745 115.293 -109.745 115.293 L -115.745 114.965 4C -129.346 88.564 -120.963 144.038 -120.963 144.038 1C -112.163 178.438 22.673 130.365 22.673 130.365 /C 22.673 130.365 191.474 99.965 202.674 95.965 /C 213.874 91.965 302.093 97.783 302.093 97.783 L 297.075 76.91 .C 232.274 30.51 219.474 58.365 205.874 54.365 /C 192.274 50.365 194.674 59.965 191.474 60.765 /C 188.274 61.565 149.074 36.765 142.674 37.565 Z DF R E B IF 250 229 215 S M 143.983 39.31 -C 137.583 40.11 110.529 17.223 127.183 48.11 *C 149.183 88.91 68.783 87.31 51.983 76.11 )C 35.183 64.91 59.183 94.51 59.183 94.51 *C 77.583 114.51 43.183 97.71 43.183 97.71 ,C 8.783 84.91 -15.217 110.51 -18.417 111.31 /C -21.618 112.11 -26.418 115.31 -27.218 108.91 /C -28.018 102.51 -34.346 87.318 -67.218 112.11 3C -98.345 135.42 -109.363 118.329 -109.363 118.329 L -115.764 116.51 3C -128.764 92.51 -120.309 147.093 -120.309 147.093 /C -111.509 181.493 23.983 132.11 23.983 132.11 -C 23.983 132.11 192.783 101.71 203.983 97.71 .C 215.183 93.71 302.529 99.456 302.529 99.456 L 297.583 78.074 -C 232.783 31.673 220.783 60.11 207.183 56.11 ,C 193.583 52.11 195.983 61.71 192.783 62.51 ,C 189.583 63.31 150.383 38.51 143.983 39.31 Z DF R E B IF 252 242 235 S M 145.292 41.055 /C 138.892 41.855 112.917 18.411 128.492 49.855 -C 149.692 92.656 70.092 89.056 53.292 77.856 ,C 36.492 66.656 60.492 96.256 60.492 96.256 -C 78.892 116.256 44.492 99.456 44.492 99.456 0C 10.092 86.656 -13.908 112.256 -17.108 113.056 2C -20.308 113.856 -25.108 117.056 -25.908 110.656 1C -26.708 104.256 -32.905 89.232 -65.908 113.856 4C -98.273 137.911 -108.982 121.365 -108.982 121.365 L -115.782 118.056 4C -128.582 94.856 -119.654 150.147 -119.654 150.147 1C -110.854 184.547 25.292 133.856 25.292 133.856 0C 25.292 133.856 194.093 103.456 205.293 99.456 1C 216.493 95.456 302.965 101.128 302.965 101.128 L 298.093 79.237 /C 233.292 32.837 222.093 61.856 208.493 57.856 /C 194.893 53.855 197.293 63.456 194.093 64.256 /C 190.892 65.056 151.692 40.255 145.292 41.055 Z DF R E B IF 255 255 255 S M -115.8 119.601 (C -128.6 97.6 -119 153.201 -119 153.201 +C -110.2 187.601 26.6 135.601 26.6 135.601 +C 26.6 135.601 195.401 105.2 206.601 101.2 +C 217.801 97.2 303.401 102.8 303.401 102.8 L 298.601 80.4 'C 233.801 34 223.401 63.6 209.801 59.6 'C 196.201 55.6 198.601 65.2 195.401 66 'C 192.201 66.8 153.001 42 146.601 42.8 +C 140.201 43.6 114.981 19.793 129.801 51.6 )C 152.028 99.307 69.041 89.227 54.6 79.6 C 37.8 68.4 61.8 98 61.8 98 %C 80.2 118.001 45.8 101.2 45.8 101.2 (C 11.4 88.4 -12.6 114.001 -15.8 114.801 *C -19 115.601 -23.8 118.801 -24.6 112.401 )C -25.4 106 -31.465 91.144 -64.6 115.601 .C -98.2 140.401 -108.6 124.401 -108.6 124.401 L -115.8 119.601 Z DF R E B IF 0 0 0 S M -74.2 149.601 ,C -74.2 149.601 -81.4 161.201 -60.6 174.401 ,C -60.6 174.401 -59.2 175.801 -77.2 171.601 *C -77.2 171.601 -83.4 169.601 -85 159.201 *C -85 159.201 -89.8 154.801 -94.6 149.201 ,C -99.4 143.601 -74.2 149.601 -74.2 149.601 Z DF R E B IF 204 204 204 S M 65.8 102 'C 65.8 102 83.498 128.821 82.9 133.601 )C 81.6 144.001 81.4 153.601 84.6 157.601 /C 87.801 161.601 96.601 194.801 96.601 194.801 0C 96.601 194.801 96.201 196.001 108.601 158.001 2C 108.601 158.001 120.201 142.001 100.201 123.601 #C 100.201 123.601 65 94.8 65.8 102 Z DF R E B IF 0 0 0 S M -54.2 176.401 *C -54.2 176.401 -43 183.601 -57.4 214.801 L -51 212.401 (C -51 212.401 -51.8 223.601 -55 226.001 L -47.8 222.801 (C -47.8 222.801 -43 230.801 -47 235.601 (C -47 235.601 -30.2 243.601 -31 250.001 *C -31 250.001 -24.6 242.001 -28.6 235.601 *C -32.6 229.201 -39.8 233.201 -39 214.801 L -47.8 218.001 ,C -47.8 218.001 -42.2 209.201 -42.2 202.801 L -50.2 205.201 .C -50.2 205.201 -34.731 178.623 -45.4 177.201 ,C -51.4 176.401 -54.2 176.401 -54.2 176.401 Z DF R E B IF 204 204 204 S M -21.8 193.201 *C -21.8 193.201 -19 188.801 -21.8 189.601 ,C -24.6 190.401 -55.8 205.201 -61.8 214.801 ,C -61.8 214.801 -27.4 190.401 -21.8 193.201 Z DF R E B IF 204 204 204 S M -11.4 201.201 +C -11.4 201.201 -8.6 196.801 -11.4 197.601 ,C -14.2 198.401 -45.4 213.201 -51.4 222.801 *C -51.4 222.801 -17 198.401 -11.4 201.201 Z DF R E B IF 204 204 204 S M 1.8 186.001 &C 1.8 186.001 4.6 181.601 1.8 182.401 )C -1 183.201 -32.2 198.001 -38.2 207.601 )C -38.2 207.601 -3.8 183.201 1.8 186.001 Z DF R E B IF 204 204 204 S M -21.4 229.601 ,C -21.4 229.601 -21.4 223.601 -24.2 224.401 &C -27 225.201 -63 242.801 -69 252.401 (C -69 252.401 -27 226.801 -21.4 229.601 Z DF R E B IF 204 204 204 S M -20.2 218.801 *C -20.2 218.801 -19 214.001 -21.8 214.801 ,C -23.8 214.801 -50.2 226.401 -56.2 236.001 ,C -56.2 236.001 -26.6 214.401 -20.2 218.801 Z DF R E B IF 204 204 204 S M -34.6 266.401 L -44.6 274.001 ,C -44.6 274.001 -34.2 266.401 -30.6 267.601 ,C -30.6 267.601 -37.4 278.801 -38.2 284.001 ,C -38.2 284.001 -27.8 271.201 -22.2 271.601 ,C -22.2 271.601 -14.6 272.001 -14.6 282.801 (C -14.6 282.801 -9 272.401 -5.8 272.801 )C -5.8 272.801 -4.6 279.201 -5.8 286.001 (C -5.8 286.001 -1.8 278.401 2.2 280.001 &C 2.2 280.001 8.6 278.001 7.8 289.601 $C 7.8 289.601 7.8 300.001 7 302.801 $C 7 302.801 12.6 276.401 15 276.001 %C 15 276.001 23 274.801 27.8 283.601 )C 27.8 283.601 23.8 276.001 28.6 278.001 )C 28.6 278.001 39.4 279.601 42.6 286.401 )C 42.6 286.401 35.8 274.401 41.4 277.601 )C 41.4 277.601 48.2 277.601 49.4 284.001 )C 49.4 284.001 57.8 305.201 59.8 306.801 )C 59.8 306.801 52.2 285.201 53.8 285.201 'C 53.8 285.201 51.8 273.201 57 288.001 'C 57 288.001 53.8 274.001 59.4 274.801 'C 65 275.601 69.4 285.601 77.8 283.201 -C 77.8 283.201 87.401 288.801 89.401 219.601 L -34.6 266.401 Z DF R E B IF 0 0 0 S M -29.8 173.601 'C -29.8 173.601 -15 167.601 25 173.601 %C 25 173.601 32.2 174.001 39 165.201 'C 45.8 156.401 72.6 149.201 79 151.201 L 88.601 157.601 L 89.401 158.801 1C 89.401 158.801 101.801 169.201 102.201 176.801 .C 102.601 184.401 87.801 232.401 78.2 248.401 'C 68.6 264.401 59 276.801 39.8 274.401 'C 39.8 274.401 19 270.401 -6.6 274.401 +C -6.6 274.401 -35.8 272.801 -38.6 264.801 ,C -41.4 256.801 -27.4 241.601 -27.4 241.601 *C -27.4 241.601 -23 233.201 -24.2 218.801 *C -25.4 204.401 -25 176.401 -29.8 173.601 Z DF R E B IF 229 102 140 S M -7.8 175.601 &C 0.6 194.001 -29 259.201 -29 259.201 *C -31 260.801 -16.34 266.846 -6.2 264.401 &C 4.746 261.763 45 266.001 45 266.001 )C 68.6 250.401 81.4 206.001 81.4 206.001 +C 81.4 206.001 91.801 182.001 74.2 178.801 )C 56.6 175.601 -7.8 175.601 -7.8 175.601 Z DF R E B IF 178 50 89 S M -9.831 206.497 -C -6.505 193.707 -4.921 181.906 -7.8 175.601 )C -7.8 175.601 54.6 182.001 65.8 161.201 -C 70.041 153.326 84.801 184.001 84.4 193.601 (C 84.4 193.601 21.4 208.001 6.6 196.801 L -9.831 206.497 Z DF R E B IF 165 38 76 S M -5.4 222.801 )C -5.4 222.801 -3.4 230.001 -5.8 234.001 )C -5.8 234.001 -7.4 234.801 -8.6 235.201 )C -8.6 235.201 -7.4 238.801 -1.4 240.401 %C -1.4 240.401 0.6 244.801 3 245.201 (C 5.4 245.601 10.2 251.201 14.2 250.001 )C 18.2 248.801 29.4 244.801 29.4 244.801 'C 29.4 244.801 35 241.601 43.8 245.201 +C 43.8 245.201 46.175 244.399 46.6 240.401 )C 47.1 235.701 50.2 232.001 52.2 230.001 )C 54.2 228.001 63.8 215.201 62.6 214.801 )C 61.4 214.401 -5.4 222.801 -5.4 222.801 Z DF R E B IS 0 0 0 IF 255 114 127 S M -9.8 174.401 *C -9.8 174.401 -12.6 196.801 -9.4 205.201 'C -6.2 213.601 -7 215.601 -7.8 219.601 (C -8.6 223.601 -4.2 233.601 1.4 239.601 L 13.4 241.201 )C 13.4 241.201 28.6 237.601 37.8 240.401 +C 37.8 240.401 46.794 241.744 50.2 226.801 'C 50.2 226.801 55 220.401 62.2 217.601 )C 69.4 214.801 76.6 173.201 72.6 165.201 )C 68.6 157.201 54.2 152.801 38.2 168.401 )C 22.2 184.001 20.2 167.201 -9.8 174.401 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -8.2 249.201 (C -8.2 249.201 -9 247.201 -13.4 246.801 ,C -13.4 246.801 -35.8 243.201 -44.2 230.801 *C -44.2 230.801 -51 225.201 -46.6 236.801 ,C -46.6 236.801 -36.2 257.201 -29.4 260.001 )C -29.4 260.001 -13 264.001 -8.2 249.201 Z D R E B IF 204 63 76 S M 71.742 185.229 -C 72.401 177.323 74.354 168.709 72.6 165.201 -C 66.154 152.307 49.181 157.695 38.2 168.401 )C 22.2 184.001 20.2 167.201 -9.8 174.401 /C -9.8 174.401 -11.545 188.364 -10.705 198.376 ,C -10.705 198.376 26.6 186.801 27.4 192.401 'C 27.4 192.401 29 189.201 38.2 189.201 -C 47.4 189.201 70.142 188.029 71.742 185.229 Z DF R E B IS 165 25 38 P 2 S M 28.6 175.201 )C 28.6 175.201 33.4 180.001 29.8 189.601 )C 29.8 189.601 15.4 205.601 17.4 219.601 DS R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -19.4 260.001 *C -19.4 260.001 -23.8 247.201 -15 254.001 *C -15 254.001 -10.2 256.001 -11.4 257.601 ,C -12.6 259.201 -18.2 263.201 -19.4 260.001 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -14.36 261.201 /C -14.36 261.201 -17.88 250.961 -10.84 256.401 .C -10.84 256.401 -6.419 258.849 -7.96 259.281 .C -12.52 260.561 -7.96 263.121 -14.36 261.201 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -9.56 261.201 -C -9.56 261.201 -13.08 250.961 -6.04 256.401 -C -6.04 256.401 -1.665 258.711 -3.16 259.281 ,C -6.52 260.561 -3.16 263.121 -9.56 261.201 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -2.96 261.401 +C -2.96 261.401 -6.48 251.161 0.56 256.601 +C 0.56 256.601 4.943 258.933 3.441 259.481 +C 0.48 260.561 3.441 263.321 -2.96 261.401 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M 3.52 261.321 'C 3.52 261.321 0 251.081 7.041 256.521 -C 7.041 256.521 10.881 258.121 9.921 259.401 +C 8.961 260.681 9.921 263.241 3.52 261.321 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M 10.2 262.001 (C 10.2 262.001 5.4 249.601 14.6 256.001 )C 14.6 256.001 19.4 258.001 18.2 259.601 'C 17 261.201 18.2 264.401 10.2 262.001 Z D R E B IS 165 38 76 P 2 S M -18.2 244.801 %C -18.2 244.801 -5 242.001 1 245.201 "C 1 245.201 7 246.401 8.2 246.001 (C 9.4 245.601 12.6 245.201 12.6 245.201 DS R E B IS 165 38 76 P 2 S M 15.8 253.601 )C 15.8 253.601 27.8 240.001 39.8 244.401 +C 46.816 246.974 45.8 243.601 46.6 240.801 )C 47.4 238.001 47.6 233.801 52.6 230.801 DS R E B IS 0 0 0 P 0.5 IF 255 255 204 S M 33 237.601 %C 33 237.601 29 226.801 26.2 239.601 )C 23.4 252.401 20.2 256.001 18.6 258.801 'C 18.6 258.801 18.6 264.001 27 263.601 'C 27 263.601 37.8 263.201 38.2 260.401 %C 38.6 257.601 37 246.001 33 237.601 Z D R E B IS 165 38 76 P 2 S M 47 244.801 %C 47 244.801 50.6 242.401 53 243.601 DS R E B IS 165 38 76 P 2 S M 53.5 228.401 )C 53.5 228.401 56.4 223.501 61.2 222.701 DS R E B IF 178 178 178 S M -25.8 265.201 *C -25.8 265.201 -7.8 268.401 -3.4 266.801 &C -3.4 266.801 5.4 266.801 -3 268.801 )C -3 268.801 -15.8 268.801 -23.8 267.601 ,C -23.8 267.601 -35.4 262.001 -25.8 265.201 Z DF R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -11.8 172.001 (C -11.8 172.001 5.8 172.001 7.8 172.801 &C 7.8 172.801 15 203.601 11.4 211.201 (C 11.4 211.201 10.2 214.001 7.4 208.401 (C 7.4 208.401 -11 175.601 -14.2 173.601 *C -17.4 171.601 -13 172.001 -11.8 172.001 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -88.9 169.301 *C -88.9 169.301 -80 171.001 -67.4 173.601 ,C -67.4 173.601 -62.6 196.001 -59.4 200.801 ,C -56.2 205.601 -59.8 205.601 -63.4 202.801 *C -67 200.001 -81.8 186.001 -83.8 181.601 ,C -85.8 177.201 -88.9 169.301 -88.9 169.301 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -67.039 173.818 1C -67.039 173.818 -61.239 175.366 -60.23 177.581 2C -59.222 179.795 -61.432 183.092 -61.432 183.092 2C -61.432 183.092 -62.432 186.397 -63.634 184.235 2C -64.836 182.072 -67.708 174.412 -67.039 173.818 Z D R E B IF 0 0 0 S M -67 173.601 *C -67 173.601 -63.4 178.801 -59.8 178.801 ,C -56.2 178.801 -55.818 178.388 -53 179.001 ,C -48.4 180.001 -48.8 178.001 -42.2 179.201 +C -39.56 179.681 -37 178.801 -34.2 180.001 *C -31.4 181.201 -28.2 180.401 -27 178.401 (C -25.8 176.401 -21 172.201 -21 172.201 *C -21 172.201 -33.8 174.001 -36.6 174.801 (C -36.6 174.801 -59 176.001 -67 173.601 Z DF R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -22.4 173.801 .C -22.4 173.801 -28.85 177.301 -29.25 179.701 )C -29.65 182.101 -24 185.801 -24 185.801 ,C -24 185.801 -21.25 190.401 -20.65 188.001 -C -20.05 185.601 -21.6 174.201 -22.4 173.801 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -59.885 179.265 2C -59.885 179.265 -52.878 190.453 -52.661 179.242 2C -52.661 179.242 -52.104 177.984 -53.864 177.962 2C -59.939 177.886 -58.418 173.784 -59.885 179.265 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -52.707 179.514 2C -52.707 179.514 -44.786 190.701 -45.422 179.421 2C -45.422 179.421 -45.415 179.089 -47.168 178.936 1C -51.915 178.522 -51.57 174.004 -52.707 179.514 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -45.494 179.522 1C -45.494 179.522 -37.534 190.15 -38.203 180.484 1C -38.203 180.484 -38.084 179.251 -39.738 178.95 1C -43.63 178.244 -43.841 174.995 -45.494 179.522 Z D R E B IS 0 0 0 P 0.5 IF 255 255 204 S M -38.618 179.602 1C -38.618 179.602 -30.718 191.163 -30.37 181.382 1C -30.37 181.382 -28.726 180.004 -30.472 179.782 1C -36.29 179.042 -35.492 174.588 -38.618 179.602 Z D R E B IF 229 229 178 S M -74.792 183.132 L -82.45 181.601 /C -85.05 176.601 -87.15 170.451 -87.15 170.451 -C -87.15 170.451 -80.8 171.451 -68.3 174.251 0C -68.3 174.251 -67.424 177.569 -65.952 183.364 L -74.792 183.132 Z DF R E B IF 229 229 178 S M -9.724 178.47 /C -11.39 175.964 -12.707 174.206 -13.357 173.8 1C -16.37 171.917 -12.227 172.294 -11.098 172.294 .C -11.098 172.294 5.473 172.294 7.356 173.047 *C 7.356 173.047 7.88 175.289 8.564 178.68 +C 8.564 178.68 -1.524 176.67 -9.724 178.47 Z DF R E B IF 204 114 38 S M 43.88 40.321 *C 71.601 44.281 97.121 8.641 98.881 -1.04 +C 100.641 -10.72 90.521 -22.6 90.521 -22.6 )C 91.841 -25.68 87.001 -39.76 81.721 -49 (C 76.441 -58.24 60.54 -57.266 43 -58.24 &C 27.16 -59.12 8.68 -35.8 7.36 -34.04 &C 6.04 -32.28 12.2 6.001 13.52 11.721 'C 14.84 17.441 12.2 43.841 12.2 43.841 )C 46.44 34.741 16.16 36.361 43.88 40.321 Z DF R E B IF 234 142 81 S M 8.088 -33.392 *C 6.792 -31.664 12.84 5.921 14.136 11.537 *C 15.432 17.153 12.84 43.073 12.84 43.073 ,C 45.512 34.193 16.728 35.729 43.944 39.617 +C 71.161 43.505 96.217 8.513 97.945 -0.992 -C 99.673 -10.496 89.737 -22.16 89.737 -22.16 .C 91.033 -25.184 86.281 -39.008 81.097 -48.08 .C 75.913 -57.152 60.302 -56.195 43.08 -57.152 ,C 27.528 -58.016 9.384 -35.12 8.088 -33.392 Z DF R E B IF 239 170 124 S M 8.816 -32.744 *C 7.544 -31.048 13.48 5.841 14.752 11.353 *C 16.024 16.865 13.48 42.305 13.48 42.305 ,C 44.884 33.145 17.296 35.097 44.008 38.913 +C 70.721 42.729 95.313 8.385 97.009 -0.944 -C 98.705 -10.272 88.953 -21.72 88.953 -21.72 .C 90.225 -24.688 85.561 -38.256 80.473 -47.16 .C 75.385 -56.064 60.063 -55.125 43.16 -56.064 -C 27.896 -56.912 10.088 -34.44 8.816 -32.744 Z DF R E B IF 244 198 168 S M 9.544 -32.096 *C 8.296 -30.432 14.12 5.761 15.368 11.169 *C 16.616 16.577 14.12 41.537 14.12 41.537 ,C 43.556 32.497 17.864 34.465 44.072 38.209 +C 70.281 41.953 94.409 8.257 96.073 -0.895 -C 97.737 -10.048 88.169 -21.28 88.169 -21.28 .C 89.417 -24.192 84.841 -37.504 79.849 -46.24 .C 74.857 -54.976 59.824 -54.055 43.24 -54.976 -C 28.264 -55.808 10.792 -33.76 9.544 -32.096 Z DF R E B IF 249 226 211 S M 10.272 -31.448 *C 9.048 -29.816 14.76 5.681 15.984 10.985 *C 17.208 16.289 14.76 40.769 14.76 40.769 ,C 42.628 31.849 18.432 33.833 44.136 37.505 +C 69.841 41.177 93.505 8.129 95.137 -0.848 ,C 96.769 -9.824 87.385 -20.84 87.385 -20.84 .C 88.609 -23.696 84.121 -36.752 79.225 -45.32 .C 74.329 -53.888 59.585 -52.985 43.32 -53.888 .C 28.632 -54.704 11.496 -33.08 10.272 -31.448 Z DF R E B IF 255 255 255 S M 44.2 36.8 !C 69.4 40.4 92.601 8 94.201 -0.8 (C 95.801 -9.6 86.601 -20.4 86.601 -20.4 #C 87.801 -23.2 83.4 -36 78.6 -44.4 'C 73.8 -52.8 59.346 -51.914 43.4 -52.8 C 29 -53.6 12.2 -32.4 11 -30.8 C 9.8 -29.2 15.4 5.6 16.6 10.8 C 17.8 16 15.4 40 15.4 40 C 40.9 31.4 19 33.2 44.2 36.8 Z DF R E B IF 204 204 204 S M 90.601 2.8 C 90.601 2.8 62.8 10.4 51.2 8.8 C 51.2 8.8 35.4 2.2 26.6 24 C 26.6 24 23 31.2 21 33.2 C 19 35.2 90.601 2.8 90.601 2.8 Z DF R E B IF 0 0 0 S M 94.401 0.6 !C 94.401 0.6 65.4 12.8 55.4 12.4 C 55.4 12.4 39 7.8 30.6 22.4 C 30.6 22.4 22.2 31.6 19 33.2 C 19 33.2 18.6 34.8 25 30.8 L 35.4 36 C 35.4 36 50.2 45.6 59.8 29.6 C 59.8 29.6 63.8 18.4 63.8 16.4 C 63.8 14.4 85 8.8 86.601 8.4 !C 88.201 8 94.801 3.8 94.401 0.6 Z DF R E B IF 153 204 50 S M 47 36.514 *C 40.128 36.514 31.755 32.649 31.755 26.4 (C 31.755 20.152 40.128 13.887 47 13.887 *C 53.874 13.887 59.446 18.952 59.446 25.2 (C 59.446 31.449 53.874 36.514 47 36.514 Z DF R E B IF 101 153 0 S M 43.377 19.83 ,C 38.531 20.552 33.442 22.055 33.514 21.839 'C 35.054 17.22 41.415 13.887 47 13.887 +C 51.296 13.887 55.084 15.865 57.32 18.875 *C 57.32 18.875 52.004 18.545 43.377 19.83 Z DF R E B IF 255 255 255 S M 55.4 19.6 C 55.4 19.6 51 16.4 51 18.6 C 51 18.6 54.6 23 55.4 19.6 Z DF R E B IF 0 0 0 S M 45.4 27.726 (C 42.901 27.726 40.875 25.7 40.875 23.2 *C 40.875 20.701 42.901 18.675 45.4 18.675 (C 47.9 18.675 49.926 20.701 49.926 23.2 &C 49.926 25.7 47.9 27.726 45.4 27.726 Z DF R E B IF 204 114 38 S M -58.6 14.4 $C -58.6 14.4 -61.8 -6.8 -59.4 -11.2 $C -59.4 -11.2 -48.6 -21.2 -49 -24.8 $C -49 -24.8 -49.4 -42.8 -50.6 -43.6 $C -51.8 -44.4 -59.4 -50.4 -65.4 -44 C -65.4 -44 -75.8 -26 -75 -19.6 L -75 -17.6 C -75 -17.6 -82.6 -18 -84.2 -16 $C -84.2 -16 -85.4 -10.8 -86.6 -10.4 "C -86.6 -10.4 -89.4 -8 -87.4 -5.2 C -87.4 -5.2 -89.4 -2.8 -89 1.2 L -81.4 5.2 "C -81.4 5.2 -79.4 19.6 -68.6 24.8 'C -63.764 27.129 -60.6 20.4 -58.6 14.4 Z DF R E B IF 255 255 255 S M -59.6 12.56 )C -59.6 12.56 -62.48 -6.52 -60.32 -10.48 +C -60.32 -10.48 -50.6 -19.48 -50.96 -22.72 +C -50.96 -22.72 -51.32 -38.92 -52.4 -39.64 )C -53.48 -40.36 -60.32 -45.76 -65.72 -40 (C -65.72 -40 -75.08 -23.8 -74.36 -18.04 L -74.36 -16.24 )C -74.36 -16.24 -81.2 -16.6 -82.64 -14.8 )C -82.64 -14.8 -83.72 -10.12 -84.8 -9.76 'C -84.8 -9.76 -87.32 -7.6 -85.52 -5.08 (C -85.52 -5.08 -87.32 -2.92 -86.96 0.68 L -80.12 4.28 'C -80.12 4.28 -78.32 17.24 -68.6 21.92 )C -64.248 24.015 -61.4 17.96 -59.6 12.56 Z DF R E B IF 235 149 92 S M -51.05 -42.61 )C -52.14 -43.47 -59.63 -49.24 -65.48 -43 )C -65.48 -43 -75.62 -25.45 -74.84 -19.21 L -74.84 -17.26 +C -74.84 -17.26 -82.25 -17.65 -83.81 -15.7 +C -83.81 -15.7 -84.98 -10.63 -86.15 -10.24 )C -86.15 -10.24 -88.88 -7.9 -86.93 -5.17 (C -86.93 -5.17 -88.88 -2.83 -88.49 1.07 L -81.08 4.97 'C -81.08 4.97 -79.13 19.01 -68.6 24.08 )C -63.886 26.35 -60.8 19.79 -58.85 13.94 *C -58.85 13.94 -61.97 -6.73 -59.63 -11.02 +C -59.63 -11.02 -49.1 -20.77 -49.49 -24.28 ,C -49.49 -24.28 -49.88 -41.83 -51.05 -42.61 Z DF R E B IF 242 184 146 S M -51.5 -41.62 )C -52.48 -42.54 -59.86 -48.08 -65.56 -42 (C -65.56 -42 -75.44 -24.9 -74.68 -18.82 L -74.68 -16.92 )C -74.68 -16.92 -81.9 -17.3 -83.42 -15.4 *C -83.42 -15.4 -84.56 -10.46 -85.7 -10.08 (C -85.7 -10.08 -88.36 -7.8 -86.46 -5.14 (C -86.46 -5.14 -88.36 -2.86 -87.98 0.94 L -80.76 4.74 'C -80.76 4.74 -78.86 18.42 -68.6 23.36 'C -64.006 25.572 -61 19.18 -59.1 13.48 )C -59.1 13.48 -62.14 -6.66 -59.86 -10.84 +C -59.86 -10.84 -49.6 -20.34 -49.98 -23.76 +C -49.98 -23.76 -50.36 -40.86 -51.5 -41.62 Z DF R E B IF 248 220 200 S M -51.95 -40.63 )C -52.82 -41.61 -60.09 -46.92 -65.64 -41 )C -65.64 -41 -75.26 -24.35 -74.52 -18.43 L -74.52 -16.58 +C -74.52 -16.58 -81.55 -16.95 -83.03 -15.1 *C -83.03 -15.1 -84.14 -10.29 -85.25 -9.92 (C -85.25 -9.92 -87.84 -7.7 -85.99 -5.11 (C -85.99 -5.11 -87.84 -2.89 -87.47 0.81 L -80.44 4.51 'C -80.44 4.51 -78.59 17.83 -68.6 22.64 *C -64.127 24.794 -61.2 18.57 -59.35 13.02 *C -59.35 13.02 -62.31 -6.59 -60.09 -10.66 +C -60.09 -10.66 -50.1 -19.91 -50.47 -23.24 ,C -50.47 -23.24 -50.84 -39.89 -51.95 -40.63 Z DF R E B IF 255 255 255 S M -59.6 12.46 )C -59.6 12.46 -62.48 -6.52 -60.32 -10.48 +C -60.32 -10.48 -50.6 -19.48 -50.96 -22.72 +C -50.96 -22.72 -51.32 -38.92 -52.4 -39.64 )C -53.16 -40.68 -60.32 -45.76 -65.72 -40 (C -65.72 -40 -75.08 -23.8 -74.36 -18.04 L -74.36 -16.24 )C -74.36 -16.24 -81.2 -16.6 -82.64 -14.8 )C -82.64 -14.8 -83.72 -10.12 -84.8 -9.76 'C -84.8 -9.76 -87.32 -7.6 -85.52 -5.08 (C -85.52 -5.08 -87.32 -2.92 -86.96 0.68 L -80.12 4.28 'C -80.12 4.28 -78.32 17.24 -68.6 21.92 )C -64.248 24.015 -61.4 17.86 -59.6 12.46 Z DF R E B IF 204 204 204 S M -62.7 6.2 C -62.7 6.2 -84.3 -4 -85.2 -4.8 !C -85.2 -4.8 -76.1 3.4 -75.3 3.4 C -74.5 3.4 -62.7 6.2 -62.7 6.2 Z DF R E B IF 0 0 0 S M -79.8 0 C -79.8 0 -61.4 3.6 -61.4 8 'C -61.4 10.912 -61.643 24.331 -67 22.8 C -75.4 20.4 -71.8 6 -79.8 0 Z DF R E B IF 153 204 50 S M -71.4 3.8 "C -71.4 3.8 -62.422 5.274 -61.4 8 $C -60.8 9.6 -60.137 17.908 -65.6 19 (C -70.152 19.911 -72.382 9.69 -71.4 3.8 Z DF R E B IF 0 0 0 S M 14.595 46.349 (C 14.098 44.607 15.409 44.738 17.2 44.2 C 19.2 43.6 31.4 39.8 32.2 37.2 C 33 34.6 46.2 39 46.2 39 C 48 39.8 52.4 42.4 52.4 42.4 C 57.2 43.6 63.8 44 63.8 44 C 66.2 45 69.6 47.8 69.6 47.8 "C 84.2 58 96.601 50.8 96.601 50.8 %C 116.601 44.2 110.601 27 110.601 27 'C 107.601 18 110.801 14.6 110.801 14.6 )C 111.001 10.8 118.201 17.2 118.201 17.2 )C 120.801 21.4 121.601 26.4 121.601 26.4 )C 129.601 37.6 126.201 19.8 126.201 19.8 'C 126.401 18.8 123.601 15.2 123.601 14 'C 123.601 12.8 121.801 9.4 121.801 9.4 "C 118.801 6 121.201 -1 121.201 -1 (C 123.001 -14.8 120.801 -13 120.801 -13 *C 119.601 -14.8 110.401 -4.8 110.401 -4.8 'C 108.201 -1.4 102.201 0.2 102.201 0.2 !C 99.401 2 96.001 0.6 96.001 0.6 #C 93.401 0.2 87.801 7.2 87.801 7.2 #C 90.601 7 93.001 11.4 95.401 11.6 %C 97.801 11.8 99.601 9.2 101.201 8.6 &C 102.801 8 105.601 13.8 105.601 13.8 )C 106.001 16.4 100.401 21.2 100.401 21.2 'C 100.001 25.8 98.401 24.2 98.401 24.2 $C 95.401 23.6 94.201 27.4 93.201 32 "C 92.201 36.6 88.001 37 88.001 37 "C 86.401 44.4 85.2 41.4 85.2 41.4 C 85 35.8 79 41.6 79 41.6 C 77.8 43.6 73.2 41.4 73.2 41.4 C 66.4 39.4 68.8 37.4 68.8 37.4 C 70.6 35.2 81.8 37.4 81.8 37.4 C 84 35.8 76 31.8 76 31.8 C 75.4 30 76.4 25.6 76.4 25.6 C 77.6 22.4 84.4 16.8 84.4 16.8 "C 93.801 15.6 91.001 14 91.001 14 C 84.801 8.8 79 16.4 79 16.4 C 76.8 22.6 59.4 37.6 59.4 37.6 C 54.6 41 57.2 34.2 53.2 37.6 C 49.2 41 28.6 32 28.6 32 ,C 17.038 30.807 14.306 46.549 10.777 43.429 ,C 10.777 43.429 16.195 51.949 14.595 46.349 Z DF R E B IF 0 0 0 S M 209.401 -120 *C 209.401 -120 183.801 -112 181.001 -93.2 ,C 181.001 -93.2 178.601 -70.4 199.001 -52.8 ,C 199.001 -52.8 199.401 -46.4 201.401 -43.2 *C 201.401 -43.2 199.801 -38.4 218.601 -46 L 245.801 -54.4 ,C 245.801 -54.4 252.201 -56.8 257.401 -65.6 -C 262.601 -74.4 277.801 -93.2 274.201 -118.4 -C 274.201 -118.4 275.401 -129.6 269.401 -130 +C 269.401 -130 261.001 -131.6 253.801 -124 -C 253.801 -124 247.001 -120.8 244.601 -121.2 L 209.401 -120 Z DF R E B IF 0 0 0 S M 264.022 -120.99 2C 264.022 -120.99 266.122 -129.92 261.282 -125.08 2C 261.282 -125.08 254.242 -119.36 246.761 -119.36 2C 246.761 -119.36 232.241 -117.16 227.841 -103.96 /C 227.841 -103.96 223.881 -77.12 231.801 -71.4 .C 231.801 -71.4 236.641 -63.92 243.681 -70.52 1C 250.722 -77.12 266.222 -107.35 264.022 -120.99 Z DF R E B IF 50 50 50 S M 263.648 -120.632 5C 263.648 -120.632 265.738 -129.376 260.986 -124.624 5C 260.986 -124.624 254.074 -119.008 246.729 -119.008 5C 246.729 -119.008 232.473 -116.848 228.153 -103.888 2C 228.153 -103.888 224.265 -77.536 232.041 -71.92 1C 232.041 -71.92 236.793 -64.576 243.705 -71.056 3C 250.618 -77.536 265.808 -107.24 263.648 -120.632 Z DF R E B IF 102 102 102 S M 263.274 -120.274 4C 263.274 -120.274 265.354 -128.832 260.69 -124.168 4C 260.69 -124.168 253.906 -118.656 246.697 -118.656 5C 246.697 -118.656 232.705 -116.536 228.465 -103.816 2C 228.465 -103.816 224.649 -77.952 232.281 -72.44 1C 232.281 -72.44 236.945 -65.232 243.729 -71.592 3C 250.514 -77.952 265.394 -107.13 263.274 -120.274 Z DF R E B IF 153 153 153 S M 262.9 -119.916 2C 262.9 -119.916 264.97 -128.288 260.394 -123.712 5C 260.394 -123.712 253.738 -118.304 246.665 -118.304 5C 246.665 -118.304 232.937 -116.224 228.777 -103.744 2C 228.777 -103.744 225.033 -78.368 232.521 -72.96 1C 232.521 -72.96 237.097 -65.888 243.753 -72.128 /C 250.41 -78.368 264.98 -107.02 262.9 -119.916 Z DF R E B IF 204 204 204 S M 262.526 -119.558 5C 262.526 -119.558 264.586 -127.744 260.098 -123.256 5C 260.098 -123.256 253.569 -117.952 246.633 -117.952 5C 246.633 -117.952 233.169 -115.912 229.089 -103.672 2C 229.089 -103.672 225.417 -78.784 232.761 -73.48 1C 232.761 -73.48 237.249 -66.544 243.777 -72.664 3C 250.305 -78.784 264.566 -106.91 262.526 -119.558 Z DF R E B IF 255 255 255 S M 262.151 -119.2 /C 262.151 -119.2 264.201 -127.2 259.801 -122.8 /C 259.801 -122.8 253.401 -117.6 246.601 -117.6 /C 246.601 -117.6 233.401 -115.6 229.401 -103.6 +C 229.401 -103.6 225.801 -79.2 233.001 -74 *C 233.001 -74 237.401 -67.2 243.801 -73.2 .C 250.201 -79.2 264.151 -106.8 262.151 -119.2 Z DF R E B IF 153 38 0 S M 50.6 84 C 50.6 84 30.2 64.8 22.2 64 C 22.2 64 -12.2 60 -27 78 C -27 78 -9.4 57.6 18.2 63.2 C 18.2 63.2 -3.4 58.8 -15.8 62 C -15.8 62 -32.6 62 -42.2 76 L -45 80.8 C -45 80.8 -41 66 -22.6 60 C -22.6 60 0.2 55.2 11 60 C 11 60 -10.6 53.2 -20.6 55.2 !C -20.6 55.2 -51 52.8 -63.8 79.2 !C -63.8 79.2 -59.8 64.8 -45 57.6 C -45 57.6 -31.4 48.8 -11 51.6 C -11 51.6 3.4 54.8 8.6 57.2 C 13.8 59.6 12.6 56.8 4.2 52 C 4.2 52 -1.4 42 -15.4 42.4 C -15.4 42.4 -58.2 46 -68.6 58 C -68.6 58 -55 46.8 -44.6 44 C -44.6 44 -22.2 36 -13.8 36.8 C -13.8 36.8 11 37.8 18.6 33.8 C 18.6 33.8 7.4 38.8 10.6 42 C 13.8 45.2 20.6 52.8 20.6 54 C 20.6 55.2 44.8 77.3 48.4 81.7 L 50.6 84 Z DF R E B IF 204 204 204 S M 189 278 C 189 278 173.5 241.5 161 232 C 161 232 187 248 190.5 266 C 190.5 266 190.5 276 189 278 Z DF R E B IF 204 204 204 S M 236 285.5 "C 236 285.5 209.5 230.5 191 206.5 "C 191 206.5 234.5 244 239.5 270.5 L 240 276 L 237 273.5 "C 237 273.5 236.5 282.5 236 285.5 Z DF R E B IF 204 204 204 S M 292.5 237 C 292.5 237 230 177.5 228.5 175 C 228.5 175 289 241 292 248.5 C 292 248.5 290 239.5 292.5 237 Z DF R E B IF 204 204 204 S M 104 280.5 "C 104 280.5 123.5 228.5 142.5 251 C 142.5 251 157.5 261 157 264 C 157 264 153 257.5 135 258 C 135 258 116 255 104 280.5 Z DF R E B IF 204 204 204 S M 294.5 153 C 294.5 153 249.5 124.5 242 123 (C 230.193 120.639 291.5 152 296.5 162.5 "C 296.5 162.5 298.5 160 294.5 153 Z DF R E B IF 0 0 0 S M 143.801 259.601 2C 143.801 259.601 164.201 257.601 171.001 250.801 L 175.401 254.401 L 193.001 216.001 L 196.601 221.201 2C 196.601 221.201 211.001 206.401 210.201 198.401 2C 209.401 190.401 223.001 204.401 223.001 204.401 2C 223.001 204.401 222.201 192.801 229.401 199.601 2C 229.401 199.601 227.001 184.001 235.401 192.001 2C 235.401 192.001 224.864 161.844 247.401 187.601 2C 253.001 194.001 248.601 187.201 248.601 187.201 2C 248.601 187.201 222.601 139.201 244.201 153.601 2C 244.201 153.601 246.201 130.801 245.001 126.401 ,C 243.801 122.001 241.801 99.6 237.001 94.4 )C 232.201 89.2 237.401 87.6 243.001 92.8 )C 243.001 92.8 231.801 68.8 245.001 80.8 )C 245.001 80.8 241.401 65.6 237.001 62.8 )C 237.001 62.8 231.401 45.6 246.601 56.4 'C 246.601 56.4 242.201 44 239.001 40.8 'C 239.001 40.8 227.401 13.2 234.601 18 L 239.001 21.6 &C 239.001 21.6 232.201 7.6 238.601 12 %C 245.001 16.4 245.001 16 245.001 16 'C 245.001 16 223.801 -17.2 244.201 0.4 ,C 244.201 0.4 236.042 -13.518 232.601 -20.4 ,C 232.601 -20.4 213.801 -40.8 228.201 -34.4 L 233.001 -32.8 ,C 233.001 -32.8 224.201 -42.8 216.201 -44.4 *C 208.201 -46 218.601 -52.4 225.001 -50.4 ,C 231.401 -48.4 247.001 -40.8 247.001 -40.8 *C 247.001 -40.8 259.801 -22 263.801 -21.6 ,C 263.801 -21.6 243.801 -29.2 249.801 -21.2 *C 249.801 -21.2 264.201 -7.2 257.001 -7.6 (C 257.001 -7.6 251.001 -0.4 255.801 8.4 *C 255.801 8.4 237.342 -9.991 252.201 15.6 L 259.001 32 &C 259.001 32 234.601 7.2 245.801 29.2 )C 245.801 29.2 263.001 52.8 265.001 53.2 )C 267.001 53.6 271.401 62.4 271.401 62.4 L 267.001 60.4 L 272.201 69.2 )C 272.201 69.2 261.001 57.2 267.001 70.4 L 272.601 84.8 )C 272.601 84.8 252.201 62.8 265.801 92.4 *C 265.801 92.4 249.401 87.2 258.201 104.4 0C 258.201 104.4 256.601 120.401 257.001 125.601 2C 257.401 130.801 258.601 159.201 254.201 167.201 2C 249.801 175.201 260.201 194.401 262.201 198.401 2C 264.201 202.401 267.801 213.201 259.001 204.001 2C 250.201 194.801 254.601 200.401 256.601 209.201 2C 258.601 218.001 264.601 233.601 263.801 239.201 2C 263.801 239.201 262.601 240.401 259.401 236.801 2C 259.401 236.801 244.601 214.001 246.201 228.401 2C 246.201 228.401 245.001 236.401 241.801 245.201 2C 241.801 245.201 238.601 256.001 238.601 247.201 2C 238.601 247.201 235.401 230.401 232.601 238.001 2C 229.801 245.601 226.201 251.601 223.401 254.001 2C 220.601 256.401 215.401 233.601 214.201 244.001 2C 214.201 244.001 202.201 231.601 197.401 248.001 L 185.801 264.401 2C 185.801 264.401 185.401 252.001 184.201 258.001 2C 184.201 258.001 154.201 264.001 143.801 259.601 Z DF R E B IF 0 0 0 S M 109.401 -97.2 ,C 109.401 -97.2 97.801 -105.2 93.801 -104.8 +C 89.801 -104.4 121.401 -113.6 162.601 -86 *C 162.601 -86 167.401 -83.2 171.001 -83.6 ,C 171.001 -83.6 174.201 -81.2 171.401 -77.6 *C 171.401 -77.6 162.601 -68 173.801 -56.8 *C 173.801 -56.8 192.201 -50 186.601 -58.8 ,C 186.601 -58.8 197.401 -54.8 199.801 -50.8 ,C 202.201 -46.8 201.001 -50.8 201.001 -50.8 *C 201.001 -50.8 194.601 -58 188.601 -63.2 ,C 188.601 -63.2 183.401 -65.2 180.601 -73.6 (C 177.801 -82 175.401 -92 179.801 -95.2 ,C 179.801 -95.2 175.801 -90.8 176.601 -94.8 .C 177.401 -98.8 181.001 -102.4 182.601 -102.8 -C 184.201 -103.2 200.601 -119 207.401 -119.4 +C 207.401 -119.4 198.201 -118 195.201 -119 -C 192.201 -120 165.601 -131.4 159.601 -132.6 /C 159.601 -132.6 142.801 -139.2 154.801 -137.2 /C 154.801 -137.2 190.601 -133.4 208.801 -120.2 /C 208.801 -120.2 201.601 -128.6 183.201 -135.6 /C 183.201 -135.6 161.001 -148.2 125.801 -143.2 -C 125.801 -143.2 108.001 -140 100.201 -138.2 -C 100.201 -138.2 97.601 -138.8 97.001 -139.2 &C 96.401 -139.6 84.6 -148.6 57 -141.6 C 57 -141.6 40 -137 31.4 -132.2 $C 31.4 -132.2 16.2 -131 12.6 -127.8 "C 12.6 -127.8 -6 -113.2 -8 -112.4 %C -10 -111.6 -21.4 -104 -22.2 -103.6 %C -22.2 -103.6 2.4 -110.2 4.8 -112.6 !C 7.2 -115 24.6 -117.6 27 -116.2 &C 29.4 -114.8 37.8 -115.4 28.2 -114.8 'C 28.2 -114.8 103.801 -100 104.601 -98 *C 105.401 -96 109.401 -97.2 109.401 -97.2 Z DF R E B IF 204 114 38 S M 180.801 -106.4 /C 180.801 -106.4 170.601 -113.8 168.601 -113.8 -C 166.601 -113.8 154.201 -124 150.001 -123.6 -C 145.801 -123.2 133.601 -133.2 106.201 -125 +C 106.201 -125 105.601 -127 109.201 -127.8 -C 109.201 -127.8 115.601 -130 116.001 -130.6 /C 116.001 -130.6 136.201 -134.8 143.401 -131.2 /C 143.401 -131.2 152.601 -128.6 158.801 -122.4 /C 158.801 -122.4 170.001 -119.2 173.201 -120.2 -C 173.201 -120.2 182.001 -118 182.401 -116.2 /C 182.401 -116.2 188.201 -113.2 186.401 -110.6 -C 186.401 -110.6 186.801 -109 180.801 -106.4 Z DF R E B IF 204 114 38 S M 168.33 -108.509 4C 169.137 -107.877 170.156 -107.779 170.761 -106.97 4C 170.995 -106.656 170.706 -106.33 170.391 -106.233 4C 169.348 -105.916 168.292 -106.486 167.15 -105.898 5C 166.748 -105.691 166.106 -105.873 165.553 -106.022 3C 163.921 -106.463 162.092 -106.488 160.401 -105.8 5C 158.416 -106.929 156.056 -106.345 153.975 -107.346 5C 153.917 -107.373 153.695 -107.027 153.621 -107.054 3C 150.575 -108.199 146.832 -107.916 144.401 -110.2 5C 141.973 -110.612 139.616 -111.074 137.188 -111.754 4C 135.37 -112.263 133.961 -113.252 132.341 -114.084 5C 130.964 -114.792 129.507 -115.314 127.973 -115.686 4C 126.11 -116.138 124.279 -116.026 122.386 -116.546 5C 122.293 -116.571 122.101 -116.227 122.019 -116.254 5C 121.695 -116.362 121.405 -116.945 121.234 -116.892 0C 119.553 -116.37 118.065 -117.342 116.401 -117 5C 115.223 -118.224 113.495 -117.979 111.949 -118.421 1C 108.985 -119.269 105.831 -117.999 102.801 -119 4C 106.914 -120.842 111.601 -119.61 115.663 -121.679 5C 117.991 -122.865 120.653 -121.763 123.223 -122.523 2C 123.71 -122.667 124.401 -122.869 124.801 -122.2 5C 124.935 -122.335 125.117 -122.574 125.175 -122.546 4C 127.625 -121.389 129.94 -120.115 132.422 -119.049 5C 132.763 -118.903 133.295 -119.135 133.547 -118.933 1C 135.067 -117.717 137.01 -117.82 138.401 -116.6 5C 140.099 -117.102 141.892 -116.722 143.621 -117.346 5C 143.698 -117.373 143.932 -117.032 143.965 -117.054 4C 145.095 -117.802 146.25 -117.531 147.142 -117.227 4C 147.48 -117.112 148.143 -116.865 148.448 -116.791 4C 149.574 -116.515 150.43 -116.035 151.609 -115.852 4C 151.723 -115.834 151.908 -116.174 151.98 -116.146 3C 153.103 -115.708 154.145 -115.764 154.801 -114.6 5C 154.936 -114.735 155.101 -114.973 155.183 -114.946 3C 156.21 -114.608 156.859 -113.853 157.96 -113.612 4C 158.445 -113.506 159.057 -112.88 159.633 -112.704 5C 162.025 -111.973 163.868 -110.444 166.062 -109.549 4C 166.821 -109.239 167.697 -109.005 168.33 -108.509 Z DF R E B IF 204 114 38 S M 91.696 -122.739 0C 89.178 -124.464 86.81 -125.57 84.368 -127.356 2C 84.187 -127.489 83.827 -127.319 83.625 -127.441 0C 82.618 -128.05 81.73 -128.631 80.748 -129.327 1C 80.209 -129.709 79.388 -129.698 78.88 -129.956 ,C 76.336 -131.248 73.707 -131.806 71.2 -133 .C 71.882 -133.638 73.004 -133.394 73.6 -134.2 1C 73.795 -133.92 74.033 -133.636 74.386 -133.827 1C 76.064 -134.731 77.914 -134.884 79.59 -134.794 2C 81.294 -134.702 83.014 -134.397 84.789 -134.125 2C 85.096 -134.078 85.295 -133.555 85.618 -133.458 1C 87.846 -132.795 90.235 -133.32 92.354 -132.482 1C 93.945 -131.853 95.515 -131.03 96.754 -129.755 .C 97.006 -129.495 96.681 -129.194 96.401 -129 1C 96.789 -129.109 97.062 -128.903 97.173 -128.59 1C 97.257 -128.351 97.257 -128.049 97.173 -127.81 2C 97.061 -127.498 96.782 -127.397 96.408 -127.346 2C 95.001 -127.156 96.773 -128.536 96.073 -128.088 .C 94.8 -127.274 95.546 -125.868 94.801 -124.6 0C 94.521 -124.794 94.291 -125.012 94.401 -125.4 2C 94.635 -124.878 94.033 -124.588 93.865 -124.272 1C 93.48 -123.547 92.581 -122.132 91.696 -122.739 Z DF R E B IF 204 114 38 S M 59.198 -115.391 1C 56.044 -116.185 52.994 -116.07 49.978 -117.346 2C 49.911 -117.374 49.688 -117.027 49.624 -117.054 0C 48.258 -117.648 47.34 -118.614 46.264 -119.66 2C 45.351 -120.548 43.693 -120.161 42.419 -120.648 2C 42.095 -120.772 41.892 -121.284 41.591 -121.323 +C 40.372 -121.48 39.445 -122.429 38.4 -123 2C 40.736 -123.795 43.147 -123.764 45.609 -124.148 .C 45.722 -124.166 45.867 -123.845 46 -123.845 .C 46.136 -123.845 46.266 -124.066 46.4 -124.2 1C 46.595 -123.92 46.897 -123.594 47.154 -123.848 2C 47.702 -124.388 48.258 -124.198 48.798 -124.158 0C 48.942 -124.148 49.067 -123.845 49.2 -123.845 0C 49.336 -123.845 49.467 -124.156 49.6 -124.156 .C 49.736 -124.155 49.867 -123.845 50 -123.845 .C 50.136 -123.845 50.266 -124.066 50.4 -124.2 2C 51.092 -123.418 51.977 -123.972 52.799 -123.793 1C 53.837 -123.566 54.104 -122.418 55.178 -122.12 1C 59.893 -120.816 64.03 -118.671 68.393 -116.584 +C 68.7 -116.437 68.91 -116.189 68.8 -115.8 .C 69.067 -115.8 69.38 -115.888 69.57 -115.756 2C 70.628 -115.024 71.669 -114.476 72.366 -113.378 1C 72.582 -113.039 72.253 -112.632 72.02 -112.684 2C 67.591 -113.679 63.585 -114.287 59.198 -115.391 Z DF R E B IF 204 114 38 S M 45.338 -71.179 /C 43.746 -72.398 43.162 -74.429 42.034 -76.221 .C 41.82 -76.561 42.094 -76.875 42.411 -76.964 /C 42.971 -77.123 43.514 -76.645 43.923 -76.443 +C 45.668 -75.581 47.203 -74.339 49.2 -74.2 +C 51.19 -71.966 55.45 -71.581 55.457 -68.2 *C 55.458 -67.341 54.03 -68.259 53.6 -67.4 +C 51.149 -68.403 48.76 -68.3 46.38 -69.767 /C 45.763 -70.148 46.093 -70.601 45.338 -71.179 Z DF R E B IF 204 114 38 S M 17.8 -123.756 2C 17.935 -123.755 24.966 -123.522 24.949 -123.408 /C 24.904 -123.099 17.174 -122.05 16.81 -122.22 (C 16.646 -122.296 9.134 -119.866 9 -120 /C 9.268 -120.135 17.534 -123.756 17.8 -123.756 Z DF R E B IF 0 0 0 S M 33.2 -114 C 33.2 -114 18.4 -112.2 14 -111 "C 9.6 -109.8 -9 -102.2 -12 -100.2 %C -12 -100.2 -25.4 -94.8 -42.4 -74.8 $C -42.4 -74.8 -34.8 -78.2 -32.6 -81 C -32.6 -81 -19 -93.6 -19.2 -91 C -19.2 -91 -7 -99.6 -7.6 -97.4 %C -7.6 -97.4 16.8 -108.6 14.8 -105.4 "C 14.8 -105.4 36.4 -110 35.4 -108 $C 35.4 -108 54.2 -103.6 51.4 -103.4 #C 51.4 -103.4 45.6 -102.2 52 -98.6 !C 52 -98.6 48.6 -94.2 43.2 -98.2 !C 37.8 -102.2 40.8 -100 35.8 -99 "C 35.8 -99 33.2 -98.2 28.6 -102.2 $C 28.6 -102.2 23 -106.8 14.2 -103.2 $C 14.2 -103.2 -16.4 -90.6 -18.4 -90 "C -18.4 -90 -22 -87.2 -24.4 -83.6 &C -24.4 -83.6 -30.2 -79.2 -33.2 -77.8 $C -33.2 -77.8 -46 -66.2 -47.2 -64.8 &C -47.2 -64.8 -50.6 -59.6 -51.4 -59.2 C -51.4 -59.2 -45 -63 -43 -65 C -43 -65 -29 -75 -23.6 -75.8 &C -23.6 -75.8 -19.2 -78.8 -18.4 -80.2 !C -18.4 -80.2 -4 -89.4 0.2 -89.4 !C 0.2 -89.4 9.4 -84.2 11.8 -91.2 !C 11.8 -91.2 17.6 -93 23.2 -91.8 #C 23.2 -91.8 26.4 -94.4 25.6 -96.6 #C 25.6 -96.6 27.2 -98.4 28.2 -94.6 C 28.2 -94.6 31.6 -91 36.4 -93 !C 36.4 -93 40.4 -93.2 38.4 -90.8 C 38.4 -90.8 34 -87 22.2 -86.8 "C 22.2 -86.8 9.8 -86.2 -6.6 -78.6 %C -6.6 -78.6 -36.4 -68.2 -45.6 -57.8 "C -45.6 -57.8 -52 -49 -57.4 -47.8 $C -57.4 -47.8 -63.2 -47 -69.2 -39.6 &C -69.2 -39.6 -59.4 -45.4 -50.4 -45.4 &C -50.4 -45.4 -46.4 -47.8 -50.2 -44.2 &C -50.2 -44.2 -53.8 -36.6 -52.2 -31.2 $C -52.2 -31.2 -52.8 -26 -53.6 -24.4 %C -53.6 -24.4 -61.4 -11.6 -61.4 -9.2 C -61.4 -6.8 -60.2 3 -59.8 3.6 C -59.4 4.2 -60.8 2 -57 4.4 !C -53.2 6.8 -50.4 8.4 -49.6 11.2 C -48.8 14 -51.6 5.8 -51.8 4 C -52 2.2 -56.2 -5 -55.4 -7.4 !C -55.4 -7.4 -54.4 -6.4 -53.6 -5 !C -53.6 -5 -54.2 -5.6 -53.6 -9.2 %C -53.6 -9.2 -52.8 -14.4 -51.4 -17.6 "C -50 -20.8 -48 -24.6 -47.6 -25.4 $C -47.2 -26.2 -47.2 -32 -45.8 -29.4 L -42.4 -26.8 $C -42.4 -26.8 -45.2 -29.4 -43 -31.6 "C -43 -31.6 -44 -37.2 -42.2 -39.8 &C -42.2 -39.8 -35.2 -48.2 -33.6 -49.2 $C -32 -50.2 -33.4 -49.8 -33.4 -49.8 $C -33.4 -49.8 -27.4 -54 -33.2 -52.4 &C -33.2 -52.4 -37.2 -50.8 -40.2 -50.8 $C -40.2 -50.8 -47.8 -48.8 -43.8 -53 $C -39.8 -57.2 -29.8 -62.6 -26 -62.4 L -25.2 -60.8 L -14 -63.2 L -15.2 -62.4 $C -15.2 -62.4 -15.4 -62.6 -11.2 -63 C -7 -63.4 -1.2 -62 0.2 -63.8 C 1.6 -65.6 5 -66.6 4.6 -65.2 C 4.2 -63.8 4 -61.8 4 -61.8 C 4 -61.8 9 -67.6 8.4 -65.4 C 7.8 -63.2 -0.4 -58 -1.8 -51.8 L 8.6 -60 L 12.2 -63 C 12.2 -63 15.8 -60.8 16 -62.4 C 16.2 -64 20.8 -69.8 22 -69.6 !C 23.2 -69.4 25.2 -72.2 25 -69.6 !C 24.8 -67 32.4 -61.6 32.4 -61.6 C 32.4 -61.6 35.6 -63.4 37 -62 #C 38.4 -60.6 42.6 -81.8 42.6 -81.8 L 67.6 -92.4 L 111.201 -95.8 L 94.201 -102.6 L 33.2 -114 Z DF R E B IS 76 0 0 P 2 S M 51.4 85 C 51.4 85 36.4 68.2 28 65.6 C 28 65.6 14.6 58.8 -10 66.6 DS R E B IS 76 0 0 P 2 S M 24.8 64.2 !C 24.8 64.2 -0.4 56.2 -15.8 60.4 #C -15.8 60.4 -34.2 62.4 -42.6 76.2 DS R E B IS 76 0 0 P 2 S M 21.2 63 C 21.2 63 4.2 55.8 -10.6 53.6 !C -10.6 53.6 -27.2 51 -43.8 58.2 !C -43.8 58.2 -56 64.2 -61.4 74.4 DS R E B IS 76 0 0 P 2 S M 22.2 63.4 C 22.2 63.4 6.8 52.4 5.8 51 C 5.8 51 -1.2 40 -14.2 39.6 #C -14.2 39.6 -35.6 40.4 -52.8 48.4 DS R E B IF 0 0 0 S M 20.895 54.407 #C 22.437 55.87 49.4 84.8 49.4 84.8 #C 84.6 121.401 56.6 87.2 56.6 87.2 C 49 82.4 39.8 63.6 39.8 63.6 C 38.6 60.8 53.8 70.8 53.8 70.8 C 57.8 71.6 71.4 90.8 71.4 90.8 C 64.6 88.4 69.4 95.6 69.4 95.6 *C 72.2 97.6 92.601 113.201 92.601 113.201 1C 96.201 117.201 100.201 118.801 100.201 118.801 2C 114.201 113.601 107.801 126.801 107.801 126.801 2C 110.201 133.601 115.801 122.001 115.801 122.001 0C 127.001 105.2 110.601 107.601 110.601 107.601 #C 80.6 110.401 73.8 94.4 73.8 94.4 C 71.4 92 80.2 94.4 80.2 94.4 C 88.601 96.4 73 82 73 82 C 75.4 82 84.6 88.8 84.6 88.8 C 95.001 98 97.001 96 97.001 96 )C 115.001 87.2 125.401 94.8 125.401 94.8 -C 127.401 96.4 121.801 103.2 123.401 108.401 2C 125.001 113.601 129.801 126.001 129.801 126.001 2C 127.401 127.601 127.801 138.401 127.801 138.401 2C 144.601 161.601 135.001 159.601 135.001 159.601 2C 119.401 159.201 134.201 166.801 134.201 166.801 2C 137.401 168.801 146.201 176.001 146.201 176.001 2C 143.401 174.801 141.801 180.001 141.801 180.001 2C 146.601 184.001 143.801 188.801 143.801 188.801 2C 137.801 190.001 136.601 194.001 136.601 194.001 2C 143.401 202.001 133.401 202.401 133.401 202.401 2C 137.001 206.801 132.201 218.801 132.201 218.801 2C 127.401 218.801 121.001 224.401 121.001 224.401 2C 123.401 229.201 113.001 234.801 113.001 234.801 2C 104.601 236.401 107.401 243.201 107.401 243.201 /C 99.401 249.201 97.001 265.201 97.001 265.201 /C 96.201 275.601 93.801 278.801 99.001 276.801 2C 104.201 274.801 103.401 262.401 103.401 262.401 1C 98.601 246.801 141.401 230.801 141.401 230.801 2C 145.401 229.201 146.201 224.001 146.201 224.001 2C 148.201 224.401 157.001 232.001 157.001 232.001 2C 164.601 243.201 165.001 234.001 165.001 234.001 2C 166.201 230.401 164.601 224.401 164.601 224.401 2C 170.601 202.801 156.601 196.401 156.601 196.401 2C 146.601 162.801 160.601 171.201 160.601 171.201 2C 163.401 176.801 174.201 182.001 174.201 182.001 L 177.801 179.601 2C 176.201 174.801 184.601 168.801 184.601 168.801 2C 187.401 175.201 193.401 167.201 193.401 167.201 2C 197.001 142.801 209.401 157.201 209.401 157.201 2C 213.401 158.401 214.601 151.601 214.601 151.601 2C 218.201 141.201 214.601 127.601 214.601 127.601 2C 218.201 127.201 227.801 133.201 227.801 133.201 2C 230.601 129.601 221.401 112.801 225.401 115.201 2C 229.401 117.601 233.801 119.201 233.801 119.201 2C 234.601 117.201 224.601 104.801 224.601 104.801 (C 220.201 102 215.001 81.6 215.001 81.6 %C 222.201 85.2 212.201 70 212.201 70 )C 212.201 66.8 218.201 55.6 218.201 55.6 )C 217.401 48.8 218.201 49.2 218.201 49.2 'C 221.001 50.4 229.001 52 222.201 45.6 )C 215.401 39.2 223.001 34.4 223.001 34.4 %C 227.401 31.6 213.801 32 213.801 32 )C 208.601 27.6 209.001 23.6 209.001 23.6 (C 217.001 25.6 202.601 11.2 200.201 7.6 &C 197.801 4 207.401 -1.2 207.401 -1.2 %C 220.601 -4.8 209.001 -8 209.001 -8 +C 189.401 -7.6 200.201 -18.4 200.201 -18.4 *C 206.201 -18 204.601 -20.4 204.601 -20.4 (C 199.401 -21.6 189.801 -28 189.801 -28 ,C 185.801 -31.6 189.401 -30.8 189.401 -30.8 ,C 206.201 -29.6 177.401 -40.8 177.401 -40.8 ,C 185.401 -40.8 167.401 -51.2 167.401 -51.2 ,C 165.401 -52.8 162.201 -60.4 162.201 -60.4 ,C 156.201 -65.6 151.401 -72.4 151.401 -72.4 ,C 151.001 -76.8 146.201 -81.6 146.201 -81.6 ,C 134.601 -95.2 129.001 -94.8 129.001 -94.8 ,C 114.201 -98.4 109.001 -97.6 109.001 -97.6 L 56.2 -93.2 #C 29.8 -80.4 37.6 -59.4 37.6 -59.4 C 44 -51 53.2 -54.8 53.2 -54.8 !C 57.8 -61 69.4 -58.8 69.4 -58.8 )C 89.801 -55.6 87.201 -59.2 87.201 -59.2 #C 84.801 -63.8 68.6 -70 68.4 -70.6 #C 68.2 -71.2 59.4 -74.6 59.4 -74.6 C 56.4 -75.8 52 -85 52 -85 #C 48.8 -88.4 64.6 -82.6 64.6 -82.6 #C 63.4 -81.6 70.8 -77.6 70.8 -77.6 )C 88.201 -78.6 98.801 -67.8 98.801 -67.8 ,C 109.601 -51.2 109.801 -59.4 109.801 -59.4 (C 112.601 -68.8 100.801 -90 100.801 -90 *C 101.201 -92 109.401 -85.4 109.401 -85.4 ,C 110.801 -87.4 111.601 -81.6 111.601 -81.6 ,C 111.801 -79.2 115.601 -71.2 115.601 -71.2 ,C 118.401 -58.2 122.001 -65.6 122.001 -65.6 L 126.601 -56.2 (C 128.001 -53.6 122.001 -46 122.001 -46 ,C 121.801 -43.2 122.601 -43.4 117.001 -35.8 ,C 111.401 -28.2 114.801 -23.8 114.801 -23.8 ,C 113.401 -17.2 122.201 -17.6 122.201 -17.6 ,C 124.801 -15.4 128.201 -15.4 128.201 -15.4 (C 130.001 -13.4 132.401 -14 132.401 -14 ,C 134.001 -17.8 140.201 -15.8 140.201 -15.8 ,C 141.601 -18.2 149.801 -18.6 149.801 -18.6 ,C 150.801 -21.2 151.201 -22.8 154.601 -23.4 &C 158.001 -24 133.401 -67 133.401 -67 ,C 139.801 -67.8 131.601 -80.2 131.601 -80.2 ,C 129.401 -86.8 140.801 -72.2 143.001 -70.8 ,C 145.201 -69.4 146.201 -67.2 144.601 -67.4 ,C 143.001 -67.6 141.201 -65.4 142.601 -65.2 (C 144.001 -65 157.001 -50 160.401 -39.8 ,C 163.801 -29.6 169.801 -25.6 176.001 -19.6 *C 182.201 -13.6 181.401 10.6 181.401 10.6 %C 181.001 19.4 187.001 30 187.001 30 %C 189.001 33.8 184.801 52 184.801 52 %C 182.801 54.2 184.201 55 184.201 55 )C 185.201 56.2 192.001 69.4 192.001 69.4 )C 190.201 69.2 193.801 72.8 193.801 72.8 )C 199.001 78.8 192.601 75.8 192.601 75.8 %C 186.601 74.2 193.601 84 193.601 84 )C 194.801 85.8 185.801 81.2 185.801 81.2 )C 176.601 80.6 188.201 87.8 188.201 87.8 'C 196.801 95 185.401 90.6 185.401 90.6 )C 180.801 88.8 184.001 95.6 184.001 95.6 +C 187.201 97.2 204.401 104.2 204.401 104.2 2C 204.801 108.001 201.801 113.001 201.801 113.001 2C 202.201 117.001 200.001 120.401 200.001 120.401 2C 198.801 128.601 198.201 129.401 198.201 129.401 2C 194.001 129.601 186.601 143.401 186.601 143.401 2C 184.801 146.001 174.601 158.001 174.601 158.001 2C 172.601 165.001 154.601 157.801 154.601 157.801 2C 148.001 161.201 150.001 157.801 150.001 157.801 2C 149.601 155.601 154.401 149.601 154.401 149.601 2C 161.401 147.001 158.801 136.201 158.801 136.201 2C 162.801 134.801 151.601 132.001 151.801 130.801 2C 152.001 129.601 157.801 128.201 157.801 128.201 2C 165.801 126.201 161.401 123.801 161.401 123.801 2C 160.801 119.801 163.801 114.201 163.801 114.201 ,C 175.401 113.401 163.801 97.2 163.801 97.2 )C 153.001 89.6 152.001 83.8 152.001 83.8 )C 164.601 75.6 156.401 63.2 156.601 59.6 'C 156.801 56 158.001 34.4 158.001 34.4 )C 156.001 28.2 153.001 14.6 153.001 14.6 (C 155.201 9.4 162.601 -3.2 162.601 -3.2 +C 165.401 -7.4 174.201 -12.2 172.001 -15.2 ,C 169.801 -18.2 162.001 -16.4 162.001 -16.4 ,C 154.201 -17.8 154.801 -12.6 154.801 -12.6 *C 153.201 -11.6 152.401 -6.6 152.401 -6.6 'C 151.68 1.333 142.801 7.6 142.801 7.6 )C 131.601 13.8 140.801 17.8 140.801 17.8 )C 146.801 24.4 137.001 24.6 137.001 24.6 %C 126.001 22.8 134.201 33 134.201 33 )C 145.001 45.8 142.001 48.6 142.001 48.6 )C 131.801 49.6 144.401 58.8 144.401 58.8 )C 144.401 58.8 143.601 56.8 143.801 58.6 )C 144.001 60.4 147.001 64.6 147.801 66.6 )C 148.601 68.6 144.601 68.8 144.601 68.8 )C 145.201 78.4 129.801 74.2 129.801 74.2 )C 129.801 74.2 129.801 74.2 128.201 74.4 )C 126.601 74.6 115.401 73.8 109.601 71.6 'C 103.801 69.4 97.001 69.4 97.001 69.4 "C 97.001 69.4 93.001 71.2 85.4 71 C 77.8 70.8 69.8 73.6 69.8 73.6 C 65.4 73.2 74 68.8 74.2 69 C 74.4 69.2 80 63.6 72 64.2 $C 50.203 65.835 39.4 55.6 39.4 55.6 C 37.4 54.2 34.8 51.4 34.8 51.4 C 24.8 49.4 36.2 63.8 36.2 63.8 C 37.4 65.2 36 66.2 36 66.2 C 35.2 64.6 27.4 59.2 27.4 59.2 ,C 24.589 58.227 23.226 56.893 20.895 54.407 Z DF R E B IF 76 0 0 S M -3 42.8 C -3 42.8 8.6 48.4 11.2 51.2 C 13.8 54 27.8 65.4 27.8 65.4 C 27.8 65.4 22.4 63.4 19.8 61.6 C 17.2 59.8 6.4 51.6 6.4 51.6 C 6.4 51.6 2.6 45.6 -3 42.8 Z DF R E B IF 153 204 50 S M -61.009 11.603 )C -60.672 11.455 -61.196 8.743 -61.4 8.2 C -62.422 5.474 -71.4 4 -71.4 4 ,C -71.627 5.365 -71.682 6.961 -71.576 8.599 .C -71.576 8.599 -66.708 14.118 -61.009 11.603 Z DF R E B IF 101 153 0 S M -61.009 11.403 )C -61.458 11.561 -61.024 8.669 -61.2 8.2 $C -62.222 5.474 -71.4 3.9 -71.4 3.9 ,C -71.627 5.265 -71.682 6.861 -71.576 8.499 .C -71.576 8.499 -67.308 13.618 -61.009 11.403 Z DF R E B IF 0 0 0 S M -65.4 11.546 *C -66.025 11.546 -66.531 10.406 -66.531 9 *C -66.531 7.595 -66.025 6.455 -65.4 6.455 (C -64.775 6.455 -64.268 7.595 -64.268 9 -C -64.268 10.406 -64.775 11.546 -65.4 11.546 Z DF R E B IF 0 0 0 S M -65.4 9 Z DF R E B IF 0 0 0 S M -111 109.601 ,C -111 109.601 -116.6 119.601 -91.8 113.601 ,C -91.8 113.601 -77.8 112.401 -75.4 110.001 ,C -74.2 110.801 -65.834 113.734 -63 114.401 $C -56.2 116.001 -47.8 106 -47.8 106 "C -47.8 106 -43.2 95.5 -40.4 95.5 #C -37.6 95.5 -40.8 97.1 -40.8 97.1 'C -40.8 97.1 -47.4 107.201 -47 108.801 *C -47 108.801 -52.2 128.801 -68.2 129.601 +C -68.2 129.601 -84.35 130.551 -83 136.401 *C -83 136.401 -74.2 134.001 -71.8 136.401 (C -71.8 136.401 -61 136.001 -69 142.401 L -75.8 154.001 -C -75.8 154.001 -75.66 157.919 -85.8 154.401 .C -95.6 151.001 -105.9 138.101 -105.9 138.101 .C -105.9 138.101 -121.85 123.551 -111 109.601 Z DF R E B IF 229 153 153 S M -112.2 113.601 .C -112.2 113.601 -114.2 123.201 -77.4 112.801 *C -77.4 112.801 -73 112.801 -70.6 113.601 ,C -68.2 114.401 -56.2 117.201 -54.2 116.001 *C -54.2 116.001 -61.4 129.601 -73 128.001 *C -73 128.001 -86.2 129.601 -85.8 134.401 *C -85.8 134.401 -81.8 141.601 -77 144.001 *C -77 144.001 -74.2 146.401 -74.6 149.601 *C -75 152.801 -77.8 154.401 -79.8 155.201 *C -81.8 156.001 -85 152.801 -86.6 152.801 +C -88.2 152.801 -96.6 146.401 -101 141.601 /C -105.4 136.801 -113.8 124.801 -113.4 122.001 -C -113 119.201 -112.2 113.601 -112.2 113.601 Z DF R E B IF 178 101 101 S M -109 131.051 -C -106.4 135.001 -103.2 139.201 -101 141.601 ,C -96.6 146.401 -88.2 152.801 -86.6 152.801 *C -85 152.801 -81.8 156.001 -79.8 155.201 *C -77.8 154.401 -75 152.801 -74.6 149.601 (C -74.2 146.401 -77 144.001 -77 144.001 2C -80.066 142.468 -82.806 138.976 -84.385 136.653 .C -84.385 136.653 -84.2 139.201 -89.4 138.401 -C -94.6 137.601 -99.8 134.801 -101.4 131.601 -C -103 128.401 -105.4 126.001 -103.8 129.601 -C -102.2 133.201 -99.8 136.801 -98.2 137.201 *C -96.6 137.601 -97 138.801 -99.4 138.401 -C -101.8 138.001 -104.6 137.601 -109 132.401 Z DF R E B IF 153 38 0 S M -111.6 110.001 )C -111.6 110.001 -109.8 96.4 -108.6 92.4 $C -108.6 92.4 -109.4 85.6 -107 81.4 #C -104.6 77.2 -102.6 71 -99.6 65.6 #C -96.6 60.2 -96.4 56.2 -92.4 54.6 !C -88.4 53 -82.4 44.4 -79.6 43.4 C -76.8 42.4 -77 43.2 -77 43.2 !C -77 43.2 -70.2 28.4 -56.6 32.4 !C -56.6 32.4 -72.8 29.6 -57 20.2 !C -57 20.2 -61.8 21.3 -58.5 14.3 &C -56.299 9.632 -56.8 16.4 -67.8 28.2 !C -67.8 28.2 -72.8 36.8 -78 39.8 #C -83.2 42.8 -95.2 49.8 -96.4 53.6 %C -97.6 57.4 -100.8 63.2 -102.8 64.8 "C -104.8 66.4 -107.6 70.6 -108 74 C -108 74 -109.2 78 -110.6 79.2 $C -112 80.4 -112.2 83.6 -112.2 85.6 $C -112.2 87.6 -114.2 90.4 -114 92.8 *C -114 92.8 -113.2 111.801 -113.6 113.801 L -111.6 110.001 Z DF R E B IF 255 255 255 S M -120.2 114.601 /C -120.2 114.601 -122.2 113.201 -126.6 119.201 /C -126.6 119.201 -119.3 152.201 -119.3 153.601 /C -119.3 153.601 -118.2 151.501 -119.5 144.301 /C -120.8 137.101 -121.7 124.401 -121.7 124.401 L -120.2 114.601 Z DF R E B IF 153 38 0 S M -98.6 54 #C -98.6 54 -116.2 57.2 -115.8 86.4 L -116.6 111.201 %C -116.6 111.201 -117.8 85.6 -119 84 &C -120.2 82.4 -116.2 71.2 -119.4 77.2 )C -119.4 77.2 -133.4 91.2 -125.4 112.401 /C -125.4 112.401 -123.9 115.701 -126.9 111.101 )C -126.9 111.101 -131.5 98.5 -130.4 92.1 &C -130.4 92.1 -130.2 89.9 -128.3 87.1 $C -128.3 87.1 -119.7 75.4 -117 73.1 #C -117 73.1 -115.2 58.7 -99.8 53.5 !C -99.8 53.5 -94.1 51.2 -98.6 54 Z DF R E B IF 0 0 0 S M 40.8 -12.2 .C 41.46 -12.554 41.451 -13.524 42.031 -13.697 .C 43.18 -14.041 43.344 -15.108 43.862 -15.892 .C 44.735 -17.211 44.928 -18.744 45.51 -20.235 -C 45.782 -20.935 45.809 -21.89 45.496 -22.55 -C 44.322 -25.031 43.62 -27.48 42.178 -29.906 -C 41.91 -30.356 41.648 -31.15 41.447 -31.748 /C 40.984 -33.132 39.727 -34.123 38.867 -35.443 /C 38.579 -35.884 39.104 -36.809 38.388 -36.893 /C 37.491 -36.998 36.042 -37.578 35.809 -36.552 )C 35.221 -33.965 36.232 -31.442 37.2 -29 .C 36.418 -28.308 36.752 -27.387 36.904 -26.62 /C 37.614 -23.014 36.416 -19.662 35.655 -16.188 /C 35.632 -16.084 35.974 -15.886 35.946 -15.824 .C 34.724 -13.138 33.272 -10.693 31.453 -8.312 +C 30.695 -7.32 29.823 -6.404 29.326 -5.341 'C 28.958 -4.554 28.55 -3.588 28.8 -2.6 (C 25.365 0.18 23.115 4.025 20.504 7.871 )C 20.042 8.551 20.333 9.76 20.884 10.029 *C 21.697 10.427 22.653 9.403 23.123 8.557 )C 23.512 7.859 23.865 7.209 24.356 6.566 (C 24.489 6.391 24.31 5.972 24.445 5.851 &C 27.078 3.504 28.747 0.568 31.2 -1.8 *C 33.15 -2.129 34.687 -3.127 36.435 -4.14 +C 36.743 -4.319 37.267 -4.07 37.557 -4.265 +C 39.31 -5.442 39.308 -7.478 39.414 -9.388 *C 39.464 -10.272 39.66 -11.589 40.8 -12.2 Z DF R E B IF 0 0 0 S M 31.959 -16.666 /C 32.083 -16.743 31.928 -17.166 32.037 -17.382 /C 32.199 -17.706 32.602 -17.894 32.764 -18.218 .C 32.873 -18.434 32.71 -18.814 32.846 -18.956 +C 35.179 -21.403 35.436 -24.427 34.4 -27.4 -C 35.424 -28.02 35.485 -29.282 35.06 -30.129 /C 34.207 -31.829 34.014 -33.755 33.039 -35.298 /C 32.237 -36.567 30.659 -37.811 29.288 -36.508 /C 28.867 -36.108 28.546 -35.321 28.824 -34.609 -C 28.888 -34.446 29.173 -34.3 29.146 -34.218 .C 29.039 -33.894 28.493 -33.67 28.487 -33.398 /C 28.457 -31.902 27.503 -30.391 28.133 -29.062 +C 28.905 -27.433 29.724 -25.576 30.4 -23.8 /C 29.166 -21.684 30.199 -19.235 28.446 -17.358 .C 28.31 -17.212 28.319 -16.826 28.441 -16.624 .C 28.733 -16.138 29.139 -15.732 29.625 -15.44 /C 29.827 -15.319 30.175 -15.317 30.375 -15.441 .C 30.953 -15.803 31.351 -16.29 31.959 -16.666 Z DF R E B IF 0 0 0 S M 94.771 -26.977 (C 96.16 -25.185 96.45 -22.39 94.401 -21 -C 94.951 -17.691 98.302 -19.67 100.401 -20.2 2C 100.292 -20.588 100.519 -20.932 100.802 -20.937 0C 101.859 -20.952 102.539 -21.984 103.601 -21.8 2C 104.035 -23.357 105.673 -24.059 106.317 -25.439 2C 108.043 -29.134 107.452 -33.407 104.868 -36.653 2C 104.666 -36.907 104.883 -37.424 104.759 -37.786 .C 104.003 -39.997 101.935 -40.312 100.001 -41 -C 98.824 -44.875 98.163 -48.906 96.401 -52.6 .C 94.787 -52.85 94.089 -54.589 92.752 -55.309 /C 91.419 -56.028 90.851 -54.449 90.892 -53.403 /C 90.899 -53.198 91.351 -52.974 91.181 -52.609 -C 91.105 -52.445 90.845 -52.334 90.845 -52.2 -C 90.846 -52.065 91.067 -51.934 91.201 -51.8 -C 90.283 -50.98 88.86 -50.503 88.565 -49.358 /C 87.611 -45.648 90.184 -42.523 91.852 -39.322 /C 92.443 -38.187 91.707 -36.916 90.947 -35.708 .C 90.509 -35.013 90.617 -33.886 90.893 -33.03 .C 91.645 -30.699 93.236 -28.96 94.771 -26.977 Z DF R E B IF 0 0 0 S M 57.611 -8.591 +C 56.124 -6.74 52.712 -4.171 55.629 -2.243 +C 55.823 -2.114 56.193 -2.11 56.366 -2.244 +C 58.387 -3.809 60.39 -4.712 62.826 -5.294 +C 62.95 -5.323 63.224 -4.856 63.593 -5.017 %C 65.206 -5.72 67.216 -5.662 68.4 -7 *C 72.167 -6.776 75.732 -7.892 79.123 -9.2 .C 80.284 -9.648 81.554 -10.207 82.755 -10.709 /C 84.131 -11.285 85.335 -12.213 86.447 -13.354 )C 86.58 -13.49 86.934 -13.4 87.201 -13.4 -C 87.161 -14.263 88.123 -14.39 88.37 -15.012 .C 88.462 -15.244 88.312 -15.64 88.445 -15.742 .C 90.583 -17.372 91.503 -19.39 90.334 -21.767 -C 90.049 -22.345 89.8 -22.963 89.234 -23.439 (C 88.149 -24.35 87.047 -23.496 86 -23.8 /C 85.841 -23.172 85.112 -23.344 84.726 -23.146 /C 83.867 -22.707 82.534 -23.292 81.675 -22.854 -C 80.313 -22.159 79.072 -21.99 77.65 -21.613 (C 77.338 -21.531 76.56 -21.627 76.4 -21 /C 76.266 -21.134 76.118 -21.368 76.012 -21.346 .C 74.104 -20.95 72.844 -20.736 71.543 -19.044 -C 71.44 -18.911 70.998 -19.09 70.839 -18.955 /C 69.882 -18.147 69.477 -16.913 68.376 -16.241 /C 68.175 -16.118 67.823 -16.286 67.629 -16.157 /C 66.983 -15.726 66.616 -15.085 65.974 -14.638 .C 65.645 -14.409 65.245 -14.734 65.277 -14.99 +C 65.522 -16.937 66.175 -18.724 65.6 -20.6 (C 67.677 -23.12 70.194 -25.069 72 -27.8 /C 72.015 -29.966 72.707 -32.112 72.594 -34.189 .C 72.584 -34.382 72.296 -35.115 72.17 -35.462 .C 71.858 -36.316 72.764 -37.382 71.92 -38.106 )C 70.516 -39.309 69.224 -38.433 68.4 -37 .C 66.562 -36.61 64.496 -35.917 62.918 -37.151 -C 61.911 -37.938 61.333 -38.844 60.534 -39.9 /C 59.549 -41.202 59.884 -42.638 59.954 -44.202 +C 59.96 -44.33 59.645 -44.466 59.645 -44.6 'C 59.646 -44.735 59.866 -44.866 60 -45 'C 59.294 -45.626 59.019 -46.684 58 -47 /C 58.305 -48.092 57.629 -48.976 56.758 -49.278 /C 54.763 -49.969 53.086 -48.057 51.194 -47.984 .C 50.68 -47.965 50.213 -49.003 49.564 -49.328 /C 49.132 -49.544 48.428 -49.577 48.066 -49.311 /C 47.378 -48.807 46.789 -48.693 46.031 -48.488 /C 44.414 -48.052 43.136 -46.958 41.656 -46.103 /C 40.171 -45.246 39.216 -43.809 38.136 -42.489 /C 37.195 -41.337 37.059 -38.923 38.479 -38.423 .C 40.322 -37.773 41.626 -40.476 43.592 -40.15 (C 43.904 -40.099 44.11 -39.788 44 -39.4 *C 44.389 -39.291 44.607 -39.52 44.8 -39.8 .C 45.658 -38.781 46.822 -38.444 47.76 -37.571 .C 48.73 -36.667 50.476 -37.085 51.491 -36.088 *C 53.02 -34.586 52.461 -31.905 54.4 -30.6 .C 53.814 -29.287 53.207 -28.01 52.872 -26.583 -C 52.59 -25.377 53.584 -24.18 54.795 -24.271 +C 56.053 -24.365 56.315 -25.124 56.8 -26.2 .C 57.067 -25.933 57.536 -25.636 57.495 -25.42 .C 57.038 -23.033 56.011 -21.04 55.553 -18.609 *C 55.494 -18.292 55.189 -18.09 54.8 -18.2 -C 54.332 -14.051 50.28 -11.657 47.735 -8.492 +C 47.332 -7.99 47.328 -6.741 47.737 -6.338 #C 49.14 -4.951 51.1 -6.497 52.8 -7 ,C 53.013 -8.206 53.872 -9.148 55.204 -9.092 +C 55.46 -9.082 55.695 -9.624 56.019 -9.754 ,C 56.367 -9.892 56.869 -9.668 57.155 -9.866 .C 58.884 -11.061 60.292 -12.167 62.03 -13.356 /C 62.222 -13.487 62.566 -13.328 62.782 -13.436 .C 63.107 -13.598 63.294 -13.985 63.617 -14.17 )C 63.965 -14.37 64.207 -14.08 64.4 -13.8 .C 63.754 -13.451 63.75 -12.494 63.168 -12.292 /C 62.393 -12.024 61.832 -11.511 61.158 -11.064 .C 60.866 -10.871 60.207 -11.119 60.103 -10.94 ,C 59.505 -9.912 58.321 -9.474 57.611 -8.591 Z DF R E B IF 0 0 0 S M 2.2 -58 %C 2.2 -58 -7.038 -60.872 -18.2 -35.2 C -18.2 -35.2 -20.6 -30 -23 -28 $C -25.4 -26 -36.6 -22.4 -38.6 -18.4 L -49 -2.4 !C -49 -2.4 -34.2 -18.4 -31 -20.8 "C -31 -20.8 -23 -29.2 -26.2 -22.4 #C -26.2 -22.4 -40.2 -11.6 -39 -2.4 C -39 -2.4 -44.6 12 -45.4 14 C -45.4 14 -29.4 -18 -27 -19.2 &C -24.6 -20.4 -23.4 -20.4 -24.6 -16.8 C -25.8 -13.2 -26.2 3.2 -29 5.2 C -29 5.2 -21 -15.2 -21.8 -18.4 $C -21.8 -18.4 -18.6 -22 -16.2 -16.8 L -17.4 -0.8 L -13 11.2 C -13 11.2 -15.4 0 -13.8 -15.6 $C -13.8 -15.6 -15.8 -26 -11.8 -20.4 C -7.8 -14.8 1.8 -8.8 1.8 -4 C 1.8 -4 -3.4 -21.6 -12.6 -26.4 L -16.6 -20.4 L -17.8 -22.4 "C -17.8 -22.4 -21.4 -23.2 -17 -30 "C -12.6 -36.8 -13 -37.6 -13 -37.6 C -13 -37.6 -6.6 -30.4 -5 -30.4 C -5 -30.4 8.2 -38 9.4 -13.6 C 9.4 -13.6 16.2 -28 7 -34.8 C 7 -34.8 -7.8 -36.8 -6.6 -42 L 0.6 -54.4 C 4.2 -59.6 2.6 -56.8 2.6 -56.8 Z DF R E B IF 0 0 0 S M -17.8 -41.6 &C -17.8 -41.6 -30.6 -41.6 -33.8 -36.4 L -41 -26.8 "C -41 -26.8 -23.8 -36.8 -19.8 -38 &C -15.8 -39.2 -17.8 -41.6 -17.8 -41.6 Z DF R E B IF 0 0 0 S M -57.8 -35.2 $C -57.8 -35.2 -59.8 -34 -60.2 -31.2 "C -60.6 -28.4 -63 -28 -62.2 -25.2 "C -61.4 -22.4 -59.4 -20 -59.4 -24 C -59.4 -28 -57.8 -30 -57 -31.2 &C -56.2 -32.4 -54.6 -36.8 -57.8 -35.2 Z DF R E B IF 0 0 0 S M -66.6 26 C -66.6 26 -75 22 -78.2 18.4 'C -81.4 14.8 -80.948 19.966 -85.8 19.6 %C -91.647 19.159 -90.6 3.2 -90.6 3.2 L -94.6 10.8 #C -94.6 10.8 -95.8 25.2 -87.8 22.8 %C -83.893 21.628 -82.6 23.2 -84.2 24 #C -85.8 24.8 -78.6 25.2 -81.4 26.8 #C -84.2 28.4 -69.8 23.2 -72.2 33.6 L -66.6 26 Z DF R E B IF 0 0 0 S M -79.2 40.4 #C -79.2 40.4 -94.6 44.8 -98.2 35.2 #C -98.2 35.2 -103 37.6 -100.8 40.6 C -98.6 43.6 -97.4 44 -97.4 44 C -97.4 44 -92 45.2 -92.6 46 #C -93.2 46.8 -95.6 50.2 -95.6 50.2 #C -95.6 50.2 -85.4 44.2 -79.2 40.4 Z DF R E B IF 255 255 255 S M 149.201 118.601 2C 148.774 120.735 147.103 121.536 145.201 122.201 2C 143.284 121.243 140.686 118.137 138.801 120.201 2C 138.327 119.721 137.548 119.661 137.204 118.999 2C 136.739 118.101 137.011 117.055 136.669 116.257 2C 136.124 114.985 135.415 113.619 135.601 112.201 1C 137.407 111.489 138.002 109.583 137.528 107.82 0C 137.459 107.563 137.03 107.366 137.23 107.017 0C 137.416 106.694 137.734 106.467 138.001 106.2 1C 137.866 106.335 137.721 106.568 137.61 106.548 .C 137 106.442 137.124 105.805 137.254 105.418 0C 137.839 103.672 139.853 103.408 141.201 104.6 0C 141.457 104.035 141.966 104.229 142.401 104.2 2C 142.351 103.621 142.759 103.094 142.957 102.674 1C 143.475 101.576 145.104 102.682 145.901 102.07 1C 146.977 101.245 148.04 100.546 149.118 101.149 2C 150.927 102.162 152.636 103.374 153.835 105.115 /C 154.41 105.949 154.65 107.23 154.592 108.188 1C 154.554 108.835 153.173 108.483 152.83 109.412 1C 152.185 111.16 154.016 111.679 154.772 113.017 0C 154.97 113.366 154.706 113.67 154.391 113.768 0C 153.98 113.896 153.196 113.707 153.334 114.16 1C 154.306 117.353 151.55 118.031 149.201 118.601 Z DF R E B IF 255 255 255 S M 139.6 138.201 2C 139.593 136.463 137.992 134.707 139.201 133.001 2C 139.336 133.135 139.467 133.356 139.601 133.356 2C 139.736 133.356 139.867 133.135 140.001 133.001 2C 141.496 135.217 145.148 136.145 145.006 138.991 2C 144.984 139.438 143.897 140.356 144.801 141.001 2C 142.988 142.349 142.933 144.719 142.001 146.601 2C 140.763 146.315 139.551 145.952 138.401 145.401 2C 138.753 143.915 138.636 142.231 139.456 140.911 /C 139.89 140.213 139.603 139.134 139.6 138.201 Z DF R E B IF 204 204 204 S M -26.6 129.201 .C -26.6 129.201 -43.458 139.337 -29.4 124.001 ,C -20.6 114.401 -10.6 108.801 -10.6 108.801 %C -10.6 108.801 -0.2 104.4 3.4 103.2 C 7 102 22.2 96.8 25.4 96.4 C 28.6 96 38.2 92 45 96 !C 51.8 100 59.8 104.4 59.8 104.4 C 59.8 104.4 43.4 96 39.8 98.4 C 36.2 100.8 29 100.4 23 103.6 !C 23 103.6 8.2 108.001 5 110.001 )C 1.8 112.001 -8.6 123.601 -10.2 122.801 *C -11.8 122.001 -9.8 121.601 -8.6 118.801 *C -7.4 116.001 -9.4 114.401 -17.4 120.801 ,C -25.4 127.201 -26.6 129.201 -26.6 129.201 Z DF R E B IF 0 0 0 S M -19.195 123.234 1C -19.195 123.234 -17.785 110.194 -9.307 111.859 .C -9.307 111.859 -1.081 107.689 1.641 105.721 +C 1.641 105.721 9.78 104.019 11.09 103.402 ,C 29.569 94.702 44.288 99.221 44.835 98.101 .C 45.381 96.982 65.006 104.099 68.615 108.185 /C 69.006 108.628 58.384 102.588 48.686 100.697 ,C 40.413 99.083 18.811 100.944 7.905 106.48 .C 4.932 107.989 -4.013 113.773 -6.544 113.662 0C -9.075 113.55 -19.195 123.234 -19.195 123.234 Z DF R E B IF 204 204 204 S M -23 148.801 *C -23 148.801 -38.2 146.401 -21.4 144.801 )C -21.4 144.801 -3.4 142.801 0.6 137.601 &C 0.6 137.601 14.2 128.401 17 128.001 )C 19.8 127.601 49.8 120.401 50.2 118.001 )C 50.6 115.601 56.2 115.601 57.8 116.401 )C 59.4 117.201 58.6 118.401 55.8 119.201 'C 53 120.001 21.8 136.401 15.4 137.601 &C 9 138.801 -2.6 146.401 -7.4 147.601 (C -12.2 148.801 -23 148.801 -23 148.801 Z DF R E B IF 0 0 0 S M -3.48 141.403 /C -3.48 141.403 -12.062 140.574 -3.461 139.755 -C -3.461 139.755 5.355 136.331 7.403 133.668 ,C 7.403 133.668 14.367 128.957 15.8 128.753 /C 17.234 128.548 31.194 124.861 31.399 123.633 -C 31.604 122.404 65.67 109.823 70.09 113.013 -C 73.001 115.114 63.1 113.437 53.466 117.847 /C 52.111 118.467 18.258 133.054 14.981 133.668 -C 11.704 134.283 5.765 138.174 3.307 138.788 +C 0.85 139.403 -3.48 141.403 -3.48 141.403 Z DF R E B IF 0 0 0 S M -11.4 143.601 *C -11.4 143.601 -6.2 143.201 -7.4 144.801 'C -8.6 146.401 -11 145.601 -11 145.601 L -11.4 143.601 Z DF R E B IF 0 0 0 S M -18.6 145.201 ,C -18.6 145.201 -13.4 144.801 -14.6 146.401 ,C -15.8 148.001 -18.2 147.201 -18.2 147.201 L -18.6 145.201 Z DF R E B IF 0 0 0 S M -29 146.801 (C -29 146.801 -23.8 146.401 -25 148.001 ,C -26.2 149.601 -28.6 148.801 -28.6 148.801 L -29 146.801 Z DF R E B IF 0 0 0 S M -36.6 147.601 ,C -36.6 147.601 -31.4 147.201 -32.6 148.801 ,C -33.8 150.401 -36.2 149.601 -36.2 149.601 L -36.6 147.601 Z DF R E B IF 0 0 0 S M 1.8 108.001 $C 1.8 108.001 6.2 108.001 5 109.601 &C 3.8 111.201 0.6 110.801 0.6 110.801 L 1.8 108.001 Z DF R E B IF 0 0 0 S M -8.2 113.601 *C -8.2 113.601 -1.694 111.46 -4.2 114.801 )C -5.4 116.401 -7.8 115.601 -7.8 115.601 L -8.2 113.601 Z DF R E B IF 0 0 0 S M -19.4 118.401 ,C -19.4 118.401 -14.2 118.001 -15.4 119.601 (C -16.6 121.201 -19 120.401 -19 120.401 L -19.4 118.401 Z DF R E B IF 0 0 0 S M -27 124.401 (C -27 124.401 -21.8 124.001 -23 125.601 ,C -24.2 127.201 -26.6 126.401 -26.6 126.401 L -27 124.401 Z DF R E B IF 0 0 0 S M -33.8 129.201 ,C -33.8 129.201 -28.6 128.801 -29.8 130.401 *C -31 132.001 -33.4 131.201 -33.4 131.201 L -33.8 129.201 Z DF R E B IF 0 0 0 S M 5.282 135.598 .C 5.282 135.598 12.203 135.066 10.606 137.195 *C 9.009 139.325 5.814 138.26 5.814 138.26 L 5.282 135.598 Z DF R E B IF 0 0 0 S M 15.682 130.798 /C 15.682 130.798 22.603 130.266 21.006 132.395 -C 19.409 134.525 16.214 133.46 16.214 133.46 L 15.682 130.798 Z DF R E B IF 0 0 0 S M 26.482 126.398 /C 26.482 126.398 33.403 125.866 31.806 127.995 -C 30.209 130.125 27.014 129.06 27.014 129.06 L 26.482 126.398 Z DF R E B IF 0 0 0 S M 36.882 121.598 /C 36.882 121.598 43.803 121.066 42.206 123.195 -C 40.609 125.325 37.414 124.26 37.414 124.26 L 36.882 121.598 Z DF R E B IF 0 0 0 S M 9.282 103.598 .C 9.282 103.598 16.203 103.066 14.606 105.195 +C 13.009 107.325 9.014 107.06 9.014 107.06 L 9.282 103.598 Z DF R E B IF 0 0 0 S M 19.282 100.398 .C 19.282 100.398 26.203 99.866 24.606 101.995 -C 23.009 104.125 18.614 103.86 18.614 103.86 L 19.282 100.398 Z DF R E B IF 0 0 0 S M -3.4 140.401 'C -3.4 140.401 1.8 140.001 0.6 141.601 %C -0.6 143.201 -3 142.401 -3 142.401 L -3.4 140.401 Z DF R E B IF 153 38 0 S M -76.6 41.2 C -76.6 41.2 -81 50 -81.4 53.2 #C -81.4 53.2 -80.6 44.4 -79.4 42.4 #C -78.2 40.4 -76.6 41.2 -76.6 41.2 Z DF R E B IF 153 38 0 S M -95 55.2 !C -95 55.2 -98.2 69.6 -97.8 72.4 !C -97.8 72.4 -99 60.8 -98.6 59.6 C -98.2 58.4 -95 55.2 -95 55.2 Z DF R E B IF 204 204 204 S M -74.2 -19.4 L -74.4 -16.2 L -76.6 -16 !C -76.6 -16 -62.4 -3.4 -61.8 4.2 C -61.8 4.2 -61 -4 -74.2 -19.4 Z DF R E B IF 0 0 0 S M -70.216 -18.135 2C -70.647 -18.551 -70.428 -19.296 -70.836 -19.556 2C -71.645 -20.072 -69.538 -20.129 -69.766 -20.845 2C -70.149 -22.051 -69.962 -22.072 -70.084 -23.348 2C -70.141 -23.946 -69.553 -25.486 -69.168 -25.926 1C -67.722 -27.578 -69.046 -30.51 -67.406 -32.061 0C -67.102 -32.35 -66.726 -32.902 -66.441 -33.32 2C -65.782 -34.283 -64.598 -34.771 -63.648 -35.599 0C -63.33 -35.875 -63.531 -36.702 -62.962 -36.61 2C -62.248 -36.495 -61.007 -36.625 -61.052 -35.784 2C -61.165 -33.664 -62.494 -31.944 -63.774 -30.276 1C -63.323 -29.572 -63.781 -28.937 -64.065 -28.38 /C -65.4 -25.76 -65.211 -22.919 -65.385 -20.079 1C -65.39 -19.994 -65.697 -19.916 -65.689 -19.863 0C -65.336 -17.528 -64.752 -15.329 -63.873 -13.1 1C -63.507 -12.17 -63.036 -11.275 -62.886 -10.348 .C -62.775 -9.662 -62.672 -8.829 -63.08 -8.124 .C -61.045 -5.234 -62.354 -2.583 -61.185 0.948 ,C -60.978 1.573 -59.286 3.487 -59.749 3.326 ,C -62.262 2.455 -62.374 2.057 -62.551 1.304 .C -62.697 0.681 -63.027 -0.696 -63.264 -1.298 /C -63.328 -1.462 -63.499 -3.346 -63.577 -3.468 -C -65.09 -5.85 -63.732 -5.674 -65.102 -8.032 /C -66.53 -8.712 -67.496 -9.816 -68.619 -10.978 2C -68.817 -11.182 -67.674 -11.906 -67.855 -12.119 0C -68.947 -13.408 -70.1 -14.175 -69.764 -15.668 2C -69.609 -16.358 -69.472 -17.415 -70.216 -18.135 Z DF R E B IF 0 0 0 S M -73.8 -16.4 C -73.8 -16.4 -73.4 -9.6 -71 -8 !C -68.6 -6.4 -69.8 -7.2 -73 -8.4 !C -76.2 -9.6 -75 -10.4 -75 -10.4 C -75 -10.4 -77.8 -10 -75.4 -8 C -73 -6 -69.4 -3.6 -71 -3.6 $C -72.6 -3.6 -80.2 -7.6 -80.2 -10.4 &C -80.2 -13.2 -81.2 -17.3 -81.2 -17.3 $C -81.2 -17.3 -80.1 -18.1 -75.3 -18 $C -75.3 -18 -73.9 -17.3 -73.8 -16.4 Z DF R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -74.6 2.2 %C -74.6 2.2 -83.12 -0.591 -101.6 2.8 #C -101.6 2.8 -92.569 0.722 -73.8 3 !C -63.5 4.25 -74.6 2.2 -74.6 2.2 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -72.502 2.129 -C -72.502 2.129 -80.748 -1.389 -99.453 0.392 -C -99.453 0.392 -90.275 -0.897 -71.774 2.995 +C -61.62 5.131 -72.502 2.129 -72.502 2.129 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -70.714 2.222 .C -70.714 2.222 -78.676 -1.899 -97.461 -1.514 -C -97.461 -1.514 -88.213 -2.118 -70.052 3.14 ,C -60.086 6.025 -70.714 2.222 -70.714 2.222 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -69.444 2.445 -C -69.444 2.445 -76.268 -1.862 -93.142 -2.96 ,C -93.142 -2.96 -84.803 -2.79 -68.922 3.319 ,C -60.206 6.672 -69.444 2.445 -69.444 2.445 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 45.84 12.961 *C 45.84 12.961 44.91 13.605 45.124 12.424 ,C 45.339 11.243 73.547 -1.927 77.161 -1.677 +C 77.161 -1.677 46.913 11.529 45.84 12.961 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 42.446 13.6 )C 42.446 13.6 41.57 14.315 41.691 13.121 ,C 41.812 11.927 68.899 -3.418 72.521 -3.452 *C 72.521 -3.452 43.404 12.089 42.446 13.6 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 39.16 14.975 +C 39.16 14.975 38.332 15.747 38.374 14.547 ,C 38.416 13.348 58.233 -2.149 68.045 -4.023 *C 68.045 -4.023 50.015 4.104 39.16 14.975 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 36.284 16.838 ,C 36.284 16.838 35.539 17.532 35.577 16.453 )C 35.615 15.373 53.449 1.426 62.28 -0.26 )C 62.28 -0.26 46.054 7.054 36.284 16.838 Z D R E B IF 204 204 204 S M 4.6 164.801 (C 4.6 164.801 -10.6 162.401 6.2 160.801 (C 6.2 160.801 24.2 158.801 28.2 153.601 )C 28.2 153.601 41.8 144.401 44.6 144.001 )C 47.4 143.601 63.8 140.001 64.2 137.601 )C 64.6 135.201 70.6 132.801 72.2 133.601 'C 73.8 134.401 73.8 143.601 71 144.401 'C 68.2 145.201 49.4 152.401 43 153.601 'C 36.6 154.801 25 162.401 20.2 163.601 'C 15.4 164.801 4.6 164.801 4.6 164.801 Z DF R E B IF 0 0 0 S M 77.6 127.401 )C 77.6 127.401 74.6 129.001 73.4 131.601 'C 73.4 131.601 67 142.201 52.8 145.401 'C 52.8 145.401 29.8 154.401 22 156.401 %C 22 156.401 8.6 161.401 1.2 160.601 'C 1.2 160.601 -5.8 160.801 0.4 162.401 &C 0.4 162.401 20.6 160.401 24 158.601 'C 24 158.601 39.6 153.401 42.6 150.801 'C 45.6 148.201 63.8 143.201 66 141.201 'C 68.2 139.201 78 130.801 77.6 127.401 Z DF R E B IF 0 0 0 S M 18.882 158.911 /C 18.882 158.911 24.111 158.685 22.958 160.234 -C 21.805 161.784 19.357 160.91 19.357 160.91 L 18.882 158.911 Z DF R E B IF 0 0 0 S M 11.68 160.263 .C 11.68 160.263 16.908 160.037 15.756 161.586 /C 14.603 163.136 12.155 162.263 12.155 162.263 L 11.68 160.263 Z DF R E B IF 0 0 0 S M 1.251 161.511 +C 1.251 161.511 6.48 161.284 5.327 162.834 *C 4.174 164.383 1.726 163.51 1.726 163.51 L 1.251 161.511 Z DF R E B IF 0 0 0 S M -6.383 162.055 /C -6.383 162.055 -1.154 161.829 -2.307 163.378 .C -3.46 164.928 -5.908 164.054 -5.908 164.054 L -6.383 162.055 Z DF R E B IF 0 0 0 S M 35.415 151.513 .C 35.415 151.513 42.375 151.212 40.84 153.274 /C 39.306 155.336 36.047 154.174 36.047 154.174 L 35.415 151.513 Z DF R E B IF 0 0 0 S M 45.73 147.088 .C 45.73 147.088 51.689 143.787 51.155 148.849 /C 50.885 151.405 46.362 149.749 46.362 149.749 L 45.73 147.088 Z DF R E B IF 0 0 0 S M 54.862 144.274 /C 54.862 144.274 62.021 140.573 60.287 146.035 /C 59.509 148.485 55.493 146.935 55.493 146.935 L 54.862 144.274 Z DF R E B IF 0 0 0 S M 64.376 139.449 .C 64.376 139.449 68.735 134.548 69.801 141.21 -C 70.207 143.748 65.008 142.11 65.008 142.11 L 64.376 139.449 Z DF R E B IF 0 0 0 S M 26.834 155.997 ,C 26.834 155.997 32.062 155.77 30.91 157.32 /C 29.757 158.869 27.308 157.996 27.308 157.996 L 26.834 155.997 Z DF R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 62.434 34.603 ,C 62.434 34.603 61.708 35.268 61.707 34.197 ,C 61.707 33.127 79.191 19.863 88.034 18.479 ,C 88.034 18.479 71.935 25.208 62.434 34.603 Z D R E B IF 0 0 0 S M 65.4 98.4 *C 65.4 98.4 87.401 120.801 96.601 124.401 1C 96.601 124.401 105.801 135.601 101.801 161.601 0C 101.801 161.601 98.601 169.201 95.401 148.401 /C 95.401 148.401 98.601 123.201 87.401 139.201 )C 87.401 139.201 79 129.301 85.4 129.601 -C 85.4 129.601 88.601 131.601 89.001 130.001 )C 89.401 128.401 81.4 114.801 64.2 100.4 C 47 86 65.4 98.4 65.4 98.4 Z DF R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 7 137.201 $C 7 137.201 6.8 135.401 8.6 136.201 /C 10.4 137.001 104.601 143.201 136.201 167.201 +C 136.201 167.201 91.001 144.001 7 137.201 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 17.4 132.801 'C 17.4 132.801 17.2 131.001 19 131.801 /C 20.8 132.601 157.401 131.601 181.001 164.001 /C 181.001 164.001 159.001 138.801 17.4 132.801 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 29 128.801 'C 29 128.801 28.8 127.001 30.6 127.801 /C 32.4 128.601 205.801 115.601 229.401 148.001 -C 229.401 148.001 219.801 122.401 29 128.801 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 39 124.001 'C 39 124.001 38.8 122.201 40.6 123.001 ,C 42.4 123.801 164.601 85.2 188.201 117.601 (C 188.201 117.601 174.801 93 39 124.001 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -19 146.801 *C -19 146.801 -19.2 145.001 -17.4 145.801 (C -15.6 146.601 2.2 148.801 4.2 187.601 %C 4.2 187.601 -3 145.601 -19 146.801 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -27.8 148.401 *C -27.8 148.401 -28 146.601 -26.2 147.401 *C -24.4 148.201 -10.2 143.601 -13 182.401 *C -13 182.401 -11.8 147.201 -27.8 148.401 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -35.8 148.801 *C -35.8 148.801 -36 147.001 -34.2 147.801 *C -32.4 148.601 -17 149.201 -29.4 171.601 ,C -29.4 171.601 -19.8 147.601 -35.8 148.801 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 11.526 104.465 /C 11.526 104.465 11.082 106.464 12.631 105.247 ,C 28.699 92.622 61.141 33.72 116.826 28.086 .C 116.826 28.086 78.518 15.976 11.526 104.465 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 22.726 102.665 /C 22.726 102.665 21.363 101.472 23.231 100.847 .C 25.099 100.222 137.541 27.72 176.826 35.686 /C 176.826 35.686 149.719 28.176 22.726 102.665 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 1.885 108.767 +C 1.885 108.767 1.376 110.366 3.087 109.39 ,C 12.062 104.27 15.677 47.059 59.254 45.804 +C 59.254 45.804 26.843 31.09 1.885 108.767 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -18.038 119.793 2C -18.038 119.793 -19.115 121.079 -17.162 120.825 -C -6.916 119.493 14.489 78.222 58.928 83.301 .C 58.928 83.301 26.962 68.955 -18.038 119.793 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -6.8 113.667 -C -6.8 113.667 -7.611 115.136 -5.742 114.511 ,C 4.057 111.237 17.141 66.625 61.729 63.078 +C 61.729 63.078 27.603 55.135 -6.8 113.667 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -25.078 124.912 2C -25.078 124.912 -25.951 125.954 -24.369 125.748 +C -16.07 124.669 1.268 91.24 37.264 95.354 .C 37.264 95.354 11.371 83.734 -25.078 124.912 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -32.677 130.821 2C -32.677 130.821 -33.682 131.866 -32.091 131.748 -C -27.923 131.439 2.715 98.36 21.183 113.862 .C 21.183 113.862 9.168 95.139 -32.677 130.821 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 36.855 98.898 ,C 36.855 98.898 35.654 97.543 37.586 97.158 .C 39.518 96.774 160.221 39.061 198.184 51.927 .C 198.184 51.927 172.243 41.053 36.855 98.898 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 3.4 163.201 $C 3.4 163.201 3.2 161.401 5 162.201 'C 6.8 163.001 22.2 163.601 9.8 186.001 'C 9.8 186.001 19.4 162.001 3.4 163.201 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 13.8 161.601 )C 13.8 161.601 13.6 159.801 15.4 160.601 %C 17.2 161.401 35 163.601 37 202.401 'C 37 202.401 29.8 160.401 13.8 161.601 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 20.6 160.001 )C 20.6 160.001 20.4 158.201 22.2 159.001 'C 24 159.801 48.6 163.201 72.2 195.601 )C 72.2 195.601 36.6 158.801 20.6 160.001 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 28.225 157.972 /C 28.225 157.972 27.788 156.214 29.678 156.768 /C 31.568 157.322 52.002 155.423 90.099 189.599 /C 90.099 189.599 43.924 154.656 28.225 157.972 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 38.625 153.572 /C 38.625 153.572 38.188 151.814 40.078 152.368 0C 41.968 152.922 76.802 157.423 128.499 192.399 0C 128.499 192.399 54.324 150.256 38.625 153.572 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -1.8 142.001 'C -1.8 142.001 -2 140.201 -0.2 141.001 &C 1.6 141.801 55 144.401 85.4 171.201 +C 85.4 171.201 50.499 146.426 -1.8 142.001 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M -11.8 146.001 *C -11.8 146.001 -12 144.201 -10.2 145.001 )C -8.4 145.801 16.2 149.201 39.8 181.601 )C 39.8 181.601 4.2 144.801 -11.8 146.001 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 49.503 148.962 /C 49.503 148.962 48.938 147.241 50.864 147.655 .C 52.79 148.068 87.86 150.004 141.981 181.098 0C 141.981 181.098 64.317 146.704 49.503 148.962 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 57.903 146.562 /C 57.903 146.562 57.338 144.841 59.264 145.255 .C 61.19 145.668 96.26 147.604 150.381 178.698 0C 150.381 178.698 73.317 143.904 57.903 146.562 Z D R E B IS 0 0 0 P 0.1 IF 255 255 255 S M 67.503 141.562 /C 67.503 141.562 66.938 139.841 68.864 140.255 /C 70.79 140.668 113.86 145.004 203.582 179.298 0C 203.582 179.298 82.917 138.904 67.503 141.562 Z D R E B IF 0 0 0 S M -43.8 148.401 ,C -43.8 148.401 -38.6 148.001 -39.8 149.601 *C -41 151.201 -43.4 150.401 -43.4 150.401 L -43.8 148.401 Z DF R E B IF 0 0 0 S M -13 162.401 &C -13 162.401 -7.8 162.001 -9 163.601 ,C -10.2 165.201 -12.6 164.401 -12.6 164.401 L -13 162.401 Z DF R E B IF 0 0 0 S M -21.8 162.001 ,C -21.8 162.001 -16.6 161.601 -17.8 163.201 *C -19 164.801 -21.4 164.001 -21.4 164.001 L -21.8 162.001 Z DF R E B IF 0 0 0 S M -117.169 150.182 5C -117.169 150.182 -112.124 151.505 -113.782 152.624 5C -115.439 153.744 -117.446 152.202 -117.446 152.202 L -117.169 150.182 Z DF R E B IF 0 0 0 S M -115.169 140.582 5C -115.169 140.582 -110.124 141.905 -111.782 143.024 5C -113.439 144.144 -115.446 142.602 -115.446 142.602 L -115.169 140.582 Z DF R E B IF 0 0 0 S M -122.369 136.182 5C -122.369 136.182 -117.324 137.505 -118.982 138.624 5C -120.639 139.744 -122.646 138.202 -122.646 138.202 L -122.369 136.182 Z DF R E B IF 204 204 204 S M -42.6 211.201 ,C -42.6 211.201 -44.2 211.201 -48.2 213.201 *C -50.2 213.201 -61.4 216.801 -67 226.801 *C -67 226.801 -54.6 217.201 -42.6 211.201 Z DF R E B IF 204 204 204 S M 45.116 303.847 /C 45.257 304.105 45.312 304.525 45.604 304.542 .C 46.262 304.582 47.495 304.883 47.37 304.247 /C 46.522 299.941 45.648 295.004 41.515 293.197 .C 40.876 292.918 39.434 293.331 39.36 294.215 /C 39.233 295.739 39.116 297.088 39.425 298.554 -C 39.725 299.975 41.883 299.985 42.8 298.601 /C 43.736 300.273 44.168 302.116 45.116 303.847 Z DF R E B IF 204 204 204 S M 34.038 308.581 /C 34.786 309.994 34.659 311.853 36.074 312.416 .C 36.814 312.71 38.664 311.735 38.246 310.661 ,C 37.444 308.6 37.056 306.361 35.667 304.55 /C 35.467 304.288 35.707 303.755 35.547 303.427 -C 34.953 302.207 33.808 301.472 32.4 301.801 /C 31.285 304.004 32.433 306.133 33.955 307.842 .C 34.091 307.994 33.925 308.37 34.038 308.581 Z DF R E B IF 204 204 204 S M -5.564 303.391 -C -5.672 303.014 -5.71 302.551 -5.545 302.23 /C -5.014 301.197 -4.221 300.075 -4.558 299.053 /C -4.906 297.997 -6.022 298.179 -6.672 298.748 /C -7.807 299.742 -7.856 301.568 -8.547 302.927 /C -8.743 303.313 -8.692 303.886 -9.133 304.277 0C -9.607 304.698 -10.047 306.222 -9.951 306.793 0C -9.898 307.106 -10.081 317.014 -9.859 316.751 -C -9.24 316.018 -6.19 306.284 -6.121 305.392 /C -6.064 304.661 -5.332 304.196 -5.564 303.391 Z DF R E B IF 204 204 204 S M -31.202 296.599 /C -28.568 294.1 -25.778 291.139 -26.22 287.427 2C -26.336 286.451 -28.111 286.978 -28.298 287.824 /C -29.1 291.449 -31.139 294.11 -33.707 296.502 .C -35.903 298.549 -37.765 304.893 -38 305.401 2C -34.303 300.145 -32.046 297.399 -31.202 296.599 Z DF R E B IF 204 204 204 S M -44.776 290.635 2C -44.253 290.265 -44.555 289.774 -44.338 289.442 .C -43.385 287.984 -42.084 286.738 -42.066 285 2C -42.063 284.723 -42.441 284.414 -42.776 284.638 2C -43.053 284.822 -43.395 284.952 -43.503 285.082 2C -45.533 287.531 -46.933 290.202 -48.376 293.014 1C -48.559 293.371 -49.703 297.862 -49.39 297.973 2C -49.151 298.058 -47.431 293.877 -47.221 293.763 2C -45.958 293.077 -45.946 291.462 -44.776 290.635 Z DF R E B IF 204 204 204 S M -28.043 310.179 1C -27.599 309.31 -26.023 308.108 -26.136 307.219 2C -26.254 306.291 -25.786 304.848 -26.698 305.536 2C -27.955 306.484 -31.404 307.833 -31.674 313.641 0C -31.7 314.212 -28.726 311.519 -28.043 310.179 Z DF R E B IF 204 204 204 S M -13.6 293.001 0C -13.2 292.333 -12.492 292.806 -12.033 292.543 2C -11.385 292.171 -10.774 291.613 -10.482 290.964 -C -9.512 288.815 -7.743 286.995 -7.6 284.601 -C -9.091 283.196 -9.77 285.236 -10.4 286.201 2C -11.723 284.554 -12.722 286.428 -14.022 286.947 1C -14.092 286.975 -14.305 286.628 -14.38 286.655 2C -15.557 287.095 -16.237 288.176 -17.235 288.957 2C -17.406 289.091 -17.811 288.911 -17.958 289.047 0C -18.61 289.65 -19.583 289.975 -19.863 290.657 .C -20.973 293.364 -24.113 295.459 -26 303.001 1C -25.619 303.91 -21.488 296.359 -21.001 295.661 2C -20.165 294.465 -20.047 297.322 -18.771 296.656 /C -18.72 296.629 -18.534 296.867 -18.4 297.001 0C -18.206 296.721 -17.988 296.492 -17.6 296.601 0C -17.6 296.201 -17.734 295.645 -17.533 295.486 /C -16.296 294.509 -16.38 293.441 -15.6 292.201 /C -15.142 292.99 -14.081 292.271 -13.6 293.001 Z DF R E B IF 204 204 204 S M 46.2 347.401 )C 46.2 347.401 53.6 327.001 49.2 315.801 'C 49.2 315.801 60.6 337.401 56 348.601 'C 56 348.601 55.6 338.201 51.6 333.201 )C 51.6 333.201 47.6 346.001 46.2 347.401 Z DF R E B IF 204 204 204 S M 31.4 344.801 )C 31.4 344.801 36.8 336.001 28.8 317.601 'C 28.8 317.601 28 338.001 21.2 349.001 )C 21.2 349.001 35.4 328.801 31.4 344.801 Z DF R E B IF 204 204 204 S M 21.4 342.801 )C 21.4 342.801 21.2 322.801 21.6 319.801 (C 21.6 319.801 17.8 336.401 7.6 346.001 &C 7.6 346.001 22 334.001 21.4 342.801 Z DF R E B IF 204 204 204 S M 11.8 310.801 (C 11.8 310.801 17.8 324.401 7.8 342.801 'C 7.8 342.801 14.2 330.601 9.4 323.601 &C 9.4 323.601 12 320.201 11.8 310.801 Z DF R E B IF 204 204 204 S M -7.4 342.401 )C -7.4 342.401 -8.4 326.801 -6.6 324.601 )C -6.6 324.601 -6.4 318.201 -6.8 317.201 )C -6.8 317.201 -2.8 311.001 -2.6 318.401 (C -2.6 318.401 -1.2 326.201 1.6 330.801 $C 1.6 330.801 5.2 336.201 5 342.601 $C 5 342.601 -5 312.401 -7.4 342.401 Z DF R E B IF 204 204 204 S M -11 314.801 *C -11 314.801 -17.6 325.601 -19.4 344.601 *C -19.4 344.601 -20.8 338.401 -17 324.001 (C -17 324.001 -12.8 308.601 -11 314.801 Z DF R E B IF 204 204 204 S M -32.8 334.601 ,C -32.8 334.601 -27.8 329.201 -26.4 324.201 ,C -26.4 324.201 -22.8 308.401 -29.2 317.001 *C -29.2 317.001 -29 325.001 -37.2 332.401 ,C -37.2 332.401 -32.4 330.001 -32.8 334.601 Z DF R E B IF 204 204 204 S M -38.6 329.601 ,C -38.6 329.601 -35.2 312.201 -34.4 311.401 ,C -34.4 311.401 -32.6 308.001 -35.4 311.201 ,C -35.4 311.201 -44.2 330.401 -48.2 337.001 ,C -48.2 337.001 -40.2 327.801 -38.6 329.601 Z DF R E B IF 204 204 204 S M -44.4 313.001 ,C -44.4 313.001 -32.8 290.601 -54.6 316.401 ,C -54.6 316.401 -43.6 306.601 -44.4 313.001 Z DF R E B IF 204 204 204 S M -59.8 298.401 *C -59.8 298.401 -55 279.601 -52.4 279.801 ,C -52.4 279.801 -44.2 270.801 -50.8 281.401 ,C -50.8 281.401 -56.8 291.001 -56.2 300.801 ,C -56.2 300.801 -56.8 291.201 -59.8 298.401 Z DF R E B IF 204 204 204 S M 270.5 287 C 270.5 287 258.5 277 256 273.5 C 256 273.5 269.5 292 269.5 299 C 269.5 299 272 291.5 270.5 287 Z DF R E B IF 204 204 204 S M 276 265 C 276 265 255 250 251.5 242.5 C 251.5 242.5 278 272 278 276.5 C 278 276.5 278.5 267.5 276 265 Z DF R E B IF 204 204 204 S M 293 111 C 293 111 281 103 279.5 105 C 279.5 105 290 111.5 292.5 120 C 292.5 120 291 111 293 111 Z DF R E B IF 204 204 204 S M 301.5 191.5 L 284 179.5 "C 284 179.5 303 196.5 303.5 200.5 L 301.5 191.5 Z DF R E B IS 0 0 0 S M -89.25 169 L -67.25 173.75 DS R E B IS 0 0 0 S M -39 331 C -39 331 -39.5 327.5 -48.5 338 DS R E B IS 0 0 0 S M -33.5 336 C -33.5 336 -31.5 329.5 -38 334 DS R E B IS 0 0 0 S M 20.5 344.5 !C 20.5 344.5 22 333.5 10.5 346.5 DS R E E E Sx ` @ ' l Sw a @ p! Draw ep Von mouseUp svglExecute the long id of stack "Output", field "Commands" end mouseUp p R 6 Draw! cREVGeneral scriptChecksum rY)vj4IA{handlerList mouseUpscriptSelection char 12 to 68revUniqueID 1203528114258 bookmarks scripteditorvscroll 0scripteditorselection 72tempScript prevHandler mouseUpscripton mouseUp
svglExecute the long id of this stack, field "Commands"
end mouseUp
Import P`Sconstant NAMED_COLOURS = "red:255 0 0,lime:0 255 0,blue:0 0 255,cyan:0 255 255,magenta:255 0 255,yellow:255 255 0,green:0 128 0" local sSVGL local sSVGLItem on logSVG pMessage put pMessage & return after field "SVG" put "#" && pMessage & return after sSVGL[sSVGLItem] end logSVG function loadSVG pSVGFile local tXMLTree, tXMLNode, tAttributes put revCreateXMLTreeFromFile(pSVGFile, true, true, false) into tXMLTree #wellFormed, createTree, sendMessages if tXMLTree begins with "xmlerr" then put tXMLTree exit loadSVG end if put revXMLRootNode(tXMLTree) into tXMLNode #repeat for each key tKey in sSVGL #delete sSVGL[tKey] #end repeat put empty into sSVGL put "main" into sSVGLItem put empty into field "SVG" if tXMLNode is "svg" then svgNode tXMLTree, tXMLNode, tAttributes,(false, false) end if revDeleteXMLTree tXMLTree return sSVGL["main"] end loadSVG function parseAttributes @pAttributes, pDrawState local tVal, tKeys, tHandled put the keys of pAttributes into tKeys repeat for each line tKey in tKeys put true into tHandled switch tKey case "fill" if pAttributes[tKey] is "none" then put false into item 2 of pDrawState else put "IF" && parseSVGColour(pAttributes[tKey]) & return after sSVGL[sSVGLItem] put true into item 2 of pDrawState end if break case "stroke" if pAttributes[tKey] is "none" then put false into item 1 of pDrawState else put "IS" && parseSVGColour(pAttributes[tKey]) & return after sSVGL[sSVGLItem] put true into item 1 of pDrawState end if break case "stroke-width" put parseSVGLength(pAttributes[tKey]) into tVal #if 0constant NAMED_COLOURS = "red:255 0 0,lime:0 255 0,blue:0 0 255,cyan:0 255 255,magenta:255 0 255,yellow:255 255 0,green:0 128 0"
local sSVGL
local sSVGLItem
local sIndent
function loadSVG pSVGFile
local tXMLTree, tXMLNode
put revCreateXMLTreeFromFile(pSVGFile, true, true, false) into tXMLTree #wellFormed, createTree, sendMessages
if tXMLTree begins with "xmlerr" then
put tXMLTree
exit loadSVG
end if
put revXMLRootNode(tXMLTree) into tXMLNode
#repeat for each key tKey in sSVGL
#delete sSVGL[tKey]
#end repeat
put empty into sSVGL
put "main" into sSVGLItem
put empty into field "SVG"
put empty into sIndent
if tXMLNode is "svg" then
svgNode tXMLTree, tXMLNode, ,(false, false)
end if
revDeleteXMLTree tXMLTree
return sSVGL["main"]
end loadSVG
function parseAttributes pAttributes, pDrawState
local tVal
repeat for each key tKey in pAttributes
put sIndent & tKey & ": " & pAttributes[tKey] & return after field "SVG"
switch tKey
case "fill"
if pAttributes[tKey] is "none" then
put false into item 2 of pDrawState
else
put "IF" && parseSVGColour(pAttributes[tKey]) & return after sSVGL[sSVGLItem]
put true into item 2 of pDrawState
end if
break
case "stroke"
if pAttributes[tKey] is "none" then
put false into item 1 of pDrawState
else
put "IS" && parseSVGColour(pAttributes[tKey]) & return after sSVGL[sSVGLItem]
put true into item 1 of pDrawState
end if
break
case "stroke-width"
put parseSVGLength(pAttributes[tKey]) into tVal
#if 0<tVal and tVal<1 then
#put 1 into tVal
#end if
put "P" && tVal & return after sSVGL[sSVGLItem]
break
case "opacity"
put "A" && parseOpacity(pAttributes[tKey]) & return after sSVGL[sSVGLItem]
break
case "stroke-opacity"
put parseOpacity(pAttributes[tKey]) into tVal
if tVal is 0 then
put empty into item 3 of pDrawState
else
put tVal into item 3 of pDrawState
end if
break
case "fill-opacity"
put parseOpacity(pAttributes[tKey]) into tVal
if tVal is 0 then
put empty into item 4 of pDrawState
else
put tVal into item 4 of pDrawState
end if
break
case "transform"
parseSVGTransformation pAttributes[tKey]
break
end switch
end repeat
return pDrawState
end parseAttributes
function parseOpacity pOpacity
if pOpacity ends with "%" then
replace "%" with empty in pOpacity
return 100 - pOpacity
else
return (1-pOpacity)*100
end if
end parseOpacity
function xmlNode pXMLTree, pXMLNode, pAttributes, pDrawState
put sIndent & pXMLNode & return after field "SVG"
put tab after sIndent
put parseAttributes(pAttributes, pDrawState) into pDrawState
processChildren pXMLTree, pXMLNode, pDrawState
put char 2 to -1 of sIndent into sIndent
return pDrawState
end xmlNode
function parseSVGColour pColourSpec
local tColour
if pColourSpec begins with "#" then
put char 2 to -1 of pColourSpec into pColourSpec
repeat with i = 1 to 3
local tHexString
if the number of chars in pColourSpec is 3 then
put char i of pColourSpec into tHexString
put tHexString after tHexString
else
put char (2*i - 1) to (2*i ) of pColourSpec into tHexString
end if
put baseConvert(tHexString, 16, 10) into tColour[i]
end repeat
combine tColour using space
return tColour
else if pColourSpec begins with "rgb" then
replace "(" with space in pColourSpec
replace ")" with space in pColourSpec
replace comma with space in pColourSpec
return word 2 to 4 of pColourSpec
end if
local tNamedColours
put the SVGColourList of this stack into tNamedColours
split tNamedColours using return and ":"
if pColourSpec is among the keys of tNamedColours then
return tNamedColours[pColourSpec]
end if
put "#unknown colour" && pColourSpec & return after sSVGL[sSVGLItem]
return "127 127 127"
end parseSVGColour
function parseSVGLength pLength
if pLength ends with "px" then
return char 1 to -3 of pLength
else if pLength ends with "pt" then
return (char 1 to -3 of pLength) * 1.25
else
return pLength
end if
end parseSVGLength
on parseSVGTransformation pTransformation
local tTransform
local tArgs
local tOpenBrackets, tCloseBrackets
local tX, tY, tA, tB, tC, tD
put offset("(", pTransformation) into tOpenBrackets
put offset(")", pTransformation) into tCloseBrackets
repeat while (tOpenBrackets is not 0) and (tCloseBrackets is not 0)
put char 1 to (tOpenBrackets-1) of pTransformation into tTransform
put char (tOpenBrackets+1) to (tCloseBrackets-1) of pTransformation into tArgs
put char (tCloseBrackets+1) to -1 of pTransformation into pTransformation
put offset("(", pTransformation) into tOpenBrackets
put offset(")", pTransformation) into tCloseBrackets
replace space with empty in tTransform
replace comma with space in tArgs
switch tTransform
case "matrix"
put word 2 of tArgs into tB
put word 3 of tArgs into tC
put tB into word 3 of tArgs
put tC into word 2 of tArgs
put "T" && tArgs & return after sSVGL[sSVGLItem]
break
case "translate"
put word 1 of tArgs into tX
if the number of words in tArgs is 1 then
put tX into tY
else
put word 2 of tArgs into tY
end if
put "TT" && tX && tY & return after sSVGL[sSVGLItem]
break
case "scale"
put word 1 of tArgs into tX
if the number of words in tArgs is 1 then
put tX into tY
else
put word 2 of tArgs into tY
end if
put "TS" && tX && tY & return after sSVGL[sSVGLItem]
break
case "rotate"
put word 1 of tArgs into tA
if the number of words in tArgs is 1 then
put "TR" && tA &return after sSVGL[sSVGLItem]
else if the number of words in tArgs is 3 then
put word 2 of tArgs into tX
put word 3 of tArgs into tY
put "TT" && tX && tY & return after sSVGL[sSVGLItem]
put "TR" && tA & return after sSVGL[sSVGLItem]
put "TT" && -tX && -tY & return after sSVGL[sSVGLItem]
end if
break
end switch
end repeat
end parseSVGTransformation
on processChildren pXMLTree, pXMLNode, pDrawState
local tChildNames
local tFullName
put revXMLChildNames(pXMLTree, pXMLNode, ",", , true) into tChildNames
if tChildNames begins with "xmlerr" then
exit processChildren
end if
repeat for each item tChild in tChildNames
put pXMLNode & "/" & tChild into tFullName
local tOffset
put offset("[", tChild) into tOffset
if tOffset is not 0 then
put char 1 to (tOffset-1) of tChild into tChild
end if
local tAttributes
put revXMLAttributes(pXMLTree, tFullName, ":", return) into tAttributes
split tAttributes using return and ":"
if (the keys of tAttributes is not empty) and ("style" is among the keys of tAttributes) then
local tStyle
put tAttributes["style"] into tStyle
local tStyleAttributes
put empty into tStyleAttributes
split tStyle using ";" and ":"
repeat for each key tKey in tStyle
local tK
put tKey into tK
replace space with empty in tK
put replaceText(tStyle[tKey], "(^ +| +$)", empty) into tStyleAttributes[tK]
end repeat
union tStyleAttributes with tAttributes
put tStyleAttributes into tAttributes
end if
local tID, tPreviousItem
if (the keys of tAttributes is not empty) and ("id" is among the keys of tAttributes) then
put tAttributes["id"] into tID
put sSVGLItem into tPreviousItem
put tID into sSVGLItem
end if
switch tChild
case "svg"
svgNode pXMLTree, tFullName, tAttributes, pDrawState
break
case "g"
gNode pXMLTree, tFullName, tAttributes, pDrawState
break
case "rect"
rectNode pXMLTree, tFullName, tAttributes, pDrawState
break
case "circle"
circleNode pXMLTree, tFullName, tAttributes, pDrawState
break
case "ellipse"
ellipseNode pXMLTree, tFullName, tAttributes, pDrawState
break
case "line"
lineNode pXMLTree, tFullName, tAttributes, pDrawState
break
case "polyline"
polylineNode pXMLTree, tFullName, tAttributes, pDrawState
break
case "polygon"
polygonNode pXMLTree, tFullName, tAttributes, pDrawState
break
case "path"
pathNode pXMLTree, tFullName, tAttributes, pDrawState
break
case "defs"
defsNode pXMLTree, tFullName, tAttributes, pDrawState
break
case "use"
useNode pXMLTree, tFullName, tAttributes, pDrawState
break
default
put "#Unsupported nodetype:" && tChild & return after sSVGL[sSVGLItem]
put xmlNode (pXMLTree, tFullName, tAttributes, pDrawState)
end switch
if tID is not empty then
put tPreviousItem into sSVGLItem
put sSVGL[tID] after sSVGL[sSVGLItem]
end if
end repeat
end processChildren
on svgNode pXMLTree, pXMLNode, pAttributes, pDrawState
put "B" & return after sSVGL[sSVGLItem]
put xmlNode (pXMLTree, pXMLNode, pAttributes, pDrawState)
put "E" & return after sSVGL[sSVGLItem]
end svgNode
on defsNode pXMLTree, pXMLNode, pAttributes, pDrawState
local tPreviousItem
put sSVGLItem into tPreviousItem
put "no render" into sSVGLItem
put xmlNode (pXMLTree, pXMLNode, pAttributes, pDrawState)
put empty into sSVGL[sSVGLItem]
put tPreviousItem into sSVGLItem
end defsNode
on gNode pXMLTree, pXMLNode, pAttributes, pDrawState
if the keys of pAttributes is not empty and "opacity" is among the keys of pAttributes then
put "A" && parseOpacity(pAttributes["opacity"]) & return after sSVGL[sSVGLItem]
delete variable pAttributes["opacity"]
end if
put "B" & return after sSVGL[sSVGLItem]
put xmlNode (pXMLTree, pXMLNode, pAttributes, pDrawState)
put "E" & return after sSVGL[sSVGLItem]
end gNode
on useNode pXMLTree, pXMLNode, pAttributes, pDrawState
local tHRef
put pAttributes["href"] into tHRef
if "opacity" is among the keys of pAttributes then
put "A" && parseOpacity(pAttributes["opacity"]) & return after sSVGL[sSVGLItem]
delete variable pAttributes["opacity"]
end if
put "B" & return after sSVGL[sSVGLItem]
put xmlNode (pXMLTree, pXMLNode, pAttributes, pDrawState)
if tHRef begins with "#" then
local tX, tY
put 0 into tX
put 0 into tY
if "x" is among the keys of pAttributes then
put pAttributes["x"] into tX
end if
if "y" is among the keys of pAttributes then
put pAttributes["y"] into tY
end if
if (tX is not 0) or (tY is not 0) then
put "TT" && tX && tY after sSVGL[sSVGLItem]
end if
put char 2 to -1 of tHRef into tHRef
put sSVGL[tHRef] after sSVGL[sSVGLItem]
end if
put "E" & return after sSVGL[sSVGLItem]
end useNode
on rectNode pXMLTree, pXMLNode, pAttributes, pDrawState
local tX, tY, tW, tH, tR, tS
local tShapeSVGL
put 0 into tX
put 0 into tY
put 0 into tW
put 0 into tH
repeat for each key tKey in pAttributes
switch tKey
case "x"
put pAttributes["x"] into tX
break
case "y"
put pAttributes["Y"] into tY
break
case "width"
put pAttributes["width"] into tW
break
case "height"
put pAttributes["height"] into tH
break
case "rx"
put pAttributes["rx"] into tR
if tS is empty then
put tR into tS
end if
break
case "ry"
put pAttributes["ry"] into tS
if tR is empty then
put tS into tR
end if
break
end switch
end repeat
if tR is 0 or tS is 0 then
put "PR" && tX && tY && tW && tH & return into tShapeSVGL
else
put "PR" && tX && tY && tW && tH && tR && tS & return into tShapeSVGL
end if
shapeNode pXMLTree, pXMLNode, pAttributes, pDrawState, tShapeSVGL
end rectNode
on circleNode pXMLTree, pXMLNode, pAttributes, pDrawState
local tX, tY, tR
local tShapeSVGL
put 0 into tX
put 0 into tY
put 0 into tR
repeat for each key tKey in pAttributes
switch tKey
case "cx"
put pAttributes["cx"] into tX
break
case "cy"
put pAttributes["cy"] into tY
break
case "r"
put pAttributes["r"] into tR
break
end switch
end repeat
put "PC" && tX && tY && tR & return into tShapeSVGL
shapeNode pXMLTree, pXMLNode, pAttributes, pDrawState, tShapeSVGL
end circleNode
on ellipseNode pXMLTree, pXMLNode, pAttributes, pDrawState
local tCX, tCY, tR, tS
local tShapeSVGL
put 0 into tCX
put 0 into tCY
put 0 into tR
put 0 into tS
repeat for each key tKey in pAttributes
switch tKey
case "cx"
put pAttributes["cx"] into tCX
break
case "cy"
put pAttributes["cy"] into tCY
break
case "rx"
put pAttributes["rx"] into tR
break
case "ry"
put pAttributes["ry"] into tS
break
end switch
end repeat
put "PC" && tCX && tCY && tR && tS & return into tShapeSVGL
shapeNode pXMLTree, pXMLNode, pAttributes, pDrawState, tShapeSVGL
end ellipseNode
on lineNode pXMLTree, pXMLNode, pAttributes, pDrawState
local tX1, tY1, tX2, tY2
local tShapeSVGL
repeat for each key tKey in pAttributes
switch tKey
case "x1"
put pAttributes["x1"] into tX1
break
case "y1"
put pAttributes["y1"] into tY1
break
case "x2"
put pAttributes["x2"] into tX2
break
case "y2"
put pAttributes["y2"] into tY2
break
end switch
end repeat
put "M" && tX1 && tY1 & return & "L" && tX2 && tY2 & return into tShapeSVGL
shapeNode pXMLTree, pXMLNode, pAttributes, pDrawState, tShapeSVGL
end lineNode
on polylineNode pXMLTree, pXMLNode, pAttributes, pDrawState
local tX, tY, tPoints
local tShapeSVGL
repeat for each key tKey in pAttributes
switch tKey
case "points"
put pAttributes[tKey] into tPoints
break
end switch
end repeat
replace comma with space in tPoints
put word 1 of tPoints into tX
put word 2 of tPoints into tY
put "M" && tX && tY & return into tShapeSVGL
repeat with i=2 to ((number of words in tPoints)/2)
put word (i*2-1) of tPoints into tX
put word (i*2) of tPoints into tY
put "L" && tX && tY & return after tShapeSVGL
end repeat
shapeNode pXMLTree, pXMLNode, pAttributes, pDrawState, tShapeSVGL
end polylineNode
on polygonNode pXMLTree, pXMLNode, pAttributes, pDrawState
local tX, tY, tPoints
local tShapeSVGL
repeat for each key tKey in pAttributes
switch tKey
case "points"
put pAttributes[tKey] into tPoints
break
end switch
end repeat
replace comma with space in tPoints
put word 1 of tPoints into tX
put word 2 of tPoints into tY
put "M" && tX && tY & return into tShapeSVGL
repeat with i=2 to ((number of words in tPoints)/2)
put word (i*2-1) of tPoints into tX
put word (i*2) of tPoints into tY
put "L" && tX && tY & return after tShapeSVGL
end repeat
put "Z" & return after tShapeSVGL
shapeNode pXMLTree, pXMLNode, pAttributes, pDrawState, tShapeSVGL
end polygonNode
on shapeNode pXMLTree, pXMLNode, pAttributes, pDrawState, pDrawCommands
local tStroke, tFill, tStrokeBlend, tFillBlend
put "S" & return after sSVGL[sSVGLItem]
put xmlNode (pXMLTree, pXMLNode, pAttributes, pDrawState) into pDrawState
put item 1 of pDrawState into tStroke
put item 2 of pDrawState into tFill
put item 3 of pDrawState into tStrokeBlend
put item 4 of pDrawState into tFillBlend
if ((tStrokeBlend is not empty) and (tStroke is true)) or \
((tFillBlend is not empty) and (tFill is true)) then
put "B" & return after sSVGL[sSVGLItem]
if tFill is true then
put "S" & return after sSVGL[sSVGLItem]
if tFillBlend is not empty then
put "A" && tFillBlend & return after sSVGL[sSVGLItem]
end if
put pDrawCommands after sSVGL[sSVGLItem]
put "DF" & return after sSVGL[sSVGLItem]
put "R" & return after sSVGL[sSVGLItem]
end if
if tStroke is true then
if tStrokeBlend is not empty then
put "A" && tStrokeBlend & return after sSVGL[sSVGLItem]
end if
put pDrawCommands after sSVGL[sSVGLItem]
put "DS" & return after sSVGL[sSVGLItem]
end if
put "E" & return after sSVGL[sSVGLItem]
else
put pDrawCommands after sSVGL[sSVGLItem]
switch (tStroke, tFill)
case (true, true)
put "D" & return after sSVGL[sSVGLItem]
break
case (true, false)
put "DS" & return after sSVGL[sSVGLItem]
break
case (false, true)
put "DF" & return after sSVGL[sSVGLItem]
break
end switch
put "R" & return after sSVGL[sSVGLItem]
end if
end shapeNode
local sCurrentPoint, sPreviousPoint
function addPathCommand pCommand, pArgCount, @pPath, pShortHand
local tArgs, tArgCount
local tPathSVGL
local tRelative
if char -1 of pCommand is "R" then put true into tRelative
repeat while word 1 of pPath is a number
put empty into tArgs
repeat with i = 1 to pArgCount
put word i of pPath into tArgs[i]
end repeat
combine tArgs using space
if pShortHand is true then
local tX, tY
if tRelative is true then
put (word 1 of sCurrentPoint) - (word 1 of sPreviousPoint) into tX
put (word 2 of sCurrentPoint) - (word 2 of sPreviousPoint) into tY
else
put 2*(word 1 of sCurrentPoint) - (word 1 of sPreviousPoint) into tX
put 2*(word 2 of sCurrentPoint) - (word 2 of sPreviousPoint) into tY
end if
put tX && tY & space before tArgs
end if
local tCX, tCY, tPX, tPY
put word -4 of tArgs into tPX
put word -3 of tArgs into tPY
put word -2 of tArgs into tCX
put word -1 of tArgs into tCY
if pCommand begins with "LH" then
if tRelative is true then
add tCY to word 1 of sCurrentPoint
else
put tCY into word 1 of sCurrentPoint
end if
else if pCommand begins with "LV" then
if tRelative is true then
add tCY to word 2 of sCurrentPoint
else
put tCY into word 2 of sCurrentPoint
end if
else
if tRelative is true then
put ((word 1 of sCurrentPoint) + tPX) && ((word 2 of sCurrentPoint) + tPY) into sPreviousPoint
add tCX to word 1 of sCurrentPoint
add tCY to word 2 of sCurrentPoint
else
put tCX && tCY into sCurrentPoint
put tPX && tPY into sPreviousPoint
end if
end if
put word (pArgCount + 1) to -1 of pPath into pPath
put pCommand && tArgs & return after tPathSVGL
end repeat
return tPathSVGL
end addPathCommand
on pathNode pXMLTree, pXMLNode, pAttributes, pDrawState
local tPath
local tPathSVGL
put pAttributes["d"] into tPath
set the caseSensitive to true
local tCommand, tArgs
replace comma with space in tPath
local tCommandLetters
put "MmLlHhVvZzCcQqAaSsTt" into tCommandLetters
repeat for each char tCommandChar in tCommandLetters
replace tCommandChar with (space&tCommandChar&space) in tPath
end repeat
replace "-" with " -" in tPath
repeat while the number of words in tPath > 0
put char 1 of tPath into tCommand
put empty into char 1 of tPath
switch tCommand
case "M"
put word 1 to 2 of tPath into tArgs
put word 3 to -1 of tPath into tPath
put "M" && tArgs & return after tPathSVGL
put tArgs into sCurrentPoint
case "L"
put addPathCommand( "L", 2, tPath ) after tPathSVGL
break
case "m"
put word 1 to 2 of tPath into tArgs
put word 3 to -1 of tPath into tPath
put "MR" && tArgs & return after tPathSVGL
put tArgs into sCurrentPoint
case "l"
put addPathCommand( "LR", 2, tPath ) after tPathSVGL
break
case "H"
put addPathCommand( "LH", 1, tPath ) after tPathSVGL
break
case "h"
put addPathCommand( "LHR", 1, tPath ) after tPathSVGL
break
case "V"
put addPathCommand( "LV", 1, tPath ) after tPathSVGL
break
case "v"
put addPathCommand( "LVR", 1, tPath ) after tPathSVGL
break
case "Z"
case "z"
put "Z" & return after tPathSVGL
break
case "C"
put addPathCommand( "C", 6, tPath ) after tPathSVGL
break
case "c"
put addPathCommand( "CR", 6, tPath ) after tPathSVGL
break
case "Q"
put addPathCommand( "C", 4, tPath ) after tPathSVGL
break
case "q"
put addPathCommand( "CR", 4, tPath ) after tPathSVGL
break
case "A"
put addPathCommand( "CE", 7, tPath ) after tPathSVGL
break
case "a"
put addPathCommand( "CER", 7, tPath ) after tPathSVGL
break
case "S"
put addPathCommand( "C", 4, tPath, true) after tPathSVGL
break
case "s"
put addPathCommand( "CR", 4, tPath, true) after tPathSVGL
break
case "T"
put addPathCommand( "C", 2, tPath, true) after tPathSVGL
break
case "t"
put addPathCommand( "CR", 2, tPath, true) after tPathSVGL
break
case " "
break
default
put "#Unsupported path command:" && tCommand & return after tPathSVGL
end switch
end repeat
shapeNode pXMLTree, pXMLNode, pAttributes, pDrawState, tPathSVGL
end pathNode
on loadColours
local tColourList
answer file "SVG Colour List:"
put URL ("file:" & it) into tColourList
#split tColourList by return and ":"
set the SVGColourList of this stack to tColourList
end loadColours
AlreadyHidden false @ cREVGeneral bookmarks handlerList prevHandler tempScript script SVG )` p cREVGeneral revUniqueID 1204191027006 ` @ o a @ _ Load EpQlocal sSVGL on mouseUp local tSVGFile answer file "Select SVG file to load:" with filter "SVGs,*.svg" if the result is not empty then put the result exit mouseUp end if put it into tSVGFile put loadSVG(tSVGFile) into field "Commands" of stack "SVGL" send "mouseUp" to button "Draw" of stack "SVGL" end mouseUp R 0 cREVGeneral scriptChecksum R2Y+4 ]handlerList mouseUpbreakPoints scriptSelection char 337 to 336revUniqueID 1204191044161 bookmarks tempScript prevHandler ellipseNodescript &local sSVGL
on mouseUp
local tSVGFile
answer file "Select SVG file to load:" with filter "SVGs,*.svg"
if the result is not empty then
put the result
exit mouseUp
end if
put it into tSVGFile
put loadSVG(tSVGFile) into field "Commands" of stack "SVGL"
send "mouseUp" to button "Draw" of stack "SVGL"
end mouseUp
AE Output @ 4@ cREVGeneral AlreadyHidden false cREVGeometryCache stackID 16226 @ cREVGeometryCacheIDs cREVGeometrycache total 0order