/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: July 11, 1993 7:56:26 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGMenuImpl, module: GGMenuImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [4051661402,3168768012] GGMenuImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W8 f; W6 r;} W14;
typedef struct {W16 f; W14 r;} W30;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W16 f; W12 r;} W28;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W3 r;} W11;
typedef struct {W16 f; W11 r;} W27;
typedef W27 *W27Pt;
typedef W28 *W28Pt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {W8 f; word r;} W9;
typedef W4 *W4Pt;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W8 f; W5 r;} W13;
typedef struct {W16 f; W13 r;} W29;
typedef struct {W8 f; W2 r;} W10;
typedef struct {W16 f; W10 r;} W26;
typedef W26 *W26Pt;
#define SOURCE(p, l) /* source p, l */
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static float fc158 = 1.0;
static float fc176 = 72.0;
static float fc209 = 0.0;
static float fc210 = 2.0;
static float fc213 = -1.0;
static void NoName←Q2148();
static void GGMenuImpl←P0();
static void AddARule←P60();
static void BuildControlPanel←P120();
static void BuildFeedbackLine←P180();
static void FeedbackLineInGGData←P240();
static word IsGargoyle←P300();
static void FindControlPanel←P360();
static word NoName←Q2208();
static word NoName←Q2268();
static void LinkToActionArea←P420();
static void ConnectToGGControlPanel←P480();
static void BuildActiveDocument←P540();
static word ControlPanelNotify←P600();
static word UnQueuedControlPanelNotify←P660();
static void InitializeGravityLine←P720();
static void BuildSlopeLine←P780();
static void BuildAngleLine←P840();
static void BuildRadiusLine←P900();
static void BuildDistanceLine←P960();
static void BuildMeasureLine←P1020();
static void GravityInGGData←P1080();
static void AlignmentsInGGData←P1140();
static void MidpointsInGGData←P1200();
static void HeuristicsInGGData←P1260();
static void GravityExtentRepaint←P1320();
static void SlopeViewInGGData←P1380();
static void AngleViewInGGData←P1440();
static void DistanceViewInGGData←P1500();
static void LineDistViewInGGData←P1560();
static void Choice←P1620();
static void Init←P1680();
static void NoName←Q2328();
static void NoName←Q2388();
static struct {unsigned f; char r[4];} string1 = {65540, "\251\000\000"};
static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\101\004\000\000"};
static struct {unsigned f; char r[16];} string5 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[44];} string6 = {2752556, "\260\006\005\146\151\162\163\164\257\300\101\370\323\224\300\165\315\304\000\100\244\005\004\162\145\163\164\214\257\300\101\370\323\224\300\165\315\304\000\100\244\261\000"};
static struct {unsigned f; char r[24];} string7 = {1376277, "\006\002\000\007\000\040\005\004\046\004\100\102\015\004\100\146\004\101\006\060\001\000\000"};
static struct {unsigned f; char r[24];} string8 = {1310744, "\260\006\005\146\151\162\163\164\214\217\005\004\162\145\163\164\214\214\217\261\000\000\000"};
static struct {unsigned f; char r[4];} string9 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\200\000\000"};
static struct {unsigned f; char r[68];} string11 = {4325442, "\006\031\000\001\004\001\010\001\014\001\024\001\030\001\034\001\044\001\050\001\054\001\060\001\064\001\070\001\074\001\100\100\001\100\104\001\100\110\001\100\164\001\100\170\001\100\224\004\017\100\244\004\100\171\100\300\001\100\304\001\100\310\001\100\320\001\000"};
static struct {unsigned f; char r[24];} string12 = {1310744, "\260\006\005\146\151\162\163\164\216\251\005\004\162\145\163\164\214\216\251\261\000\000\000"};
static struct {unsigned f; char r[4];} string13 = {65540, "\256\000\000"};
static struct {unsigned f; char r[20];} string14 = {1179668, "\260\006\005\146\151\162\163\164\217\005\004\162\145\163\164\214\217\261\000"};
static struct {unsigned f; char r[44];} string15 = {2752556, "\260\006\005\146\151\162\163\164\257\300\015\277\004\146\300\034\367\146\045\112\114\005\004\162\145\163\164\214\257\300\015\277\004\146\300\034\367\146\045\112\114\261\000"};
static struct {unsigned f; char r[28];} string16 = {1572888, "\006\002\000\007\000\040\016\000\003\001\000\000\000\000\014\014\000\014\014\014\014\000\010\001\000\000\000"};
static struct {unsigned f; char r[8];} string17 = {458760, "Confirm"};
static struct {unsigned f; char r[8];} string18 = {458760, "Warning"};
static struct {unsigned f; char r[12];} string19 = {524300, "Feedback\000\000\000"};
static struct {unsigned f; char r[12];} string20 = {720908, "DuringMouse"};
static struct {unsigned f; char r[16];} string21 = {786448, "SystemScript\000\000\000"};
static struct {unsigned f; char r[12];} string22 = {655372, "Typescript\000"};
static struct {unsigned f; char r[12];} string23 = {655372, "*.gargoyle\000"};
static struct {unsigned f; char r[8];} string24 = {262152, "*.gg\000\000\000"};
static struct {unsigned f; char r[28];} string25 = {1638428, "Gargoyle.ControlPanelFile\000\000"};
static struct {unsigned f; char r[72];} string26 = {4456520, "LinkToActionArea failed: place input focus in target Gargoyle viewer\000\000\000"};
static struct {unsigned f; char r[12];} string27 = {524300, "Gargoyle\000\000\000"};
static struct {unsigned f; char r[20];} string28 = {1048596, "UnQueuedGargoyle\000\000\000"};
static struct {unsigned f; char r[8];} string29 = {393224, "System\000"};
static struct {unsigned f; char r[116];} string30 = {7405684, "No file found for Gargoyle control panel in [Cedar]<Gargoyle> or in Gargoyle.ControlPanelFile user profile entry.\000\000"};
static struct {unsigned f; char r[8];} string31 = {262152, "Show\000\000\000"};
static struct {unsigned f; char r[12];} string32 = {655372, "Statistics\000"};
static struct {unsigned f; char r[40];} string33 = {2490408, "Loading %g as Gargoyle's control panel\000"};
static struct {unsigned f; char r[8];} string34 = {327688, "Error\000\000"};
static struct {unsigned f; char r[12];} string35 = {524300, "MergeAll\000\000\000"};
static struct {unsigned f; char r[12];} string36 = {720908, "DeselectAll"};
static struct {unsigned f; char r[8];} string37 = {262152, "TRUE\000\000\000"};
static struct {unsigned f; char r[12];} string38 = {589836, "SetActive\000\000"};
static struct {unsigned f; char r[8];} string39 = {327688, "Quiet\000\000"};
static struct {unsigned f; char r[12];} string40 = {589836, "Complaint\000\000"};
static struct {unsigned f; char r[16];} string41 = {786448, "SetScaleUnit\000\000\000"};
static struct {unsigned f; char r[16];} string42 = {786448, "CleanVersion\000\000\000"};
static struct {unsigned f; char r[12];} string43 = {655372, "ActivityOn\000"};
static struct {unsigned f; char r[8];} string44 = {458760, "Delete!"};
static struct {unsigned f; char r[140];} string45 = {8978572, "Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Line\000\000"};
static struct {unsigned f; char r[12];} string46 = {720908, "DeleteSlope"};
static struct {unsigned f; char r[48];} string47 = {3014704, "[Cedar]<Gargoyle>GargoyleControlPanel.gargoyle\000"};
static struct {unsigned f; char r[8];} string48 = {262152, "Add!\000\000\000"};
static struct {unsigned f; char r[12];} string49 = {524300, "AddSlope\000\000\000"};
static struct {unsigned f; char r[8];} string50 = {262152, "Get!\000\000\000"};
static struct {unsigned f; char r[12];} string51 = {524300, "GetSlope\000\000\000"};
static struct {unsigned f; char r[8];} string52 = {393224, "Slope:\000"};
static struct {unsigned f; char r[12];} string53 = {720908, "SlopePrompt"};
static struct {unsigned f; char r[20];} string54 = {1179668, "InitStandardSlopes\000"};
static struct {unsigned f; char r[12];} string55 = {720908, "DeleteAngle"};
static struct {unsigned f; char r[12];} string56 = {524300, "AddAngle\000\000\000"};
static struct {unsigned f; char r[12];} string57 = {524300, "GetAngle\000\000\000"};
static struct {unsigned f; char r[8];} string58 = {393224, "Angle:\000"};
static struct {unsigned f; char r[12];} string59 = {720908, "AnglePrompt"};
static struct {unsigned f; char r[20];} string60 = {1179668, "InitStandardAngles\000"};
static struct {unsigned f; char r[16];} string61 = {786448, "DeleteRadius\000\000\000"};
static struct {unsigned f; char r[12];} string62 = {589836, "AddRadius\000\000"};
static struct {unsigned f; char r[12];} string63 = {589836, "GetRadius\000\000"};
static struct {unsigned f; char r[8];} string64 = {458760, "Radius:"};
static struct {unsigned f; char r[16];} string65 = {786448, "RadiusPrompt\000\000\000"};
static struct {unsigned f; char r[20];} string66 = {1114132, "InitStandardRadii\000\000"};
static struct {unsigned f; char r[16];} string67 = {917520, "DeleteDistance\000"};
static struct {unsigned f; char r[12];} string68 = {720908, "AddDistance"};
static struct {unsigned f; char r[12];} string69 = {720908, "GetDistance"};
static struct {unsigned f; char r[12];} string70 = {589836, "LineDist:\000\000"};
static struct {unsigned f; char r[16];} string71 = {917520, "DistancePrompt\000"};
static struct {unsigned f; char r[24];} string72 = {1376280, "InitStandardDistances\000\000"};
static struct {unsigned f; char r[4];} string73 = {196612, "0.0"};
static struct {unsigned f; char r[44];} string74 = {2818092, "[Cedar]<Gargoyle>GargoyleControlPanel.tioga"};
static struct {unsigned f; char r[20];} string75 = {1179668, "MeasureLineDistHit\000"};
static struct {unsigned f; char r[4];} string76 = {65540, "←\000\000"};
static struct {unsigned f; char r[32];} string77 = {1835040, "MeasureLineDistFromSelection\000\000\000"};
static struct {unsigned f; char r[20];} string78 = {1048596, "MeasureRadiusHit\000\000\000"};
static struct {unsigned f; char r[28];} string79 = {1703964, "MeasureRadiusFromSelection\000"};
static struct {unsigned f; char r[16];} string80 = {983056, "MeasureAngleHit"};
static struct {unsigned f; char r[28];} string81 = {1638428, "MeasureAngleFromSelection\000\000"};
static struct {unsigned f; char r[16];} string82 = {983056, "MeasureSlopeHit"};
static struct {unsigned f; char r[28];} string83 = {1638428, "MeasureSlopeFromSelection\000\000"};
static struct {unsigned f; char r[32];} string84 = {1900576, "xerox/tiogafonts/helvetica10I\000\000"};
static struct {unsigned f; char r[20];} string85 = {1048596, "LinkToActionArea\000\000\000"};
static struct {unsigned f; char r[16];} string86 = {851984, "\257\300\361\177\162\132\300\274\337\220\014\100\164\000\000"};
static struct {unsigned f; char r[16];} string87 = {917518, "\006\003\020\001\024\001\100\160\010\000\004\100\107\001\000"};
static struct {unsigned f; char r[16];} string88 = {851984, "\257\300\101\370\323\224\300\165\315\304\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string89 = {851984, "\257\300\115\266\333\252\300\351\105\225\122\100\150\000\000"};
static struct {unsigned f; char r[16];} string90 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string91 = {851984, "\257\300\311\307\035\205\300\321\364\126\253\100\150\000\000"};
static struct {unsigned f; char r[16];} string92 = {851984, "\257\300\112\153\254\213\300\072\171\243\243\100\150\000\000"};
static struct {unsigned f; char r[16];} string93 = {851984, "\257\300\346\140\152\135\300\203\202\276\373\100\150\000\000"};
static struct {unsigned f; char r[16];} string94 = {851984, "\257\300\306\163\371\375\300\321\143\133\037\100\150\000\000"};
static struct {unsigned f; char r[16];} string95 = {851984, "\257\300\003\033\274\104\300\263\246\312\006\100\150\000\000"};
static struct {unsigned f; char r[16];} string96 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string97 = {851984, "\257\300\235\036\354\311\300\234\133\201\260\100\150\000\000"};
static struct {unsigned f; char r[16];} string98 = {851984, "\257\300\206\055\004\241\300\261\334\001\116\100\150\000\000"};
static struct {unsigned f; char r[16];} string99 = {851984, "\257\300\355\324\264\170\300\276\334\312\210\100\150\000\000"};
static struct {unsigned f; char r[16];} string100 = {851984, "\257\300\037\132\057\032\300\262\356\113\061\100\150\000\000"};
static struct {unsigned f; char r[16];} string101 = {851984, "\257\300\356\024\243\250\300\175\157\203\227\100\150\000\000"};
static struct {unsigned f; char r[16];} string102 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string103 = {851984, "\257\300\046\300\267\143\300\022\215\240\122\100\150\000\000"};
static struct {unsigned f; char r[16];} string104 = {851984, "\257\300\144\364\322\150\300\206\136\277\046\100\150\000\000"};
static struct {unsigned f; char r[16];} string105 = {851984, "\257\300\141\260\110\353\300\162\250\066\353\100\150\000\000"};
static struct {unsigned f; char r[16];} string106 = {851984, "\257\300\263\221\075\070\300\264\022\010\174\100\164\000\000"};
static struct {unsigned f; char r[16];} string107 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string108 = {851984, "\257\300\117\004\011\134\300\015\100\060\362\100\150\000\000"};
static struct {unsigned f; char r[16];} string109 = {851984, "\257\300\353\035\365\325\300\132\075\117\337\100\150\000\000"};
static struct {unsigned f; char r[16];} string110 = {851984, "\257\300*Zqx\300yN\237>@h\000\000"};
static struct {unsigned f; char r[16];} string111 = {851984, "\257\300\233\251\177\064\300\273\157\236\236\100\150\000\000"};
static struct {unsigned f; char r[16];} string112 = {851984, "\257\300\136\253\306\024\300\100\114\357\174\100\150\000\000"};
static struct {unsigned f; char r[16];} string113 = {851984, "\257\300\134\353\367\206\300\202\044\112\356\100\150\000\000"};
static struct {unsigned f; char r[16];} string114 = {851984, "\257\300\045\005\337\143\300\252\356\334\244\100\150\000\000"};
static struct {unsigned f; char r[16];} string115 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\150\000\000"};
static struct {unsigned f; char r[28];} string116 = {1572892, "\211\014\013\103\157\156\164\162\157\154\163\117\142\152\300\223\145\303\043\300\372\023\025\003\000\000\000"};
static struct {unsigned f; char r[16];} string117 = {851984, "\257\300\365$\303)\300KDZZ@t\000\000"};
static struct {unsigned f; char r[88];} string118 = {5701719, "\006\041\000\001\004\001\010\001\014\001\020\001\024\001\030\001\034\001\040\001\050\001\054\001\064\001\070\001\074\001\100\100\001\100\104\001\100\110\001\100\114\001\100\120\001\100\124\001\100\130\001\100\140\001\100\150\001\100\160\001\100\164\001\100\174\001\100\200\001\100\204\001\100\210\001\100\214\001\100\220\001\100\224\001\100\230\001"};
static struct {unsigned f; char r[16];} string119 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\150\000\000"};
static struct {unsigned f; char r[24];} string120 = {1376280, "\211\011\010\123\143\145\156\145\117\142\152\300\247\365\203\234\300\047\265\225\046\000\000"};
static struct {unsigned f; char r[16];} string121 = {851984, "\257\300\023\042\171\072\300\052\367\123\170\100\164\000\000"};
static struct {unsigned f; char r[28];} string122 = {1572888, "\006\010\014\001\020\001\024\001\030\004\155\273\100\120\013\100\214\001\100\220\001\100\224\001\000\000\000"};
static struct {unsigned f; char r[16];} string123 = {851984, "\257\300\304\141\336\362\300\236\375\331\052\100\150\000\000"};
static struct {
   word f0[99]; word f99; word f100; word f101; 
   word f102; word f103; word f104; word f105; 
   word f106; word f107; word f108; word f109; 
   word f110; word f111; word f112; word f113; 
   word f114; word f115; word f116; word f117; 
   word f118; word f119; word f120; word f121; 
   word f122; word f123; word f124; word f125; 
   word f126; word f127; word f128; word f129; 
   word f130; word f131; word f132; word f133; 
   word f134; word f135; word f136; word f137; 
   word f138; word f139; word f140; word f141; 
   word f142; word f143; word f144; word f145; 
   word f146; word f147; word f148; word f149; 
   word f150; word f151; word f152; word f153; 
   word f154; word f155; word f156; word f157; 
   word f158[32]; 
   } globalframe = {
   {0}, (word) Init←P1680, 0, (word) Choice←P1620, 
   0, (word) LineDistViewInGGData←P1560, 0, (word) DistanceViewInGGData←P1500, 
   0, (word) AngleViewInGGData←P1440, 0, (word) SlopeViewInGGData←P1380, 
   0, (word) GravityExtentRepaint←P1320, 0, (word) HeuristicsInGGData←P1260, 
   0, (word) MidpointsInGGData←P1200, 0, (word) AlignmentsInGGData←P1140, 
   0, (word) GravityInGGData←P1080, 0, (word) BuildMeasureLine←P1020, 
   0, (word) BuildDistanceLine←P960, 0, (word) BuildRadiusLine←P900, 
   0, (word) BuildAngleLine←P840, 0, (word) BuildSlopeLine←P780, 
   0, (word) InitializeGravityLine←P720, 0, (word) UnQueuedControlPanelNotify←P660, 
   0, (word) ControlPanelNotify←P600, 0, (word) BuildActiveDocument←P540, 
   0, (word) ConnectToGGControlPanel←P480, 0, (word) LinkToActionArea←P420, 
   0, (word) FindControlPanel←P360, 0, (word) IsGargoyle←P300, 
   0, (word) FeedbackLineInGGData←P240, 0, (word) BuildFeedbackLine←P180, 
   0, (word) BuildControlPanel←P120, 0, (word) AddARule←P60, 
   0, (word) GGMenuImpl←P0, 0, (word) 2147483647, 
   {0}
   };

static void NoName←Q2148()
   {
   register ptr gf←c0384 =  (ptr) &globalframe;
   word var←c53148;
   (* (( (ptr) gf←c0384)+8) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c0384)+9) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
   (* (( (ptr) gf←c0384)+10) ) = (word) XR←GetTypeIndexS((word) (&string4));
   (* (( (ptr) gf←c0384)+12) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string3);
   (* (( (ptr) gf←c0384)+17) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c0384)+18) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string9);
   (* (( (ptr) gf←c0384)+22) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
   (* (( (ptr) gf←c0384)+23) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string9);
   (* (( (ptr) gf←c0384)+24) ) = (word) XR←GetTypeIndexS((word) (&string13));
   (* (( (ptr) gf←c0384)+25) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string9);
   (* (( (ptr) gf←c0384)+27) ) = (word) XR←GetTypeIndex((word) &string15, 0, (word) &string16);
   (*  (ptr) (( (bPt) gf←c0384)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0384)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0384)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0384)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0384)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0384)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0384)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0384)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0384)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0384)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c0384)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0384)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0384)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0384)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0384)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0384)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0384)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0384)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0384)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0384)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0384)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c0384)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c0384)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string39);
   (*  (ptr) (( (bPt) gf←c0384)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string40);
   (*  (ptr) (( (bPt) gf←c0384)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string41);
   (*  (ptr) (( (bPt) gf←c0384)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string42);
   (*  (ptr) (( (bPt) gf←c0384)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string43);
   (*  (ptr) (( (bPt) gf←c0384)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string44);
   (*  (ptr) (( (bPt) gf←c0384)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string45);
   (*  (ptr) (( (bPt) gf←c0384)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string46);
   (*  (ptr) (( (bPt) gf←c0384)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string47);
   (*  (ptr) (( (bPt) gf←c0384)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string48);
   (*  (ptr) (( (bPt) gf←c0384)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string49);
   (*  (ptr) (( (bPt) gf←c0384)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string50);
   (*  (ptr) (( (bPt) gf←c0384)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string51);
   (*  (ptr) (( (bPt) gf←c0384)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string52);
   (*  (ptr) (( (bPt) gf←c0384)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string53);
   (*  (ptr) (( (bPt) gf←c0384)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string54);
   (*  (ptr) (( (bPt) gf←c0384)+268) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string55);
   (*  (ptr) (( (bPt) gf←c0384)+272) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string56);
   (*  (ptr) (( (bPt) gf←c0384)+276) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string57);
   (*  (ptr) (( (bPt) gf←c0384)+280) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string58);
   (*  (ptr) (( (bPt) gf←c0384)+284) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string59);
   (*  (ptr) (( (bPt) gf←c0384)+288) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string60);
   (*  (ptr) (( (bPt) gf←c0384)+292) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string61);
   (*  (ptr) (( (bPt) gf←c0384)+296) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string62);
   (*  (ptr) (( (bPt) gf←c0384)+300) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string63);
   (*  (ptr) (( (bPt) gf←c0384)+304) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string64);
   (*  (ptr) (( (bPt) gf←c0384)+308) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string65);
   (*  (ptr) (( (bPt) gf←c0384)+312) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string66);
   (*  (ptr) (( (bPt) gf←c0384)+316) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string67);
   (*  (ptr) (( (bPt) gf←c0384)+320) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string68);
   (*  (ptr) (( (bPt) gf←c0384)+324) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string69);
   (*  (ptr) (( (bPt) gf←c0384)+328) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string70);
   (*  (ptr) (( (bPt) gf←c0384)+332) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string71);
   (*  (ptr) (( (bPt) gf←c0384)+336) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string72);
   (*  (ptr) (( (bPt) gf←c0384)+340) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string73);
   (*  (ptr) (( (bPt) gf←c0384)+344) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string74);
   (*  (ptr) (( (bPt) gf←c0384)+348) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string75);
   (*  (ptr) (( (bPt) gf←c0384)+352) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string76);
   (*  (ptr) (( (bPt) gf←c0384)+356) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string77);
   (*  (ptr) (( (bPt) gf←c0384)+360) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string78);
   (*  (ptr) (( (bPt) gf←c0384)+364) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string79);
   (*  (ptr) (( (bPt) gf←c0384)+368) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string80);
   (*  (ptr) (( (bPt) gf←c0384)+372) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string81);
   (*  (ptr) (( (bPt) gf←c0384)+376) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string82);
   (*  (ptr) (( (bPt) gf←c0384)+380) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string83);
   (*  (ptr) (( (bPt) gf←c0384)+388) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+12) ), (word) &string84);
   (*  (ptr) (( (bPt) gf←c0384)+392) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0384)+9) ), (word) &string85);
   (void) XR←DeclareGlobalFrame((word) "GGMenuImpl", &globalframe, (word) XR←GetTypeIndex((word) &string86, 0, (word) &string87)
      , (word) (( (bPt) gf←c0384)+620)/* var←c44700 */ );
   var←c53148 = (word) XR←ImportInterface((word) "AtomButtons", (word) XR←GetTypeIndexS((word) (&string88)), 21);
   (* (( (ptr) gf←c0384)+164)/* var←c45020 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 68158468);
   (void) XR←ImportProcS(var←c53148, 69206024);
   var←c53148 = (word) XR←ImportInterface((word) "EmbeddedButtons", (word) XR←GetTypeIndexS((word) (&string89)), 32);
   (* (( (ptr) gf←c0384)+173)/* var←c45820 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 1310981);
   var←c53148 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string90)), 25);
   (* (( (ptr) gf←c0384)+165)/* var←c45052 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67634178);
   (void) XR←ImportProcS(var←c53148, 1050628);
   (void) XR←ImportProcS(var←c53148, 67109632);
   var←c53148 = (word) XR←ImportInterface((word) "FeedbackOps", (word) XR←GetTypeIndexS((word) (&string91)), 19);
   (* (( (ptr) gf←c0384)+166)/* var←c45180 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 789507);
   (void) XR←ImportProcS(var←c53148, 790019);
   (void) XR←ImportProcS(var←c53148, 1051140);
   var←c53148 = (word) XR←ImportInterface((word) "GGActive", (word) XR←GetTypeIndexS((word) (&string92)), 4);
   (* (( (ptr) gf←c0384)+172)/* var←c45788 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 786947);
   (void) XR←ImportProcS(var←c53148, 67371009);
   var←c53148 = (word) XR←ImportInterface((word) "GGCircleCache", (word) XR←GetTypeIndexS((word) (&string93)), 6);
   (* (( (ptr) gf←c0384)+184)/* var←c50012 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67108864);
   var←c53148 = (word) XR←ImportInterface((word) "GGContainer", (word) XR←GetTypeIndexS((word) (&string94)), 6);
   (* (( (ptr) gf←c0384)+162)/* var←c44860 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 524802);
   var←c53148 = (word) XR←ImportInterface((word) "GGEvent", (word) XR←GetTypeIndexS((word) (&string95)), 38);
   (* (( (ptr) gf←c0384)+183)/* var←c48060 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 530434);
   (void) XR←ImportProcS(var←c53148, 530690);
   (void) XR←ImportProcS(var←c53148, 530178);
   (void) XR←ImportProcS(var←c53148, 530946);
   var←c53148 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string96)), 50);
   (* (( (ptr) gf←c0384)+175)/* var←c46044 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67371009);
   var←c53148 = (word) XR←ImportInterface((word) "GGShapes", (word) XR←GetTypeIndexS((word) (&string97)), 20);
   (* (( (ptr) gf←c0384)+186)/* var←c52732 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 1575684);
   var←c53148 = (word) XR←ImportInterface((word) "GGState", (word) XR←GetTypeIndexS((word) (&string98)), 119);
   (* (( (ptr) gf←c0384)+171)/* var←c45724 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 548098);
   (void) XR←ImportProcS(var←c53148, 546818);
   (void) XR←ImportProcS(var←c53148, 540418);
   (void) XR←ImportProcS(var←c53148, 67109888);
   var←c53148 = (word) XR←ImportInterface((word) "GGUserInput", (word) XR←GetTypeIndexS((word) (&string99)), 13);
   (* (( (ptr) gf←c0384)+163)/* var←c44988 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 1312261);
   (void) XR←ImportProcS(var←c53148, 525314);
   (void) XR←ImportProcS(var←c53148, 525058);
   var←c53148 = (word) XR←ImportInterface((word) "GGUserProfile", (word) XR←GetTypeIndexS((word) (&string100)), 25);
   (* (( (ptr) gf←c0384)+182)/* var←c47036 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67109376);
   (void) XR←ImportProcS(var←c53148, 67109888);
   var←c53148 = (word) XR←ImportInterface((word) "GGWindow", (word) XR←GetTypeIndexS((word) (&string101)), 12);
   (* (( (ptr) gf←c0384)+176)/* var←c46076 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 137626893);
   var←c53148 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string102)), 84);
   (* (( (ptr) gf←c0384)+185)/* var←c52668 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 790018);
   var←c53148 = (word) XR←ImportInterface((word) "ImagerFont", (word) XR←GetTypeIndexS((word) (&string103)), 26);
   (* (( (ptr) gf←c0384)+187)/* var←c52796 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67633922);
   var←c53148 = (word) XR←ImportInterface((word) "List", (word) XR←GetTypeIndexS((word) (&string104)), 28);
   (* (( (ptr) gf←c0384)+181)/* var←c46972 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67633666);
   var←c53148 = (word) XR←ImportInterface((word) "PFS", (word) XR←GetTypeIndexS((word) (&string105)), 40);
   (* (( (ptr) gf←c0384)+170)/* var←c45532 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67633154);
   (void) XR←ImportProcS(var←c53148, 67371265);
   (void) XR←ImportProcS(var←c53148, 605292546);
   var←c53148 = (word) XR←ImportInterface((word) "PFSNames", (word) XR←GetTypeIndexS((word) (&string106)), 39);
   (* (( (ptr) gf←c0384)+167)/* var←c45404 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67373825);
   var←c53148 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string107)), 43);
   (* (( (ptr) gf←c0384)+168)/* var←c45468 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67900163);
   var←c53148 = (word) XR←ImportInterface((word) "Rules", (word) XR←GetTypeIndexS((word) (&string108)), 3);
   (* (( (ptr) gf←c0384)+161)/* var←c44828 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 74973187);
   var←c53148 = (word) XR←ImportInterface((word) "SimpleFeedback", (word) XR←GetTypeIndexS((word) (&string109)), 7);
   (* (( (ptr) gf←c0384)+174)/* var←c45884 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 1310981);
   (void) XR←ImportProcS(var←c53148, 1048580);
   var←c53148 = (word) XR←ImportInterface((word) "TiogaActive", (word) XR←GetTypeIndexS((word) (&string110)), 3);
   (* (( (ptr) gf←c0384)+179)/* var←c46812 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67371265);
   var←c53148 = (word) XR←ImportInterface((word) "TiogaIO", (word) XR←GetTypeIndexS((word) (&string111)), 17);
   (* (( (ptr) gf←c0384)+177)/* var←c46716 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 403966722);
   var←c53148 = (word) XR←ImportInterface((word) "TiogaOps", (word) XR←GetTypeIndexS((word) (&string112)), 128);
   (* (( (ptr) gf←c0384)+180)/* var←c46940 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 556290);
   var←c53148 = (word) XR←ImportInterface((word) "UserProfile", (word) XR←GetTypeIndexS((word) (&string113)), 11);
   (* (( (ptr) gf←c0384)+169)/* var←c45500 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 67633922);
   var←c53148 = (word) XR←ImportInterface((word) "ViewerTools", (word) XR←GetTypeIndexS((word) (&string114)), 12);
   (* (( (ptr) gf←c0384)+178)/* var←c46780 */  ) = var←c53148;
   (void) XR←ImportProcS(var←c53148, 74711298);
   var←c53148 = (word) XR←ExportInterface((word) "GGInterfaceTypes", (word) XR←GetTypeIndexS((word) (&string115)), 6);
   (* (( (ptr) gf←c0384)+188)/* var←c53180 */  ) = var←c53148;
   (void) XR←ExportType((word) "ControlsObj", (word) XR←GetTypeIndexS((word) (&string116)), (word) XR←GetTypeIndex((word) &string117, 0, (word) &string118)
      );
   var←c53148 = (word) XR←ExportInterface((word) "GGModelTypes", (word) XR←GetTypeIndexS((word) (&string119)), 1);
   (* (( (ptr) gf←c0384)+188)/* var←c53180 */  ) = var←c53148;
   (void) XR←ExportType((word) "SceneObj", (word) XR←GetTypeIndexS((word) (&string120)), (word) XR←GetTypeIndex((word) &string121, 0, (word) &string122)
      );
   var←c53148 = (word) XR←ExportInterface((word) "GGMenu", (word) XR←GetTypeIndexS((word) (&string123)), 1);
   (* (( (ptr) gf←c0384)+189)/* var←c53212 */  ) = var←c53148;
   (void) XR←ExportProcS(var←c53148, (word) (( (bPt) gf←c0384)+604)/* var←c44636 */ , 524290, (word) "BuildControlPanel");
   }

static void GGMenuImpl←P0(formal←c068, formal←c067)
   word formal←c068;
   word formal←c067;
   {
   /* GGMenuImpl: */ 
SOURCE(467, 13673)
   /* moved to installation proc */ 
SOURCE(14134, 6)
   (void) Init←P1680();
   }

static void AddARule←P60(ggData←v5652)
   word ggData←v5652;
   {
   register ptr gf←c53244 =  (ptr) &globalframe;
   word rule←v7088;
   /* AddARule: */ 
SOURCE(1788, 267)
SOURCE(1824, 122)
   {
      W28 var←c44796;
      W30 var←c072;
      XR←FillWords(&(* (W27Pt) (&var←c44796)), 27, 0);
      {
         word idx124;
         (* (( (ptr) &var←c44796)+2) ) = (
            idx124 = (* (( (ptr) ggData←v5652)+4) ),
            SGNCK(idx124)
            );
         };
      (* (( (ptr) &var←c44796)+3) ) = (* (( (ptr) (* (( (ptr) (*  (ptr) ggData←v5652 ))+1) ))+7) );
      (* (( (ptr) &var←c44796)+4) ) = 2;
      (* (( (ptr) &var←c44796)+17) ) =  (word) -1;
      (* (( (ptr) &var←c44796)+18) ) = 1;
      (* (( (ptr) &var←c44796)+19) ) = 1493172224;
      (* (( (ptr) &var←c44796)+22) ) = (* (( (ptr) (*  (ptr) ggData←v5652 ))+1) );
      (* (( (ptr) &var←c44796)+27) ) = 27;
      (*  (W28Pt) (word) &var←c072 ) = var←c44796;
      (* (( (ptr) (word) &var←c072) + 28) ) = 0;
      (* (( (ptr) (word) &var←c072) + 29) ) = 1;
      {
         word pd125;
         pd125 = (* (( (ptr) (* (( (ptr) gf←c53244)+161)/* var←c44828 */  ))+4) );
         rule←v7088 = (word) ( *( (fPt) ((*  (ptr) pd125 ))))((word) (&var←c072), pd125);
         };
      };
SOURCE(1948, 52)
   {
      word pd126;
      pd126 = (* (( (ptr) (* (( (ptr) gf←c53244)+162)/* var←c44860 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd126 ))))((* (( (ptr) (*  (ptr) ggData←v5652 ))+1) ), rule←v7088, pd126);
      };
SOURCE(2002, 53)
   (* (( (ptr) ggData←v5652)+4) ) = (((* (( (ptr) ggData←v5652)+4) ) + (* (( (ptr) rule←v7088)+4) )) + 2);
   }

static void BuildControlPanel←P120(ggData←v5712, fancyPanel←v5740)
   word ggData←v5712;
   word fancyPanel←v5740;
   {
   /* BuildControlPanel: */ 
SOURCE(2060, 319)
SOURCE(2138, 39)
   (void) BuildActiveDocument←P540(ggData←v5712, fancyPanel←v5740);
SOURCE(2179, 29)
   (void) InitializeGravityLine←P720(ggData←v5712);
SOURCE(2210, 22)
   (void) BuildSlopeLine←P780(ggData←v5712);
SOURCE(2234, 22)
   (void) BuildAngleLine←P840(ggData←v5712);
SOURCE(2258, 23)
   (void) BuildRadiusLine←P900(ggData←v5712);
SOURCE(2283, 25)
   (void) BuildDistanceLine←P960(ggData←v5712);
SOURCE(2310, 24)
   (void) BuildMeasureLine←P1020(ggData←v5712);
SOURCE(2336, 25)
   (void) BuildFeedbackLine←P180(ggData←v5712);
SOURCE(2363, 16)
   (void) AddARule←P60(ggData←v5712);
   }

static void BuildFeedbackLine←P180(ggData←v5800)
   word ggData←v5800;
   {
   register ptr gf←c53276 =  (ptr) &globalframe;
   word nextX←v7132;
   /* BuildFeedbackLine: */ 
SOURCE(2385, 394)
SOURCE(2430, 304)
   {
      word var←c44892;
      {
         word var←c44924;
         word var←c44956;
         var←c44924 = XR←NewObject(52, (* (( (ptr) gf←c53276)+17) ));
         var←c44956 = var←c44924;
         (*  (ptr) var←c44956 ) = 1;
         (* (( (ptr) var←c44956)+1) ) = (* (( (ptr) gf←c53276)+57) );
         (* (( (ptr) var←c44956)+2) ) = (word) (( (bPt) gf←c53276)+588)/* var←c44572 */ ;
         (* (( (ptr) var←c44956)+3) ) = 1000;
         (* (( (ptr) var←c44956)+4) ) =  (word) -1;
         var←c44892 = var←c44924;
         };
      {
         word pd127;
         word idx128;
         word idx129;
         pd127 = (* (( (ptr) (* (( (ptr) gf←c53276)+164)/* var←c45020 */  ))+4) );
         nextX←v7132 = (
            idx129 = (word) ( *( (fPt) ((*  (ptr) pd127 ))))((* (( (ptr) (*  (ptr) ggData←v5800 ))+1) ), 0, (
                  idx128 = (* (( (ptr) ggData←v5800)+4) ),
                  SGNCK(idx128)
                  ), ggData←v5800, (* (( (ptr) (* (( (ptr) gf←c53276)+163)/* var←c44988 */  ))+7) ), var←c44892
               , 2, 15, pd127),
            SGNCK(idx129)
            );
         };
      };
SOURCE(2736, 43)
   (* (( (ptr) ggData←v5800)+4) ) = ((* (( (ptr) ggData←v5800)+4) ) + 15);
   }

static void FeedbackLineInGGData←P240(name←v17496, clientData←v17524, button←v17552)
   word name←v17496;
   word clientData←v17524;
   word button←v17552;
   {
   register ptr gf←c53308 =  (ptr) &globalframe;
   word ggData←v7176;
   word router←v7204;
   /* FeedbackLineInGGData: */ 
SOURCE(2785, 521)
SOURCE(2834, 35)
   ggData←v7176 = XR←Narrow(clientData←v17524, (* (( (ptr) gf←c53308)+22) ));
SOURCE(2871, 43)
   {
      word pd130;
      pd130 = (* (( (ptr) (* (( (ptr) gf←c53308)+165)/* var←c45052 */  ))+7) );
      router←v7204 = (word) ( *( (fPt) ((*  (ptr) pd130 ))))(pd130);
      };
SOURCE(2916, 73)
   {
      word var←c45084;
      {
         word var←c45116;
         word var←c45148;
         var←c45116 = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45148 = var←c45116;
         (*  (ptr) var←c45148 ) = (* (( (ptr) gf←c53308)+46) );
         (* (( (ptr) var←c45148)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45148 = (* (( (ptr) var←c45148)+1) );
         (*  (ptr) var←c45148 ) = (* (( (ptr) gf←c53308)+52) );
         var←c45084 = var←c45116;
         };
      {
         word pd131;
         pd131 = (* (( (ptr) (* (( (ptr) gf←c53308)+166)/* var←c45180 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd131 ))))(router←v7204, button←v17552, 1, var←c45084, pd131);
         };
      };
SOURCE(3000, 119)
   {
      word var←c45212;
      {
         word var←c45244;
         word var←c45276;
         var←c45244 = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45276 = var←c45244;
         (*  (ptr) var←c45276 ) = (* (( (ptr) gf←c53308)+31) );
         (* (( (ptr) var←c45276)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45276 = (* (( (ptr) var←c45276)+1) );
         (*  (ptr) var←c45276 ) = (* (( (ptr) gf←c53308)+30) );
         (* (( (ptr) var←c45276)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45276 = (* (( (ptr) var←c45276)+1) );
         (*  (ptr) var←c45276 ) = (* (( (ptr) gf←c53308)+29) );
         (* (( (ptr) var←c45276)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45276 = (* (( (ptr) var←c45276)+1) );
         (*  (ptr) var←c45276 ) = (* (( (ptr) gf←c53308)+28) );
         (* (( (ptr) var←c45276)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45276 = (* (( (ptr) var←c45276)+1) );
         (*  (ptr) var←c45276 ) = (* (( (ptr) gf←c53308)+43) );
         (* (( (ptr) var←c45276)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45276 = (* (( (ptr) var←c45276)+1) );
         (*  (ptr) var←c45276 ) = (* (( (ptr) gf←c53308)+44) );
         var←c45212 = var←c45244;
         };
      {
         word pd132;
         pd132 = (* (( (ptr) (* (( (ptr) gf←c53308)+166)/* var←c45180 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd132 ))))(router←v7204, button←v17552, 0, var←c45212, pd132);
         };
      };
SOURCE(3121, 122)
   {
      word var←c45308;
      {
         word var←c45340;
         word var←c45372;
         var←c45340 = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45372 = var←c45340;
         (*  (ptr) var←c45372 ) = (* (( (ptr) gf←c53308)+46) );
         (* (( (ptr) var←c45372)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45372 = (* (( (ptr) var←c45372)+1) );
         (*  (ptr) var←c45372 ) = (* (( (ptr) gf←c53308)+29) );
         (* (( (ptr) var←c45372)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45372 = (* (( (ptr) var←c45372)+1) );
         (*  (ptr) var←c45372 ) = (* (( (ptr) gf←c53308)+43) );
         (* (( (ptr) var←c45372)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45372 = (* (( (ptr) var←c45372)+1) );
         (*  (ptr) var←c45372 ) = (* (( (ptr) gf←c53308)+34) );
         (* (( (ptr) var←c45372)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45372 = (* (( (ptr) var←c45372)+1) );
         (*  (ptr) var←c45372 ) = (* (( (ptr) gf←c53308)+52) );
         (* (( (ptr) var←c45372)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53308)+23) ));
         var←c45372 = (* (( (ptr) var←c45372)+1) );
         (*  (ptr) var←c45372 ) = (* (( (ptr) gf←c53308)+44) );
         var←c45308 = var←c45340;
         };
      {
         word pd133;
         pd133 = (* (( (ptr) (* (( (ptr) gf←c53308)+166)/* var←c45180 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd133 ))))(router←v7204, (* (( (ptr) gf←c53308)+33) ), var←c45308, pd133);
         };
      };
SOURCE(3245, 22)
   (* (( (ptr) ggData←v7176)+3) ) = router←v7204;
SOURCE(3269, 37)
   (* (( (ptr) (*  (ptr) ggData←v7176 ))+6) ) = button←v17552;
   }

static word IsGargoyle←P300(path←v5860)
   word path←v5860;
   {
   register ptr gf←c53340 =  (ptr) &globalframe;
   word var←c5904;
   word short←v7248;
   /* IsGargoyle: */ 
SOURCE(3312, 179)
SOURCE(3365, 42)
   {
      word pd134;
      pd134 = (* (( (ptr) (* (( (ptr) gf←c53340)+167)/* var←c45404 */  ))+15) );
      short←v7248 = (word) ( *( (fPt) ((*  (ptr) pd134 ))))(path←v5860, pd134);
      };
SOURCE(3409, 82)
   {
      word tc135;
      word pd136;
      word pd137;
      pd136 = (* (( (ptr) (* (( (ptr) gf←c53340)+168)/* var←c45468 */  ))+23) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd136 ))))((* (( (ptr) gf←c53340)+35) ), short←v7248, 0, pd136))) {
         tc135 =  (word)  (unsigned) 1;
         }
      else {
         pd137 = (* (( (ptr) (* (( (ptr) gf←c53340)+168)/* var←c45468 */  ))+23) );
         tc135 =  (word)  (unsigned) (0 != (word) ( *( (fPt) ((*  (ptr) pd137 ))))((* (( (ptr) gf←c53340)+36) ), short←v7248, 0, pd137)
         );
         };
      return(tc135);
      };
   }

static void FindControlPanel←P360(formal←c0102, formal←c0421)
   word formal←c0102;
   word formal←c0421;
   {
   W8 var←c53372;
   /* declaration of fancy←v5980 skipped */ 
   register ptr gf←c53404 =  (ptr) &globalframe;
   /* declaration of path←v6024 skipped */ 
   /* declaration of isGargoyle←v6052 skipped */ 
   word value←v7292;
   var←c53372.f4/* fancy←v5980 */  = formal←c0421;
   /* FindControlPanel: */ 
SOURCE(3659, 694)
SOURCE(3659, 694)
   var←c53372.f5/* path←v6024 */  = 0;
SOURCE(3659, 694)
   var←c53372.f6/* isGargoyle←v6052 */  = 0;
SOURCE(3766, 7)
   {
      word pd138;
      pd138 = (* (( (ptr) (* (( (ptr) gf←c53404)+169)/* var←c45500 */  ))+7) );
      value←v7292 = (word) ( *( (fPt) ((*  (ptr) pd138 ))))((* (( (ptr) gf←c53404)+37) ), 0, pd138);
      };
SOURCE(3848, 288)
   {
      /* declaration of list←v7420 skipped */ 
      var←c53372.f7/* list←v7420 */  = value←v7292;
      lab←L100004: ;
      if ((var←c53372.f7/* list←v7420 */  != 0)) {
         }
      else {
         goto lab←L100001;
         };
SOURCE(3910, 226)
SOURCE(3910, 226)
      {
         word var←c01;
         {
            word var←c0417;
            var←c0417 = (word) &var←c53372;
            var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2268) ), ( ((word)  (fPt) NoName←Q2388) ), var←c0417);
            };
         if ((var←c01 == 3)) {
            /* removed tail goto */ 
            }
         else {
            if ((var←c01 == 2)) {
               goto lab←L100000;
               };
            };
         };
      var←c53372.f7/* list←v7420 */  = (* (( (ptr) var←c53372.f7/* list←v7420 */ )+1) );
      goto lab←L100004;
      lab←L100001: ;
      };
SOURCE(4152, 178)
SOURCE(4152, 178)
   {
      word var←c02;
      {
         word var←c0418;
         var←c0418 = (word) &var←c53372;
         var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2208) ), ( ((word)  (fPt) NoName←Q2328) ), var←c0418);
         };
      if ((var←c02 == 4)) {
         /* removed tail goto */ 
         }
      else {
         if ((var←c02 == 2)) {
            goto lab←L100000;
            };
         };
      };
SOURCE(4335, 18)
   var←c53372.f5/* path←v6024 */  = 0;
   var←c53372.f6/* isGargoyle←v6052 */  = 0;
   /* removed tail goto */ 
   lab←L100000: ;
   (*  (ptr) formal←c0102 ) = var←c53372.f5/* path←v6024 */ ;
   (* (( (ptr) formal←c0102)+1) ) = var←c53372.f6/* isGargoyle←v6052 */ ;
   return;
   }

static word NoName←Q2208(formal←c0391)
   word formal←c0391;
   {
   register ptr gf←c0390 =  (ptr) &globalframe;
SOURCE(4182, 36)
   {
      word rope←v7648;
      W2 var←c45596;
      word fullFName←v7676;
      word var←c45628;
      W9 var←c0107;
SOURCE(4182, 36)
      var←c45596.f0 = (* (( (ptr) gf←c0390)+86) );
      var←c45596.f1 = (* (( (ptr) gf←c0390)+59) );
      rope←v7648 = (* (( (ptr) &var←c45596)+(* (( (ptr) formal←c0391)+4) )) );
SOURCE(4220, 68)
      {
         word pd139;
         pd139 = (* (( (ptr) (* (( (ptr) gf←c0390)+170)/* var←c45532 */  ))+5) );
         var←c45628 = (word) ( *( (fPt) ((*  (ptr) pd139 ))))(rope←v7648, pd139);
         };
      {
         word pd140;
         pd140 = (* (( (ptr) (* (( (ptr) gf←c0390)+170)/* var←c45532 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd140 ))))((word) &var←c0107, var←c45628, (*  (W4Pt) (( (ptr) gf←c0390)+157)/* var←c44764 */  ), pd140)
         ;
         };
      fullFName←v7676 = (*  (ptr) &var←c0107 );
SOURCE(4290, 40)
      {
         word var←c45692;
         var←c45692 = (word) IsGargoyle←P300(fullFName←v7676);
         (* (( (ptr) formal←c0391)+5) ) = fullFName←v7676;
         (* (( (ptr) formal←c0391)+6) ) = var←c45692;
         return(2);
         };
      };
   /* c2c skipped dead code */ 
   }

static word NoName←Q2268(formal←c0393)
   word formal←c0393;
   {
   register ptr gf←c0392 =  (ptr) &globalframe;
SOURCE(3940, 23)
   {
      word rope←v7548;
      word fullFName←v7576;
      word var←c45564;
      W9 var←c0112;
      word gargoyle←v7604;
SOURCE(3940, 23)
      rope←v7548 = (*  (ptr) (* (( (ptr) formal←c0393)+7) ) );
SOURCE(3965, 68)
      {
         word pd141;
         pd141 = (* (( (ptr) (* (( (ptr) gf←c0392)+170)/* var←c45532 */  ))+5) );
         var←c45564 = (word) ( *( (fPt) ((*  (ptr) pd141 ))))(rope←v7548, pd141);
         };
      {
         word pd142;
         pd142 = (* (( (ptr) (* (( (ptr) gf←c0392)+170)/* var←c45532 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd142 ))))((word) &var←c0112, var←c45564, (*  (W4Pt) (( (ptr) gf←c0392)+157)/* var←c44764 */  ), pd142)
         ;
         };
      fullFName←v7576 = (*  (ptr) &var←c0112 );
SOURCE(4035, 38)
      gargoyle←v7604 = (word) IsGargoyle←P300(fullFName←v7576);
SOURCE(4075, 61)
      if ((0 == (* (( (ptr) formal←c0393)+4) )) || (0 != gargoyle←v7604)) {
SOURCE(4109, 27)
         (* (( (ptr) formal←c0393)+5) ) = fullFName←v7576;
         (* (( (ptr) formal←c0393)+6) ) = gargoyle←v7604;
         return(2);
         };
      };
   return(0);
   }

static void LinkToActionArea←P420(ggData←v20136, event←v20164)
   word ggData←v20136;
   word event←v20164;
   {
   register ptr gf←c53436 =  (ptr) &globalframe;
   word theirData←v7720;
   /* LinkToActionArea: */ 
SOURCE(4359, 312)
SOURCE(4407, 45)
   {
      word pd143;
      pd143 = (* (( (ptr) (* (( (ptr) gf←c53436)+171)/* var←c45724 */  ))+8) );
      theirData←v7720 = (word) ( *( (fPt) ((*  (ptr) pd143 ))))(pd143);
      };
SOURCE(4454, 217)
   if ((theirData←v7720 == 0)) {
SOURCE(4478, 130)
      {
         word pd144;
         pd144 = (* (( (ptr) (* (( (ptr) gf←c53436)+165)/* var←c45052 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd144 ))))((* (( (ptr) ggData←v20136)+3) ), 0, (* (( (ptr) gf←c53436)+52) ), (* (( (ptr) gf←c53436)+38)
             ), pd144);
         };
      }
   else {
SOURCE(4610, 61)
      (void) ConnectToGGControlPanel←P480(theirData←v7720, ggData←v20136);
      };
   }

static void ConnectToGGControlPanel←P480(ggData←v6112, panelData←v6140)
   word ggData←v6112;
   word panelData←v6140;
   {
   register ptr gf←c53468 =  (ptr) &globalframe;
   word panel←v7764 = 0;
   /* ConnectToGGControlPanel: */ 
SOURCE(4680, 565)
SOURCE(4783, 68)
   {
      word var←c45756;
      {
         word pd145;
         pd145 = (* (( (ptr) (* (( (ptr) gf←c53468)+172)/* var←c45788 */  ))+4) );
         var←c45756 = (word) ( *( (fPt) ((*  (ptr) pd145 ))))(panelData←v6140, pd145);
         };
      (* (( (ptr) (*  (ptr) ggData←v6112 ))+37) ) = var←c45756;
      panel←v7764 = var←c45756;
      };
SOURCE(4853, 40)
   (* (( (ptr) (*  (ptr) ggData←v6112 ))+38) ) = 0;
SOURCE(4895, 166)
   {
      word pd146;
      pd146 = (* (( (ptr) (* (( (ptr) gf←c53468)+173)/* var←c45820 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd146 ))))(panel←v7764, (* (( (ptr) gf←c53468)+39) ), (* (( (ptr) (*  (ptr) ggData←v6112 ))+5)
          ), ggData←v6112, (word) (( (bPt) gf←c53468)+540)/* var←c44380 */ , pd146);
      };
SOURCE(5063, 182)
   {
      word pd147;
      pd147 = (* (( (ptr) (* (( (ptr) gf←c53468)+173)/* var←c45820 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd147 ))))(panel←v7764, (* (( (ptr) gf←c53468)+40) ), (* (( (ptr) (*  (ptr) ggData←v6112 ))+5)
          ), ggData←v6112, (word) (( (bPt) gf←c53468)+532)/* var←c44348 */ , pd147);
      };
   }

static void BuildActiveDocument←P540(ggData←v6200, fancyPanel←v6228)
   word ggData←v6200;
   word fancyPanel←v6228;
   {
   register ptr gf←c53500 =  (ptr) &globalframe;
   word nextX←v7808 = 0;
   word v←v7836 = 0;
   word height←v7892 = 114;
   word filePath←v7920 = 0;
   word fileName←v7948 = 0;
   word isGargoyle←v7976 = 0;
   /* BuildActiveDocument: */ 
SOURCE(5251, 2148)
SOURCE(5469, 53)
   {
      W2 var←c45852;
      (void) FindControlPanel←P360((word) &var←c45852, fancyPanel←v6228);
      isGargoyle←v7976 = var←c45852.f1;
      filePath←v7920 = var←c45852.f0;
      };
SOURCE(5524, 344)
   if ((filePath←v7920 == 0)) {
SOURCE(5547, 171)
      {
         word pd148;
         pd148 = (* (( (ptr) (* (( (ptr) gf←c53500)+174)/* var←c45884 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd148 ))))((* (( (ptr) gf←c53500)+41) ), 0, (* (( (ptr) gf←c53500)+46) ), (* (( (ptr) gf←c53500)+42)
             ), pd148);
         };
      }
   else {
SOURCE(5720, 37)
      {
         word pd149;
         pd149 = (* (( (ptr) (* (( (ptr) gf←c53500)+170)/* var←c45532 */  ))+4) );
         fileName←v7948 = (word) ( *( (fPt) ((*  (ptr) pd149 ))))(filePath←v7920, 0, pd149);
         };
SOURCE(5759, 109)
      {
         W2 v1←v43756;
         v1←v43756.f0 = 11;
         v1←v43756.f1 = fileName←v7948;
         {
            word var←c45948;
            {
               word var←c45980;
               word var←c46012;
               var←c45980 = XR←NewObject(12, (* (( (ptr) gf←c53500)+27) ));
               var←c46012 = var←c45980;
               (*  (W2Pt) var←c46012 ) = v1←v43756;
               var←c45948 = var←c45980;
               };
            {
               word pd150;
               pd150 = (* (( (ptr) (* (( (ptr) gf←c53500)+174)/* var←c45884 */  ))+5) );
               (void) ( *( (fPt) ((*  (ptr) pd150 ))))((* (( (ptr) gf←c53500)+41) ), 0, (* (( (ptr) gf←c53500)+30) ), (* (( (ptr) gf←c53500)+45)
                   ), var←c45948, pd150);
               };
            };
         };
      };
SOURCE(5873, 994)
   if ((0 != isGargoyle←v7976)) {
SOURCE(5892, 691)
      {
         word thisData←v8020 = 0;
         word scene←v8048;
SOURCE(5912, 49)
         {
            word pd151;
            pd151 = (* (( (ptr) (* (( (ptr) gf←c53500)+175)/* var←c46044 */  ))+4) );
            scene←v8048 = (word) ( *( (fPt) ((*  (ptr) pd151 ))))(0, pd151);
            };
SOURCE(5963, 12)
         height←v7892 = 140;
SOURCE(5977, 177)
         {
            W2 var←c46108;
            {
               word pd152;
               word idx153;
               pd152 = (* (( (ptr) (* (( (ptr) gf←c53500)+176)/* var←c46076 */  ))+9) );
               (void) ( *( (fPt) ((*  (ptr) pd152 ))))((word) &var←c46108, scene←v8048, 0, (
                     idx153 = (* (( (ptr) ggData←v6200)+4) ),
                     SGNCK(idx153)
                     ), 0, height←v7892
                  , 0, 0, 0, 0, (* (( (ptr) (*  (ptr) ggData←v6200 ))+1) ), (* (( (ptr) ggData←v6200)+6) )
                  , 0, 1, pd152);
               };
            thisData←v8020 = var←c46108.f1;
            v←v7836 = var←c46108.f0;
            };
SOURCE(6156, 59)
         {
            word pd154;
            pd154 = (* (( (ptr) (* (( (ptr) gf←c53500)+172)/* var←c45788 */  ))+4) );
            (* (( (ptr) (*  (ptr) ggData←v6200 ))+37) ) = (word) ( *( (fPt) ((*  (ptr) pd154 ))))(thisData←v8020, pd154);
            };
SOURCE(6217, 60)
         {
            word var←c46140;
            {
               word var←c46172;
               word var←c46204;
               var←c46172 = XR←NewObject(8, (* (( (ptr) gf←c53500)+25) ));
               var←c46204 = var←c46172;
               (*  (ptr) var←c46204 ) = (* (( (ptr) gf←c53500)+47) );
               (* (( (ptr) var←c46204)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53500)+25) ));
               var←c46204 = (* (( (ptr) var←c46204)+1) );
               (*  (ptr) var←c46204 ) = fileName←v7948;
               var←c46140 = var←c46172;
               };
            {
               word pd155;
               pd155 = (* (( (ptr) (* (( (ptr) gf←c53500)+163)/* var←c44988 */  ))+7) );
               (void) ( *( (fPt) ((*  (ptr) pd155 ))))(thisData←v8020, var←c46140, pd155);
               };
            };
SOURCE(6279, 53)
         {
            word var←c46236;
            {
               word var←c46268;
               word var←c46300;
               var←c46268 = XR←NewObject(8, (* (( (ptr) gf←c53500)+25) ));
               var←c46300 = var←c46268;
               (*  (ptr) var←c46300 ) = (* (( (ptr) gf←c53500)+48) );
               var←c46236 = var←c46268;
               };
            {
               word pd156;
               pd156 = (* (( (ptr) (* (( (ptr) gf←c53500)+163)/* var←c44988 */  ))+7) );
               (void) ( *( (fPt) ((*  (ptr) pd156 ))))(thisData←v8020, var←c46236, pd156);
               };
            };
SOURCE(6334, 73)
         {
            word var←c46332;
            {
               word var←c46364;
               word var←c46396;
               var←c46364 = XR←NewObject(8, (* (( (ptr) gf←c53500)+25) ));
               var←c46396 = var←c46364;
               (*  (ptr) var←c46396 ) = (* (( (ptr) gf←c53500)+50) );
               (* (( (ptr) var←c46396)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53500)+25) ));
               var←c46396 = (* (( (ptr) var←c46396)+1) );
               (*  (ptr) var←c46396 ) = (* (( (ptr) gf←c53500)+49) );
               var←c46332 = var←c46364;
               };
            {
               word pd157;
               pd157 = (* (( (ptr) (* (( (ptr) gf←c53500)+163)/* var←c44988 */  ))+7) );
               (void) ( *( (fPt) ((*  (ptr) pd157 ))))(thisData←v8020, var←c46332, pd157);
               };
            };
SOURCE(6409, 79)
         {
            word var←c46428;
            {
               word var←c46460;
               word var←c46492;
               var←c46460 = XR←NewObject(8, (* (( (ptr) gf←c53500)+25) ));
               var←c46492 = var←c46460;
               (*  (ptr) var←c46492 ) = (* (( (ptr) gf←c53500)+53) );
               (* (( (ptr) var←c46492)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53500)+25) ));
               var←c46492 = (* (( (ptr) var←c46492)+1) );
               {
                  word var←c46556;
                  var←c46556 = XR←NewObject(4, (* (( (ptr) gf←c53500)+24) ));
                  (*  (ptr) var←c46556 ) = (*  (ptr) &fc158 );
                  (*  (ptr) var←c46492 ) = var←c46556;
                  };
               (* (( (ptr) var←c46492)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c53500)+25) ));
               var←c46492 = (* (( (ptr) var←c46492)+1) );
               (*  (ptr) var←c46492 ) = (* (( (ptr) gf←c53500)+51) );
               var←c46428 = var←c46460;
               };
            {
               word pd159;
               pd159 = (* (( (ptr) (* (( (ptr) gf←c53500)+163)/* var←c44988 */  ))+7) );
               (void) ( *( (fPt) ((*  (ptr) pd159 ))))(thisData←v8020, var←c46428, pd159);
               };
            };
SOURCE(6490, 54)
         {
            word var←c46588;
            {
               word var←c46620;
               word var←c46652;
               var←c46620 = XR←NewObject(8, (* (( (ptr) gf←c53500)+25) ));
               var←c46652 = var←c46620;
               (*  (ptr) var←c46652 ) = (* (( (ptr) gf←c53500)+54) );
               var←c46588 = var←c46620;
               };
            {
               word pd160;
               pd160 = (* (( (ptr) (* (( (ptr) gf←c53500)+163)/* var←c44988 */  ))+7) );
               (void) ( *( (fPt) ((*  (ptr) pd160 ))))(thisData←v8020, var←c46588, pd160);
               };
            };
SOURCE(6546, 35)
         {
            word pd161;
            pd161 = (* (( (ptr) (* (( (ptr) gf←c53500)+171)/* var←c45724 */  ))+67) );
            (void) ( *( (fPt) ((*  (ptr) pd161 ))))(thisData←v8020, 1, pd161);
            };
         };
      }
   else {
SOURCE(6592, 176)
      {
         W6 var←c0156;
         word var←c46684;
         {
            word pd162;
            pd162 = (* (( (ptr) (* (( (ptr) gf←c53500)+177)/* var←c46716 */  ))+15) );
            (void) ( *( (fPt) ((*  (ptr) pd162 ))))((word) &var←c0156, filePath←v7920, (*  (W4Pt) (( (ptr) gf←c53500)+157)/* var←c44764 */  ), pd162)
            ;
            };
         var←c46684 = var←c0156.f5;
         {
            W28 var←c46748;
            W29 var←c0158;
            XR←FillWords(&(* (W26Pt) (&var←c46748)), 26, 0);
            {
               word idx163;
               (* (( (ptr) &var←c46748)+2) ) = (
                  idx163 = (* (( (ptr) ggData←v6200)+4) ),
                  SGNCK(idx163)
                  );
               };
            (* (( (ptr) &var←c46748)+4) ) = height←v7892;
            (* (( (ptr) &var←c46748)+17) ) =  (word) -1;
            (* (( (ptr) &var←c46748)+18) ) = 1;
            (* (( (ptr) &var←c46748)+19) ) = 1493172224;
            (* (( (ptr) &var←c46748)+22) ) = (* (( (ptr) (*  (ptr) ggData←v6200 ))+1) );
            (* (( (ptr) &var←c46748)+26) ) = var←c46684;
            (* (( (ptr) &var←c46748)+27) ) = 27;
            (*  (W28Pt) (word) &var←c0158 ) = var←c46748;
            (* (( (ptr) (word) &var←c0158) + 28) ) = 1;
            {
               word pd164;
               pd164 = (* (( (ptr) (* (( (ptr) gf←c53500)+178)/* var←c46780 */  ))+5) );
               v←v7836 = (word) ( *( (fPt) ((*  (ptr) pd164 ))))((word) (&var←c0158), pd164);
               };
            };
         };
SOURCE(6770, 55)
      {
         word pd165;
         pd165 = (* (( (ptr) (* (( (ptr) gf←c53500)+179)/* var←c46812 */  ))+5) );
         (* (( (ptr) (*  (ptr) ggData←v6200 ))+37) ) = (word) ( *( (fPt) ((*  (ptr) pd165 ))))(v←v7836, pd165);
         };
SOURCE(6827, 40)
      {
         word var←c46844;
         {
            word var←c46876;
            word var←c46908;
            var←c46876 = XR←NewObject(8, (* (( (ptr) gf←c53500)+25) ));
            var←c46908 = var←c46876;
            (*  (ptr) var←c46908 ) = (* (( (ptr) gf←c53500)+55) );
            var←c46844 = var←c46876;
            };
         {
            word pd166;
            pd166 = (* (( (ptr) (* (( (ptr) gf←c53500)+180)/* var←c46940 */  ))+129) );
            (void) ( *( (fPt) ((*  (ptr) pd166 ))))(v←v7836, var←c46844, pd166);
            };
         };
      };
SOURCE(6872, 49)
   {
      word pd167;
      pd167 = (* (( (ptr) (* (( (ptr) gf←c53500)+162)/* var←c44860 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd167 ))))((* (( (ptr) (*  (ptr) ggData←v6200 ))+1) ), v←v7836, pd167);
      };
SOURCE(6923, 38)
   (* (( (ptr) (*  (ptr) ggData←v6200 ))+38) ) = v←v7836;
SOURCE(6963, 189)
   {
      word pd168;
      pd168 = (* (( (ptr) (* (( (ptr) gf←c53500)+173)/* var←c45820 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd168 ))))((* (( (ptr) (*  (ptr) ggData←v6200 ))+37) ), (* (( (ptr) gf←c53500)+39) ), (* (( (ptr) (*  (ptr) ggData←v6200 ))+5)
          ), ggData←v6200, (word) (( (bPt) gf←c53500)+540)/* var←c44380 */ , pd168);
      };
SOURCE(7154, 205)
   {
      word pd169;
      pd169 = (* (( (ptr) (* (( (ptr) gf←c53500)+173)/* var←c45820 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd169 ))))((* (( (ptr) (*  (ptr) ggData←v6200 ))+37) ), (* (( (ptr) gf←c53500)+40) ), (* (( (ptr) (*  (ptr) ggData←v6200 ))+5)
          ), ggData←v6200, (word) (( (bPt) gf←c53500)+532)/* var←c44348 */ , pd169);
      };
SOURCE(7361, 38)
   (* (( (ptr) ggData←v6200)+4) ) = ((* (( (ptr) ggData←v6200)+4) ) + height←v7892);
   }

static word ControlPanelNotify←P600(buttonInfo←v20224, events←v20252, targetViewer←v20280, applicationData←v20308)
   word buttonInfo←v20224;
   word events←v20252;
   word targetViewer←v20280;
   word applicationData←v20308;
   {
   register ptr gf←c53532 =  (ptr) &globalframe;
   word result←v20352;
   word newEvent←v8092;
   word ggData←v8120;
   /* ControlPanelNotify: */ 
SOURCE(7405, 285)
SOURCE(7405, 285)
   result←v20352 = 0;
SOURCE(7456, 10)
   {
      word pd170;
      pd170 = (* (( (ptr) (* (( (ptr) gf←c53532)+181)/* var←c46972 */  ))+6) );
      newEvent←v8092 = (word) ( *( (fPt) ((*  (ptr) pd170 ))))(events←v20252, 0, pd170);
      };
SOURCE(7579, 40)
   ggData←v8120 = XR←Narrow(applicationData←v20308, (* (( (ptr) gf←c53532)+22) ));
SOURCE(7621, 69)
   {
      word pd171;
      pd171 = (* (( (ptr) (* (( (ptr) gf←c53532)+172)/* var←c45788 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd171 ))))(ggData←v8120, newEvent←v8092, buttonInfo←v20224, pd171);
      };
SOURCE(7405, 285)
   return(result←v20352);
   }

static word UnQueuedControlPanelNotify←P660(buttonInfo←v20412, events←v20440, targetViewer←v20468, applicationData←v20496)
   word buttonInfo←v20412;
   word events←v20440;
   word targetViewer←v20468;
   word applicationData←v20496;
   {
   register ptr gf←c53564 =  (ptr) &globalframe;
   word result←v20540;
   word newEvent←v8260;
   /* UnQueuedControlPanelNotify: */ 
SOURCE(7696, 244)
SOURCE(7696, 244)
   result←v20540 = 0;
SOURCE(7755, 10)
   {
      word pd172;
      pd172 = (* (( (ptr) (* (( (ptr) gf←c53564)+181)/* var←c46972 */  ))+6) );
      newEvent←v8260 = (word) ( *( (fPt) ((*  (ptr) pd172 ))))(events←v20440, 0, pd172);
      };
SOURCE(7882, 58)
   {
      word pd173;
      pd173 = (* (( (ptr) (* (( (ptr) gf←c53564)+163)/* var←c44988 */  ))+8) );
      (void) ( *( (fPt) ((*  (ptr) pd173 ))))(applicationData←v20496, newEvent←v8260, pd173);
      };
SOURCE(7696, 244)
   return(result←v20540);
   }

static void InitializeGravityLine←P720(ggData←v6288)
   word ggData←v6288;
   {
   register ptr gf←c53596 =  (ptr) &globalframe;
   /* InitializeGravityLine: */ 
SOURCE(7946, 242)
SOURCE(7995, 44)
   (* (( (ptr) (* (( (ptr) ggData←v6288)+18) ))+11) ) = 1;
SOURCE(8041, 78)
   {
      word var←c47004;
      {
         word pd174;
         word x175;
         word x177;
         pd174 = (* (( (ptr) (* (( (ptr) gf←c53596)+182)/* var←c47036 */  ))+8) );
         *(float*)&var←c47004 = (
            x175 = (word) ( *( (fPt) ((*  (ptr) pd174 ))))(pd174),  *(float*)&x175
            ) / (
            x177 = (*  (ptr) &fc176 ),  *(float*)&x177
            );
         };
      {
         word pd178;
         pd178 = (* (( (ptr) (* (( (ptr) gf←c53596)+171)/* var←c45724 */  ))+92) );
         (void) ( *( (fPt) ((*  (ptr) pd178 ))))(ggData←v6288, var←c47004, pd178);
         };
      };
SOURCE(8121, 67)
   {
      word var←c47068;
      {
         word pd179;
         pd179 = (* (( (ptr) (* (( (ptr) gf←c53596)+182)/* var←c47036 */  ))+6) );
         var←c47068 = (word) ( *( (fPt) ((*  (ptr) pd179 ))))(pd179);
         };
      {
         word pd180;
         pd180 = (* (( (ptr) (* (( (ptr) gf←c53596)+171)/* var←c45724 */  ))+97) );
         (void) ( *( (fPt) ((*  (ptr) pd180 ))))(ggData←v6288, var←c47068, pd180);
         };
      };
   }

static void BuildSlopeLine←P780(ggData←v6348)
   word ggData←v6348;
   {
   register ptr gf←c53628 =  (ptr) &globalframe;
   word buttonHandle←v8400 = 0;
   word nextX←v8428;
   /* BuildSlopeLine: */ 
SOURCE(8194, 634)
SOURCE(8282, 300)
   {
      word var←c47100;
      {
         word var←c47132;
         word var←c47164;
         var←c47132 = XR←NewObject(52, (* (( (ptr) gf←c53628)+17) ));
         var←c47164 = var←c47132;
         (* (( (ptr) var←c47164)+1) ) = (* (( (ptr) gf←c53628)+64) );
         {
            word var←c47228;
            word var←c47260;
            var←c47228 = XR←NewObject(8, (* (( (ptr) gf←c53628)+18) ));
            var←c47260 = var←c47228;
            {
               word var←c47324;
               word var←c47356;
               var←c47324 = XR←NewObject(8, (* (( (ptr) gf←c53628)+25) ));
               var←c47356 = var←c47324;
               (*  (ptr) var←c47356 ) = (* (( (ptr) gf←c53628)+65) );
               (*  (ptr) var←c47260 ) = var←c47324;
               };
            (* (( (ptr) var←c47164)+2) ) = var←c47228;
            };
         (* (( (ptr) var←c47164)+3) ) =  (word) -1;
         (* (( (ptr) var←c47164)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c47164)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c47164)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53628)+17) ));
         var←c47164 = (* (( (ptr) var←c47164)+12) );
         (* (( (ptr) var←c47164)+1) ) = (* (( (ptr) gf←c53628)+62) );
         {
            word var←c47420;
            word var←c47452;
            var←c47420 = XR←NewObject(8, (* (( (ptr) gf←c53628)+18) ));
            var←c47452 = var←c47420;
            {
               word var←c47516;
               word var←c47548;
               var←c47516 = XR←NewObject(8, (* (( (ptr) gf←c53628)+25) ));
               var←c47548 = var←c47516;
               (*  (ptr) var←c47548 ) = (* (( (ptr) gf←c53628)+63) );
               (*  (ptr) var←c47452 ) = var←c47516;
               };
            (* (( (ptr) var←c47164)+2) ) = var←c47420;
            };
         (* (( (ptr) var←c47164)+3) ) =  (word) -1;
         (* (( (ptr) var←c47164)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c47164)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c47164)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53628)+17) ));
         var←c47164 = (* (( (ptr) var←c47164)+12) );
         (* (( (ptr) var←c47164)+1) ) = (* (( (ptr) gf←c53628)+60) );
         {
            word var←c47612;
            word var←c47644;
            var←c47612 = XR←NewObject(8, (* (( (ptr) gf←c53628)+18) ));
            var←c47644 = var←c47612;
            {
               word var←c47708;
               word var←c47740;
               var←c47708 = XR←NewObject(8, (* (( (ptr) gf←c53628)+25) ));
               var←c47740 = var←c47708;
               (*  (ptr) var←c47740 ) = (* (( (ptr) gf←c53628)+61) );
               (*  (ptr) var←c47644 ) = var←c47708;
               };
            (* (( (ptr) var←c47164)+2) ) = var←c47612;
            };
         (* (( (ptr) var←c47164)+3) ) =  (word) -1;
         (* (( (ptr) var←c47164)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c47164)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c47164)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53628)+17) ));
         var←c47164 = (* (( (ptr) var←c47164)+12) );
         (* (( (ptr) var←c47164)+1) ) = (* (( (ptr) gf←c53628)+56) );
         {
            word var←c47804;
            word var←c47836;
            var←c47804 = XR←NewObject(8, (* (( (ptr) gf←c53628)+18) ));
            var←c47836 = var←c47804;
            {
               word var←c47900;
               word var←c47932;
               var←c47900 = XR←NewObject(8, (* (( (ptr) gf←c53628)+25) ));
               var←c47932 = var←c47900;
               (*  (ptr) var←c47932 ) = (* (( (ptr) gf←c53628)+58) );
               (*  (ptr) var←c47836 ) = var←c47900;
               };
            (* (( (ptr) var←c47164)+2) ) = var←c47804;
            };
         (* (( (ptr) var←c47164)+3) ) =  (word) -1;
         (* (( (ptr) var←c47164)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c47164)+7) ) = XR←CheckProc(0);
         var←c47100 = var←c47132;
         };
      {
         word pd181;
         word idx182;
         word idx183;
         pd181 = (* (( (ptr) (* (( (ptr) gf←c53628)+164)/* var←c45020 */  ))+4) );
         nextX←v8428 = (
            idx183 = (word) ( *( (fPt) ((*  (ptr) pd181 ))))((* (( (ptr) (*  (ptr) ggData←v6348 ))+1) ), 0, (
                  idx182 = (* (( (ptr) ggData←v6348)+4) ),
                  SGNCK(idx182)
                  ), ggData←v6348, (* (( (ptr) (* (( (ptr) gf←c53628)+163)/* var←c44988 */  ))+7) ), var←c47100
               , 2, 15, pd181),
            SGNCK(idx183)
            );
         };
      };
SOURCE(8584, 96)
   {
      word pd184;
      word idx185;
      pd184 = (* (( (ptr) (* (( (ptr) gf←c53628)+164)/* var←c45020 */  ))+8) );
      buttonHandle←v8400 = (word) ( *( (fPt) ((*  (ptr) pd184 ))))((* (( (ptr) (*  (ptr) ggData←v6348 ))+1) ), nextX←v8428, (
            idx185 = (* (( (ptr) ggData←v6348)+4) ),
            SGNCK(idx185)
            ), 15, pd184);
      };
SOURCE(8682, 42)
   (* (( (ptr) (*  (ptr) ggData←v6348 ))+22) ) = buttonHandle←v8400;
SOURCE(8726, 57)
   {
      word var←c47964;
      {
         word var←c47996;
         word var←c48028;
         var←c47996 = XR←NewObject(8, (* (( (ptr) gf←c53628)+25) ));
         var←c48028 = var←c47996;
         (*  (ptr) var←c48028 ) = (* (( (ptr) gf←c53628)+66) );
         var←c47964 = var←c47996;
         };
      {
         word pd186;
         pd186 = (* (( (ptr) (* (( (ptr) gf←c53628)+183)/* var←c48060 */  ))+30) );
         (void) ( *( (fPt) ((*  (ptr) pd186 ))))(ggData←v6348, var←c47964, pd186);
         };
      };
SOURCE(8785, 43)
   (* (( (ptr) ggData←v6348)+4) ) = ((* (( (ptr) ggData←v6348)+4) ) + 15);
   }

static void BuildAngleLine←P840(ggData←v6408)
   word ggData←v6408;
   {
   register ptr gf←c53660 =  (ptr) &globalframe;
   word buttonHandle←v8472 = 0;
   word nextX←v8500;
   /* BuildAngleLine: */ 
SOURCE(8834, 634)
SOURCE(8922, 300)
   {
      word var←c48092;
      {
         word var←c48124;
         word var←c48156;
         var←c48124 = XR←NewObject(52, (* (( (ptr) gf←c53660)+17) ));
         var←c48156 = var←c48124;
         (* (( (ptr) var←c48156)+1) ) = (* (( (ptr) gf←c53660)+70) );
         {
            word var←c48220;
            word var←c48252;
            var←c48220 = XR←NewObject(8, (* (( (ptr) gf←c53660)+18) ));
            var←c48252 = var←c48220;
            {
               word var←c48316;
               word var←c48348;
               var←c48316 = XR←NewObject(8, (* (( (ptr) gf←c53660)+25) ));
               var←c48348 = var←c48316;
               (*  (ptr) var←c48348 ) = (* (( (ptr) gf←c53660)+71) );
               (*  (ptr) var←c48252 ) = var←c48316;
               };
            (* (( (ptr) var←c48156)+2) ) = var←c48220;
            };
         (* (( (ptr) var←c48156)+3) ) =  (word) -1;
         (* (( (ptr) var←c48156)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c48156)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c48156)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53660)+17) ));
         var←c48156 = (* (( (ptr) var←c48156)+12) );
         (* (( (ptr) var←c48156)+1) ) = (* (( (ptr) gf←c53660)+62) );
         {
            word var←c48412;
            word var←c48444;
            var←c48412 = XR←NewObject(8, (* (( (ptr) gf←c53660)+18) ));
            var←c48444 = var←c48412;
            {
               word var←c48508;
               word var←c48540;
               var←c48508 = XR←NewObject(8, (* (( (ptr) gf←c53660)+25) ));
               var←c48540 = var←c48508;
               (*  (ptr) var←c48540 ) = (* (( (ptr) gf←c53660)+69) );
               (*  (ptr) var←c48444 ) = var←c48508;
               };
            (* (( (ptr) var←c48156)+2) ) = var←c48412;
            };
         (* (( (ptr) var←c48156)+3) ) =  (word) -1;
         (* (( (ptr) var←c48156)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c48156)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c48156)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53660)+17) ));
         var←c48156 = (* (( (ptr) var←c48156)+12) );
         (* (( (ptr) var←c48156)+1) ) = (* (( (ptr) gf←c53660)+60) );
         {
            word var←c48604;
            word var←c48636;
            var←c48604 = XR←NewObject(8, (* (( (ptr) gf←c53660)+18) ));
            var←c48636 = var←c48604;
            {
               word var←c48700;
               word var←c48732;
               var←c48700 = XR←NewObject(8, (* (( (ptr) gf←c53660)+25) ));
               var←c48732 = var←c48700;
               (*  (ptr) var←c48732 ) = (* (( (ptr) gf←c53660)+68) );
               (*  (ptr) var←c48636 ) = var←c48700;
               };
            (* (( (ptr) var←c48156)+2) ) = var←c48604;
            };
         (* (( (ptr) var←c48156)+3) ) =  (word) -1;
         (* (( (ptr) var←c48156)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c48156)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c48156)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53660)+17) ));
         var←c48156 = (* (( (ptr) var←c48156)+12) );
         (* (( (ptr) var←c48156)+1) ) = (* (( (ptr) gf←c53660)+56) );
         {
            word var←c48796;
            word var←c48828;
            var←c48796 = XR←NewObject(8, (* (( (ptr) gf←c53660)+18) ));
            var←c48828 = var←c48796;
            {
               word var←c48892;
               word var←c48924;
               var←c48892 = XR←NewObject(8, (* (( (ptr) gf←c53660)+25) ));
               var←c48924 = var←c48892;
               (*  (ptr) var←c48924 ) = (* (( (ptr) gf←c53660)+67) );
               (*  (ptr) var←c48828 ) = var←c48892;
               };
            (* (( (ptr) var←c48156)+2) ) = var←c48796;
            };
         (* (( (ptr) var←c48156)+3) ) =  (word) -1;
         (* (( (ptr) var←c48156)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c48156)+7) ) = XR←CheckProc(0);
         var←c48092 = var←c48124;
         };
      {
         word pd187;
         word idx188;
         word idx189;
         pd187 = (* (( (ptr) (* (( (ptr) gf←c53660)+164)/* var←c45020 */  ))+4) );
         nextX←v8500 = (
            idx189 = (word) ( *( (fPt) ((*  (ptr) pd187 ))))((* (( (ptr) (*  (ptr) ggData←v6408 ))+1) ), 0, (
                  idx188 = (* (( (ptr) ggData←v6408)+4) ),
                  SGNCK(idx188)
                  ), ggData←v6408, (* (( (ptr) (* (( (ptr) gf←c53660)+163)/* var←c44988 */  ))+7) ), var←c48092
               , 2, 15, pd187),
            SGNCK(idx189)
            );
         };
      };
SOURCE(9224, 96)
   {
      word pd190;
      word idx191;
      pd190 = (* (( (ptr) (* (( (ptr) gf←c53660)+164)/* var←c45020 */  ))+8) );
      buttonHandle←v8472 = (word) ( *( (fPt) ((*  (ptr) pd190 ))))((* (( (ptr) (*  (ptr) ggData←v6408 ))+1) ), nextX←v8500, (
            idx191 = (* (( (ptr) ggData←v6408)+4) ),
            SGNCK(idx191)
            ), 15, pd190);
      };
SOURCE(9322, 42)
   (* (( (ptr) (*  (ptr) ggData←v6408 ))+24) ) = buttonHandle←v8472;
SOURCE(9366, 57)
   {
      word var←c48956;
      {
         word var←c48988;
         word var←c49020;
         var←c48988 = XR←NewObject(8, (* (( (ptr) gf←c53660)+25) ));
         var←c49020 = var←c48988;
         (*  (ptr) var←c49020 ) = (* (( (ptr) gf←c53660)+72) );
         var←c48956 = var←c48988;
         };
      {
         word pd192;
         pd192 = (* (( (ptr) (* (( (ptr) gf←c53660)+183)/* var←c48060 */  ))+27) );
         (void) ( *( (fPt) ((*  (ptr) pd192 ))))(ggData←v6408, var←c48956, pd192);
         };
      };
SOURCE(9425, 43)
   (* (( (ptr) ggData←v6408)+4) ) = ((* (( (ptr) ggData←v6408)+4) ) + 15);
   }

static void BuildRadiusLine←P900(ggData←v6468)
   word ggData←v6468;
   {
   register ptr gf←c53692 =  (ptr) &globalframe;
   word buttonHandle←v8544 = 0;
   word nextX←v8572;
   /* BuildRadiusLine: */ 
SOURCE(9474, 700)
SOURCE(9563, 306)
   {
      word var←c49052;
      {
         word var←c49084;
         word var←c49116;
         var←c49084 = XR←NewObject(52, (* (( (ptr) gf←c53692)+17) ));
         var←c49116 = var←c49084;
         (* (( (ptr) var←c49116)+1) ) = (* (( (ptr) gf←c53692)+76) );
         {
            word var←c49180;
            word var←c49212;
            var←c49180 = XR←NewObject(8, (* (( (ptr) gf←c53692)+18) ));
            var←c49212 = var←c49180;
            {
               word var←c49276;
               word var←c49308;
               var←c49276 = XR←NewObject(8, (* (( (ptr) gf←c53692)+25) ));
               var←c49308 = var←c49276;
               (*  (ptr) var←c49308 ) = (* (( (ptr) gf←c53692)+77) );
               (*  (ptr) var←c49212 ) = var←c49276;
               };
            (* (( (ptr) var←c49116)+2) ) = var←c49180;
            };
         (* (( (ptr) var←c49116)+3) ) =  (word) -1;
         (* (( (ptr) var←c49116)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c49116)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c49116)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53692)+17) ));
         var←c49116 = (* (( (ptr) var←c49116)+12) );
         (* (( (ptr) var←c49116)+1) ) = (* (( (ptr) gf←c53692)+62) );
         {
            word var←c49372;
            word var←c49404;
            var←c49372 = XR←NewObject(8, (* (( (ptr) gf←c53692)+18) ));
            var←c49404 = var←c49372;
            {
               word var←c49468;
               word var←c49500;
               var←c49468 = XR←NewObject(8, (* (( (ptr) gf←c53692)+25) ));
               var←c49500 = var←c49468;
               (*  (ptr) var←c49500 ) = (* (( (ptr) gf←c53692)+75) );
               (*  (ptr) var←c49404 ) = var←c49468;
               };
            (* (( (ptr) var←c49116)+2) ) = var←c49372;
            };
         (* (( (ptr) var←c49116)+3) ) =  (word) -1;
         (* (( (ptr) var←c49116)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c49116)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c49116)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53692)+17) ));
         var←c49116 = (* (( (ptr) var←c49116)+12) );
         (* (( (ptr) var←c49116)+1) ) = (* (( (ptr) gf←c53692)+60) );
         {
            word var←c49564;
            word var←c49596;
            var←c49564 = XR←NewObject(8, (* (( (ptr) gf←c53692)+18) ));
            var←c49596 = var←c49564;
            {
               word var←c49660;
               word var←c49692;
               var←c49660 = XR←NewObject(8, (* (( (ptr) gf←c53692)+25) ));
               var←c49692 = var←c49660;
               (*  (ptr) var←c49692 ) = (* (( (ptr) gf←c53692)+74) );
               (*  (ptr) var←c49596 ) = var←c49660;
               };
            (* (( (ptr) var←c49116)+2) ) = var←c49564;
            };
         (* (( (ptr) var←c49116)+3) ) =  (word) -1;
         (* (( (ptr) var←c49116)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c49116)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c49116)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53692)+17) ));
         var←c49116 = (* (( (ptr) var←c49116)+12) );
         (* (( (ptr) var←c49116)+1) ) = (* (( (ptr) gf←c53692)+56) );
         {
            word var←c49756;
            word var←c49788;
            var←c49756 = XR←NewObject(8, (* (( (ptr) gf←c53692)+18) ));
            var←c49788 = var←c49756;
            {
               word var←c49852;
               word var←c49884;
               var←c49852 = XR←NewObject(8, (* (( (ptr) gf←c53692)+25) ));
               var←c49884 = var←c49852;
               (*  (ptr) var←c49884 ) = (* (( (ptr) gf←c53692)+73) );
               (*  (ptr) var←c49788 ) = var←c49852;
               };
            (* (( (ptr) var←c49116)+2) ) = var←c49756;
            };
         (* (( (ptr) var←c49116)+3) ) =  (word) -1;
         (* (( (ptr) var←c49116)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c49116)+7) ) = XR←CheckProc(0);
         var←c49052 = var←c49084;
         };
      {
         word pd193;
         word idx194;
         word idx195;
         pd193 = (* (( (ptr) (* (( (ptr) gf←c53692)+164)/* var←c45020 */  ))+4) );
         nextX←v8572 = (
            idx195 = (word) ( *( (fPt) ((*  (ptr) pd193 ))))((* (( (ptr) (*  (ptr) ggData←v6468 ))+1) ), 0, (
                  idx194 = (* (( (ptr) ggData←v6468)+4) ),
                  SGNCK(idx194)
                  ), ggData←v6468, (* (( (ptr) (* (( (ptr) gf←c53692)+163)/* var←c44988 */  ))+7) ), var←c49052
               , 2, 15, pd193),
            SGNCK(idx195)
            );
         };
      };
SOURCE(9871, 96)
   {
      word pd196;
      word idx197;
      pd196 = (* (( (ptr) (* (( (ptr) gf←c53692)+164)/* var←c45020 */  ))+8) );
      buttonHandle←v8544 = (word) ( *( (fPt) ((*  (ptr) pd196 ))))((* (( (ptr) (*  (ptr) ggData←v6468 ))+1) ), nextX←v8572, (
            idx197 = (* (( (ptr) ggData←v6468)+4) ),
            SGNCK(idx197)
            ), 15, pd196);
      };
SOURCE(9969, 43)
   (* (( (ptr) (*  (ptr) ggData←v6468 ))+26) ) = buttonHandle←v8544;
SOURCE(10014, 55)
   {
      word var←c49916;
      {
         word var←c49948;
         word var←c49980;
         var←c49948 = XR←NewObject(8, (* (( (ptr) gf←c53692)+25) ));
         var←c49980 = var←c49948;
         (*  (ptr) var←c49980 ) = (* (( (ptr) gf←c53692)+78) );
         var←c49916 = var←c49948;
         };
      {
         word pd198;
         pd198 = (* (( (ptr) (* (( (ptr) gf←c53692)+183)/* var←c48060 */  ))+29) );
         (void) ( *( (fPt) ((*  (ptr) pd198 ))))(ggData←v6468, var←c49916, pd198);
         };
      };
SOURCE(10071, 58)
   {
      word pd199;
      pd199 = (* (( (ptr) (* (( (ptr) gf←c53692)+184)/* var←c50012 */  ))+4) );
      (* (( (ptr) (*  (ptr) ggData←v6468 ))+28) ) = (word) ( *( (fPt) ((*  (ptr) pd199 ))))(pd199);
      };
SOURCE(10131, 43)
   (* (( (ptr) ggData←v6468)+4) ) = ((* (( (ptr) ggData←v6468)+4) ) + 15);
   }

static void BuildDistanceLine←P960(ggData←v6528)
   word ggData←v6528;
   {
   register ptr gf←c53724 =  (ptr) &globalframe;
   word buttonHandle←v8616 = 0;
   word nextX←v8644;
   /* BuildDistanceLine: */ 
SOURCE(10180, 662)
SOURCE(10271, 316)
   {
      word var←c50044;
      {
         word var←c50076;
         word var←c50108;
         var←c50076 = XR←NewObject(52, (* (( (ptr) gf←c53724)+17) ));
         var←c50108 = var←c50076;
         (* (( (ptr) var←c50108)+1) ) = (* (( (ptr) gf←c53724)+82) );
         {
            word var←c50172;
            word var←c50204;
            var←c50172 = XR←NewObject(8, (* (( (ptr) gf←c53724)+18) ));
            var←c50204 = var←c50172;
            {
               word var←c50268;
               word var←c50300;
               var←c50268 = XR←NewObject(8, (* (( (ptr) gf←c53724)+25) ));
               var←c50300 = var←c50268;
               (*  (ptr) var←c50300 ) = (* (( (ptr) gf←c53724)+83) );
               (*  (ptr) var←c50204 ) = var←c50268;
               };
            (* (( (ptr) var←c50108)+2) ) = var←c50172;
            };
         (* (( (ptr) var←c50108)+3) ) =  (word) -1;
         (* (( (ptr) var←c50108)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c50108)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c50108)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53724)+17) ));
         var←c50108 = (* (( (ptr) var←c50108)+12) );
         (* (( (ptr) var←c50108)+1) ) = (* (( (ptr) gf←c53724)+62) );
         {
            word var←c50364;
            word var←c50396;
            var←c50364 = XR←NewObject(8, (* (( (ptr) gf←c53724)+18) ));
            var←c50396 = var←c50364;
            {
               word var←c50460;
               word var←c50492;
               var←c50460 = XR←NewObject(8, (* (( (ptr) gf←c53724)+25) ));
               var←c50492 = var←c50460;
               (*  (ptr) var←c50492 ) = (* (( (ptr) gf←c53724)+81) );
               (*  (ptr) var←c50396 ) = var←c50460;
               };
            (* (( (ptr) var←c50108)+2) ) = var←c50364;
            };
         (* (( (ptr) var←c50108)+3) ) =  (word) -1;
         (* (( (ptr) var←c50108)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c50108)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c50108)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53724)+17) ));
         var←c50108 = (* (( (ptr) var←c50108)+12) );
         (* (( (ptr) var←c50108)+1) ) = (* (( (ptr) gf←c53724)+60) );
         {
            word var←c50556;
            word var←c50588;
            var←c50556 = XR←NewObject(8, (* (( (ptr) gf←c53724)+18) ));
            var←c50588 = var←c50556;
            {
               word var←c50652;
               word var←c50684;
               var←c50652 = XR←NewObject(8, (* (( (ptr) gf←c53724)+25) ));
               var←c50684 = var←c50652;
               (*  (ptr) var←c50684 ) = (* (( (ptr) gf←c53724)+80) );
               (*  (ptr) var←c50588 ) = var←c50652;
               };
            (* (( (ptr) var←c50108)+2) ) = var←c50556;
            };
         (* (( (ptr) var←c50108)+3) ) =  (word) -1;
         (* (( (ptr) var←c50108)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c50108)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c50108)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53724)+17) ));
         var←c50108 = (* (( (ptr) var←c50108)+12) );
         (* (( (ptr) var←c50108)+1) ) = (* (( (ptr) gf←c53724)+56) );
         {
            word var←c50748;
            word var←c50780;
            var←c50748 = XR←NewObject(8, (* (( (ptr) gf←c53724)+18) ));
            var←c50780 = var←c50748;
            {
               word var←c50844;
               word var←c50876;
               var←c50844 = XR←NewObject(8, (* (( (ptr) gf←c53724)+25) ));
               var←c50876 = var←c50844;
               (*  (ptr) var←c50876 ) = (* (( (ptr) gf←c53724)+79) );
               (*  (ptr) var←c50780 ) = var←c50844;
               };
            (* (( (ptr) var←c50108)+2) ) = var←c50748;
            };
         (* (( (ptr) var←c50108)+3) ) =  (word) -1;
         (* (( (ptr) var←c50108)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c50108)+7) ) = XR←CheckProc(0);
         var←c50044 = var←c50076;
         };
      {
         word pd200;
         word idx201;
         word idx202;
         pd200 = (* (( (ptr) (* (( (ptr) gf←c53724)+164)/* var←c45020 */  ))+4) );
         nextX←v8644 = (
            idx202 = (word) ( *( (fPt) ((*  (ptr) pd200 ))))((* (( (ptr) (*  (ptr) ggData←v6528 ))+1) ), 0, (
                  idx201 = (* (( (ptr) ggData←v6528)+4) ),
                  SGNCK(idx201)
                  ), ggData←v6528, (* (( (ptr) (* (( (ptr) gf←c53724)+163)/* var←c44988 */  ))+7) ), var←c50044
               , 2, 15, pd200),
            SGNCK(idx202)
            );
         };
      };
SOURCE(10589, 96)
   {
      word pd203;
      word idx204;
      pd203 = (* (( (ptr) (* (( (ptr) gf←c53724)+164)/* var←c45020 */  ))+8) );
      buttonHandle←v8616 = (word) ( *( (fPt) ((*  (ptr) pd203 ))))((* (( (ptr) (*  (ptr) ggData←v6528 ))+1) ), nextX←v8644, (
            idx204 = (* (( (ptr) ggData←v6528)+4) ),
            SGNCK(idx204)
            ), 15, pd203);
      };
SOURCE(10687, 45)
   (* (( (ptr) (*  (ptr) ggData←v6528 ))+29) ) = buttonHandle←v8616;
SOURCE(10734, 63)
   {
      word var←c50908;
      {
         word var←c50940;
         word var←c50972;
         var←c50940 = XR←NewObject(8, (* (( (ptr) gf←c53724)+25) ));
         var←c50972 = var←c50940;
         (*  (ptr) var←c50972 ) = (* (( (ptr) gf←c53724)+84) );
         var←c50908 = var←c50940;
         };
      {
         word pd205;
         pd205 = (* (( (ptr) (* (( (ptr) gf←c53724)+183)/* var←c48060 */  ))+28) );
         (void) ( *( (fPt) ((*  (ptr) pd205 ))))(ggData←v6528, var←c50908, pd205);
         };
      };
SOURCE(10799, 43)
   (* (( (ptr) ggData←v6528)+4) ) = ((* (( (ptr) ggData←v6528)+4) ) + 15);
   }

static void BuildMeasureLine←P1020(ggData←v6588)
   word ggData←v6588;
   {
   register ptr gf←c53756 =  (ptr) &globalframe;
   word nextX←v8688;
   /* BuildMeasureLine: */ 
SOURCE(10848, 941)
SOURCE(10892, 852)
   {
      word var←c51004;
      {
         word var←c51036;
         word var←c51068;
         var←c51036 = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = var←c51036;
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+88) );
         {
            word var←c51132;
            word var←c51164;
            var←c51132 = XR←NewObject(8, (* (( (ptr) gf←c53756)+18) ));
            var←c51164 = var←c51132;
            {
               word var←c51228;
               word var←c51260;
               var←c51228 = XR←NewObject(8, (* (( (ptr) gf←c53756)+25) ));
               var←c51260 = var←c51228;
               (*  (ptr) var←c51260 ) = (* (( (ptr) gf←c53756)+95) );
               (*  (ptr) var←c51164 ) = var←c51228;
               };
            (* (( (ptr) var←c51068)+2) ) = var←c51132;
            };
         (* (( (ptr) var←c51068)+3) ) =  (word) -1;
         (* (( (ptr) var←c51068)+4) ) = 1;
         (* (( (ptr) var←c51068)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+64) );
         {
            word var←c51324;
            word var←c51356;
            var←c51324 = XR←NewObject(8, (* (( (ptr) gf←c53756)+18) ));
            var←c51356 = var←c51324;
            {
               word var←c51420;
               word var←c51452;
               var←c51420 = XR←NewObject(8, (* (( (ptr) gf←c53756)+25) ));
               var←c51452 = var←c51420;
               (*  (ptr) var←c51452 ) = (* (( (ptr) gf←c53756)+94) );
               (*  (ptr) var←c51356 ) = var←c51420;
               };
            (* (( (ptr) var←c51068)+2) ) = var←c51324;
            };
         (* (( (ptr) var←c51068)+3) ) =  (word) -1;
         (* (( (ptr) var←c51068)+4) ) = 1;
         (* (( (ptr) var←c51068)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (*  (ptr) var←c51068 ) = 2;
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+85) );
         (* (( (ptr) var←c51068)+2) ) = (word) (( (bPt) gf←c53756)+436)/* var←c43964 */ ;
         (* (( (ptr) var←c51068)+3) ) = 60;
         (* (( (ptr) var←c51068)+4) ) =  (word) -1;
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+88) );
         {
            word var←c51516;
            word var←c51548;
            var←c51516 = XR←NewObject(8, (* (( (ptr) gf←c53756)+18) ));
            var←c51548 = var←c51516;
            {
               word var←c51612;
               word var←c51644;
               var←c51612 = XR←NewObject(8, (* (( (ptr) gf←c53756)+25) ));
               var←c51644 = var←c51612;
               (*  (ptr) var←c51644 ) = (* (( (ptr) gf←c53756)+93) );
               (*  (ptr) var←c51548 ) = var←c51612;
               };
            (* (( (ptr) var←c51068)+2) ) = var←c51516;
            };
         (* (( (ptr) var←c51068)+3) ) =  (word) -1;
         (* (( (ptr) var←c51068)+4) ) = 1;
         (* (( (ptr) var←c51068)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+70) );
         {
            word var←c51708;
            word var←c51740;
            var←c51708 = XR←NewObject(8, (* (( (ptr) gf←c53756)+18) ));
            var←c51740 = var←c51708;
            {
               word var←c51804;
               word var←c51836;
               var←c51804 = XR←NewObject(8, (* (( (ptr) gf←c53756)+25) ));
               var←c51836 = var←c51804;
               (*  (ptr) var←c51836 ) = (* (( (ptr) gf←c53756)+92) );
               (*  (ptr) var←c51740 ) = var←c51804;
               };
            (* (( (ptr) var←c51068)+2) ) = var←c51708;
            };
         (* (( (ptr) var←c51068)+3) ) =  (word) -1;
         (* (( (ptr) var←c51068)+4) ) = 1;
         (* (( (ptr) var←c51068)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (*  (ptr) var←c51068 ) = 2;
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+85) );
         (* (( (ptr) var←c51068)+2) ) = (word) (( (bPt) gf←c53756)+428)/* var←c43932 */ ;
         (* (( (ptr) var←c51068)+3) ) = 60;
         (* (( (ptr) var←c51068)+4) ) =  (word) -1;
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+88) );
         {
            word var←c51900;
            word var←c51932;
            var←c51900 = XR←NewObject(8, (* (( (ptr) gf←c53756)+18) ));
            var←c51932 = var←c51900;
            {
               word var←c51996;
               word var←c52028;
               var←c51996 = XR←NewObject(8, (* (( (ptr) gf←c53756)+25) ));
               var←c52028 = var←c51996;
               (*  (ptr) var←c52028 ) = (* (( (ptr) gf←c53756)+91) );
               (*  (ptr) var←c51932 ) = var←c51996;
               };
            (* (( (ptr) var←c51068)+2) ) = var←c51900;
            };
         (* (( (ptr) var←c51068)+3) ) =  (word) -1;
         (* (( (ptr) var←c51068)+4) ) = 1;
         (* (( (ptr) var←c51068)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+76) );
         {
            word var←c52092;
            word var←c52124;
            var←c52092 = XR←NewObject(8, (* (( (ptr) gf←c53756)+18) ));
            var←c52124 = var←c52092;
            {
               word var←c52188;
               word var←c52220;
               var←c52188 = XR←NewObject(8, (* (( (ptr) gf←c53756)+25) ));
               var←c52220 = var←c52188;
               (*  (ptr) var←c52220 ) = (* (( (ptr) gf←c53756)+90) );
               (*  (ptr) var←c52124 ) = var←c52188;
               };
            (* (( (ptr) var←c51068)+2) ) = var←c52092;
            };
         (* (( (ptr) var←c51068)+3) ) =  (word) -1;
         (* (( (ptr) var←c51068)+4) ) = 1;
         (* (( (ptr) var←c51068)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (*  (ptr) var←c51068 ) = 2;
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+85) );
         (* (( (ptr) var←c51068)+2) ) = (word) (( (bPt) gf←c53756)+420)/* var←c43900 */ ;
         (* (( (ptr) var←c51068)+3) ) = 60;
         (* (( (ptr) var←c51068)+4) ) =  (word) -1;
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+88) );
         {
            word var←c52284;
            word var←c52316;
            var←c52284 = XR←NewObject(8, (* (( (ptr) gf←c53756)+18) ));
            var←c52316 = var←c52284;
            {
               word var←c52380;
               word var←c52412;
               var←c52380 = XR←NewObject(8, (* (( (ptr) gf←c53756)+25) ));
               var←c52412 = var←c52380;
               (*  (ptr) var←c52412 ) = (* (( (ptr) gf←c53756)+89) );
               (*  (ptr) var←c52316 ) = var←c52380;
               };
            (* (( (ptr) var←c51068)+2) ) = var←c52284;
            };
         (* (( (ptr) var←c51068)+3) ) =  (word) -1;
         (* (( (ptr) var←c51068)+4) ) = 1;
         (* (( (ptr) var←c51068)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+82) );
         {
            word var←c52476;
            word var←c52508;
            var←c52476 = XR←NewObject(8, (* (( (ptr) gf←c53756)+18) ));
            var←c52508 = var←c52476;
            {
               word var←c52572;
               word var←c52604;
               var←c52572 = XR←NewObject(8, (* (( (ptr) gf←c53756)+25) ));
               var←c52604 = var←c52572;
               (*  (ptr) var←c52604 ) = (* (( (ptr) gf←c53756)+87) );
               (*  (ptr) var←c52508 ) = var←c52572;
               };
            (* (( (ptr) var←c51068)+2) ) = var←c52476;
            };
         (* (( (ptr) var←c51068)+3) ) =  (word) -1;
         (* (( (ptr) var←c51068)+4) ) = 1;
         (* (( (ptr) var←c51068)+6) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+7) ) = XR←CheckProc(0);
         (* (( (ptr) var←c51068)+12) ) = XR←NewObject(52, (* (( (ptr) gf←c53756)+17) ));
         var←c51068 = (* (( (ptr) var←c51068)+12) );
         (*  (ptr) var←c51068 ) = 2;
         (* (( (ptr) var←c51068)+1) ) = (* (( (ptr) gf←c53756)+85) );
         (* (( (ptr) var←c51068)+2) ) = (word) (( (bPt) gf←c53756)+412)/* var←c43868 */ ;
         (* (( (ptr) var←c51068)+3) ) = 60;
         (* (( (ptr) var←c51068)+4) ) =  (word) -1;
         var←c51004 = var←c51036;
         };
      {
         word pd206;
         word idx207;
         word idx208;
         pd206 = (* (( (ptr) (* (( (ptr) gf←c53756)+164)/* var←c45020 */  ))+4) );
         nextX←v8688 = (
            idx208 = (word) ( *( (fPt) ((*  (ptr) pd206 ))))((* (( (ptr) (*  (ptr) ggData←v6588 ))+1) ), 0, (
                  idx207 = (* (( (ptr) ggData←v6588)+4) ),
                  SGNCK(idx207)
                  ), ggData←v6588, (* (( (ptr) (* (( (ptr) gf←c53756)+163)/* var←c44988 */  ))+7) ), var←c51004
               , 2, 15, pd206),
            SGNCK(idx208)
            );
         };
      };
SOURCE(11746, 43)
   (* (( (ptr) ggData←v6588)+4) ) = ((* (( (ptr) ggData←v6588)+4) ) + 15);
   }

static void GravityInGGData←P1080(name←v20600, clientData←v20628, twoState←v20656)
   word name←v20600;
   word clientData←v20628;
   word twoState←v20656;
   {
   register ptr gf←c53788 =  (ptr) &globalframe;
   word ggData←v8732;
   /* GravityInGGData: */ 
SOURCE(11795, 124)
SOURCE(11845, 35)
   ggData←v8732 = XR←Narrow(clientData←v20628, (* (( (ptr) gf←c53788)+22) ));
SOURCE(11882, 37)
   (* (( (ptr) (*  (ptr) ggData←v8732 ))+19) ) = twoState←v20656;
   }

static void AlignmentsInGGData←P1140(name←v20716, clientData←v20744, twoState←v20772)
   word name←v20716;
   word clientData←v20744;
   word twoState←v20772;
   {
   register ptr gf←c53820 =  (ptr) &globalframe;
   word ggData←v8776;
   /* AlignmentsInGGData: */ 
SOURCE(11924, 127)
SOURCE(11977, 35)
   ggData←v8776 = XR←Narrow(clientData←v20744, (* (( (ptr) gf←c53820)+22) ));
SOURCE(12014, 37)
   (* (( (ptr) (*  (ptr) ggData←v8776 ))+16) ) = twoState←v20772;
   }

static void MidpointsInGGData←P1200(name←v20832, clientData←v20860, twoState←v20888)
   word name←v20832;
   word clientData←v20860;
   word twoState←v20888;
   {
   register ptr gf←c53852 =  (ptr) &globalframe;
   word ggData←v8820;
   /* MidpointsInGGData: */ 
SOURCE(12056, 130)
SOURCE(12108, 35)
   ggData←v8820 = XR←Narrow(clientData←v20860, (* (( (ptr) gf←c53852)+22) ));
SOURCE(12145, 41)
   (* (( (ptr) (*  (ptr) ggData←v8820 ))+20) ) = twoState←v20888;
   }

static void HeuristicsInGGData←P1260(name←v20948, clientData←v20976, twoState←v21004)
   word name←v20948;
   word clientData←v20976;
   word twoState←v21004;
   {
   register ptr gf←c53884 =  (ptr) &globalframe;
   word ggData←v8864;
   /* HeuristicsInGGData: */ 
SOURCE(12191, 133)
SOURCE(12244, 35)
   ggData←v8864 = XR←Narrow(clientData←v20976, (* (( (ptr) gf←c53884)+22) ));
SOURCE(12281, 43)
   (* (( (ptr) (*  (ptr) ggData←v8864 ))+21) ) = twoState←v21004;
   }

static void GravityExtentRepaint←P1320(dc←v6648, clientData←v6676, buttonData←v6704, button←v6732)
   word dc←v6648;
   word clientData←v6676;
   word buttonData←v6704;
   word button←v6732;
   {
   register ptr gf←c53916 =  (ptr) &globalframe;
   W2 caretPoint←v8908;
   word ged←v8936;
   word extent←v8964;
   /* GravityExtentRepaint: */ 
SOURCE(12330, 319)
SOURCE(12459, 43)
   ged←v8936 = XR←Narrow(buttonData←v6704, (* (( (ptr) gf←c53916)+10) ));
SOURCE(12504, 25)
   extent←v8964 = (*  (ptr) ged←v8936 );
SOURCE(12531, 41)
   {
      W2 var←c52636;
      var←c52636.f0 = (*  (ptr) &fc209 );
      {
         word x211;
         *(float*)&var←c52636.f1 = (float)(int)(* (( (ptr) button←v6732)+4) ) / (
            x211 = (*  (ptr) &fc210 ),  *(float*)&x211
            );
         };
      {
         word pd212;
         pd212 = (* (( (ptr) (* (( (ptr) gf←c53916)+185)/* var←c52668 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd212 ))))(dc←v6648, var←c52636, pd212);
         };
      };
SOURCE(12574, 26)
   caretPoint←v8908.f0 = extent←v8964;
   caretPoint←v8908.f1 = (*  (ptr) &fc209 );
SOURCE(12602, 47)
   {
      W2 var←c52700;
      var←c52700.f0 = (*  (ptr) &fc209 );
      var←c52700.f1 = (*  (ptr) &fc213 );
      {
         word pd214;
         pd214 = (* (( (ptr) (* (( (ptr) gf←c53916)+186)/* var←c52732 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd214 ))))(dc←v6648, caretPoint←v8908, var←c52700, (*  (ptr) &fc158 ), pd214);
         };
      };
   }

static void SlopeViewInGGData←P1380(name←v21064, clientData←v21092, button←v21120)
   word name←v21064;
   word clientData←v21092;
   word button←v21120;
   {
   register ptr gf←c53948 =  (ptr) &globalframe;
   word ggData←v9008;
   /* SlopeViewInGGData: */ 
SOURCE(12654, 117)
SOURCE(12700, 35)
   ggData←v9008 = XR←Narrow(clientData←v21092, (* (( (ptr) gf←c53948)+22) ));
SOURCE(12737, 34)
   (* (( (ptr) (*  (ptr) ggData←v9008 ))+32) ) = button←v21120;
   }

static void AngleViewInGGData←P1440(name←v21180, clientData←v21208, button←v21236)
   word name←v21180;
   word clientData←v21208;
   word button←v21236;
   {
   register ptr gf←c53980 =  (ptr) &globalframe;
   word ggData←v9052;
   /* AngleViewInGGData: */ 
SOURCE(12777, 117)
SOURCE(12823, 35)
   ggData←v9052 = XR←Narrow(clientData←v21208, (* (( (ptr) gf←c53980)+22) ));
SOURCE(12860, 34)
   (* (( (ptr) (*  (ptr) ggData←v9052 ))+33) ) = button←v21236;
   }

static void DistanceViewInGGData←P1500(name←v21296, clientData←v21324, button←v21352)
   word name←v21296;
   word clientData←v21324;
   word button←v21352;
   {
   register ptr gf←c54012 =  (ptr) &globalframe;
   word ggData←v9096;
   /* DistanceViewInGGData: */ 
SOURCE(12900, 121)
SOURCE(12949, 35)
   ggData←v9096 = XR←Narrow(clientData←v21324, (* (( (ptr) gf←c54012)+22) ));
SOURCE(12986, 35)
   (* (( (ptr) (*  (ptr) ggData←v9096 ))+34) ) = button←v21352;
   }

static void LineDistViewInGGData←P1560(name←v21412, clientData←v21440, button←v21468)
   word name←v21412;
   word clientData←v21440;
   word button←v21468;
   {
   register ptr gf←c54044 =  (ptr) &globalframe;
   word ggData←v9140;
   /* LineDistViewInGGData: */ 
SOURCE(13027, 123)
SOURCE(13076, 35)
   ggData←v9140 = XR←Narrow(clientData←v21440, (* (( (ptr) gf←c54044)+22) ));
SOURCE(13113, 37)
   (* (( (ptr) (*  (ptr) ggData←v9140 ))+35) ) = button←v21468;
   }

static void Choice←P1620(formal←c0361, action←v6820, actionImage←v6848, doc←v6876, font←v6904)
   word formal←c0361;
   word action←v6820;
   word actionImage←v6848;
   word doc←v6876;
   word font←v6904;
   {
   word var←c0422;
   word var←c0423;
   word var←c0424;
   word var←c0425;
   /* Choice: */ 
SOURCE(13156, 181)
   /* Return var split */ 
SOURCE(13297, 40)
   var←c0422 = action←v6820;
   var←c0423 = actionImage←v6848;
   var←c0424 = doc←v6876;
   var←c0425 = font←v6904;
   /* removed tail goto */ 
   (* (( (ptr) formal←c0361)+3) ) = var←c0425;
   (* (( (ptr) formal←c0361)+2) ) = var←c0424;
   (* (( (ptr) formal←c0361)+1) ) = var←c0423;
   (*  (ptr) formal←c0361 ) = var←c0422;
   return;
   }

static void Init←P1680()
   {
   register ptr gf←c54076 =  (ptr) &globalframe;
   /* Init: */ 
SOURCE(13546, 582)
SOURCE(13561, 79)
   {
      word pd215;
      pd215 = (* (( (ptr) (* (( (ptr) gf←c54076)+187)/* var←c52796 */  ))+7) );
      (* (( (ptr) gf←c54076)+4)/* popUpFont←v4512 */  ) = (word) ( *( (fPt) ((*  (ptr) pd215 ))))((* (( (ptr) gf←c54076)+97) ), 2, pd215)
      ;
      };
SOURCE(13642, 33)
   {
      word pd216;
      pd216 = (* (( (ptr) (* (( (ptr) gf←c54076)+165)/* var←c45052 */  ))+7) );
      (* (( (ptr) gf←c54076)+5)/* gRouter←v5520 */  ) = (word) ( *( (fPt) ((*  (ptr) pd216 ))))(pd216);
      };
SOURCE(13677, 48)
   {
      word var←c52828;
      word pd217;
      pd217 = (* (( (ptr) (* (( (ptr) gf←c54076)+165)/* var←c45052 */  ))+8) );
      var←c52828 = (word) ( *( (fPt) ((*  (ptr) pd217 ))))((* (( (ptr) gf←c54076)+5)/* gRouter←v5520 */  ), (* (( (ptr) gf←c54076)+39)
          ), pd217);
      };
SOURCE(13727, 74)
   {
      word var←c52860;
      {
         word var←c52892;
         word var←c52924;
         var←c52892 = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c52924 = var←c52892;
         (*  (ptr) var←c52924 ) = (* (( (ptr) gf←c54076)+46) );
         (* (( (ptr) var←c52924)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c52924 = (* (( (ptr) var←c52924)+1) );
         (*  (ptr) var←c52924 ) = (* (( (ptr) gf←c54076)+52) );
         var←c52860 = var←c52892;
         };
      {
         word pd218;
         pd218 = (* (( (ptr) (* (( (ptr) gf←c54076)+166)/* var←c45180 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd218 ))))((* (( (ptr) gf←c54076)+5)/* gRouter←v5520 */  ), 1, var←c52860, pd218);
         };
      };
SOURCE(13812, 120)
   {
      word var←c52956;
      {
         word var←c52988;
         word var←c53020;
         var←c52988 = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53020 = var←c52988;
         (*  (ptr) var←c53020 ) = (* (( (ptr) gf←c54076)+31) );
         (* (( (ptr) var←c53020)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53020 = (* (( (ptr) var←c53020)+1) );
         (*  (ptr) var←c53020 ) = (* (( (ptr) gf←c54076)+30) );
         (* (( (ptr) var←c53020)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53020 = (* (( (ptr) var←c53020)+1) );
         (*  (ptr) var←c53020 ) = (* (( (ptr) gf←c54076)+29) );
         (* (( (ptr) var←c53020)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53020 = (* (( (ptr) var←c53020)+1) );
         (*  (ptr) var←c53020 ) = (* (( (ptr) gf←c54076)+28) );
         (* (( (ptr) var←c53020)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53020 = (* (( (ptr) var←c53020)+1) );
         (*  (ptr) var←c53020 ) = (* (( (ptr) gf←c54076)+43) );
         (* (( (ptr) var←c53020)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53020 = (* (( (ptr) var←c53020)+1) );
         (*  (ptr) var←c53020 ) = (* (( (ptr) gf←c54076)+44) );
         var←c52956 = var←c52988;
         };
      {
         word pd219;
         pd219 = (* (( (ptr) (* (( (ptr) gf←c54076)+166)/* var←c45180 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd219 ))))((* (( (ptr) gf←c54076)+5)/* gRouter←v5520 */  ), 0, var←c52956, pd219);
         };
      };
SOURCE(13934, 123)
   {
      word var←c53052;
      {
         word var←c53084;
         word var←c53116;
         var←c53084 = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53116 = var←c53084;
         (*  (ptr) var←c53116 ) = (* (( (ptr) gf←c54076)+46) );
         (* (( (ptr) var←c53116)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53116 = (* (( (ptr) var←c53116)+1) );
         (*  (ptr) var←c53116 ) = (* (( (ptr) gf←c54076)+29) );
         (* (( (ptr) var←c53116)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53116 = (* (( (ptr) var←c53116)+1) );
         (*  (ptr) var←c53116 ) = (* (( (ptr) gf←c54076)+43) );
         (* (( (ptr) var←c53116)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53116 = (* (( (ptr) var←c53116)+1) );
         (*  (ptr) var←c53116 ) = (* (( (ptr) gf←c54076)+34) );
         (* (( (ptr) var←c53116)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53116 = (* (( (ptr) var←c53116)+1) );
         (*  (ptr) var←c53116 ) = (* (( (ptr) gf←c54076)+52) );
         (* (( (ptr) var←c53116)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c54076)+23) ));
         var←c53116 = (* (( (ptr) var←c53116)+1) );
         (*  (ptr) var←c53116 ) = (* (( (ptr) gf←c54076)+44) );
         var←c53052 = var←c53084;
         };
      {
         word pd220;
         pd220 = (* (( (ptr) (* (( (ptr) gf←c54076)+166)/* var←c45180 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd220 ))))((* (( (ptr) gf←c54076)+5)/* gRouter←v5520 */  ), (* (( (ptr) gf←c54076)+33) ), var←c53052, pd220)
         ;
         };
      };
SOURCE(14059, 69)
   {
      word pd221;
      pd221 = (* (( (ptr) (* (( (ptr) gf←c54076)+163)/* var←c44988 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd221 ))))((* (( (ptr) gf←c54076)+98) ), (word) (( (bPt) gf←c54076)+564)/* var←c44476 */ , 0, 1, 0, pd221)
      ;
      };
   }

static void NoName←Q2328(formal←c0377, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0377;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0415 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0415)+170)/* var←c45532 */  ))+9) ))) {
      {
         W4 error←v34228;
         error←v34228 = (*  (W4Pt) formal←c200007 );
SOURCE(4172, 8)
         (*  (ptr) formal←c0377 ) = 2;
         (* (( (ptr) formal←c0377)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c0377 ) = 0;
   (* (( (ptr) formal←c0377)+1) ) = 0;
   return;
   }

static void NoName←Q2388(formal←c0383, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0383;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0416 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0416)+170)/* var←c45532 */  ))+9) ))) {
      {
         W4 error←v33340;
         error←v33340 = (*  (W4Pt) formal←c200003 );
SOURCE(3930, 8)
         (*  (ptr) formal←c0383 ) = 2;
         (* (( (ptr) formal←c0383)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0383 ) = 0;
   (* (( (ptr) formal←c0383)+1) ) = 0;
   return;
   }

/* file: GGMenuImpl, module: GGMenuImpl, compiled at: July 11, 1993 7:56:25 pm PDT */ 
extern void XR←install←GGMenuImpl() {
   NoName←Q2148();
   }
extern void XR←run←GGMenuImpl() { XR←Start(&globalframe); }