($]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@AB C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                                                                                                                   ! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\portable provisionalsimons@cryp.to ]^_` !"#$%&'()*+a !"#$%&'()*+# !"*+$%()&' !"#$%&'()*+ bcdefghijkbghijkbghijkportable provisionalsimons@cryp.to,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|l}~mnopqrstuvwxyz{| ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~x|{zyqwvutsrlponmUba`_^]\[ZYXWVDPONMLKJIHGFEQTSR@CBA6?>=<;:987/543210,.-  }~fkjihgcde,.--./5432100123456 ?>=<;:987789:;<=>?@CBAABCD PONMLKJIHGFEEFGHIJKLMNOPQTSRRSTU ba`_^]\[ZYXWVVWXYZ[\]^_`abcdedefkjihgghijklponmmnopqwvutsrrstuvwx|{zyyz{|}~ portable provisionalsimons@cryp.to1}~...(portable provisionalsimons@cryp.to portable provisionalsimons@cryp.to                    portable provisionalsimons@cryp.to/ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123# !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123#$%&(')*+ ! "#r~}|{zyxwvutsnqpo!   ijklm `abcdefgh RSTUVWXYZ[\]^_>EDCBA@?LMIKJFHGNQPO9=<;:/876543210,.-'("#$%&)*+,-./0123# !!"#$%&#$%&'(()*+*+,.--./ 8765432100123456789=<;::;<=>EDCBA@??@ABCDEFHGGHIKJJKLMMNQPOOPQR STUVWXYZ[\]^_STUVWXYZ[\]^_`abcdefghabcdefghijklmjklmnqpoopqr ~}|{zyxwvutsstuvwxyz{|}~      !"#$%&'()*+,-./0123portable provisionalsimons@cryp.to4567456774564567portable provisionalsimons@cryp.to 89:;<=>?@A 89:;<=>?@A :<;=>?@A89 89:;<=>?@A portable provisionalsimons@cryp.to#BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd#BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd#OPQRHNMLKJIBGFEDCSTUVWXYZ[\]^_`abcd#BGFEDCCDEFGHNMLKJIIJKLMNOPQRPQRSTUVWXYZ[\]^_`abcd portable provisionalsimons@cryp.to{efghijklmnopqrstuvwxyz{|}~{efghijklmnopqrstuvwxyz{|}~{w~}|{zyxrvutsoqplnmhkjiegf{egffghkjiijklnmmnoqppqrvutsstuvw ~}|{zyxxyz{|}~  portable provisionalsimons@cryp.to portable provisionalsimons@cryp.toBgenerate| we get |(1,relax)::MPArg|, the first two members of the A result are ignored, and the last two make up the MetaPost code. wferi )  portable provisionalsimons@cryp.tob      !:      !: !     :       !portable provisionalsimons@cryp.to "#$%&'()*+,-. "#$%&'()*+,-. "&%$#'()*+,-. "&%$##$%&'()*+,-.portable provisionalsimons@cryp.to/0123456789:; /0123456789:; /5432109:6;78 /5432100123456789:;portable provisionalsimons@cryp.to)<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY?JIHGFEDCBA@<>=XYKLMNOPQRSTUVW<>==>? JIHGFEDCBA@@ABCDEFGHIJKLMNOPQRSTUVWXYportable provisionalsimons@cryp.toZ[Eemit|s a file called NAME.MP (or NAME.NUMBER.MP in not |newmp|) with G a beginfig(NUMBER) in it, and runs MetaPost on it. The conversion to C |MetaPost|, which |HasEmit|, is done by |metaPost|. Finally, the  emitted |Doc| is |show|n. wferi ) \C ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\Z[\Z[\ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`aYbcdefghijklmnopqrstuvwxyz{|}~      !""#$%&'()*+,-./012234566789:;:<=>?@ABCDEFGHIJKLMNOPQRSTUVVWXXYZY[\\]^_`abcdefghiijklmnopqqrstuvwxyz{|}~.30*      !"#$%&'()*+,-./0123456789:;<=>?@ABC D E F G H I J K L M N O P Q Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m m n o p o q q r s t u v w x y z { | } ~                                                                                                                                                                  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV}WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                           funcmp-1.5 FMP.TypesFMP.PPFMP.TermFMP.File FMP.Color FMP.Picture FMP.Frames FMP.Matrix FMP.Symbols FMP.Syntax FMP.ResolveFMP.CoreFMP.Tree FMP.RedBlack FMP.Canvas FMP.TurtleFMP Paths_funcmpbase GHC.Floatacoshatanhasinhcoshtanhsinhacosatanasincostansin**logsqrtexppiDocsemicoloncommaspaceequalslparenrparenlbrackrbrackemptyintchartextparensbracketsquotes doubleQuotesdoublehcathsepvcat punctuate$$$+$<><+>FunNsNNsNMaxNsNMinFunNNNNNNPowerNNNPythNNNDivNNNMulNNNSubNNNAddFunNNNNNegNNFloorNNCeilNNRoundNNLogNNExpNNSqrtNNCosDNNSinDFunPNPNAnglePNYPartPNXPartNumeric NumericCond NumericNsN NumericNNN NumericNN NumericPNNumericMediate NumericDistNumericWhatever NumericVar NumericArray' NumericVar'FunPPPPPPDivPPPSubPPPAddPoint PointCondPointNeg PointNMulPointPPP PointWhateverPointDirection PointMediatePointVecPointVar PointTrans'PointVarArray' PointVar' PointPic'IsNametoName toNameListNameGlobalHierNameDirNameStrNameInt BoolRelatBoolNEBoolLEBoolLBoolEQBooleanBoolNotBoolAndBoolOrBoolPntBoolNumEquation EquationCond Equations PEquations NEquations.==./=.<.<=.=equalPattern DashPatternDefaultPatternPen PenCircle PenSquare DefaultPenDirNWWSWSSEENENC HasDefaultdefault'HasCondcondHasMedmedHasRelaxrelaxwhatever penSquare penCircle dashPattern dashPattern'dasheddottedboolean equationsglobal<+<*refvar.*vecdirxypythAddxpartypartanglewidthheightxdistydistdistmaximum'minimum'TermDirop VerbFunctionIfElseTDotPosMediate TransformedM Transformed TransformShiftedURCornerLLCornerInfixPicCurrentPictureIdentityMinMaxPairYPartXPartAngleFloorCeilRoundExpLnSqrtCosDSinDPower PythagorasParensNegDivMulSubAddIdConstaddsubmulmax'pair ParametersmpBin funcmpBin funcmpRTS defaultDX defaultDYtextDXtextDYnewmpprologepilog fileExists clearFile getParameters HasBGColor setBGColorsetDefaultBGColor getBGColorHasColorsetColorsetDefaultColorgetColorColorGraduate DefaultColorwhiteblackredgreenblueyellowcyanmagentagreycolor graduateLow graduateMed graduateHighgraduatehsv2rgb ExtentAttribeaXeaYeaEqsDXeaEqsDY eaEqsWidth eaEqsHeighteaEqsAbsOrRel AORDefaultAORRelAORAbsFrameFrame'IsAreatoArea AreaDescrarColorarLayerarPenAreaIsPathtoPath toPathListTensionTensionAtLeast BasicJoin BJControls2 BJControls BJTension2 BJTensionBJTense BJStraight BJBoundedBJFreeBJCatDir' DirVectorDirDirDirCurlDirEmptyPath PathDefine PathEndDirPathJoin PathCycle PathPoint PathTransformPathBuildCycleArrowHeadStyleAHLineAHFilled ArrowHeadDefaultArrowHead PathLabelCutPicCutPic' CutPicTrans PathElemDescrpeColorpePen peArrowHead peSArrowHead pePattern peVisible peStartCutpeEndCut peStartDirpeEndDirpeJoinpeLabels FrameAttribfaNamesfaColor faBGColorfaPen faPatternfaShadow faVisibleAttribaNamesaColoraBGColorBitDepthDepth24Depth8Depth1PictureTrueBox PTransformBitLineTextTexEmptyClipFillDrawDefineOverlay AttributesTransformationHasLayersetBacksetFrontgetLayerLayerBackFront HasShadow setShadow clearShadow getShadow IsHideablehide HasDefinedefineHasJoinsetJoingetJoinHasStartEndDir setStartAngle setEndAngle setStartCurl setEndCurlsetStartVector setEndVectorremoveStartDir removeEndDirHasStartEndCut setStartCutremoveStartCut setEndCut removeEndCut HasArrowHead setArrowHeadremoveArrowHead getArrowHeadsetStartArrowHeadremoveStartArrowHeadgetStartArrowHeadHasPensetPen setDefaultPengetPen HasPattern setPatternsetDefaultPattern getPatternHasLabelsetLabel removeLabel HasExtentsetWidth removeWidthgetWidth setHeight removeHeight getHeightHasDXYsetDXgetDXsetDYgetDYHasNamesetNamegetNames HasPicture fromPicture IsPicture toPicture toPictureList HasConcat&#mmptddbpcmpcccinchupdownleftright fullcircle halfcircle quartercircle unitsquare|-|||||=|||||rowcolumnrowSepBy columnSepByenumPicsfillclipdrawatlabeloverlayoverlay'ooaligntexmathvspacehspacesetTrueBoundingBoxscalerotateskewXskewYreflectXreflectY transformaffinerotated reflectedX reflectedYshiftedscaledXscaledYscaledskewedXskewedYlinecurvearrowcycle'defaultArrowHead arrowHeadBig arrowHeadSize stdAttribstdFrameAttribstdPathElemDescrahFilledahLinesetArrowHeadStylegetArrowHeadStyleimage pathLength forEachPathjoinCatjoinFree joinBounded joinStraight joinTense joinTension joinTensions joinControl joinControlstensiontensionAtLeast lastNameIsDir buildCycle transformPath.&.....-..--..... stdAreaDescr getDefaultstdExtentAttribdotbulletboxtriangletriAnglerboxovalcirclediamondfuzzyclouddrumcellcell'matrix matrixSepBy matrixAlignmatrixAlignSepByrowAlign columnAlign rowAlignSepBycolumnAlignSepBySymNum SymNRelax SymNUnion3 SymNUnionSymNHierSymNNameSymPoint SymPRelax SymPTrans SymPUnion3 SymPUnionSymPHierSymPNameSymbolssymPntssymNums symUnion3 symUnionssymNamesymNamessymHiersymTransaddPDefaddNDef symPUnionssymPName symPNamessymPHier symPTrans symNUnionssymNName symNNamessymNHier symNHiers MPPattern MPDashPatternMPDefaultPatternMPPen MPPenSquare MPPenCircle MPDefaultPenMPColorMPDefaultColorMPPathBasicJoinTensionMPPathBasicJoinAtLeast MPPathDir MPPathDirPair MPPathDirCurlMPDefaultPathDirMPPathBasicJoinMPPathBasicJoinControls2MPPathBasicJoinControls1MPPathBasicJoinTension2MPPathBasicJoinTension1MPPathBasicJoinStraightMPPathBasicJoinTenseMPPathBasicJoin3MPPathBasicJoin2MPPathBasicJoinCat MPPathJoin MPPathSubMPPathTransformMPPathBuildCycleMPCycle MPPathEnd MPPathEndDirMPPath MPPathTerm MPSubPath MPShiftedP MPTransformPMPBPath MPCutafter MPCutbefore MPPathNorm MPTransform MPArrowStyleMPArrowStyleLineMPArrowStyleFilledMPArrow MPReverseMPNormalMetaPost MPVerbatimMPTextMPTexMPSubBox MPShapeitMPRelaxMPImageMPIfElseMPGroupMPGraduatePath MPGraduatePic MPGraduate MPFixSizeMPFixPosMPFillMPFigureMPEquals MPDrawUnBoxed MPDrawPic MPDrawAHeadMPDraw MPDefineTransMPDefMPConc MPCommentMPClip MPClearIt MPCloneit MPBitLineMPBoxit MPAssignPathMPAssignHasEmitemitmpConcs mpArrowStyle mpPathArrow mpPathRArrowmpColormpPen mpPattern mpEquations mpPEquations mpNEquations mpBoolean mpBoolRelatmpPointmpCutPic mpNumericemitLshowFF emitPattern' emitDefTrans emitColor'emitPen2emitPen'emitDirtdottrpos savestringdefDXdefDYtxtDXtxtDY shiftRefPointsuff maybes2List resolvePointresolveNumeric resolvePathresolveEquation symEquations insertNumericmpNodeNameSonUpRootThisParentTree'Node'Distance DistBorder DistCenter AlignSons AlignFunction AlignConst AlignAngles AlignOverN AlignRightSon AlignLeftSon AlignRight AlignLeft DefaultAlignEdgeCrossTreeNodestairedgeedge'crosscross'enodenode defaultAlign alignLeft alignRight alignLeftSon alignRightSon alignOverN alignAngles alignConst alignFunctionsetAligngetAlignsetDistHgetDistHsetDistVgetDistV distCenter distBordernumberfitfitLeftfitRight forEachNodeforEachLevelNode forEachPic forEachEdgeTwo34FourThreeTwoNiledgeNedgeNRedtinytboxtbox2tbox3 convert234 convertRSCanvasCRelaxCConcatCDropCFillCClipCDrawcdrawscfillscclipcdropcdrawcfill TurtleAttrib TAttribForkTAttribTurtleTForkTHomeTPenDownTPenUpTTurnTForwardTHideTPenTColorTDropPicTConcturtlehometolefttorightturnturnlturnrforwardbackwardpenUppenDownplotfork spreadAttribfiguremetaPostgeneratefuncmpReturnBesideshowDocversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName IsBoolean IsEquation HasWhatever hasGlobal globalToFront removeGlobalsaddPointsubPointmulPointnegPointabsPoint addNumeric subNumeric mulNumeric negNumeric absNumericradAngleidentconst'neg stdParameterstokenschangeParametersscanParametersprolog'FromListfromListcutPic pathSetStart pathSetEnd pathGetStart pathGetEnd defaultCutdefaultStartCut defaultEndCut withoutDir ensureCycle random2Intsrands randomDoublesCell flattenName flattenName'resolvePointNameresolveNumeric2maybe'maybe2maybe3resolvePathElemDescr resolveDir resolveCut resolveJoinresolveTension resolvePenresolveBoolean symEquationsymPoint symNumeric symBoolean insertPntNameMPResultMPArgdrawBC drawFrameBC drawBorder constructPathgetEqsmpPathmpPath'drawPathmpDirmpJoin mpTensionmpLabels mpLabels'ExtentPosition NodeDescrnEdges nAlignSonsnDistHnDistV stdNodeDescr extractPics relPlacementsedgeslevelsgetHEqshoffvoffwidthLwidthRheightTheightBdesigndesign' moveExtentmerge mergeManyfitManygetHDistgetVDistcalcPoscalcPos' replacePathreplacePathElemDescr replaceDir' replaceCutPic replacePoint replaceNamereplaceNumericreplaceEquationsreplaceEquationreplaceBoolean canvas2Pic TurtleDescrtPos tOrientationtColortPentPenDownPicPosstdTurtleDescr renderPath actualPos