/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: October 22, 1993 4:01:58 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: GGWindowImpl, module: GGWindowImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2859706475,3725128585] GGWindowImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
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 W28 *W28Pt;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef W7 *W7Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef W5 *W5Pt;
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;
typedef W12 *W12Pt;
typedef struct {W8 f; word r;} W9;
typedef struct {W16 f; W9 r;} W25;
typedef W8 *W8Pt;
#define SOURCE(p, l) /* source p, l */
static float fc175 = 1.0;
static float fc212 = 0.5;
static float fc213 = 0.75;
static float fc214 = 45.0;
static float fc215 = 2.0;
static float fc219 = 0.0;
static float fc220 = -1.0;
static float fc235 = 25.0;
static float fc236 = 72.0;
static float fc250 = 200.0;
static float fc251 = 300.0;
static float fc255 = -0.1;
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc371 = 11.0;
static float fc374 = 8.5;
static void NoName←Q3264();
static void GGWindowImpl←P0();
static void RestoreScreenAndInvariants←P60();
static void NewCaretPos←P120();
static void SaveCaretPos←P180();
static word OpenViewerOnFile←P240();
static void CreateChildViewer←P300();
static void PaintInViewer←P360();
static word CreateGGData←P420();
static word CreateGGDataForViewer←P480();
static word CreateWindow←P540();
static word CreateWindowAux←P600();
static void ActiveInGGData←P660();
static word GGActionAreaPaint←P720();
static void GGAbortProc←P780();
static void RegisterEditedProc←P840();
static void ViewerToWorld←P900();
static void WorldToViewer←P960();
static word OptimizeQueue←P1020();
static word PUChoiceList←P1080();
static void InnerCons←P2340();
static void Choice←P1140();
static word List←P1200();
static void GGExtremaProc←P1260();
static void SetCursorLooks←P1320();
static void NewGGViewers←P1380();
static word NoName←Q3324();
static word FilenameMinusExtension←P1440();
static void GGToIP←P1500();
static word NoName←Q3384();
static word EachFile←P2736();
static void TryPattern←P2796();
static word NoName←Q3444();
static void GGIPToIP←P1560();
static word NoName←Q3504();
static word EachFile←P3000();
static void TryPattern←P3060();
static word NoName←Q3564();
static word GGBasicTransformProc←P1620();
static void BSSaveProc←P1680();
static void BSDestroyProc←P1740();
static void BiScrollerInputNotify←P1800();
static void SetBeingBorn←P1860();
static void Init←P1920();
static void InitIcons←P1980();
static void GetIcons←P2040();
static void NoName←Q3624();
static void NoName←Q3684();
static void NoName←Q3744();
static void NoName←Q3804();
static void NoName←Q3864();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\365$\303)\300KDZZ@t\000\000"};
static struct {unsigned f; char r[88];} string2 = {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];} string3 = {851984, "\257\300\036\073\304\257\300\266\014\226\240\100\164\000\000"};
static struct {unsigned f; char r[4];} string4 = {131074, "\004,\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\037\225\114\266\300\245\306\376\114\100\164\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004<\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\333\030\273\126\300\173\036\033\131\100\200\000\000"};
static struct {unsigned f; char r[20];} string8 = {1114129, "\006\006\050\001\054\001\060\001\064\001\100\100\001\100\110\004\030\000\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\026\355\016\312\300\171\207\041\370\100\200\000\000"};
static struct {unsigned f; char r[44];} string10 = {2752554, "\006\020\000\001\014\001\020\001\024\001\030\001\034\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\144\001\000"};
static struct {unsigned f; char r[4];} string11 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string12 = {65537, "\001\000\000"};
static struct {unsigned f; char r[4];} string13 = {65540, "\251\000\000"};
static struct {unsigned f; char r[44];} string14 = {2752556, "\260\006\005\146\151\162\163\164\257\300\101\370\323\224\300\165\315\304\000\100\214\005\004\162\145\163\164\214\257\300\101\370\323\224\300\165\315\304\000\100\214\261\000"};
static struct {unsigned f; char r[4];} string15 = {131074, "\004\037\000"};
static struct {unsigned f; char r[16];} string16 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[48];} string17 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\252\163\250\153\300\336\010\363\211\102\030\005\004\162\145\163\164\214\216\257\300\252\163\250\153\300\336\010\363\211\102\030\261\000\000\000"};
static struct {unsigned f; char r[4];} string18 = {131074, "\004\003\000"};
static struct {unsigned f; char r[20];} string19 = {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[16];} string20 = {851984, "\257\300\252\163\250\153\300\336\010\363\211\102\030\000\000"};
static struct {unsigned f; char r[4];} string21 = {131074, "\004\005\000"};
static struct {unsigned f; char r[44];} string22 = {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];} string23 = {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];} string24 = {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[16];} string25 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\274\000\000"};
static struct {unsigned f; char r[8];} string26 = {262148, "\004\200G\220\000\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\260\000\000"};
static struct {unsigned f; char r[4];} string28 = {196611, "\004C\237"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\101\034\000\000"};
static struct {unsigned f; char r[4];} string30 = {196611, "\004CV"};
static struct {unsigned f; char r[48];} string31 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\252\043\023\037\300\070\056\113\065\100\164\005\004\162\145\163\164\214\216\257\300\252\043\023\037\300\070\056\113\065\100\164\261\000\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\247\365\203\234\300\047\265\225\046\100\214\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\200\000\000"};
static struct {unsigned f; char r[68];} string34 = {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[12];} string35 = {655372, "Typescript\000"};
static struct {unsigned f; char r[12];} string36 = {720908, "DuringMouse"};
static struct {unsigned f; char r[12];} string37 = {524300, "Feedback\000\000\000"};
static struct {unsigned f; char r[8];} string38 = {458760, "Warning"};
static struct {unsigned f; char r[8];} string39 = {458760, "Confirm"};
static struct {unsigned f; char r[8];} string40 = {262152, "Show\000\000\000"};
static struct {unsigned f; char r[12];} string41 = {655372, "Statistics\000"};
static struct {unsigned f; char r[8];} string42 = {327688, "Error\000\000"};
static struct {unsigned f; char r[12];} string43 = {589836, "Complaint\000\000"};
static struct {unsigned f; char r[20];} string44 = {1245204, "Gargoyle.FancyPanel"};
static struct {unsigned f; char r[20];} string45 = {1114132, "GGPanel: Gargoyle\000\000"};
static struct {unsigned f; char r[12];} string46 = {524300, "Gargoyle\000\000\000"};
static struct {unsigned f; char r[8];} string47 = {458760, "Control"};
static struct {unsigned f; char r[8];} string48 = {327688, "Panel\000\000"};
static struct {unsigned f; char r[8];} string49 = {262152, "None\000\000\000"};
static struct {unsigned f; char r[16];} string50 = {851984, "GargoyleChild\000\000"};
static struct {unsigned f; char r[12];} string51 = {655372, "Interpress\000"};
static struct {unsigned f; char r[24];} string52 = {1507352, "ViewersPaintEntireScene"};
static struct {unsigned f; char r[24];} string53 = {1376280, "ViewersPaintAllPlanes\000\000"};
static struct {unsigned f; char r[20];} string54 = {1179668, "PaintSceneNoBuffer\000"};
static struct {unsigned f; char r[28];} string55 = {1638428, "Queued operations Aborted\000\000"};
static struct {unsigned f; char r[4];} string56 = {196612, "Get"};
static struct {unsigned f; char r[4];} string57 = {4, "\000\000\000"};
static struct {unsigned f; char r[8];} string58 = {393224, "During\000"};
static struct {unsigned f; char r[12];} string59 = {524300, "OneScale\000\000\000"};
static struct {unsigned f; char r[12];} string60 = {589836, "OneScroll\000\000"};
static struct {unsigned f; char r[8];} string61 = {458760, "OneZoom"};
static struct {unsigned f; char r[28];} string62 = {1703964, "RestoreScreenAndInvariants\000"};
static struct {unsigned f; char r[12];} string63 = {720908, "-fancyPanel"};
static struct {unsigned f; char r[16];} string64 = {786448, "-~fancyPanel\000\000\000"};
static struct {unsigned f; char r[12];} string65 = {524300, "-command\000\000\000"};
static struct {unsigned f; char r[4];} string66 = {65540, "(\000\000"};
static struct {unsigned f; char r[4];} string67 = {65540, ")\000\000"};
static struct {unsigned f; char r[4];} string68 = {131076, "()\000"};
static struct {unsigned f; char r[4];} string69 = {196612, ".ip"};
static struct {unsigned f; char r[8];} string70 = {262152, "ToIP\000\000\000"};
static struct {unsigned f; char r[8];} string71 = {327688, "  -- \000\000"};
static struct {unsigned f; char r[4];} string72 = {196612, "*!*"};
static struct {unsigned f; char r[4];} string73 = {131076, "!h\000"};
static struct {unsigned f; char r[4];} string74 = {65540, "\012\000\000"};
static struct {unsigned f; char r[8];} string75 = {458760, "Failure"};
static struct {unsigned f; char r[16];} string76 = {917520, "DisableRefresh\000"};
static struct {unsigned f; char r[16];} string77 = {851984, "EnableRefresh\000\000"};
static struct {unsigned f; char r[8];} string78 = {458760, "Refresh"};
static struct {unsigned f; char r[8];} string79 = {327688, "Clear\000\000"};
static struct {unsigned f; char r[16];} string80 = {983056, "MergeIPEditable"};
static struct {unsigned f; char r[8];} string81 = {458760, "-mod.ip"};
static struct {unsigned f; char r[16];} string82 = {786448, "Gargoyle.tip\000\000\000"};
static struct {unsigned f; char r[12];} string83 = {655372, "ActionArea\000"};
static struct {unsigned f; char r[32];} string84 = {1900576, "xerox/tiogafonts/helvetica10I\000\000"};
static struct {unsigned f; char r[32];} string85 = {1966112, "xerox/pressfonts/helvetica-brr\000"};
static struct {unsigned f; char r[32];} string86 = {1966112, "/Cedar/Gargoyle/Gargoyle.icons\000"};
static struct {unsigned f;  char r0[200]; char r1[20];} string87
   = { 14221532,
   "Create a graphical editor\012\011Gargoyle [-~fancyPanel] [-command (<some commands>) ] [file name pattern]\012\011See /R/GargoyleControlPanel.gargoyle for example commands, like\012-command ((SelectAll)(AreaColorBla",
   "ck)(DeselectAll))\000\000"};
static struct {unsigned f; char r[12];} string88 = {524300, "GGIPToIP\000\000\000"};
static struct {unsigned f;  char r0[200]; char r1[48];} string89
   = { 16056568,
   "GGIPToIP <scriptname> <ip file names, like ThesePics-*.ip> \030 apply the named script to each of the named interpress files (after performing MergeIPEditable).  A new file with -mod.ip at the end will b",
   "e created corresponding to each original file\000\000"};
static struct {unsigned f; char r[16];} string90 = {851984, "\257\300\252\163\250\153\300\336\010\363\211\100\164\000\000"};
static struct {unsigned f; char r[24];} string91 = {1376277, "\006\007\024\001\030\001\034\001\040\001\044\001\074\001\100\330\010\000\004\070\001\000\000"};
static struct {unsigned f; char r[16];} string92 = {851984, "\257\300\101\370\323\224\300\165\315\304\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string93 = {851984, "\257\300\212\174\364\337\300\361\376\000\156\100\150\000\000"};
static struct {unsigned f; char r[16];} string94 = {851984, "\257\300\345\207\354\240\300\306\063\246\015\100\150\000\000"};
static struct {unsigned f; char r[16];} string95 = {851984, "\257\300\006<7[\300;CV\364@h\000\000"};
static struct {unsigned f; char r[16];} string96 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string97 = {851984, "\257\300\311\235\133\064\300\165\175\234\175\100\150\000\000"};
static struct {unsigned f; char r[16];} string98 = {851984, "\257\300\362\312\033\215\300\321\365\230\017\100\150\000\000"};
static struct {unsigned f; char r[16];} string99 = {851984, "\257\300\322\334\347\304\300\124\107\000\027\100\150\000\000"};
static struct {unsigned f; char r[16];} string100 = {851984, "\257\300\311\307\035\205\300\321\364\126\253\100\150\000\000"};
static struct {unsigned f; char r[16];} string101 = {851984, "\257\300\103\154\257\030\300\165\276\076\350\100\150\000\000"};
static struct {unsigned f; char r[16];} string102 = {851984, "\257\300\344\212\014\176\300\070\230\121\123\100\150\000\000"};
static struct {unsigned f; char r[16];} string103 = {851984, "\257\300\133\220\237\206\300\254\332\015\112\100\164\000\000"};
static struct {unsigned f; char r[16];} string104 = {851984, "\257\300\112\153\254\213\300\072\171\243\243\100\150\000\000"};
static struct {unsigned f; char r[16];} string105 = {851984, "\257\300\136\002\175\264\300\016\031\370\241\100\150\000\000"};
static struct {unsigned f; char r[16];} string106 = {851984, "\257\300\265\217\206\011\300\172\271\371\033\100\150\000\000"};
static struct {unsigned f; char r[16];} string107 = {851984, "\257\300\223\031\346\162\300\275\253\133\335\100\150\000\000"};
static struct {unsigned f; char r[16];} string108 = {851984, "\257\300\306\163\371\375\300\321\143\133\037\100\150\000\000"};
static struct {unsigned f; char r[16];} string109 = {851984, "\257\300\231\005\151\136\300\275\231\323\274\100\150\000\000"};
static struct {unsigned f; char r[16];} string110 = {851984, "\257\300\003\033\274\104\300\263\246\312\006\100\150\000\000"};
static struct {unsigned f; char r[16];} string111 = {851984, "\257\300\252\050\175\356\300\250\337\044\120\100\150\000\000"};
static struct {unsigned f; char r[16];} string112 = {851984, "\257\300\057\254\335\010\300\373\153\244\175\100\150\000\000"};
static struct {unsigned f; char r[16];} string113 = {851984, "\257\300\304\141\336\362\300\236\375\331\052\100\150\000\000"};
static struct {unsigned f; char r[16];} string114 = {851984, "\257\300\246\204\223\340\300\164\162\104\060\100\150\000\000"};
static struct {unsigned f; char r[16];} string115 = {851984, "\257\300\172\265\057\072\300\145\211\260\126\100\150\000\000"};
static struct {unsigned f; char r[16];} string116 = {851984, "\257\300\311\023\117\300\300\337\236\305\170\100\150\000\000"};
static struct {unsigned f; char r[16];} string117 = {851984, "\257\300\207\142\037\125\300\254\056\012\025\100\150\000\000"};
static struct {unsigned f; char r[16];} string118 = {851984, "\257\300\347\101\365\007\300\150\102\366\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string119 = {851984, "\257\300\340\114\347\077\300\130\206\301\040\100\150\000\000"};
static struct {unsigned f; char r[16];} string120 = {851984, "\257\300U$)\337\300Xo9\243@t\000\000"};
static struct {unsigned f; char r[16];} string121 = {851984, "\257\300\206\055\004\241\300\261\334\001\116\100\150\000\000"};
static struct {unsigned f; char r[16];} string122 = {851984, "\257\300\042\164\344\073\300\334\025\274\173\100\150\000\000"};
static struct {unsigned f; char r[16];} string123 = {851984, "\257\300\355\324\264\170\300\276\334\312\210\100\150\000\000"};
static struct {unsigned f; char r[16];} string124 = {851984, "\257\300\037\132\057\032\300\262\356\113\061\100\150\000\000"};
static struct {unsigned f; char r[16];} string125 = {851984, "\257\300\144\143\124\312\300\122\224\357\133\100\150\000\000"};
static struct {unsigned f; char r[16];} string126 = {851984, "\257\300\031\357\041\010\300\216\301\043\377\100\150\000\000"};
static struct {unsigned f; char r[16];} string127 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string128 = {851984, "\257\300\046\300\267\143\300\022\215\240\122\100\150\000\000"};
static struct {unsigned f; char r[16];} string129 = {851984, "\257\300\121\117\377\026\300\315\013\026\004\100\150\000\000"};
static struct {unsigned f; char r[16];} string130 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string131 = {851984, "\257\300\117\270\125\000\300\156\351\056\141\100\150\000\000"};
static struct {unsigned f; char r[16];} string132 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string133 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string134 = {851984, "\257\300\360\202\255\211\300\267\057\343\102\100\150\000\000"};
static struct {unsigned f; char r[16];} string135 = {851984, "\257\300\026\052\121\143\300\234\275\317\206\100\150\000\000"};
static struct {unsigned f; char r[16];} string136 = {851984, "\257\300\134\353\367\206\300\202\044\112\356\100\150\000\000"};
static struct {unsigned f; char r[16];} string137 = {851984, "\257\300\004\142\347\110\300\363\053\254\345\100\150\000\000"};
static struct {unsigned f; char r[16];} string138 = {851984, "\257\300\354\332\367\333\300\361\203\205\173\100\150\000\000"};
static struct {unsigned f; char r[16];} string139 = {851984, "\257\300\356\024\243\250\300\175\157\203\227\100\150\000\000"};
static struct {unsigned f; char r[16];} string140 = {851984, "\257\300\003\112\366\226\300\006\215\072\035\100\150\000\000"};
static struct {unsigned f; char r[16];} string141 = {851984, "\257\300\252\043\023\037\300\070\056\113\065\100\150\000\000"};
static struct {unsigned f; char r[12];} string142 = {1214870388, "oryToolObj"};
static struct {unsigned f; char r[28];} string143 = {1769500, "\211\017\016HistoryToolObj\300\252#\023\037\3008.K5"};
static struct {unsigned f; char r[16];} string144 = {851984, "\257\300\252\050\175\356\300\250\337\044\120\100\164\000\000"};
static struct {unsigned f; char r[4];} string145 = {131074, "\004\017\000"};
static struct {unsigned f; char r[16];} string146 = {851984, "\257\300\223\145\303\043\300\372\023\025\003\100\150\000\000"};
static struct {unsigned f; char r[28];} string147 = {1572892, "\211\014\013\104\162\141\147\104\141\164\141\117\142\152\300\223\145\303\043\300\372\023\025\003\000\000\000"};
static struct {unsigned f; char r[28];} string148 = {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[28];} string149 = {1638428, "\211\015\014\123\164\141\164\145\104\141\164\141\117\142\152\300\223\145\303\043\300\372\023\025\003\000\000"};
static struct {unsigned f; char r[28];} string150 = {1638428, "\211\015\014\105\155\142\145\144\104\141\164\141\117\142\152\300\223\145\303\043\300\372\023\025\003\000\000"};
static struct {unsigned f; char r[28];} string151 = {1769500, "\211\017\016\122\145\146\162\145\163\150\104\141\164\141\117\142\152\300\223\145\303\043\300\372\023\025\003"};
static struct {
   word f0[110]; 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; word f159; word f160; 
   word f161; word f162; word f163; word f164; 
   word f165; word f166; word f167; word f168; 
   word f169; word f170; word f171; word f172; 
   word f173; word f174; word f175; word f176; 
   word f177; word f178; word f179[90]; 
   } globalframe = {
   {0}, (word) GetIcons←P2040, 0, (word) InitIcons←P1980, 
   0, (word) Init←P1920, 0, (word) SetBeingBorn←P1860, 
   0, (word) BiScrollerInputNotify←P1800, 0, (word) BSDestroyProc←P1740, 
   0, (word) BSSaveProc←P1680, 0, (word) GGBasicTransformProc←P1620, 
   0, (word) GGIPToIP←P1560, 0, (word) GGToIP←P1500, 
   0, (word) FilenameMinusExtension←P1440, 0, (word) NewGGViewers←P1380, 
   0, (word) SetCursorLooks←P1320, 0, (word) GGExtremaProc←P1260, 
   0, (word) List←P1200, 0, (word) Choice←P1140, 
   0, (word) PUChoiceList←P1080, 0, (word) OptimizeQueue←P1020, 
   0, (word) WorldToViewer←P960, 0, (word) ViewerToWorld←P900, 
   0, (word) RegisterEditedProc←P840, 0, (word) GGAbortProc←P780, 
   0, (word) GGActionAreaPaint←P720, 0, (word) ActiveInGGData←P660, 
   0, (word) CreateWindowAux←P600, 0, (word) CreateWindow←P540, 
   0, (word) CreateGGDataForViewer←P480, 0, (word) CreateGGData←P420, 
   0, (word) PaintInViewer←P360, 0, (word) CreateChildViewer←P300, 
   0, (word) OpenViewerOnFile←P240, 0, (word) SaveCaretPos←P180, 
   0, (word) NewCaretPos←P120, 0, (word) RestoreScreenAndInvariants←P60, 
   0, (word) GGWindowImpl←P0, {0}
   };

static void NoName←Q3264()
   {
   register ptr gf←c0526 =  (ptr) &globalframe;
   word var←c78356;
   (* (( (ptr) gf←c0526)+19) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0526)+20) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0526)+21) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0526)+22) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0526)+24) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (* (( (ptr) gf←c0526)+26) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string12);
   (* (( (ptr) gf←c0526)+28) ) = (word) XR←GetTypeIndexS((word) (&string13));
   (* (( (ptr) gf←c0526)+29) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
   (* (( (ptr) gf←c0526)+31) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string12);
   (* (( (ptr) gf←c0526)+32) ) = (word) XR←GetTypeIndex((word) &string17, 0, (word) &string18);
   (* (( (ptr) gf←c0526)+33) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string18);
   (* (( (ptr) gf←c0526)+34) ) = (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21);
   (* (( (ptr) gf←c0526)+36) ) = (word) XR←GetTypeIndex((word) &string22, 0, (word) &string23);
   (* (( (ptr) gf←c0526)+37) ) = (word) XR←GetTypeIndex((word) &string24, 0, (word) &string18);
   (* (( (ptr) gf←c0526)+38) ) = (word) XR←GetTypeIndex((word) &string25, 0, (word) &string26);
   (* (( (ptr) gf←c0526)+39) ) = (word) XR←GetTypeIndex((word) &string27, 0, (word) &string28);
   (* (( (ptr) gf←c0526)+40) ) = (word) XR←GetTypeIndex((word) &string29, 0, (word) &string30);
   (* (( (ptr) gf←c0526)+41) ) = (word) XR←GetTypeIndex((word) &string31, 0, (word) &string18);
   (* (( (ptr) gf←c0526)+42) ) = (word) XR←GetTypeIndexS((word) (&string32));
   (* (( (ptr) gf←c0526)+47) ) = (word) XR←GetTypeIndex((word) &string33, 0, (word) &string34);
   (*  (ptr) (( (bPt) gf←c0526)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0526)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0526)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c0526)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c0526)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string39);
   (*  (ptr) (( (bPt) gf←c0526)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string40);
   (*  (ptr) (( (bPt) gf←c0526)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string41);
   (*  (ptr) (( (bPt) gf←c0526)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string42);
   (*  (ptr) (( (bPt) gf←c0526)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string43);
   (*  (ptr) (( (bPt) gf←c0526)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string44);
   (*  (ptr) (( (bPt) gf←c0526)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string45);
   (*  (ptr) (( (bPt) gf←c0526)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string46);
   (*  (ptr) (( (bPt) gf←c0526)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string47);
   (*  (ptr) (( (bPt) gf←c0526)+268) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string48);
   (*  (ptr) (( (bPt) gf←c0526)+272) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string49);
   (*  (ptr) (( (bPt) gf←c0526)+276) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string50);
   (*  (ptr) (( (bPt) gf←c0526)+280) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string51);
   (*  (ptr) (( (bPt) gf←c0526)+284) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string52);
   (*  (ptr) (( (bPt) gf←c0526)+288) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string53);
   (*  (ptr) (( (bPt) gf←c0526)+292) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string54);
   (*  (ptr) (( (bPt) gf←c0526)+296) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string55);
   (*  (ptr) (( (bPt) gf←c0526)+300) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string56);
   (*  (ptr) (( (bPt) gf←c0526)+304) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string57);
   (*  (ptr) (( (bPt) gf←c0526)+308) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string58);
   (*  (ptr) (( (bPt) gf←c0526)+312) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string59);
   (*  (ptr) (( (bPt) gf←c0526)+316) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string60);
   (*  (ptr) (( (bPt) gf←c0526)+320) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string61);
   (*  (ptr) (( (bPt) gf←c0526)+324) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string46);
   (*  (ptr) (( (bPt) gf←c0526)+328) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string62);
   (*  (ptr) (( (bPt) gf←c0526)+332) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string63);
   (*  (ptr) (( (bPt) gf←c0526)+336) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string64);
   (*  (ptr) (( (bPt) gf←c0526)+340) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string65);
   (*  (ptr) (( (bPt) gf←c0526)+344) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string66);
   (*  (ptr) (( (bPt) gf←c0526)+348) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string67);
   (*  (ptr) (( (bPt) gf←c0526)+352) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string68);
   (*  (ptr) (( (bPt) gf←c0526)+356) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string69);
   (*  (ptr) (( (bPt) gf←c0526)+360) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string70);
   (*  (ptr) (( (bPt) gf←c0526)+364) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string71);
   (*  (ptr) (( (bPt) gf←c0526)+368) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string72);
   (*  (ptr) (( (bPt) gf←c0526)+372) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string73);
   (*  (ptr) (( (bPt) gf←c0526)+376) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string74);
   (*  (ptr) (( (bPt) gf←c0526)+380) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string75);
   (*  (ptr) (( (bPt) gf←c0526)+384) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string76);
   (*  (ptr) (( (bPt) gf←c0526)+388) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string77);
   (*  (ptr) (( (bPt) gf←c0526)+392) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string78);
   (*  (ptr) (( (bPt) gf←c0526)+396) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string79);
   (*  (ptr) (( (bPt) gf←c0526)+400) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string80);
   (*  (ptr) (( (bPt) gf←c0526)+404) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string81);
   (*  (ptr) (( (bPt) gf←c0526)+408) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string82);
   (*  (ptr) (( (bPt) gf←c0526)+412) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+26) ), (word) &string83);
   (*  (ptr) (( (bPt) gf←c0526)+416) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string84);
   (*  (ptr) (( (bPt) gf←c0526)+420) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string85);
   (*  (ptr) (( (bPt) gf←c0526)+424) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string86);
   (*  (ptr) (( (bPt) gf←c0526)+428) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string87);
   (*  (ptr) (( (bPt) gf←c0526)+432) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string88);
   (*  (ptr) (( (bPt) gf←c0526)+436) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0526)+31) ), (word) &string89);
   (void) XR←DeclareGlobalFrame((word) "GGWindowImpl", &globalframe, (word) XR←GetTypeIndex((word) &string90, 0, (word) &string91)
      , (word) (( (bPt) gf←c0526)+712)/* var←c72116 */ );
   var←c78356 = (word) XR←ImportInterface((word) "AtomButtons", (word) XR←GetTypeIndexS((word) (&string92)), 21);
   (* (( (ptr) gf←c0526)+255)/* var←c75348 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 69206024);
   var←c78356 = (word) XR←ImportInterface((word) "BasicTime", (word) XR←GetTypeIndexS((word) (&string93)), 24);
   (* (( (ptr) gf←c0526)+224)/* var←c72756 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 134220544);
   var←c78356 = (word) XR←ImportInterface((word) "BiScrollers", (word) XR←GetTypeIndexS((word) (&string94)), 30);
   (* (( (ptr) gf←c0526)+235)/* var←c73364 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67373569);
   (void) XR←ImportProcS(var←c78356, 67373825);
   (void) XR←ImportProcS(var←c78356, 67634946);
   (void) XR←ImportProcS(var←c78356, 67371521);
   var←c78356 = (word) XR←ImportInterface((word) "CodeTimer", (word) XR←GetTypeIndexS((word) (&string95)), 21);
   (* (( (ptr) gf←c0526)+220)/* var←c72532 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 526850);
   (void) XR←ImportProcS(var←c78356, 526338);
   var←c78356 = (word) XR←ImportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string96)), 3);
   (* (( (ptr) gf←c0526)+265)/* var←c78132 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 1310725);
   var←c78356 = (word) XR←ImportInterface((word) "CommanderOps", (word) XR←GetTypeIndexS((word) (&string97)), 14);
   (* (( (ptr) gf←c0526)+258)/* var←c76372 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67633666);
   (void) XR←ImportProcS(var←c78356, 134742274);
   var←c78356 = (word) XR←ImportInterface((word) "EBMesaLisp", (word) XR←GetTypeIndexS((word) (&string98)), 11);
   (* (( (ptr) gf←c0526)+260)/* var←c76596 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 134479873);
   var←c78356 = (word) XR←ImportInterface((word) "Feedback", (word) XR←GetTypeIndexS((word) (&string99)), 25);
   (* (( (ptr) gf←c0526)+236)/* var←c73428 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 1050628);
   (void) XR←ImportProcS(var←c78356, 67109632);
   var←c78356 = (word) XR←ImportInterface((word) "FeedbackOps", (word) XR←GetTypeIndexS((word) (&string100)), 19);
   (* (( (ptr) gf←c0526)+237)/* var←c73556 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 790019);
   (void) XR←ImportProcS(var←c78356, 789507);
   var←c78356 = (word) XR←ImportInterface((word) "FileNames", (word) XR←GetTypeIndexS((word) (&string101)), 17);
   (* (( (ptr) gf←c0526)+231)/* var←c73108 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67371265);
   (void) XR←ImportProcS(var←c78356, 67109632);
   var←c78356 = (word) XR←ImportInterface((word) "FS", (word) XR←GetTypeIndexS((word) (&string102)), 36);
   (* (( (ptr) gf←c0526)+261)/* var←c76628 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 788995);
   (void) XR←ImportProcS(var←c78356, 940048898);
   var←c78356 = (word) XR←ImportInterface((word) "Geom2D", (word) XR←GetTypeIndexS((word) (&string103)), 23);
   (* (( (ptr) gf←c0526)+256)/* var←c76244 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 270012674);
   var←c78356 = (word) XR←ImportInterface((word) "GGActive", (word) XR←GetTypeIndexS((word) (&string104)), 4);
   (* (( (ptr) gf←c0526)+238)/* var←c73876 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67371265);
   var←c78356 = (word) XR←ImportInterface((word) "GGAlign", (word) XR←GetTypeIndexS((word) (&string105)), 46);
   (* (( (ptr) gf←c0526)+221)/* var←c72564 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 272385);
   (void) XR←ImportProcS(var←c78356, 67112192);
   (void) XR←ImportProcS(var←c78356, 67109120);
   (void) XR←ImportProcS(var←c78356, 526850);
   (void) XR←ImportProcS(var←c78356, 262657);
   (void) XR←ImportProcS(var←c78356, 1316101);
   (void) XR←ImportProcS(var←c78356, 265729);
   (void) XR←ImportProcS(var←c78356, 268289);
   (void) XR←ImportProcS(var←c78356, 268033);
   var←c78356 = (word) XR←ImportInterface((word) "GGBoundBox", (word) XR←GetTypeIndexS((word) (&string106)), 24);
   (* (( (ptr) gf←c0526)+247)/* var←c74612 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67372033);
   (void) XR←ImportProcS(var←c78356, 67109376);
   var←c78356 = (word) XR←ImportInterface((word) "GGCaret", (word) XR←GetTypeIndexS((word) (&string107)), 13);
   (* (( (ptr) gf←c0526)+227)/* var←c72884 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67108864);
   (void) XR←ImportProcS(var←c78356, 134482689);
   var←c78356 = (word) XR←ImportInterface((word) "GGContainer", (word) XR←GetTypeIndexS((word) (&string108)), 6);
   (* (( (ptr) gf←c0526)+252)/* var←c75060 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 525058);
   (void) XR←ImportProcS(var←c78356, 524546);
   (void) XR←ImportProcS(var←c78356, 524802);
   (void) XR←ImportProcS(var←c78356, 74711042);
   var←c78356 = (word) XR←ImportInterface((word) "GGCoreOps", (word) XR←GetTypeIndexS((word) (&string109)), 37);
   (* (( (ptr) gf←c0526)+241)/* var←c74164 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67110144);
   (void) XR←ImportProcS(var←c78356, 67108864);
   var←c78356 = (word) XR←ImportInterface((word) "GGEvent", (word) XR←GetTypeIndexS((word) (&string110)), 38);
   (* (( (ptr) gf←c0526)+233)/* var←c73268 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 525314);
   (void) XR←ImportProcS(var←c78356, 531970);
   (void) XR←ImportProcS(var←c78356, 524290);
   var←c78356 = (word) XR←ImportInterface((word) "GGHistory", (word) XR←GetTypeIndexS((word) (&string111)), 20);
   (* (( (ptr) gf←c0526)+226)/* var←c72820 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67637506);
   (void) XR←ImportProcS(var←c78356, 528898);
   (void) XR←ImportProcS(var←c78356, 263425);
   var←c78356 = (word) XR←ImportInterface((word) "GGMeasure", (word) XR←GetTypeIndexS((word) (&string112)), 8);
   (* (( (ptr) gf←c0526)+229)/* var←c72948 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 68683523);
   (void) XR←ImportProcS(var←c78356, 68157698);
   (void) XR←ImportProcS(var←c78356, 68682499);
   (void) XR←ImportProcS(var←c78356, 68158722);
   var←c78356 = (word) XR←ImportInterface((word) "GGMenu", (word) XR←GetTypeIndexS((word) (&string113)), 1);
   (* (( (ptr) gf←c0526)+253)/* var←c75188 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 524290);
   var←c78356 = (word) XR←ImportInterface((word) "GGMouseEvent", (word) XR←GetTypeIndexS((word) (&string114)), 32);
   (* (( (ptr) gf←c0526)+242)/* var←c74196 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 262145);
   var←c78356 = (word) XR←ImportInterface((word) "GGMultiGravity", (word) XR←GetTypeIndexS((word) (&string115)), 16);
   (* (( (ptr) gf←c0526)+246)/* var←c74548 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67112704);
   (void) XR←ImportProcS(var←c78356, 67635201);
   var←c78356 = (word) XR←ImportInterface((word) "GGOutline", (word) XR←GetTypeIndexS((word) (&string116)), 19);
   (* (( (ptr) gf←c0526)+250)/* var←c74932 */  ) = var←c78356;
   var←c78356 = (word) XR←ImportInterface((word) "GGRefresh", (word) XR←GetTypeIndexS((word) (&string117)), 30);
   (* (( (ptr) gf←c0526)+222)/* var←c72596 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 1049604);
   (void) XR←ImportProcS(var←c78356, 1573638);
   (void) XR←ImportProcS(var←c78356, 67109376);
   (void) XR←ImportProcS(var←c78356, 789507);
   (void) XR←ImportProcS(var←c78356, 527106);
   (void) XR←ImportProcS(var←c78356, 267009);
   (void) XR←ImportProcS(var←c78356, 267777);
   var←c78356 = (word) XR←ImportInterface((word) "GGScene", (word) XR←GetTypeIndexS((word) (&string118)), 50);
   (* (( (ptr) gf←c0526)+225)/* var←c72788 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67380225);
   (void) XR←ImportProcS(var←c78356, 67371009);
   (void) XR←ImportProcS(var←c78356, 790018);
   var←c78356 = (word) XR←ImportInterface((word) "GGSessionLog", (word) XR←GetTypeIndexS((word) (&string119)), 7);
   (* (( (ptr) gf←c0526)+244)/* var←c74388 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 525570);
   (void) XR←ImportProcS(var←c78356, 525314);
   var←c78356 = (word) XR←ImportInterface((word) "GGSlice", (word) XR←GetTypeIndexS((word) (&string120)), 128);
   (* (( (ptr) gf←c0526)+248)/* var←c74740 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 68169730);
   var←c78356 = (word) XR←ImportInterface((word) "GGState", (word) XR←GetTypeIndexS((word) (&string121)), 119);
   (* (( (ptr) gf←c0526)+223)/* var←c72692 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 134481921);
   (void) XR←ImportProcS(var←c78356, 67372545);
   (void) XR←ImportProcS(var←c78356, 551170);
   (void) XR←ImportProcS(var←c78356, 554498);
   (void) XR←ImportProcS(var←c78356, 536322);
   (void) XR←ImportProcS(var←c78356, 534018);
   (void) XR←ImportProcS(var←c78356, 532226);
   (void) XR←ImportProcS(var←c78356, 530178);
   (void) XR←ImportProcS(var←c78356, 67384833);
   var←c78356 = (word) XR←ImportInterface((word) "GGStateExtras", (word) XR←GetTypeIndexS((word) (&string122)), 4);
   (* (( (ptr) gf←c0526)+240)/* var←c74036 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 525058);
   (void) XR←ImportProcS(var←c78356, 268960002);
   (void) XR←ImportProcS(var←c78356, 786435);
   var←c78356 = (word) XR←ImportInterface((word) "GGUserInput", (word) XR←GetTypeIndexS((word) (&string123)), 13);
   (* (( (ptr) gf←c0526)+254)/* var←c75316 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 1310981);
   (void) XR←ImportProcS(var←c78356, 524802);
   (void) XR←ImportProcS(var←c78356, 525058);
   var←c78356 = (word) XR←ImportInterface((word) "GGUserProfile", (word) XR←GetTypeIndexS((word) (&string124)), 25);
   (* (( (ptr) gf←c0526)+243)/* var←c74260 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67114496);
   (void) XR←ImportProcS(var←c78356, 67111936);
   (void) XR←ImportProcS(var←c78356, 67113472);
   (void) XR←ImportProcS(var←c78356, 67110912);
   (void) XR←ImportProcS(var←c78356, 67112448);
   var←c78356 = (word) XR←ImportInterface((word) "GGViewerOps", (word) XR←GetTypeIndexS((word) (&string125)), 8);
   (* (( (ptr) gf←c0526)+230)/* var←c72980 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 787970);
   var←c78356 = (word) XR←ImportInterface((word) "Icons", (word) XR←GetTypeIndexS((word) (&string126)), 3);
   (* (( (ptr) gf←c0526)+266)/* var←c78164 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67633666);
   var←c78356 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string127)), 84);
   (* (( (ptr) gf←c0526)+249)/* var←c74900 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67372289);
   var←c78356 = (word) XR←ImportInterface((word) "ImagerFont", (word) XR←GetTypeIndexS((word) (&string128)), 26);
   (* (( (ptr) gf←c0526)+264)/* var←c78068 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67634434);
   (void) XR←ImportProcS(var←c78356, 67633922);
   var←c78356 = (word) XR←ImportInterface((word) "ImagerTransformation", (word) XR←GetTypeIndexS((word) (&string129)), 55);
   (* (( (ptr) gf←c0526)+239)/* var←c73940 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67634689);
   (void) XR←ImportProcS(var←c78356, 135013122);
   (void) XR←ImportProcS(var←c78356, 67645698);
   (void) XR←ImportProcS(var←c78356, 67371777);
   var←c78356 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string130)), 103);
   (* (( (ptr) gf←c0526)+259)/* var←c76564 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 1071364);
   (void) XR←ImportProcS(var←c78356, 67640578);
   var←c78356 = (word) XR←ImportInterface((word) "MultiCursors", (word) XR←GetTypeIndexS((word) (&string131)), 26);
   (* (( (ptr) gf←c0526)+257)/* var←c76340 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 69733891);
   (void) XR←ImportProcS(var←c78356, 787203);
   (void) XR←ImportProcS(var←c78356, 67634178);
   var←c78356 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string132)), 22);
   (* (( (ptr) gf←c0526)+262)/* var←c76980 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 3584);
   var←c78356 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string133)), 43);
   (* (( (ptr) gf←c0526)+232)/* var←c73140 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67900163);
   (void) XR←ImportProcS(var←c78356, 67633666);
   (void) XR←ImportProcS(var←c78356, 67373569);
   (void) XR←ImportProcS(var←c78356, 67898627);
   (void) XR←ImportProcS(var←c78356, 68419845);
   (void) XR←ImportProcS(var←c78356, 67896323);
   var←c78356 = (word) XR←ImportInterface((word) "SlackProcess", (word) XR←GetTypeIndexS((word) (&string134)), 26);
   (* (( (ptr) gf←c0526)+245)/* var←c74420 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 268961538);
   (void) XR←ImportProcS(var←c78356, 67374081);
   (void) XR←ImportProcS(var←c78356, 69206280);
   var←c78356 = (word) XR←ImportInterface((word) "TIPUser", (word) XR←GetTypeIndexS((word) (&string135)), 4);
   (* (( (ptr) gf←c0526)+263)/* var←c77972 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67109120);
   (void) XR←ImportProcS(var←c78356, 67371009);
   var←c78356 = (word) XR←ImportInterface((word) "UserProfile", (word) XR←GetTypeIndexS((word) (&string136)), 11);
   (* (( (ptr) gf←c0526)+251)/* var←c74964 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 67633154);
   var←c78356 = (word) XR←ImportInterface((word) "Vectors2d", (word) XR←GetTypeIndexS((word) (&string137)), 21);
   (* (( (ptr) gf←c0526)+228)/* var←c72916 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 135006210);
   var←c78356 = (word) XR←ImportInterface((word) "ViewerOps", (word) XR←GetTypeIndexS((word) (&string138)), 43);
   (* (( (ptr) gf←c0526)+234)/* var←c73300 */  ) = var←c78356;
   (void) XR←ImportProcS(var←c78356, 532482);
   (void) XR←ImportProcS(var←c78356, 1575430);
   (void) XR←ImportProcS(var←c78356, 1051652);
   var←c78356 = (word) XR←ExportInterface((word) "GGWindow", (word) XR←GetTypeIndexS((word) (&string139)), 12);
   (* (( (ptr) gf←c0526)+267)/* var←c78388 */  ) = var←c78356;
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+704)/* var←c72084 */ , 1572870, (word) "RestoreScreenAndInvariants")
   ;
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+688)/* var←c72020 */ , 262401, (word) "SaveCaretPos");
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+696)/* var←c72052 */ , 262657, (word) "NewCaretPos");
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+600)/* var←c71668 */ , 787203, (word) "RegisterEditedProc");
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+640)/* var←c71828 */ , 68158468, (word) "CreateWindow");
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+672)/* var←c71956 */ , 137626893, (word) "CreateChildViewer")
   ;
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+656)/* var←c71892 */ , 67634690, (word) "CreateGGData");
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+448)/* var←c71060 */ , 1792, (word) "InitIcons");
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+440)/* var←c71028 */ , 335546368, (word) "GetIcons");
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+592)/* var←c71636 */ , 135006466, (word) "ViewerToWorld");
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+584)/* var←c71604 */ , 135006722, (word) "WorldToViewer");
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+536)/* var←c71412 */ , 789251, (word) "SetCursorLooks");
   var←c78356 = (word) XR←ExportInterface((word) "GGWindowExtras", (word) XR←GetTypeIndexS((word) (&string140)), 1);
   (* (( (ptr) gf←c0526)+267)/* var←c78388 */  ) = var←c78356;
   (void) XR←ExportProcS(var←c78356, (word) (( (bPt) gf←c0526)+464)/* var←c71124 */ , 524290, (word) "SetBeingBorn");
   var←c78356 = (word) XR←ExportInterface((word) "GGHistoryTypes", (word) XR←GetTypeIndexS((word) (&string141)), 2);
   (* (( (ptr) gf←c0526)+268)/* var←c78420 */  ) = var←c78356;
   (void) XR←ExportType((word) &string142, (word) XR←GetTypeIndexS((word) (&string143)), (word) XR←GetTypeIndex((word) &string144, 0, (word) &string145)
      );
   var←c78356 = (word) XR←ExportInterface((word) "GGInterfaceTypes", (word) XR←GetTypeIndexS((word) (&string146)), 6);
   (* (( (ptr) gf←c0526)+268)/* var←c78420 */  ) = var←c78356;
   (void) XR←ExportType((word) &string142, (word) XR←GetTypeIndexS((word) (&string143)), (word) XR←GetTypeIndex((word) &string144, 0, (word) &string145)
      );
   (void) XR←ExportType((word) "DragDataObj", (word) XR←GetTypeIndexS((word) (&string147)), (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8)
      );
   (void) XR←ExportType((word) "ControlsObj", (word) XR←GetTypeIndexS((word) (&string148)), (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2)
      );
   (void) XR←ExportType((word) "StateDataObj", (word) XR←GetTypeIndexS((word) (&string149)), (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6)
      );
   (void) XR←ExportType((word) "EmbedDataObj", (word) XR←GetTypeIndexS((word) (&string150)), (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4)
      );
   (void) XR←ExportType((word) "RefreshDataObj", (word) XR←GetTypeIndexS((word) (&string151)), (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10)
      );
   }

static void GGWindowImpl←P0(formal←c0121, formal←c0120)
   word formal←c0121;
   word formal←c0120;
   {
   register ptr gf←c78452 =  (ptr) &globalframe;
   /* GGWindowImpl: */ 
SOURCE(778, 31296)
   (* (( (ptr) gf←c78452)+185) ) = 20;
   (* (( (ptr) gf←c78452)+196) ) = 62916576;
   (* (( (ptr) gf←c78452)+197) ) = 204478488;
   (* (( (ptr) gf←c78452)+198) ) = 806117382;
   (* (( (ptr) gf←c78452)+199) ) = 3221471235;
   (* (( (ptr) gf←c78452)+200) ) = 3221471235;
   (* (( (ptr) gf←c78452)+201) ) = 1611018252;
   (* (( (ptr) gf←c78452)+202) ) = 404229168;
   (* (( (ptr) gf←c78452)+203) ) = 132121536;
   (* (( (ptr) gf←c78452)+204) ) = 3221446662;
   (* (( (ptr) gf←c78452)+205) ) = 806098968;
   (* (( (ptr) gf←c78452)+206) ) = 204473376;
   (* (( (ptr) gf←c78452)+209) ) = 69209136;
   (* (( (ptr) gf←c78452)+210) ) = 404238348;
   (* (( (ptr) gf←c78452)+211) ) = 1611055107;
   (* (( (ptr) gf←c78452)+212) ) =  (word) -1;
   (* (( (ptr) gf←c78452)+213) ) = 3221471235;
   (* (( (ptr) gf←c78452)+214) ) = 3221471235;
   (* (( (ptr) gf←c78452)+215) ) = 3221471235;
   (* (( (ptr) gf←c78452)+216) ) = 3221471235;
   (* (( (ptr) gf←c78452)+217) ) = 3221471235;
   (* (( (ptr) gf←c78452)+218) ) = 3221471235;
   (* (( (ptr) gf←c78452)+219) ) =  (word) -1;
SOURCE(2751, 24)
   (* (( (ptr) gf←c78452)+4)/* buttonAlign←v6220 */  ) = 2;
SOURCE(31390, 37)
   (* (( (ptr) gf←c78452)+10)/* panelIconG←v7732 */  ) =  (word) -1;
SOURCE(31455, 38)
   (* (( (ptr) gf←c78452)+11)/* noNameIconG←v7760 */  ) =  (word) -1;
SOURCE(31521, 43)
   (* (( (ptr) gf←c78452)+12)/* dirtyNoNameIconG←v7788 */  ) =  (word) -1;
SOURCE(31592, 37)
   (* (( (ptr) gf←c78452)+13)/* dirtyIconG←v7816 */  ) =  (word) -1;
SOURCE(31657, 37)
   (* (( (ptr) gf←c78452)+14)/* cleanIconG←v7844 */  ) =  (word) -1;
SOURCE(31771, 54)
   (* (( (ptr) gf←c78452)+16)/* offCursor←v7900 */  ) = 4;
SOURCE(31862, 66)
   (* (( (ptr) gf←c78452)+17)/* pointsPreferredCursor←v7928 */  ) = 4;
SOURCE(31965, 65)
   (* (( (ptr) gf←c78452)+18)/* linesPreferredCursor←v7956 */  ) = 4;
SOURCE(32068, 6)
   (void) Init←P1920();
   }

static void RestoreScreenAndInvariants←P60(paintAction←v8168, ggData←v8196, remake←v8224, edited←v8252, selectionChanged←v8280, okToSkipCapture←v8308)
   word paintAction←v8168;
   word ggData←v8196;
   word remake←v8224;
   word edited←v8252;
   word selectionChanged←v8280;
   word okToSkipCapture←v8308;
   {
   register ptr gf←c78484 =  (ptr) &globalframe;
   /* RestoreScreenAndInvariants: */ 
SOURCE(3436, 1662)
SOURCE(3630, 58)
   {
      word pd152;
      pd152 = (* (( (ptr) (* (( (ptr) gf←c78484)+220)/* var←c72532 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd152 ))))((* (( (ptr) gf←c78484)+82) ), (* (( (ptr) gf←c78484)+81) ), pd152);
      };
SOURCE(3690, 861)
   if ((* (( (bPt) ggData←v8196)+207) ) & 010) {
SOURCE(3721, 29)
      {
         word pd153;
         pd153 = (* (( (ptr) (* (( (ptr) gf←c78484)+221)/* var←c72564 */  ))+27) );
         (void) ( *( (fPt) ((*  (ptr) pd153 ))))(ggData←v8196, pd153);
         };
SOURCE(3752, 38)
      {
         word pd154;
         pd154 = (* (( (ptr) (* (( (ptr) gf←c78484)+222)/* var←c72596 */  ))+26) );
         (void) ( *( (fPt) ((*  (ptr) pd154 ))))(ggData←v8196, pd154);
         };
SOURCE(3792, 38)
      {
         word pd155;
         pd155 = (* (( (ptr) (* (( (ptr) gf←c78484)+222)/* var←c72596 */  ))+23) );
         (void) ( *( (fPt) ((*  (ptr) pd155 ))))(ggData←v8196, pd155);
         };
SOURCE(3832, 28)
      (* (( (ptr) ggData←v8196) + 51) ) &= 4294967287;
      }
   else {
SOURCE(3871, 680)
      {
         word var←c72628;
         var←c72628 = remake←v8224;
         switch (var←c72628) {
            case 4: 
               break;
            case 0: 
SOURCE(3920, 29)
               {
                  word pd156;
                  pd156 = (* (( (ptr) (* (( (ptr) gf←c78484)+221)/* var←c72564 */  ))+27) );
                  (void) ( *( (fPt) ((*  (ptr) pd156 ))))(ggData←v8196, pd156);
                  };
SOURCE(3951, 38)
               {
                  word pd157;
                  pd157 = (* (( (ptr) (* (( (ptr) gf←c78484)+222)/* var←c72596 */  ))+26) );
                  (void) ( *( (fPt) ((*  (ptr) pd157 ))))(ggData←v8196, pd157);
                  };
               break;
            case 1: 
SOURCE(4021, 44)
               {
                  word pd158;
                  pd158 = (* (( (ptr) (* (( (ptr) gf←c78484)+221)/* var←c72564 */  ))+28) );
                  (void) ( *( (fPt) ((*  (ptr) pd158 ))))(ggData←v8196, pd158);
                  };
SOURCE(4067, 38)
               {
                  word pd159;
                  pd159 = (* (( (ptr) (* (( (ptr) gf←c78484)+222)/* var←c72596 */  ))+26) );
                  (void) ( *( (fPt) ((*  (ptr) pd159 ))))(ggData←v8196, pd159);
                  };
               break;
            case 2: 
SOURCE(4124, 46)
               {
                  word pd160;
                  pd160 = (* (( (ptr) (* (( (ptr) gf←c78484)+221)/* var←c72564 */  ))+18) );
                  (void) ( *( (fPt) ((*  (ptr) pd160 ))))((* ((( (ptr) (* (( (ptr) ggData←v8196)+18) ))+4)) ), pd160);
                  };
SOURCE(4172, 150)
               {
                  word var←c72660;
                  {
                     word pd161;
                     pd161 = (* (( (ptr) (* (( (ptr) gf←c78484)+223)/* var←c72692 */  ))+58) );
                     var←c72660 =  (unsigned) (0 == (word) ( *( (fPt) ((*  (ptr) pd161 ))))(ggData←v8196, pd161));
                     };
                  {
                     word pd162;
                     pd162 = (* (( (ptr) (* (( (ptr) gf←c78484)+221)/* var←c72564 */  ))+25) );
                     (void) ( *( (fPt) ((*  (ptr) pd162 ))))((* (( (ptr) (* (( (ptr) ggData←v8196)+18) ))+1) ), (* (( (ptr) (* (( (ptr) ggData←v8196)+18)
                            ))+8) ), ggData←v8196, var←c72660, (* (( (ptr) (* (( (ptr) ggData←v8196)+18) ))+4) ), pd162);
                     };
                  };
SOURCE(4324, 38)
               {
                  word pd163;
                  pd163 = (* (( (ptr) (* (( (ptr) gf←c78484)+222)/* var←c72596 */  ))+26) );
                  (void) ( *( (fPt) ((*  (ptr) pd163 ))))(ggData←v8196, pd163);
                  };
               break;
            case 3: 
SOURCE(4379, 38)
               {
                  word pd164;
                  pd164 = (* (( (ptr) (* (( (ptr) gf←c78484)+222)/* var←c72596 */  ))+26) );
                  (void) ( *( (fPt) ((*  (ptr) pd164 ))))(ggData←v8196, pd164);
                  };
               break;
            case 5: 
SOURCE(4436, 48)
               {
                  word pd165;
                  pd165 = (* (( (ptr) (* (( (ptr) gf←c78484)+221)/* var←c72564 */  ))+6) );
                  (void) ( *( (fPt) ((*  (ptr) pd165 ))))((* ((( (ptr) (* (( (ptr) ggData←v8196)+18) ))+8)) ), pd165);
                  };
SOURCE(4486, 65)
               {
                  word pd166;
                  pd166 = (* (( (ptr) (* (( (ptr) gf←c78484)+221)/* var←c72564 */  ))+14) );
                  (void) ( *( (fPt) ((*  (ptr) pd166 ))))((* (( (ptr) ggData←v8196)+11) ), (* (( (ptr) (* (( (ptr) ggData←v8196)+18) ))+8) ), pd166)
                  ;
                  };
               break;
            default: 
SOURCE(4567, 5)
               (void) XR←RaiseUnnamedError();
               break;
            };
         };
      };
SOURCE(4577, 99)
   if (((0 != edited←v8252) || (0 != selectionChanged←v8280))) {
SOURCE(4612, 64)
      {
         W2 var←c72724;
         {
            word pd167;
            pd167 = (* (( (ptr) (* (( (ptr) gf←c78484)+224)/* var←c72756 */  ))+15) );
            (void) ( *( (fPt) ((*  (ptr) pd167 ))))((word) (&var←c72724), pd167);
            };
         {
            word pd168;
            pd168 = (* (( (ptr) (* (( (ptr) gf←c78484)+225)/* var←c72788 */  ))+18) );
            (void) ( *( (fPt) ((*  (ptr) pd168 ))))((* (( (ptr) ggData←v8196)+11) ), var←c72724, pd168);
            };
         };
      };
SOURCE(4678, 189)
   if ((0 != edited←v8252)) {
SOURCE(4695, 172)
      {
         register word list←v12560;
         list←v12560 = (* (( (ptr) gf←c78484)+5)/* globalEditedProcList←v6556 */  );
         lab←L100003: ;
         if ((list←v12560 != 0)) {
            }
         else {
            goto lab←L100000;
            };
SOURCE(4782, 85)
         if ((ggData←v8196 == (*  (ptr) (*  (ptr) list←v12560 ) ))) {
SOURCE(4815, 52)
            {
               word pd169;
               pd169 = (* (( (ptr) (*  (ptr) list←v12560 ))+1) );
               (void) ( *( (fPt) ((*  (ptr) pd169 ))))(ggData←v8196, (* (( (ptr) (*  (ptr) list←v12560 ))+2) ), pd169);
               };
            };
         list←v12560 = (* (( (ptr) list←v12560)+1) );
         goto lab←L100003;
         lab←L100000: ;
         };
      };
SOURCE(4881, 44)
   {
      word pd170;
      pd170 = (* (( (ptr) (* (( (ptr) gf←c78484)+222)/* var←c72596 */  ))+15) );
      (void) ( *( (fPt) ((*  (ptr) pd170 ))))(ggData←v8196, paintAction←v8168, pd170);
      };
SOURCE(4969, 70)
   if ((0 == okToSkipCapture←v8308)) {
SOURCE(4997, 42)
      {
         word pd171;
         pd171 = (* (( (ptr) (* (( (ptr) gf←c78484)+226)/* var←c72820 */  ))+9) );
         (void) ( *( (fPt) ((*  (ptr) pd171 ))))(ggData←v8196, pd171);
         };
      };
SOURCE(5041, 57)
   {
      word pd172;
      pd172 = (* (( (ptr) (* (( (ptr) gf←c78484)+220)/* var←c72532 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd172 ))))((* (( (ptr) gf←c78484)+82) ), (* (( (ptr) gf←c78484)+81) ), pd172);
      };
   }

static void NewCaretPos←P120(ggData←v8368)
   word ggData←v8368;
   {
   register ptr gf←c78516 =  (ptr) &globalframe;
   W2 caret0←v12688;
   W2 caret1←v12716;
   W2 caret2Pos←v12744;
   word distance←v12772;
   word angle←v12800;
   word slope←v12828;
   word lineDist←v12856;
   /* NewCaretPos: */ 
SOURCE(5104, 850)
SOURCE(5224, 30)
   caret0←v12688 = (*  (W2Pt) (( (ptr) ggData←v8368)+19) );
SOURCE(5256, 30)
   caret1←v12716 = (*  (W2Pt) (( (ptr) ggData←v8368)+21) );
SOURCE(5288, 89)
   {
      W2 var←c72852;
      {
         word pd173;
         pd173 = (* (( (ptr) (* (( (ptr) gf←c78516)+227)/* var←c72884 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd173 ))))((word) &var←c72852, (* (( (ptr) ggData←v8368)+13) ), pd173);
         };
      {
         W2 var←c0143;
         {
            word pd174;
            word x176;
            word x177;
            float tf178;
            pd174 = (* (( (ptr) (* (( (ptr) gf←c78516)+228)/* var←c72916 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd174 ))))((word) &var←c0143, var←c72852, (
                  tf178 = (
                     x176 = (*  (ptr) &fc175 ),  *(float*)&x176
                     ) / (
                     x177 = (* (( (ptr) (* (( (ptr) ggData←v8368)+18) ))+13) ),  *(float*)&x177
                     ),  *(word*)&tf178
                  ), pd174);
            };
         caret2Pos←v12744 = var←c0143;
         };
      };
SOURCE(5379, 61)
   {
      word pd179;
      pd179 = (* (( (ptr) (* (( (ptr) gf←c78516)+229)/* var←c72948 */  ))+9) );
      distance←v12772 = (word) ( *( (fPt) ((*  (ptr) pd179 ))))(caret1←v12716, caret2Pos←v12744, pd179);
      };
SOURCE(5468, 66)
   {
      word pd180;
      pd180 = (* (( (ptr) (* (( (ptr) gf←c78516)+229)/* var←c72948 */  ))+7) );
      angle←v12800 = (word) ( *( (fPt) ((*  (ptr) pd180 ))))(caret0←v12688, caret1←v12716, caret2Pos←v12744, pd180);
      };
SOURCE(5536, 50)
   {
      word pd181;
      pd181 = (* (( (ptr) (* (( (ptr) gf←c78516)+229)/* var←c72948 */  ))+5) );
      slope←v12828 = (word) ( *( (fPt) ((*  (ptr) pd181 ))))(caret1←v12716, caret2Pos←v12744, pd181);
      };
SOURCE(5588, 71)
   {
      word pd182;
      pd182 = (* (( (ptr) (* (( (ptr) gf←c78516)+229)/* var←c72948 */  ))+11) );
      lineDist←v12856 = (word) ( *( (fPt) ((*  (ptr) pd182 ))))(caret2Pos←v12744, caret0←v12688, caret1←v12716, pd182);
      };
SOURCE(5692, 38)
   (*  (W2Pt) (( (ptr) ggData←v8368)+23) ) = caret2Pos←v12744;
SOURCE(5732, 55)
   {
      word pd183;
      pd183 = (* (( (ptr) (* (( (ptr) gf←c78516)+230)/* var←c72980 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd183 ))))((* (( (ptr) (*  (ptr) ggData←v8368 ))+31) ), caret2Pos←v12744, pd183);
      };
SOURCE(5790, 36)
   {
      word pd184;
      pd184 = (* (( (ptr) (* (( (ptr) gf←c78516)+223)/* var←c72692 */  ))+27) );
      (void) ( *( (fPt) ((*  (ptr) pd184 ))))(ggData←v8368, slope←v12828, pd184);
      };
SOURCE(5828, 36)
   {
      word pd185;
      pd185 = (* (( (ptr) (* (( (ptr) gf←c78516)+223)/* var←c72692 */  ))+35) );
      (void) ( *( (fPt) ((*  (ptr) pd185 ))))(ggData←v8368, angle←v12800, pd185);
      };
SOURCE(5866, 40)
   {
      word pd186;
      pd186 = (* (( (ptr) (* (( (ptr) gf←c78516)+223)/* var←c72692 */  ))+42) );
      (void) ( *( (fPt) ((*  (ptr) pd186 ))))(ggData←v8368, distance←v12772, pd186);
      };
SOURCE(5908, 46)
   {
      word pd187;
      pd187 = (* (( (ptr) (* (( (ptr) gf←c78516)+223)/* var←c72692 */  ))+51) );
      (void) ( *( (fPt) ((*  (ptr) pd187 ))))(ggData←v8368, lineDist←v12856, pd187);
      };
   }

static void SaveCaretPos←P180(ggData←v8428)
   word ggData←v8428;
   {
   register ptr gf←c78548 =  (ptr) &globalframe;
   W2 caret2Pos←v12900;
   /* SaveCaretPos: */ 
SOURCE(5960, 322)
SOURCE(6007, 96)
   {
      W2 var←c73012;
      {
         word pd188;
         pd188 = (* (( (ptr) (* (( (ptr) gf←c78548)+227)/* var←c72884 */  ))+15) );
         (void) ( *( (fPt) ((*  (ptr) pd188 ))))((word) &var←c73012, (* (( (ptr) ggData←v8428)+13) ), pd188);
         };
      {
         W2 var←c0148;
         {
            word pd189;
            word x190;
            word x191;
            float tf192;
            pd189 = (* (( (ptr) (* (( (ptr) gf←c78548)+228)/* var←c72916 */  ))+12) );
            (void) ( *( (fPt) ((*  (ptr) pd189 ))))((word) &var←c0148, var←c73012, (
                  tf192 = (
                     x190 = (*  (ptr) &fc175 ),  *(float*)&x190
                     ) / (
                     x191 = (* (( (ptr) (* (( (ptr) ggData←v8428)+18) ))+13) ),  *(float*)&x191
                     ),  *(word*)&tf192
                  ), pd189);
            };
         caret2Pos←v12900 = var←c0148;
         };
      };
SOURCE(6105, 38)
   (*  (W2Pt) (( (ptr) ggData←v8428)+23) ) = caret2Pos←v12900;
SOURCE(6145, 55)
   {
      word pd193;
      pd193 = (* (( (ptr) (* (( (ptr) gf←c78548)+230)/* var←c72980 */  ))+10) );
      (void) ( *( (fPt) ((*  (ptr) pd193 ))))((* (( (ptr) (*  (ptr) ggData←v8428 ))+31) ), caret2Pos←v12900, pd193);
      };
SOURCE(6202, 45)
   (*  (W2Pt) (( (ptr) ggData←v8428)+19) ) = (*  (W2Pt) (( (ptr) ggData←v8428)+21) );
SOURCE(6249, 33)
   (*  (W2Pt) (( (ptr) ggData←v8428)+21) ) = caret2Pos←v12900;
   }

static word OpenViewerOnFile←P240(fileName←v8488, fancyPanel←v8516)
   word fileName←v8488;
   word fancyPanel←v8516;
   {
   register ptr gf←c78580 =  (ptr) &globalframe;
   word ggData←v8560;
   /* OpenViewerOnFile: */ 
SOURCE(6287, 596)
SOURCE(6287, 596)
   ggData←v8560 = 0;
SOURCE(6393, 109)
   {
      word var←c73044;
      word var←c73076;
      {
         word pd194;
         pd194 = (* (( (ptr) (* (( (ptr) gf←c78580)+225)/* var←c72788 */  ))+4) );
         var←c73044 = (word) ( *( (fPt) ((*  (ptr) pd194 ))))(0, pd194);
         };
      {
         word pd195;
         pd195 = (* (( (ptr) (* (( (ptr) gf←c78580)+231)/* var←c73108 */  ))+7) );
         var←c73076 = (word) ( *( (fPt) ((*  (ptr) pd195 ))))(pd195);
         };
      ggData←v8560 = (word) CreateWindowAux←P600(var←c73044, 1, 0, var←c73076, fancyPanel←v8516);
      };
SOURCE(6534, 107)
   {
      word tc196;
      word pd197;
      if ((fileName←v8488 != 0)) {
         pd197 = (* (( (ptr) (* (( (ptr) gf←c78580)+232)/* var←c73140 */  ))+8) );
         tc196 =  (word) (0 == (word) ( *( (fPt) ((*  (ptr) pd197 ))))(fileName←v8488, (* (( (ptr) gf←c78580)+76) ), 1, pd197));
         }
      else {
         tc196 =  (word) 0;
         };
      if (tc196) {
SOURCE(6585, 56)
         {
            word var←c73172;
            {
               word var←c73204;
               word var←c73236;
               var←c73204 = XR←NewObject(8, (* (( (ptr) gf←c78580)+33) ));
               var←c73236 = var←c73204;
               (*  (ptr) var←c73236 ) = (* (( (ptr) gf←c78580)+75) );
               (* (( (ptr) var←c73236)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78580)+33) ));
               var←c73236 = (* (( (ptr) var←c73236)+1) );
               (*  (ptr) var←c73236 ) = fileName←v8488;
               var←c73172 = var←c73204;
               };
            {
               word pd198;
               pd198 = (* (( (ptr) (* (( (ptr) gf←c78580)+233)/* var←c73268 */  ))+4) );
               (void) ( *( (fPt) ((*  (ptr) pd198 ))))(ggData←v8560, var←c73172, pd198);
               };
            };
         };
      };
SOURCE(6684, 54)
   {
      word pd199;
      pd199 = (* (( (ptr) (* (( (ptr) gf←c78580)+226)/* var←c72820 */  ))+22) );
      (void) ( *( (fPt) ((*  (ptr) pd199 ))))((* (( (ptr) (*  (ptr) (*  (ptr) ggData←v8560 ) ))+13) ), ggData←v8560, pd199);
      };
SOURCE(6740, 54)
   {
      word pd200;
      pd200 = (* (( (ptr) (* (( (ptr) gf←c78580)+234)/* var←c73300 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd200 ))))((*  (ptr) (*  (ptr) ggData←v8560 ) ), 3, 1, 0, pd200);
      };
SOURCE(6830, 53)
   {
      word pd201;
      pd201 = (* (( (ptr) (* (( (ptr) gf←c78580)+234)/* var←c73300 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd201 ))))((* (( (ptr) (*  (ptr) ggData←v8560 ))+1) ), 3, 1, 0, pd201);
      };
SOURCE(6287, 596)
   return(ggData←v8560);
   }

static void CreateChildViewer←P300(formal←c0184, scene←v8620, wx←v8648, wy←v8676, ww←v8704, wh←v8732, cx←v8760, cy←v8788, cw←v8816, ch←v8844, parent←v8872, workingDirectory←v8900, clientData←v8928, paint←v8956)
   word formal←c0184;
   word scene←v8620;
   word wx←v8648;
   word wy←v8676;
   word ww←v8704;
   word wh←v8732;
   word cx←v8760;
   word cy←v8788;
   word cw←v8816;
   word ch←v8844;
   word parent←v8872;
   word workingDirectory←v8900;
   word clientData←v8928;
   word paint←v8956;
   {
   register ptr gf←c78612 =  (ptr) &globalframe;
   word viewer←v9016;
   word ggData←v9044;
   /* CreateChildViewer: */ 
SOURCE(6923, 1819)
SOURCE(6923, 1819)
   viewer←v9016 = 0;
SOURCE(6923, 1819)
   ggData←v9044 = 0;
SOURCE(7188, 63)
   ggData←v9044 = (word) CreateGGDataForViewer←P480(parent←v8872, scene←v8620, workingDirectory←v8900, 1);
SOURCE(7253, 29)
   (* (( (ptr) (*  (ptr) ggData←v9044 ))+9) ) = 1;
SOURCE(7284, 268)
   {
      W28 var←c73332;
      W30 var←c0173;
      (*  (ptr) (word) &var←c0173 ) = (* (( (ptr) gf←c78612)+8)/* actionAreaClass←v7676 */  );
      (*  (ptr) &var←c73332 ) = 0;
      (* (( (ptr) &var←c73332)+1) ) = wx←v8648;
      (* (( (ptr) &var←c73332)+2) ) = wy←v8676;
      (* (( (ptr) &var←c73332)+3) ) = ww←v8704;
      (* (( (ptr) &var←c73332)+4) ) = wh←v8732;
      (* (( (ptr) &var←c73332)+5) ) = cx←v8760;
      (* (( (ptr) &var←c73332)+6) ) = cy←v8788;
      (* (( (ptr) &var←c73332)+7) ) = cw←v8816;
      (* (( (ptr) &var←c73332)+8) ) = ch←v8844;
      {
         word tmpAddr202;
         tmpAddr202 = (word) (( (ptr) &var←c73332)+9);
         (*  (ptr) tmpAddr202 ) = 0;
         (* (( (ptr) tmpAddr202) + 1) ) = 0;
         };
      (* (( (ptr) &var←c73332)+11) ) = 0;
      (* (( (ptr) &var←c73332)+12) ) = 0;
      (* (( (ptr) &var←c73332)+13) ) = (* (( (ptr) gf←c78612)+69) );
      (* (( (ptr) &var←c73332)+14) ) = 0;
      (* (( (ptr) &var←c73332)+15) ) = 0;
      (* (( (ptr) &var←c73332)+16) ) = 0;
      (* (( (ptr) &var←c73332)+17) ) =  (word) -1;
      (* (( (ptr) &var←c73332)+18) ) = 1;
      (* (( (ptr) &var←c73332)+19) ) = 285212672;
      (* (( (ptr) &var←c73332)+20) ) = 0;
      (* (( (ptr) &var←c73332)+21) ) = 0;
      (* (( (ptr) &var←c73332)+22) ) = parent←v8872;
      (* (( (ptr) &var←c73332)+23) ) = 0;
      (* (( (ptr) &var←c73332)+24) ) = 0;
      (* (( (ptr) &var←c73332)+25) ) = 0;
      (* (( (ptr) &var←c73332)+26) ) = ggData←v9044;
      (* (( (ptr) &var←c73332)+27) ) = 27;
      (*  (W28Pt) (( (ptr) (word) &var←c0173) + 1) ) = var←c73332;
      (* (( (ptr) (word) &var←c0173) + 29) ) = paint←v8956;
      {
         word var←c0580;
         {
            word pd203;
            pd203 = (* (( (ptr) (* (( (ptr) gf←c78612)+235)/* var←c73364 */  ))+6) );
            var←c0580 = (* (( (ptr) ( *( (fPt) ((*  (ptr) pd203 ))))(0, pd203))+1) );
            };
         (* (( (ptr) (*  (ptr) ggData←v9044 ))+4) ) = (word) ( *( (fPt) ((*  (ptr) var←c0580 ))))((word) (&var←c0173), var←c0580);
         };
      };
SOURCE(7554, 101)
   {
      word var←c73396;
      {
         word pd204;
         pd204 = (* (( (ptr) (* (( (ptr) gf←c78612)+235)/* var←c73364 */  ))+11) );
         var←c73396 = (word) ( *( (fPt) ((*  (ptr) pd204 ))))((* (( (ptr) (*  (ptr) ggData←v9044 ))+4) ), 0, pd204);
         };
      (*  (ptr) (*  (ptr) ggData←v9044 ) ) = var←c73396;
      (* (( (ptr) (*  (ptr) ggData←v9044 ))+2) ) = var←c73396;
      };
SOURCE(7657, 78)
   {
      word pd205;
      pd205 = (* (( (ptr) (* (( (ptr) gf←c78612)+235)/* var←c73364 */  ))+11) );
      (* (( (ptr) (*  (ptr) ggData←v9044 ))+5) ) = (word) ( *( (fPt) ((*  (ptr) pd205 ))))((* (( (ptr) (*  (ptr) ggData←v9044 ))+4)
          ), 1, pd205);
      };
SOURCE(7737, 40)
   (* (( (ptr) (* (( (ptr) (*  (ptr) ggData←v9044 ))+5) ))+27) ) = 255;
SOURCE(7846, 17)
   (* (( (ptr) ggData←v9044)+4) ) = 0;
SOURCE(7865, 28)
   (* (( (ptr) ggData←v9044)+49) ) = (* (( (ptr) gf←c78612)+9)/* ggTipTable←v7704 */  );
SOURCE(7896, 41)
   (* (( (ptr) (*  (ptr) (*  (ptr) ggData←v9044 ) )) + 19) ) &= 4227858431;
SOURCE(7939, 40)
   (* (( (ptr) (* (( (ptr) (*  (ptr) ggData←v9044 ))+1) )) + 19) ) &= 4227858431;
SOURCE(7981, 42)
   (* (( (ptr) (* (( (ptr) (*  (ptr) ggData←v9044 ))+2) )) + 19) ) &= 4227858431;
SOURCE(8026, 50)
   (void) SetCursorLooks←P1320((* (( (ptr) (* (( (ptr) ggData←v9044)+18) ))+11) ), ggData←v9044, 0);
SOURCE(8078, 36)
   {
      word pd206;
      pd206 = (* (( (ptr) (* (( (ptr) gf←c78612)+233)/* var←c73268 */  ))+34) );
      (void) ( *( (fPt) ((*  (ptr) pd206 ))))(ggData←v9044, 1, pd206);
      };
SOURCE(8116, 49)
   (void) RegisterEditedProc←P840(ggData←v9044, (* (( (ptr) (* (( (ptr) gf←c78612)+223)/* var←c72692 */  ))+122) ), 0);
SOURCE(8168, 121)
   (void) RestoreScreenAndInvariants←P60((* (( (ptr) gf←c78612)+68) ), ggData←v9044, 0, 0, 0, 0);
SOURCE(8291, 32)
   viewer←v9016 = (* (( (ptr) (*  (ptr) ggData←v9044 ))+2) );
SOURCE(8325, 39)
   {
      word pd207;
      pd207 = (* (( (ptr) (* (( (ptr) gf←c78612)+236)/* var←c73428 */  ))+7) );
      (* (( (ptr) ggData←v9044)+3) ) = (word) ( *( (fPt) ((*  (ptr) pd207 ))))(pd207);
      };
SOURCE(8366, 80)
   {
      word var←c73460;
      {
         word var←c73492;
         word var←c73524;
         var←c73492 = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73524 = var←c73492;
         (*  (ptr) var←c73524 ) = (* (( (ptr) gf←c78612)+61) );
         (* (( (ptr) var←c73524)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73524 = (* (( (ptr) var←c73524)+1) );
         (*  (ptr) var←c73524 ) = (* (( (ptr) gf←c78612)+62) );
         var←c73460 = var←c73492;
         };
      {
         word pd208;
         pd208 = (* (( (ptr) (* (( (ptr) gf←c78612)+237)/* var←c73556 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd208 ))))((* (( (ptr) ggData←v9044)+3) ), 1, var←c73460, pd208);
         };
      };
SOURCE(8457, 126)
   {
      word var←c73588;
      {
         word var←c73620;
         word var←c73652;
         var←c73620 = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73652 = var←c73620;
         (*  (ptr) var←c73652 ) = (* (( (ptr) gf←c78612)+55) );
         (* (( (ptr) var←c73652)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73652 = (* (( (ptr) var←c73652)+1) );
         (*  (ptr) var←c73652 ) = (* (( (ptr) gf←c78612)+56) );
         (* (( (ptr) var←c73652)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73652 = (* (( (ptr) var←c73652)+1) );
         (*  (ptr) var←c73652 ) = (* (( (ptr) gf←c78612)+57) );
         (* (( (ptr) var←c73652)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73652 = (* (( (ptr) var←c73652)+1) );
         (*  (ptr) var←c73652 ) = (* (( (ptr) gf←c78612)+58) );
         (* (( (ptr) var←c73652)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73652 = (* (( (ptr) var←c73652)+1) );
         (*  (ptr) var←c73652 ) = (* (( (ptr) gf←c78612)+59) );
         (* (( (ptr) var←c73652)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73652 = (* (( (ptr) var←c73652)+1) );
         (*  (ptr) var←c73652 ) = (* (( (ptr) gf←c78612)+60) );
         var←c73588 = var←c73620;
         };
      {
         word pd209;
         pd209 = (* (( (ptr) (* (( (ptr) gf←c78612)+237)/* var←c73556 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd209 ))))((* (( (ptr) ggData←v9044)+3) ), 0, var←c73588, pd209);
         };
      };
SOURCE(8585, 125)
   {
      word var←c73684;
      {
         word var←c73716;
         word var←c73748;
         var←c73716 = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73748 = var←c73716;
         (*  (ptr) var←c73748 ) = (* (( (ptr) gf←c78612)+61) );
         (* (( (ptr) var←c73748)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73748 = (* (( (ptr) var←c73748)+1) );
         (*  (ptr) var←c73748 ) = (* (( (ptr) gf←c78612)+57) );
         (* (( (ptr) var←c73748)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73748 = (* (( (ptr) var←c73748)+1) );
         (*  (ptr) var←c73748 ) = (* (( (ptr) gf←c78612)+59) );
         (* (( (ptr) var←c73748)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73748 = (* (( (ptr) var←c73748)+1) );
         (*  (ptr) var←c73748 ) = (* (( (ptr) gf←c78612)+54) );
         (* (( (ptr) var←c73748)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73748 = (* (( (ptr) var←c73748)+1) );
         (*  (ptr) var←c73748 ) = (* (( (ptr) gf←c78612)+62) );
         (* (( (ptr) var←c73748)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c78612)+37) ));
         var←c73748 = (* (( (ptr) var←c73748)+1) );
         (*  (ptr) var←c73748 ) = (* (( (ptr) gf←c78612)+60) );
         var←c73684 = var←c73716;
         };
      {
         word pd210;
         pd210 = (* (( (ptr) (* (( (ptr) gf←c78612)+237)/* var←c73556 */  ))+18) );
         (void) ( *( (fPt) ((*  (ptr) pd210 ))))((* (( (ptr) ggData←v9044)+3) ), (* (( (ptr) gf←c78612)+81) ), var←c73684, pd210);
         };
      };
SOURCE(8712, 30)
   (* (( (ptr) (* (( (ptr) ggData←v9044)+2) ))+4) ) = 0;
   /* removed tail goto */ 
   (*  (ptr) formal←c0184 ) = viewer←v9016;
   (* (( (ptr) formal←c0184)+1) ) = ggData←v9044;
   return;
   }

static void PaintInViewer←P360(ggData←v28256, request←v28284, bounds←v28312, clientData←v28340)
   word ggData←v28256;
   word request←v28284;
   word bounds←v28312;
   word clientData←v28340;
   {
   register ptr gf←c78644 =  (ptr) &globalframe;
   /* PaintInViewer: */ 
SOURCE(8748, 158)
SOURCE(8794, 112)
   {
      word pd211;
      pd211 = (* (( (ptr) (* (( (ptr) gf←c78644)+234)/* var←c73300 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd211 ))))((* (( (ptr) (*  (ptr) ggData←v28256 ))+5) ), 1, 0, ggData←v28256, pd211);
      };
   }

static word CreateGGData←P420(scene←v9104, workingDirectory←v9132)
   word scene←v9104;
   word workingDirectory←v9132;
   {
   word ggData←v9176;
   /* CreateGGData: */ 
SOURCE(8912, 158)
SOURCE(8912, 158)
   ggData←v9176 = 0;
SOURCE(9011, 59)
   return((word) CreateGGDataForViewer←P480(0, scene←v9104, workingDirectory←v9132, 1));
   }

static word CreateGGDataForViewer←P480(outer←v9236, scene←v9264, workingDirectory←v9292, withNullDoc←v9320)
   word outer←v9236;
   word scene←v9264;
   word workingDirectory←v9292;
   word withNullDoc←v9320;
   {
   register ptr gf←c78676 =  (ptr) &globalframe;
   word ggData←v9364;
   /* CreateGGDataForViewer: */ 
SOURCE(9076, 3163)
SOURCE(9076, 3163)
   ggData←v9364 = 0;
SOURCE(9218, 23)
   {
      word var←c73812;
      var←c73812 = XR←NewObject(212, (* (( (ptr) gf←c78676)+47) ));
      (* (( (ptr) var←c73812)+8) ) = 1;
      (* (( (ptr) var←c73812)+31) ) = (*  (ptr) &fc212 );
      (* (( (ptr) var←c73812)+32) ) = (*  (ptr) &fc213 );
      (* (( (ptr) var←c73812)+33) ) = (*  (ptr) &fc213 );
      (* (( (ptr) var←c73812)+34) ) = (*  (ptr) &fc214 );
      (* (( (ptr) var←c73812)+35) ) = (*  (ptr) &fc215 );
      (* (( (ptr) var←c73812)+36) ) = 5;
      (*  (W4Pt) (( (ptr) var←c73812)+37) ) = (*  (W4Pt) (( (ptr) gf←c78676)+180)/* var←c72180 */  );
      (*  (W7Pt) (( (ptr) var←c73812)+41) ) = (*  (W7Pt) (( (ptr) gf←c78676)+184)/* var←c72244 */  );
      ggData←v9364 = var←c73812;
      };
SOURCE(9243, 34)
   {
      word var←c73844;
      var←c73844 = XR←NewObject(160, (* (( (ptr) gf←c78676)+19) ));
      (* (( (ptr) var←c73844)+39) ) = 4;
      (*  (ptr) ggData←v9364 ) = var←c73844;
      };
SOURCE(9279, 75)
   if ((0 != withNullDoc←v9320)) {
SOURCE(9299, 55)
      {
         word pd216;
         pd216 = (* (( (ptr) (* (( (ptr) gf←c78676)+238)/* var←c73876 */  ))+5) );
         (* (( (ptr) (*  (ptr) ggData←v9364 ))+37) ) = (word) ( *( (fPt) ((*  (ptr) pd216 ))))(ggData←v9364, pd216);
         };
      };
SOURCE(9356, 39)
   {
      word var←c73908;
      var←c73908 = XR←NewObject(28, (* (( (ptr) gf←c78676)+21) ));
      (*  (ptr) var←c73908 ) = 1;
      (* (( (ptr) var←c73908)+1) ) = 1;
      (* (( (ptr) ggData←v9364)+1) ) = var←c73908;
      };
SOURCE(9397, 39)
   (*  (ptr) (* (( (ptr) ggData←v9364)+1) ) ) = 1;
SOURCE(9438, 40)
   (* (( (ptr) (* (( (ptr) ggData←v9364)+1) ))+1) ) = 1;
SOURCE(9480, 68)
   {
      word pd217;
      pd217 = (* (( (ptr) (* (( (ptr) gf←c78676)+239)/* var←c73940 */  ))+7) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+1) ))+2) ) = (word) ( *( (fPt) ((*  (ptr) pd217 ))))((*  (ptr) (&fc175) ), pd217);
      };
SOURCE(9550, 68)
   {
      word pd218;
      pd218 = (* (( (ptr) (* (( (ptr) gf←c78676)+239)/* var←c73940 */  ))+7) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+1) ))+3) ) = (word) ( *( (fPt) ((*  (ptr) pd218 ))))((*  (ptr) (&fc175) ), pd218);
      };
SOURCE(9620, 30)
   {
      word var←c73972;
      var←c73972 = XR←NewObject(92, (* (( (ptr) gf←c78676)+22) ));
      (*  (ptr) var←c73972 ) = 2;
      (* (( (ptr) var←c73972)+1) ) = 2;
      (* (( (ptr) var←c73972)+2) ) = (*  (ptr) &fc219 );
      (* (( (ptr) var←c73972)+3) ) = (*  (ptr) &fc219 );
      (* (( (ptr) var←c73972)+4) ) = (*  (ptr) &fc219 );
      (* (( (ptr) var←c73972)+5) ) = (*  (ptr) &fc219 );
      (* (( (ptr) var←c73972)+6) ) = (*  (ptr) &fc219 );
      (* (( (ptr) var←c73972)+7) ) = (*  (ptr) &fc220 );
      (* (( (ptr) var←c73972)+8) ) = (*  (ptr) &fc219 );
      (* (( (ptr) var←c73972)+9) ) = (*  (ptr) &fc219 );
      (* (( (ptr) var←c73972)+14) ) = 1;
      (* (( (ptr) var←c73972)+15) ) = 1;
      (*  (W5Pt) (( (ptr) var←c73972)+18) ) = (*  (W5Pt) (( (ptr) gf←c78676)+191)/* var←c72308 */  );
      (* (( (ptr) ggData←v9364)+16) ) = var←c73972;
      };
SOURCE(9652, 32)
   {
      word var←c74004;
      var←c74004 = XR←NewObject(44, (* (( (ptr) gf←c78676)+20) ));
      (* (( (ptr) var←c74004)+4) ) = 1;
      (* (( (ptr) ggData←v9364)+2) ) = var←c74004;
      };
SOURCE(9686, 56)
   {
      word pd221;
      pd221 = (* (( (ptr) (* (( (ptr) gf←c78676)+239)/* var←c73940 */  ))+7) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+2) ))+5) ) = (word) ( *( (fPt) ((*  (ptr) pd221 ))))((*  (ptr) (&fc175) ), pd221);
      };
SOURCE(9744, 55)
   {
      word pd222;
      pd222 = (* (( (ptr) (* (( (ptr) gf←c78676)+222)/* var←c72596 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd222 ))))(ggData←v9364, (word) (( (bPt) gf←c78676)+664)/* var←c71924 */ , 0, pd222);
      };
SOURCE(9801, 78)
   {
      word pd223;
      pd223 = (* (( (ptr) (* (( (ptr) gf←c78676)+240)/* var←c74036 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd223 ))))(ggData←v9364, (* (( (ptr) (* (( (ptr) gf←c78676)+240)/* var←c74036 */  ))+5) ), 0, pd223)
      ;
      };
SOURCE(9881, 29)
   (* (( (ptr) (* (( (ptr) ggData←v9364)+2) ))+4) ) = 1;
SOURCE(9912, 36)
   {
      word var←c74068;
      var←c74068 = XR←NewObject(104, (* (( (ptr) gf←c78676)+24) ));
      (* (( (ptr) var←c74068)+10) ) = (*  (ptr) &fc219 );
      (* (( (ptr) var←c74068)+11) ) = (*  (ptr) &fc219 );
      (* (( (ptr) var←c74068)+12) ) = (*  (ptr) &fc219 );
      (* (( (ptr) var←c74068)+13) ) = (*  (ptr) &fc219 );
      (* (( (ptr) ggData←v9364)+17) ) = var←c74068;
      };
SOURCE(9950, 100)
   if ((outer←v9236 != 0)) {
SOURCE(9970, 24)
      (* (( (ptr) outer←v9236) + 19) ) &= 4227858431;
SOURCE(9996, 54)
      {
         word var←c74100;
         var←c74100 = outer←v9236;
         (* (( (ptr) (*  (ptr) ggData←v9364 ))+1) ) = outer←v9236;
         (*  (ptr) (*  (ptr) ggData←v9364 ) ) = var←c74100;
         };
      };
SOURCE(10055, 59)
   {
      word pd224;
      pd224 = (* (( (ptr) (* (( (ptr) gf←c78676)+240)/* var←c74036 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd224 ))))(ggData←v9364, workingDirectory←v9292, pd224);
      };
SOURCE(10116, 20)
   (* (( (ptr) ggData←v9364)+11) ) = scene←v9264;
SOURCE(10138, 31)
   {
      word pd225;
      pd225 = (* (( (ptr) (* (( (ptr) gf←c78676)+227)/* var←c72884 */  ))+4) );
      (* (( (ptr) ggData←v9364)+13) ) = (word) ( *( (fPt) ((*  (ptr) pd225 ))))(pd225);
      };
SOURCE(10171, 41)
   {
      word pd226;
      pd226 = (* (( (ptr) (* (( (ptr) gf←c78676)+227)/* var←c72884 */  ))+4) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+16) ))+10) ) = (word) ( *( (fPt) ((*  (ptr) pd226 ))))(pd226);
      };
SOURCE(10214, 32)
   {
      word pd227;
      pd227 = (* (( (ptr) (* (( (ptr) gf←c78676)+227)/* var←c72884 */  ))+4) );
      (* (( (ptr) ggData←v9364)+14) ) = (word) ( *( (fPt) ((*  (ptr) pd227 ))))(pd227);
      };
SOURCE(10248, 30)
   {
      word var←c74132;
      var←c74132 = XR←NewObject(20, (* (( (ptr) gf←c78676)+42) ));
      (* (( (ptr) var←c74132)+4) ) = (*  (ptr) &fc175 );
      (* (( (ptr) ggData←v9364)+15) ) = var←c74132;
      };
SOURCE(10280, 45)
   {
      word pd228;
      pd228 = (* (( (ptr) (* (( (ptr) gf←c78676)+241)/* var←c74164 */  ))+4) );
      (* (( (ptr) ggData←v9364)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd228 ))))(pd228);
      };
SOURCE(10327, 34)
   {
      word pd229;
      pd229 = (* (( (ptr) (* (( (ptr) gf←c78676)+242)/* var←c74196 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd229 ))))(ggData←v9364, pd229);
      };
SOURCE(10363, 99)
   {
      word var←c74228;
      {
         word pd230;
         pd230 = (* (( (ptr) (* (( (ptr) gf←c78676)+243)/* var←c74260 */  ))+18) );
         var←c74228 = (word) ( *( (fPt) ((*  (ptr) pd230 ))))(pd230);
         };
      {
         word var←c74292;
         var←c74292 = XR←NewObject(8, (* (( (ptr) gf←c78676)+41) ));
         {
            word var←c74356;
            var←c74356 = var←c74292;
            };
         (* (( (ptr) ggData←v9364)+41) ) = var←c74292;
         (* (( (ptr) ggData←v9364)+42) ) = var←c74228;
         (* (( (ptr) ggData←v9364)+43) ) = 0;
         (* (( (ptr) ggData←v9364)+44) ) = 0;
         (* (( (ptr) ggData←v9364)+45) ) = 0;
         (* (( (ptr) ggData←v9364)+46) ) = 0;
         (* (( (ptr) ggData←v9364)+47) ) = 0;
         };
      };
SOURCE(10484, 220)
   {
      word pd231;
      pd231 = (* (( (ptr) (* (( (ptr) gf←c78676)+245)/* var←c74420 */  ))+5) );
      (* (( (ptr) ggData←v9364)+48) ) = (word) ( *( (fPt) ((*  (ptr) pd231 ))))(50, 50, (word) (( (bPt) gf←c78676)+576)/* var←c71572 */ , (* (
            ( (ptr) (* (( (ptr) gf←c78676)+244)/* var←c74388 */  ))+8) ), (word) (( (bPt) gf←c78676)+608)/* var←c71700 */ , ggData←v9364
         , (* (( (ptr) (*  (ptr) ggData←v9364 ))+5) ), 2, pd231);
      };
SOURCE(10706, 58)
   {
      word var←c74452;
      word pd232;
      pd232 = (* (( (ptr) (* (( (ptr) gf←c78676)+245)/* var←c74420 */  ))+16) );
      var←c74452 = (word) ( *( (fPt) ((*  (ptr) pd232 ))))((* ((( (ptr) ggData←v9364)+48)) ), pd232);
      };
SOURCE(10766, 30)
   (* (( (ptr) (* (( (ptr) ggData←v9364)+16) ))+14) ) = 8;
SOURCE(10798, 29)
   (* (( (ptr) (* (( (ptr) ggData←v9364)+16) ))+15) ) = 8;
SOURCE(10829, 75)
   {
      word var←c74484;
      {
         W2 var←c74516;
         var←c74516.f0 = (*  (ptr) &fc219 );
         var←c74516.f1 = (*  (ptr) &fc219 );
         {
            word pd233;
            pd233 = (* (( (ptr) (* (( (ptr) gf←c78676)+246)/* var←c74548 */  ))+12) );
            var←c74484 = (word) ( *( (fPt) ((*  (ptr) pd233 ))))(var←c74516, pd233);
            };
         };
      {
         word pd234;
         pd234 = (* (( (ptr) (* (( (ptr) gf←c78676)+223)/* var←c72692 */  ))+109) );
         (void) ( *( (fPt) ((*  (ptr) pd234 ))))(ggData←v9364, var←c74484, pd234);
         };
      };
SOURCE(10906, 32)
   {
      word var←c74580;
      var←c74580 = XR←NewObject(60, (* (( (ptr) gf←c78676)+40) ));
      (*  (ptr) var←c74580 ) = (*  (ptr) &fc235 );
      (* (( (ptr) var←c74580)+11) ) = 1;
      (* (( (ptr) var←c74580)+13) ) = (*  (ptr) &fc236 );
      (* (( (ptr) ggData←v9364)+18) ) = var←c74580;
      };
SOURCE(10940, 54)
   {
      word pd237;
      pd237 = (* (( (ptr) (* (( (ptr) gf←c78676)+221)/* var←c72564 */  ))+5) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+18) ))+1) ) = (word) ( *( (fPt) ((*  (ptr) pd237 ))))(pd237);
      };
SOURCE(10996, 57)
   {
      word pd238;
      pd238 = (* (( (ptr) (* (( (ptr) gf←c78676)+221)/* var←c72564 */  ))+5) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+18) ))+2) ) = (word) ( *( (fPt) ((*  (ptr) pd238 ))))(pd238);
      };
SOURCE(11055, 52)
   {
      word pd239;
      pd239 = (* (( (ptr) (* (( (ptr) gf←c78676)+221)/* var←c72564 */  ))+5) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+18) ))+8) ) = (word) ( *( (fPt) ((*  (ptr) pd239 ))))(pd239);
      };
SOURCE(11109, 55)
   {
      word pd240;
      pd240 = (* (( (ptr) (* (( (ptr) gf←c78676)+221)/* var←c72564 */  ))+5) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+18) ))+9) ) = (word) ( *( (fPt) ((*  (ptr) pd240 ))))(pd240);
      };
SOURCE(11166, 50)
   {
      word pd241;
      pd241 = (* (( (ptr) (* (( (ptr) gf←c78676)+221)/* var←c72564 */  ))+17) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+18) ))+4) ) = (word) ( *( (fPt) ((*  (ptr) pd241 ))))(pd241);
      };
SOURCE(11218, 53)
   {
      word pd242;
      pd242 = (* (( (ptr) (* (( (ptr) gf←c78676)+221)/* var←c72564 */  ))+17) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+18) ))+6) ) = (word) ( *( (fPt) ((*  (ptr) pd242 ))))(pd242);
      };
SOURCE(11273, 62)
   {
      word pd243;
      pd243 = (* (( (ptr) (* (( (ptr) gf←c78676)+246)/* var←c74548 */  ))+19) );
      (* (( (ptr) ggData←v9364)+52) ) = (word) ( *( (fPt) ((*  (ptr) pd243 ))))(pd243);
      };
SOURCE(11337, 31)
   {
      word pd244;
      pd244 = (* (( (ptr) (* (( (ptr) gf←c78676)+221)/* var←c72564 */  ))+44) );
      (void) ( *( (fPt) ((*  (ptr) pd244 ))))(ggData←v9364, pd244);
      };
SOURCE(11370, 34)
   (* (( (ptr) (* (( (ptr) ggData←v9364)+17) ))+18) ) = 0;
SOURCE(11485, 52)
   {
      word pd245;
      pd245 = (* (( (ptr) (* (( (ptr) gf←c78676)+247)/* var←c74612 */  ))+6) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+17) ))+20) ) = (word) ( *( (fPt) ((*  (ptr) pd245 ))))(pd245);
      };
SOURCE(11539, 51)
   {
      word pd246;
      pd246 = (* (( (ptr) (* (( (ptr) gf←c78676)+247)/* var←c74612 */  ))+6) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+17) ))+19) ) = (word) ( *( (fPt) ((*  (ptr) pd246 ))))(pd246);
      };
SOURCE(11592, 51)
   {
      word pd247;
      pd247 = (* (( (ptr) (* (( (ptr) gf←c78676)+247)/* var←c74612 */  ))+6) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+17) ))+21) ) = (word) ( *( (fPt) ((*  (ptr) pd247 ))))(pd247);
      };
SOURCE(11645, 52)
   {
      word pd248;
      pd248 = (* (( (ptr) (* (( (ptr) gf←c78676)+222)/* var←c72596 */  ))+6) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+17) ))+4) ) = (word) ( *( (fPt) ((*  (ptr) pd248 ))))(pd248);
      };
SOURCE(11699, 61)
   {
      word pd249;
      pd249 = (* (( (ptr) (* (( (ptr) gf←c78676)+239)/* var←c73940 */  ))+7) );
      (*  (ptr) (* (( (ptr) ggData←v9364)+17) ) ) = (word) ( *( (fPt) ((*  (ptr) pd249 ))))((*  (ptr) (&fc175) ), pd249);
      };
SOURCE(11762, 31)
   (* (( (ptr) ggData←v9364)+37) ) = 0;
SOURCE(11851, 80)
   {
      word var←c74644;
      W2 var←c74676;
      W2 var←c74708;
      {
         word pd252;
         var←c74676.f0 = (*  (ptr) &fc250 );
         var←c74676.f1 = (*  (ptr) &fc250 );
         var←c74708.f0 = (*  (ptr) &fc251 );
         var←c74708.f1 = (*  (ptr) &fc250 );
         pd252 = (* (( (ptr) (* (( (ptr) gf←c78676)+248)/* var←c74740 */  ))+52) );
         var←c74644 = (*  (ptr) ( *( (fPt) ((*  (ptr) pd252 ))))(var←c74676, var←c74708, pd252) );
         };
      (* (( (ptr) ggData←v9364)+12) ) = var←c74644;
      };
SOURCE(11933, 32)
   (* (( (ptr) ggData←v9364)+29) ) = XR←NewObject(40, (* (( (ptr) gf←c78676)+39) ));
SOURCE(11967, 55)
   {
      word pd253;
      pd253 = (* (( (ptr) (* (( (ptr) gf←c78676)+241)/* var←c74164 */  ))+9) );
      (* (( (ptr) (* (( (ptr) ggData←v9364)+29) ))+7) ) = (word) ( *( (fPt) ((*  (ptr) pd253 ))))(pd253);
      };
SOURCE(12024, 215)
   {
      word var←c74804;
      {
         word var←c74836;
         word var←c74868;
         {
            word pd254;
            pd254 = (* (( (ptr) (* (( (ptr) gf←c78676)+243)/* var←c74260 */  ))+12) );
            var←c74836 = (word) ( *( (fPt) ((*  (ptr) pd254 ))))(pd254);
            };
         var←c74868 = XR←NewObject(60, (* (( (ptr) gf←c78676)+38) ));
         (*  (ptr) var←c74868 ) = (*  (ptr) &fc215 );
         (* (( (ptr) var←c74868)+1) ) = 2;
         (* (( (ptr) var←c74868)+2) ) = 2;
         (* (( (ptr) var←c74868)+5) ) = (*  (ptr) &fc219 );
         (* (( (ptr) var←c74868)+6) ) = (*  (ptr) &fc219 );
         (* (( (ptr) var←c74868)+7) ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c78676)+249)/* var←c74900 */  ))+54) ) );
         (* (( (ptr) var←c74868)+8) ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c78676)+250)/* var←c74932 */  ))+4) ) );
         (* (( (ptr) var←c74868)+9) ) = var←c74836;
         (* (( (ptr) var←c74868)+10) ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c78676)+249)/* var←c74900 */  ))+54) ) );
         (* (( (ptr) var←c74868)+12) ) = (*  (ptr) &fc255 );
         (* (( (ptr) var←c74868)+13) ) = (*  (ptr) &fc255 );
         (* (( (ptr) var←c74868)+14) ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c78676)+249)/* var←c74900 */  ))+54) ) );
         var←c74804 = var←c74868;
         };
      (* (( (ptr) ggData←v9364)+30) ) = var←c74804;
      };
SOURCE(9076, 3163)
   return(ggData←v9364);
   }

static word CreateWindow←P540(scene←v9424, iconic←v9452, paint←v9480, workingDirectory←v9508)
   word scene←v9424;
   word iconic←v9452;
   word paint←v9480;
   word workingDirectory←v9508;
   {
   register ptr gf←c78708 =  (ptr) &globalframe;
   word ggData←v9552;
   word fancyPanel←v12944;
   /* CreateWindow: */ 
SOURCE(12245, 284)
SOURCE(12245, 284)
   ggData←v9552 = 0;
SOURCE(12371, 81)
   {
      word pd256;
      pd256 = (* (( (ptr) (* (( (ptr) gf←c78708)+251)/* var←c74964 */  ))+4) );
      fancyPanel←v12944 = (word) ( *( (fPt) ((*  (ptr) pd256 ))))((* (( (ptr) gf←c78708)+63) ), 1, pd256);
      };
SOURCE(12454, 75)
   return((word) CreateWindowAux←P600(scene←v9424, iconic←v9452, paint←v9480, workingDirectory←v9508, fancyPanel←v12944));
   }

static word CreateWindowAux←P600(scene←v9612, iconic←v9640, paint←v9668, workingDirectory←v9696, fancyPanel←v9724)
   word scene←v9612;
   word iconic←v9640;
   word paint←v9668;
   word workingDirectory←v9696;
   word fancyPanel←v9724;
   {
   register ptr gf←c78740 =  (ptr) &globalframe;
   word ggData←v9768;
   /* CreateWindowAux: */ 
SOURCE(12535, 3030)
SOURCE(12535, 3030)
   ggData←v9768 = 0;
SOURCE(12684, 112)
   ggData←v9768 = (word) CreateGGDataForViewer←P480(0, scene←v9612, workingDirectory←v9696, 0);
SOURCE(12799, 197)
   {
      W28 var←c75028;
      W29 var←c0231;
      XR←FillWords(&(* (W26Pt) (&var←c75028)), 26, 0);
      (* (( (ptr) &var←c75028)+13) ) = (* (( (ptr) gf←c78740)+64) );
      (* (( (ptr) &var←c75028)+17) ) = (* (( (ptr) gf←c78740)+10)/* panelIconG←v7732 */  );
      (* (( (ptr) &var←c75028)+18) ) = 1;
      (* (( (ptr) &var←c75028)+19) ) = (((word)  (unsigned) (iconic←v9640 & 1) << 28) + 150994944);
      (* (( (ptr) &var←c75028)+26) ) = ggData←v9768;
      (* (( (ptr) &var←c75028)+27) ) = 27;
      (*  (W28Pt) (word) &var←c0231 ) = var←c75028;
      (* (( (ptr) (word) &var←c0231) + 28) ) = paint←v9668;
      {
         word pd257;
         pd257 = (* (( (ptr) (* (( (ptr) gf←c78740)+252)/* var←c75060 */  ))+4) );
         (* (( (ptr) (*  (ptr) ggData←v9768 ))+1) ) = (word) ( *( (fPt) ((*  (ptr) pd257 ))))((word) (&var←c0231), pd257);
         };
      };
SOURCE(12999, 402)
   {
      word var←c75092;
      {
         word pd258;
         pd258 = (* (( (ptr) (* (( (ptr) gf←c78740)+243)/* var←c74260 */  ))+22) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd258 ))))(pd258))) {
            var←c75092 = 0;
            }
         else {
            var←c75092 = (* (( (ptr) (*  (ptr) ggData←v9768 ))+1) );
            };
         };
      {
         W30 var←c0234;
         W28 var←c75124;
         (*  (ptr) (word) &var←c0234 ) = (* (( (ptr) gf←c78740)+8)/* actionAreaClass←v7676 */  );
         XR←FillWords(&(* (W26Pt) (&var←c75124)), 26, 0);
         (* (( (ptr) &var←c75124)+3) ) = 10;
         (* (( (ptr) &var←c75124)+4) ) = 10;
         (* (( (ptr) &var←c75124)+13) ) = (* (( (ptr) gf←c78740)+65) );
         (* (( (ptr) &var←c75124)+17) ) = (* (( (ptr) gf←c78740)+11)/* noNameIconG←v7760 */  );
         (* (( (ptr) &var←c75124)+18) ) = 1;
         (* (( (ptr) &var←c75124)+19) ) = 285212672;
         (* (( (ptr) &var←c75124)+22) ) = var←c75092;
         (* (( (ptr) &var←c75124)+26) ) = ggData←v9768;
         (* (( (ptr) &var←c75124)+27) ) = 27;
         (*  (W28Pt) (( (ptr) (word) &var←c0234) + 1) ) = (var←c75124
         );
         (* (( (ptr) (word) &var←c0234) + 29) ) = 0;
         {
            word var←c0581;
            {
               word pd259;
               pd259 = (* (( (ptr) (* (( (ptr) gf←c78740)+235)/* var←c73364 */  ))+6) );
               var←c0581 = (* (( (ptr) ( *( (fPt) ((*  (ptr) pd259 ))))(0, pd259))+1) );
               };
            (* (( (ptr) (*  (ptr) ggData←v9768 ))+4) ) = (word) ( *( (fPt) ((*  (ptr) var←c0581 ))))((word) (&var←c0234), var←c0581);
            };
         };
      };
SOURCE(13403, 101)
   {
      word var←c75156;
      {
         word pd260;
         pd260 = (* (( (ptr) (* (( (ptr) gf←c78740)+235)/* var←c73364 */  ))+11) );
         var←c75156 = (word) ( *( (fPt) ((*  (ptr) pd260 ))))((* (( (ptr) (*  (ptr) ggData←v9768 ))+4) ), 0, pd260);
         };
      (*  (ptr) (*  (ptr) ggData←v9768 ) ) = var←c75156;
      (* (( (ptr) (*  (ptr) ggData←v9768 ))+2) ) = var←c75156;
      };
SOURCE(13506, 78)
   {
      word pd261;
      pd261 = (* (( (ptr) (* (( (ptr) gf←c78740)+235)/* var←c73364 */  ))+11) );
      (* (( (ptr) (*  (ptr) ggData←v9768 ))+5) ) = (word) ( *( (fPt) ((*  (ptr) pd261 ))))((* (( (ptr) (*  (ptr) ggData←v9768 ))+4)
          ), 1, pd261);
      };
SOURCE(13586, 40)
   (* (( (ptr) (* (( (ptr) (*  (ptr) ggData←v9768 ))+5) ))+27) ) = 255;
SOURCE(13695, 17)
   (* (( (ptr) ggData←v9768)+4) ) = 0;
SOURCE(13714, 28)
   (* (( (ptr) ggData←v9768)+49) ) = (* (( (ptr) gf←c78740)+9)/* ggTipTable←v7704 */  );
SOURCE(13744, 44)
   {
      word pd262;
      pd262 = (* (( (ptr) (* (( (ptr) gf←c78740)+253)/* var←c75188 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd262 ))))(ggData←v9768, fancyPanel←v9724, pd262);
      };
SOURCE(13816, 1336)
   {
      word pd263;
      pd263 = (* (( (ptr) (* (( (ptr) gf←c78740)+243)/* var←c74260 */  ))+22) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd263 ))))(pd263))) {
SOURCE(13900, 97)
         {
            word pd264;
            pd264 = (* (( (ptr) (* (( (ptr) gf←c78740)+252)/* var←c75060 */  ))+6) );
            (void) ( *( (fPt) ((*  (ptr) pd264 ))))((* (( (ptr) (*  (ptr) ggData←v9768 ))+1) ), (* (( (ptr) (*  (ptr) ggData←v9768 ))+2)
                ), pd264);
            };
SOURCE(13999, 97)
         {
            word pd265;
            pd265 = (* (( (ptr) (* (( (ptr) gf←c78740)+252)/* var←c75060 */  ))+5) );
            (void) ( *( (fPt) ((*  (ptr) pd265 ))))((* (( (ptr) (*  (ptr) ggData←v9768 ))+1) ), (* (( (ptr) (*  (ptr) ggData←v9768 ))+2)
                ), pd265);
            };
SOURCE(14098, 136)
         {
            word pd266;
            word idx267;
            pd266 = (* (( (ptr) (* (( (ptr) gf←c78740)+234)/* var←c73300 */  ))+14) );
            (void) ( *( (fPt) ((*  (ptr) pd266 ))))((* (( (ptr) (*  (ptr) ggData←v9768 ))+2) ), 0, (
                  idx267 = (* (( (ptr) ggData←v9768)+4) ),
                  SGNCK(idx267)
                  ), (* (( (ptr) (* (( (ptr) (*  (ptr) ggData←v9768 ))+1) ))+7) ), ((* (( (ptr) (* (( (ptr) (*  (ptr) ggData←v9768 ))+1) ))+8)
                ) - (* (( (ptr) ggData←v9768)+4) )), 0, pd266);
            };
SOURCE(14236, 46)
         (*  (ptr) (*  (ptr) ggData←v9768 ) ) = (* (( (ptr) (*  (ptr) ggData←v9768 ))+1) );
SOURCE(14284, 41)
         (* (( (ptr) (*  (ptr) (*  (ptr) ggData←v9768 ) ))+17) ) = (* (( (ptr) gf←c78740)+11)/* noNameIconG←v7760 */  );
SOURCE(14327, 40)
         (* (( (ptr) (*  (ptr) (*  (ptr) ggData←v9768 ) ))+13) ) = (* (( (ptr) gf←c78740)+65) );
         }
      else {
SOURCE(14376, 778)
         {
            W12 thisViewer←v12988;
            W12 noPicture←v13016;
SOURCE(14397, 81)
            (*  (ptr) &thisViewer←v12988 ) = 1;
            (* (( (ptr) &thisViewer←v12988)+1) ) = (* (( (ptr) gf←c78740)+66) );
            (* (( (ptr) &thisViewer←v12988)+2) ) = XR←CheckProc(0);
            (* (( (ptr) &thisViewer←v12988)+3) ) = 0;
            (* (( (ptr) &thisViewer←v12988)+4) ) =  (word) -1;
            (* (( (ptr) &thisViewer←v12988)+5) ) = 0;
            (* (( (ptr) &thisViewer←v12988)+6) ) = (* (( (ptr) gf←c78740)+7)/* bigFont←v7648 */  );
SOURCE(14480, 78)
            (*  (ptr) &noPicture←v13016 ) = 1;
            (* (( (ptr) &noPicture←v13016)+1) ) = (* (( (ptr) gf←c78740)+67) );
            (* (( (ptr) &noPicture←v13016)+2) ) = XR←CheckProc(0);
            (* (( (ptr) &noPicture←v13016)+3) ) = 0;
            (* (( (ptr) &noPicture←v13016)+4) ) =  (word) -1;
            (* (( (ptr) &noPicture←v13016)+5) ) = 0;
            (* (( (ptr) &noPicture←v13016)+6) ) = (* (( (ptr) gf←c78740)+7)/* bigFont←v7648 */  );
SOURCE(14560, 73)
            {
               word pd268;
               pd268 = (* (( (ptr) (* (( (ptr) gf←c78740)+234)/* var←c73300 */  ))+36) );
               (void) ( *( (fPt) ((*  (ptr) pd268 ))))((* (( (ptr) (*  (ptr) ggData←v9768 ))+1) ), ((* (( (ptr) ggData←v9768)+4) ) - 2), pd268)
               ;
               };
SOURCE(14635, 222)
            {
               word var←c75380;
               {
                  word var←c75220;
                  {
                     word var←c75252;
                     word var←c75284;
                     var←c75252 = XR←NewObject(52, (* (( (ptr) gf←c78740)+36) ));
                     var←c75284 = var←c75252;
                     (*  (W12Pt) var←c75284 ) = thisViewer←v12988;
                     var←c75220 = var←c75252;
                     };
                  {
                     word pd269;
                     word idx270;
                     pd269 = (* (( (ptr) (* (( (ptr) gf←c78740)+255)/* var←c75348 */  ))+4) );
                     var←c75380 = (word) ( *( (fPt) ((*  (ptr) pd269 ))))((* (( (ptr) (*  (ptr) ggData←v9768 ))+1) ), 36, (
                           idx270 = (* (( (ptr) ggData←v9768)+4) ),
                           SGNCK(idx270)
                           ), ggData←v9768, (* (( (ptr) (* (( (ptr) gf←c78740)+254)/* var←c75316 */  ))+7) ), var←c75220
                        , 2, 144, pd269);
                     };
                  };
               };
SOURCE(14859, 35)
            (* (( (ptr) ggData←v9768)+4) ) = ((* (( (ptr) ggData←v9768)+4) ) + 144);
SOURCE(14896, 220)
            {
               word var←c75508;
               {
                  word var←c75412;
                  {
                     word var←c75444;
                     word var←c75476;
                     var←c75444 = XR←NewObject(52, (* (( (ptr) gf←c78740)+36) ));
                     var←c75476 = var←c75444;
                     (*  (W12Pt) var←c75476 ) = noPicture←v13016;
                     var←c75412 = var←c75444;
                     };
                  {
                     word pd271;
                     word idx272;
                     pd271 = (* (( (ptr) (* (( (ptr) gf←c78740)+255)/* var←c75348 */  ))+4) );
                     var←c75508 = (word) ( *( (fPt) ((*  (ptr) pd271 ))))((* (( (ptr) (*  (ptr) ggData←v9768 ))+1) ), 36, (
                           idx272 = (* (( (ptr) ggData←v9768)+4) ),
                           SGNCK(idx272)
                           ), ggData←v9768, (* (( (ptr) (* (( (ptr) gf←c78740)+254)/* var←c75316 */  ))+7) ), var←c75412
                        , 2, 72, pd271);
                     };
                  };
               };
SOURCE(15118, 34)
            (* (( (ptr) ggData←v9768)+4) ) = ((* (( (ptr) ggData←v9768)+4) ) + 72);
            };
         };
      };
SOURCE(15158, 41)
   (* (( (ptr) (*  (ptr) (*  (ptr) ggData←v9768 ) )) + 19) ) &= 4227858431;
SOURCE(15201, 40)
   (* (( (ptr) (* (( (ptr) (*  (ptr) ggData←v9768 ))+1) )) + 19) ) &= 4227858431;
SOURCE(15243, 42)
   (* (( (ptr) (* (( (ptr) (*  (ptr) ggData←v9768 ))+2) )) + 19) ) &= 4227858431;
SOURCE(15287, 50)
   (void) SetCursorLooks←P1320((* (( (ptr) (* (( (ptr) ggData←v9768)+18) ))+11) ), ggData←v9768, 0);
SOURCE(15340, 36)
   {
      word pd273;
      pd273 = (* (( (ptr) (* (( (ptr) gf←c78740)+233)/* var←c73268 */  ))+34) );
      (void) ( *( (fPt) ((*  (ptr) pd273 ))))(ggData←v9768, 1, pd273);
      };
SOURCE(15378, 49)
   (void) RegisterEditedProc←P840(ggData←v9768, (* (( (ptr) (* (( (ptr) gf←c78740)+223)/* var←c72692 */  ))+122) ), 0);
SOURCE(15429, 104)
   {
      word pd274;
      pd274 = (* (( (ptr) (* (( (ptr) gf←c78740)+243)/* var←c74260 */  ))+16) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd274 ))))(pd274))) {
SOURCE(15472, 61)
         {
            word pd275;
            pd275 = (* (( (ptr) (* (( (ptr) gf←c78740)+226)/* var←c72820 */  ))+21) );
            (* (( (ptr) ggData←v9768)+45) ) = (word) ( *( (fPt) ((*  (ptr) pd275 ))))((* (( (ptr) gf←c78740)+65) ), ggData←v9768, pd275)
            ;
            };
         };
      };
SOURCE(15535, 30)
   (* (( (ptr) (* (( (ptr) ggData←v9768)+2) ))+4) ) = 0;
SOURCE(12535, 3030)
   return(ggData←v9768);
   }

static void ActiveInGGData←P660(name←v28400, clientData←v28428, twoState←v28456)
   word name←v28400;
   word clientData←v28428;
   word twoState←v28456;
   {
   register ptr gf←c78772 =  (ptr) &globalframe;
   word ggData←v13060;
   /* ActiveInGGData: */ 
SOURCE(15596, 125)
SOURCE(15645, 35)
   ggData←v13060 = XR←Narrow(clientData←v28428, (* (( (ptr) gf←c78772)+47) ));
SOURCE(15682, 39)
   (* (( (ptr) (*  (ptr) ggData←v13060 ))+10) ) = twoState←v28456;
   }

static word GGActionAreaPaint←P720(self←v9828, context←v9856, whatChanged←v9884, clear←v9912)
   word self←v9828;
   word context←v9856;
   word whatChanged←v9884;
   word clear←v9912;
   {
   register ptr gf←c78804 =  (ptr) &globalframe;
   word quit←v9968;
   word ggData←v13104;
   word sanityCheck←v13132;
   word clientToViewer←v13160;
   word ipContext←v13188;
   /* GGActionAreaPaint: */ 
SOURCE(15727, 1229)
SOURCE(15727, 1229)
   quit←v9968 = 0;
SOURCE(15855, 61)
   {
      word pd276;
      pd276 = (* (( (ptr) (* (( (ptr) gf←c78804)+235)/* var←c73364 */  ))+15) );
      ggData←v13104 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd276 ))))(self←v9828, pd276), (* (( (ptr) gf←c78804)+47) ));
      };
SOURCE(15918, 65)
   {
      word idx277;
      sanityCheck←v13132 = (
         idx277 = (word) ( (unsigned) ((* (( (ptr) (*  (ptr) ggData←v13104 ))+5) ) == self←v9828) - 1),
         BCK(idx277, 1)
         );
      };
SOURCE(15985, 79)
   {
      word pd278;
      pd278 = (* (( (ptr) (* (( (ptr) gf←c78804)+223)/* var←c72692 */  ))+10) );
      clientToViewer←v13160 = (word) ( *( (fPt) ((*  (ptr) pd278 ))))(ggData←v13104, pd278);
      };
SOURCE(16066, 48)
   {
      word pd279;
      pd279 = (* (( (ptr) (* (( (ptr) gf←c78804)+249)/* var←c74900 */  ))+9) );
      ipContext←v13188 =  (unsigned) ((word) ( *( (fPt) ((*  (ptr) pd279 ))))(context←v9856, pd279) == (* (( (ptr) gf←c78804)+70)
       ));
      };
SOURCE(16231, 725)
   if ( ( (whatChanged←v9884 == 0) ? (0 == ipContext←v13188) : 0 ) ) {
SOURCE(16273, 410)
      {
         word action←v13252;
SOURCE(16330, 39)
         action←v13252 = (* (( (ptr) gf←c78804)+71) );
SOURCE(16371, 54)
         {
            word pd280;
            pd280 = (* (( (ptr) (* (( (ptr) gf←c78804)+222)/* var←c72596 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd280 ))))(ggData←v13104, (* (( (ptr) self←v9828)+7) ), (* (( (ptr) self←v9828)+8) ), context←v9856, 0, 0, pd280)
            ;
            };
SOURCE(16457, 151)
         {
            word tc281;
            word pd282;
            if (((* (( (ptr) (* (( (ptr) ggData←v13104)+17) ))+5) ) != 0)) {
               pd282 = (* (( (ptr) (* (( (ptr) gf←c78804)+239)/* var←c73940 */  ))+53) );
               tc281 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd282 ))))(clientToViewer←v13160, (* (( (ptr) (* (( (ptr) ggData←v13104)+17)
                      ))+5) ), pd282));
               }
            else {
               tc281 =  (word) 0;
               };
            if (tc281) {
SOURCE(16577, 31)
               action←v13252 = (* (( (ptr) gf←c78804)+72) );
               };
            };
SOURCE(16610, 45)
         {
            word var←c75540;
            {
               word var←c75572;
               word var←c75604;
               var←c75572 = XR←NewObject(8, (* (( (ptr) gf←c78804)+33) ));
               var←c75604 = var←c75572;
               (*  (ptr) var←c75604 ) = action←v13252;
               var←c75540 = var←c75572;
               };
            {
               word pd283;
               pd283 = (* (( (ptr) (* (( (ptr) gf←c78804)+254)/* var←c75316 */  ))+7) );
               (void) ( *( (fPt) ((*  (ptr) pd283 ))))(ggData←v13104, var←c75540, pd283);
               };
            };
         };
      }
   else {
SOURCE(16690, 292)
      {
         word paintAction←v13296;
SOURCE(16692, 89)
         paintAction←v13296 =  ( (0 != ipContext←v13188) ? (* (( (ptr) gf←c78804)+73) ) : (* (( (ptr) (* (( (ptr) ggData←v13104)+17)
             ))+3) ) ) ;
SOURCE(16783, 125)
         {
            word pd284;
            pd284 = (* (( (ptr) (* (( (ptr) gf←c78804)+222)/* var←c72596 */  ))+8) );
            (void) ( *( (fPt) ((*  (ptr) pd284 ))))(context←v9856, paintAction←v13296, ggData←v13104,  (unsigned) (whatChanged←v9884 == 0), pd284)
            ;
            };
SOURCE(16910, 46)
         (* (( (ptr) (* (( (ptr) ggData←v13104)+17) ))+5) ) = clientToViewer←v13160;
         };
      };
SOURCE(15727, 1229)
   return(quit←v9968);
   }

static void GGAbortProc←P780(data←v10028)
   word data←v10028;
   {
   register ptr gf←c78836 =  (ptr) &globalframe;
   word ggData←v13340;
   /* GGAbortProc: */ 
SOURCE(16990, 376)
SOURCE(17078, 29)
   ggData←v13340 = XR←Narrow(data←v10028, (* (( (ptr) gf←c78836)+47) ));
SOURCE(17109, 80)
   {
      word pd285;
      pd285 = (* (( (ptr) (* (( (ptr) gf←c78836)+236)/* var←c73428 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd285 ))))((* (( (ptr) ggData←v13340)+3) ), 0, (* (( (ptr) gf←c78836)+56) ), (* (( (ptr) gf←c78836)+74)
          ), pd285);
      };
SOURCE(17191, 38)
   (* (( (ptr) (* (( (ptr) ggData←v13340)+17) ))+1) ) = 0;
SOURCE(17266, 37)
   (* (( (ptr) (* (( (ptr) ggData←v13340)+17) ))+2) ) = 0;
SOURCE(17340, 26)
   (* (( (ptr) ggData←v13340) + 51) ) |= 127;
   }

static void RegisterEditedProc←P840(ggData←v10100, editedProc←v10128, clientData←v10156)
   word ggData←v10100;
   word editedProc←v10128;
   word clientData←v10156;
   {
   register ptr gf←c78868 =  (ptr) &globalframe;
   word editedProcItem←v13384;
   /* RegisterEditedProc: */ 
SOURCE(17410, 251)
SOURCE(17504, 90)
   editedProcItem←v13384 = XR←NewObject(12, (* (( (ptr) gf←c78868)+34) ));
   (*  (ptr) editedProcItem←v13384 ) = ggData←v10100;
   (* (( (ptr) editedProcItem←v13384)+1) ) = XR←CheckProc(editedProc←v10128);
   (* (( (ptr) editedProcItem←v13384)+2) ) = clientData←v10156;
SOURCE(17596, 65)
   {
      word var←c75668;
      var←c75668 = XR←NewObject(8, (* (( (ptr) gf←c78868)+32) ));
      (*  (ptr) var←c75668 ) = editedProcItem←v13384;
      (* (( (ptr) var←c75668)+1) ) = (* (( (ptr) gf←c78868)+5)/* globalEditedProcList←v6556 */  );
      (* (( (ptr) gf←c78868)+5)/* globalEditedProcList←v6556 */  ) = var←c75668;
      };
   }

static void ViewerToWorld←P900(formal←c0279, viewerPoint←v10228, ggData←v10256)
   word formal←c0279;
   W2 viewerPoint←v10228;
   word ggData←v10256;
   {
   register ptr gf←c78900 =  (ptr) &globalframe;
   W2 worldPoint←v10300;
   W2 vec←v13428;
   word viewerToClient←v13456;
   W2 var←c0276;
   /* ViewerToWorld: */ 
SOURCE(17667, 329)
SOURCE(17780, 95)
   {
      word pd286;
      pd286 = (* (( (ptr) (* (( (ptr) gf←c78900)+223)/* var←c72692 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd286 ))))((word) &var←c0276, ggData←v10256, pd286);
      };
   viewerToClient←v13456 = var←c0276.f1;
SOURCE(17877, 90)
   {
      W2 var←c0278;
      {
         W2 var←c75700;
         var←c75700.f0 = viewerPoint←v10228.f0;
         var←c75700.f1 = viewerPoint←v10228.f1;
         {
            word pd287;
            pd287 = (* (( (ptr) (* (( (ptr) gf←c78900)+239)/* var←c73940 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd287 ))))((word) &var←c0278, viewerToClient←v13456, var←c75700, pd287);
            };
         };
      vec←v13428 = var←c0278;
      };
SOURCE(17969, 27)
   worldPoint←v10300.f0 = vec←v13428.f0;
   worldPoint←v10300.f1 = vec←v13428.f1;
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0279 ) = worldPoint←v10300;
   return;
   }

static void WorldToViewer←P960(formal←c0287, worldPoint←v10360, ggData←v10388)
   word formal←c0287;
   W2 worldPoint←v10360;
   word ggData←v10388;
   {
   register ptr gf←c78932 =  (ptr) &globalframe;
   W2 viewerPoint←v10432;
   W2 vec←v13500;
   word clientToViewer←v13528;
   /* WorldToViewer: */ 
SOURCE(18002, 313)
SOURCE(18115, 80)
   {
      word pd288;
      pd288 = (* (( (ptr) (* (( (ptr) gf←c78932)+223)/* var←c72692 */  ))+10) );
      clientToViewer←v13528 = (word) ( *( (fPt) ((*  (ptr) pd288 ))))(ggData←v10388, pd288);
      };
SOURCE(18197, 88)
   {
      W2 var←c0286;
      {
         W2 var←c75732;
         var←c75732.f0 = worldPoint←v10360.f0;
         var←c75732.f1 = worldPoint←v10360.f1;
         {
            word pd289;
            pd289 = (* (( (ptr) (* (( (ptr) gf←c78932)+239)/* var←c73940 */  ))+39) );
            (void) ( *( (fPt) ((*  (ptr) pd289 ))))((word) &var←c0286, clientToViewer←v13528, var←c75732, pd289);
            };
         };
      vec←v13500 = var←c0286;
      };
SOURCE(18287, 28)
   viewerPoint←v10432.f0 = vec←v13500.f0;
   viewerPoint←v10432.f1 = vec←v13500.f1;
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0287 ) = viewerPoint←v10432;
   return;
   }

static word OptimizeQueue←P1020(qeGen←v28516, actionsOnQueue←v28544)
   word qeGen←v28516;
   word actionsOnQueue←v28544;
   {
   register ptr gf←c78964 =  (ptr) &globalframe;
   word skipActions←v28588;
   word atom←v13572 = 0;
   word nextAtom←v13600 = 0;
   word action←v13628 = 0;
   /* OptimizeQueue: */ 
SOURCE(18321, 648)
SOURCE(18409, 37)
   if ((actionsOnQueue←v28544 < 2)) {
SOURCE(18436, 10)
      return(0);
      };
SOURCE(18448, 15)
   skipActions←v28588 = 0;
SOURCE(18465, 504)
   {
      register word i←v13768 = 0;
      register word noName←c75764;
      noName←c75764 = SGNCK((actionsOnQueue←v28544 - 2));
      if ((i←v13768 > noName←c75764)) {
         goto lab←L100007;
         };
      lab←L100010: ;
SOURCE(18504, 64)
      {
         W4 var←c0296;
         word var←c0582;
         {
            word pd290;
            pd290 = (* (( (ptr) (* (( (ptr) gf←c78964)+245)/* var←c74420 */  ))+11) );
            (void) ( *( (fPt) ((*  (ptr) pd290 ))))((word) &var←c0296, qeGen←v28516, i←v13768, pd290);
            };
         var←c0582 = var←c0296.f2;
         action←v13628 = XR←Narrow(var←c0582, (* (( (ptr) gf←c78964)+33) ));
         };
SOURCE(18570, 27)
      atom←v13572 = XR←Narrow((*  (ptr) action←v13628 ), (* (( (ptr) gf←c78964)+28) ));
SOURCE(18599, 67)
      {
         W4 var←c0297;
         word var←c0583;
         {
            word pd291;
            pd291 = (* (( (ptr) (* (( (ptr) gf←c78964)+245)/* var←c74420 */  ))+11) );
            (void) ( *( (fPt) ((*  (ptr) pd291 ))))((word) &var←c0297, qeGen←v28516, (i←v13768 + 1), pd291);
            };
         var←c0583 = var←c0297.f2;
         action←v13628 = XR←Narrow(var←c0583, (* (( (ptr) gf←c78964)+33) ));
         };
SOURCE(18668, 31)
      nextAtom←v13600 = XR←Narrow((*  (ptr) action←v13628 ), (* (( (ptr) gf←c78964)+28) ));
SOURCE(18701, 268)
      if ( ( ((atom←v13572 == (* (( (ptr) gf←c78964)+77) )) || (atom←v13572 == (* (( (ptr) gf←c78964)+78) ))) ?  ( (nextAtom←v13600 == (* (
         ( (ptr) gf←c78964)+77) )) ? 1 : (nextAtom←v13600 == (* (( (ptr) gf←c78964)+78) )) )  : 0 ) ) {
SOURCE(18795, 35)
         skipActions←v28588 = (skipActions←v28588 + 1);
         }
      else {
SOURCE(18830, 139)
         if ( ( ((atom←v13572 == (* (( (ptr) gf←c78964)+79) )) || (atom←v13572 == (* (( (ptr) gf←c78964)+80) ))) ?  ( (nextAtom←v13600 == (* (
            ( (ptr) gf←c78964)+79) )) ? 1 : (nextAtom←v13600 == (* (( (ptr) gf←c78964)+80) )) )  : 0 ) ) {
SOURCE(18928, 35)
            skipActions←v28588 = (skipActions←v28588 + 1);
            }
         else {
SOURCE(18963, 6)
            return(skipActions←v28588);
            };
         };
      if ((i←v13768 >= noName←c75764)) {
         goto lab←L100007;
         };
      i←v13768 = (i←v13768 + 1);
      goto lab←L100010;
      lab←L100007: ;
      };
SOURCE(18321, 648)
   return(skipActions←v28588);
   }

static word PUChoiceList←P1080(formal←c0318)
   word formal←c0318;
   {
   W7 var←c78996;
   register ptr gf←c79028 =  (ptr) &globalframe;
   word list←v11068;
   /* declaration of var←c75796 skipped */ 
   /* declaration of rList←v13840 skipped */ 
   /* PUChoiceList: */ 
SOURCE(18984, 1142)
   {
      word tmpAddr292;
      tmpAddr292 = (word) (( (ptr) &var←c78996)+4)/* var←c75796 */ ;
      (*  (ptr) tmpAddr292 ) = ( ((word)  (fPt) InnerCons←P2340) );
      (* (( (ptr) tmpAddr292) + 1) ) = 1;
      };
SOURCE(18984, 1142)
   list←v11068 = 0;
SOURCE(19251, 19)
   var←c78996.f6/* rList←v13840 */  = 0;
SOURCE(19272, 35)
   if (((*  (ptr) formal←c0318 ) != 0)) {
SOURCE(19294, 13)
      (void) InnerCons←P2340((*  (W4Pt) formal←c0318/* r0←v10492 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ );
      };
SOURCE(19309, 35)
   if (((* (( (ptr) formal←c0318)+4) ) != 0)) {
SOURCE(19331, 13)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+4)/* r1←v10520 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19346, 35)
   if (((* (( (ptr) formal←c0318)+8) ) != 0)) {
SOURCE(19368, 13)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+8)/* r2←v10548 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19383, 35)
   if (((* (( (ptr) formal←c0318)+12) ) != 0)) {
SOURCE(19405, 13)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+12)/* r3←v10576 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19420, 35)
   if (((* (( (ptr) formal←c0318)+16) ) != 0)) {
SOURCE(19442, 13)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+16)/* r4←v10604 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19457, 35)
   if (((* (( (ptr) formal←c0318)+20) ) != 0)) {
SOURCE(19479, 13)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+20)/* r5←v10632 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19494, 35)
   if (((* (( (ptr) formal←c0318)+24) ) != 0)) {
SOURCE(19516, 13)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+24)/* r6←v10660 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19531, 35)
   if (((* (( (ptr) formal←c0318)+28) ) != 0)) {
SOURCE(19553, 13)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+28)/* r7←v10688 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19568, 35)
   if (((* (( (ptr) formal←c0318)+32) ) != 0)) {
SOURCE(19590, 13)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+32)/* r8←v10716 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19605, 35)
   if (((* (( (ptr) formal←c0318)+36) ) != 0)) {
SOURCE(19627, 13)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+36)/* r9←v10744 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19642, 37)
   if (((* (( (ptr) formal←c0318)+40) ) != 0)) {
SOURCE(19665, 14)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+40)/* r10←v10772 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19681, 37)
   if (((* (( (ptr) formal←c0318)+44) ) != 0)) {
SOURCE(19704, 14)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+44)/* r11←v10800 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19720, 37)
   if (((* (( (ptr) formal←c0318)+48) ) != 0)) {
SOURCE(19743, 14)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+48)/* r12←v10828 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19759, 37)
   if (((* (( (ptr) formal←c0318)+52) ) != 0)) {
SOURCE(19782, 14)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+52)/* r13←v10856 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19798, 37)
   if (((* (( (ptr) formal←c0318)+56) ) != 0)) {
SOURCE(19821, 14)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+56)/* r14←v10884 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19837, 37)
   if (((* (( (ptr) formal←c0318)+60) ) != 0)) {
SOURCE(19860, 14)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+60)/* r15←v10912 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19876, 37)
   if (((* (( (ptr) formal←c0318)+64) ) != 0)) {
SOURCE(19899, 14)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+64)/* r16←v10940 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19915, 37)
   if (((* (( (ptr) formal←c0318)+68) ) != 0)) {
SOURCE(19938, 14)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+68)/* r17←v10968 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19954, 37)
   if (((* (( (ptr) formal←c0318)+72) ) != 0)) {
SOURCE(19977, 14)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+72)/* r18←v10996 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(19993, 37)
   if (((* (( (ptr) formal←c0318)+76) ) != 0)) {
SOURCE(20016, 14)
      (void) InnerCons←P2340((*  (W4Pt) (( (ptr) formal←c0318)+76)/* r19←v11024 */  ), (word) (( (bPt) &var←c78996)+16)/* var←c75796 */ )
      ;
      };
SOURCE(20033, 93)
   {
      register word dummy←v13944;
      dummy←v13944 = var←c78996.f6/* rList←v13840 */ ;
      lab←L100014: ;
      if ((dummy←v13944 != 0)) {
         }
      else {
         goto lab←L100011;
         };
SOURCE(20096, 30)
      {
         word var←c75828;
         var←c75828 = XR←NewObject(20, (* (( (ptr) gf←c79028)+29) ));
         (*  (W4Pt) var←c75828 ) = (*  (W4Pt) dummy←v13944 );
         (* (( (ptr) var←c75828)+4) ) = list←v11068;
         list←v11068 = var←c75828;
         };
      dummy←v13944 = (* (( (ptr) dummy←v13944)+4) );
      goto lab←L100014;
      lab←L100011: ;
      };
SOURCE(18984, 1142)
   return(list←v11068);
   }

static void InnerCons←P2340(r←v13916, formal←c79092)
   W4 r←v13916;
   word formal←c79092;
   {
   register ptr gf←c79060 =  (ptr) &globalframe;
   formal←c79092 = (formal←c79092 - 16);
   /* InnerCons: */ 
SOURCE(19188, 57)
SOURCE(19223, 22)
   {
      word var←c75860;
      var←c75860 = XR←NewObject(20, (* (( (ptr) gf←c79060)+29) ));
      (*  (W4Pt) var←c75860 ) = r←v13916;
      (* (( (ptr) var←c75860)+4) ) = (* (( (ptr) formal←c79092)+6) );
      (* (( (ptr) formal←c79092)+6) ) = var←c75860;
      };
   }

static void Choice←P1140(formal←c0331, action←v11128, actionImage←v11156, doc←v11184, font←v11212)
   word formal←c0331;
   word action←v11128;
   word actionImage←v11156;
   word doc←v11184;
   word font←v11212;
   {
   word var←c0607;
   word var←c0608;
   word var←c0609;
   word var←c0610;
   /* Choice: */ 
SOURCE(20141, 177)
   /* Return var split */ 
SOURCE(20278, 40)
   var←c0607 = action←v11128;
   var←c0608 = actionImage←v11156;
   var←c0609 = doc←v11184;
   var←c0610 = font←v11212;
   /* removed tail goto */ 
   (* (( (ptr) formal←c0331)+3) ) = var←c0610;
   (* (( (ptr) formal←c0331)+2) ) = var←c0609;
   (* (( (ptr) formal←c0331)+1) ) = var←c0608;
   (*  (ptr) formal←c0331 ) = var←c0607;
   return;
   }

static word List←P1200(ref1←v11412, ref2←v11440, ref3←v11468)
   word ref1←v11412;
   word ref2←v11440;
   word ref3←v11468;
   {
   register ptr gf←c79124 =  (ptr) &globalframe;
   word var←c11524;
   /* List: */ 
SOURCE(20324, 180)
SOURCE(20390, 114)
   if ((ref2←v11440 == 0)) {
      {
         word var←c75956;
         word var←c75988;
         var←c75956 = XR←NewObject(8, (* (( (ptr) gf←c79124)+33) ));
         var←c75988 = var←c75956;
         (*  (ptr) var←c75988 ) = ref1←v11412;
         return(var←c75956);
         };
      }
   else {
      if ((ref3←v11468 == 0)) {
         {
            word var←c76020;
            word var←c76052;
            var←c76020 = XR←NewObject(8, (* (( (ptr) gf←c79124)+33) ));
            var←c76052 = var←c76020;
            (*  (ptr) var←c76052 ) = ref1←v11412;
            (* (( (ptr) var←c76052)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c79124)+33) ));
            var←c76052 = (* (( (ptr) var←c76052)+1) );
            (*  (ptr) var←c76052 ) = ref2←v11440;
            return(var←c76020);
            };
         }
      else {
         {
            word var←c76084;
            word var←c76116;
            var←c76084 = XR←NewObject(8, (* (( (ptr) gf←c79124)+33) ));
            var←c76116 = var←c76084;
            (*  (ptr) var←c76116 ) = ref1←v11412;
            (* (( (ptr) var←c76116)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c79124)+33) ));
            var←c76116 = (* (( (ptr) var←c76116)+1) );
            (*  (ptr) var←c76116 ) = ref2←v11440;
            (* (( (ptr) var←c76116)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c79124)+33) ));
            var←c76116 = (* (( (ptr) var←c76116)+1) );
            (*  (ptr) var←c76116 ) = ref3←v11468;
            return(var←c76084);
            };
         };
      };
   }

static void GGExtremaProc←P1260(formal←c0354, clientData←v11680, direction←v11708)
   word formal←c0354;
   word clientData←v11680;
   W2 direction←v11708;
   {
   register ptr gf←c79156 =  (ptr) &globalframe;
   W2 min←v11764;
   W2 max←v11792;
   W4 area←v13988;
   word ggData←v14016;
   word bigBox←v14044;
   /* GGExtremaProc: */ 
SOURCE(20511, 476)
SOURCE(20654, 35)
   ggData←v14016 = XR←Narrow(clientData←v11680, (* (( (ptr) gf←c79156)+47) ));
SOURCE(20691, 102)
   {
      word var←c76148;
      {
         word pd293;
         pd293 = (* (( (ptr) (* (( (ptr) gf←c79156)+225)/* var←c72788 */  ))+40) );
         var←c76148 = (*  (ptr) ( *( (fPt) ((*  (ptr) pd293 ))))((* ((( (ptr) ggData←v14016)+11)) ), pd293) );
         };
      {
         word pd294;
         pd294 = (* (( (ptr) (* (( (ptr) gf←c79156)+247)/* var←c74612 */  ))+8) );
         bigBox←v14044 = (word) ( *( (fPt) ((*  (ptr) pd294 ))))(var←c76148, pd294);
         };
      };
SOURCE(20795, 134)
   if ((bigBox←v14044 != 0)) {
      area←v13988.f0 = (*  (ptr) bigBox←v14044 );
      area←v13988.f1 = (* (( (ptr) bigBox←v14044)+1) );
      {
         word x295;
         word x296;
         *(float*)&area←v13988.f2 = (
            x295 = (* (( (ptr) bigBox←v14044)+2) ),  *(float*)&x295
            ) - (
            x296 = (*  (ptr) bigBox←v14044 ),  *(float*)&x296
            );
         };
      {
         word x297;
         word x298;
         *(float*)&area←v13988.f3 = (
            x297 = (* (( (ptr) bigBox←v14044)+3) ),  *(float*)&x297
            ) - (
            x298 = (* (( (ptr) bigBox←v14044)+1) ),  *(float*)&x298
            );
         };
      }
   else {
      area←v13988.f0 = (*  (ptr) &fc219 );
      area←v13988.f1 = (*  (ptr) &fc219 );
      area←v13988.f2 = (*  (ptr) &fc175 );
      area←v13988.f3 = (*  (ptr) &fc175 );
      };
SOURCE(20931, 56)
   {
      W4 var←c76276;
      {
         word pd299;
         pd299 = (* (( (ptr) (* (( (ptr) gf←c79156)+256)/* var←c76244 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd299 ))))((word) &var←c76276, area←v13988, direction←v11708, pd299);
         };
      max←v11792 = (*  (W2Pt) (( (ptr) &var←c76276)+2) );
      min←v11764 = (*  (W2Pt) &var←c76276 );
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c0354 ) = min←v11764;
   (*  (W2Pt) (( (ptr) formal←c0354)+2) ) = max←v11792;
   return;
   }

static void SetCursorLooks←P1320(type←v11976, ggData←v12004, off←v12032)
   word type←v11976;
   word ggData←v12004;
   word off←v12032;
   {
   register ptr gf←c79188 =  (ptr) &globalframe;
   word newCursor←v14088;
   /* SetCursorLooks: */ 
SOURCE(21174, 425)
SOURCE(21279, 196)
   if ((0 != off←v12032)) {
      newCursor←v14088 = (* (( (ptr) gf←c79188)+16)/* offCursor←v7900 */  );
      }
   else {
      {
         word var←c76308;
         var←c76308 = type←v11976;
         switch (var←c76308) {
            case 1: 
               newCursor←v14088 = (* (( (ptr) gf←c79188)+17)/* pointsPreferredCursor←v7928 */  );
               break;
            case 0: case 2: 
               newCursor←v14088 = (* (( (ptr) gf←c79188)+18)/* linesPreferredCursor←v7956 */  );
               break;
            default: 
               newCursor←v14088 =  (unsigned) (
                  XR←RaiseUnnamedError(), 0
                  );
               break;
            };
         };
      };
SOURCE(21477, 34)
   (* (( (ptr) (*  (ptr) ggData←v12004 ))+39) ) = newCursor←v14088;
SOURCE(21513, 86)
   {
      word pd300;
      pd300 = (* (( (ptr) (* (( (ptr) gf←c79188)+257)/* var←c76340 */  ))+8) );
      if ((newCursor←v14088 != (word) ( *( (fPt) ((*  (ptr) pd300 ))))(0, 0, pd300))) {
SOURCE(21560, 39)
         {
            word pd301;
            pd301 = (* (( (ptr) (* (( (ptr) gf←c79188)+257)/* var←c76340 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd301 ))))(newCursor←v14088, 0, 0, pd301);
            };
         };
      };
   }

static void NewGGViewers←P1380(formal←c0386, formal←c0602)
   word formal←c0386;
   word formal←c0602;
   {
   W8 var←c79220;
   /* declaration of cmd←v28884 skipped */ 
   register ptr gf←c79252 =  (ptr) &globalframe;
   word result←v28928;
   word msg←v28956;
   word nameList←v14132 = 0;
   word args←v14160 = 0;
   word argLength←v14188 = 0;
   word command←v14216 = 0;
   word commandRope←v14244 = 0;
   word fileOpened←v14272 = 0;
   word fancyPanel←v14300;
   var←c79220.f4/* cmd←v28884 */  = formal←c0602;
   /* NewGGViewers: */ 
SOURCE(21696, 1883)
SOURCE(21696, 1883)
   result←v28928 = 0;
SOURCE(21696, 1883)
   msg←v28956 = 0;
SOURCE(21865, 81)
   {
      word pd302;
      pd302 = (* (( (ptr) (* (( (ptr) gf←c79252)+251)/* var←c74964 */  ))+4) );
      fancyPanel←v14300 = (word) ( *( (fPt) ((*  (ptr) pd302 ))))((* (( (ptr) gf←c79252)+63) ), 1, pd302);
      };
SOURCE(21948, 93)
SOURCE(21948, 93)
   {
      W2 var←c76404;
      {
         /* declaration of var←c01 skipped */ 
         var←c79220.f5/* var←c01 */  = (* (( (ptr) (* (( (ptr) gf←c79252)+258)/* var←c76372 */  ))+5) );
         {
            /* declaration of var←c02 skipped */ 
            {
               word var←c03;
               {
                  word var←c0584;
                  var←c0584 = (word) &var←c79220;
                  var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3324) ), ( ((word)  (fPt) NoName←Q3864) ), var←c0584);
                  };
               if ((var←c03 == 2)) {
                  goto lab←L100019;
                  };
               };
            var←c76404 = (*  (W2Pt) (( (ptr) &var←c79220)+6)/* var←c02 */  );
            };
         };
      argLength←v14188 = var←c76404.f1;
      args←v14160 = var←c76404.f0;
      };
   lab←L100019: ;
SOURCE(22054, 106)
   if ((args←v14160 == 0) || (argLength←v14188 < 1)) {
SOURCE(22092, 60)
      {
         word var←c76436;
         var←c76436 = (word) OpenViewerOnFile←P240(0, fancyPanel←v14300);
         };
SOURCE(22154, 6)
      goto lab←L100017;
      };
SOURCE(22163, 134)
   {
      word tc303;
      word pd304;
      if ((argLength←v14188 == 1)) {
         pd304 = (* (( (ptr) (* (( (ptr) gf←c79252)+232)/* var←c73140 */  ))+8) );
         tc303 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd304 ))))((*  (ptr) args←v14160 ), (* (( (ptr) gf←c79252)+83) ), 0, pd304)
         );
         }
      else {
         tc303 =  (word) 0;
         };
      if (tc303) {
SOURCE(22235, 54)
         {
            word var←c76468;
            var←c76468 = (word) OpenViewerOnFile←P240(0, 1);
            };
SOURCE(22291, 6)
         goto lab←L100017;
         };
      };
SOURCE(22300, 136)
   {
      word tc305;
      word pd306;
      if ((argLength←v14188 == 1)) {
         pd306 = (* (( (ptr) (* (( (ptr) gf←c79252)+232)/* var←c73140 */  ))+8) );
         tc305 =  (word) (0 != (word) ( *( (fPt) ((*  (ptr) pd306 ))))((*  (ptr) args←v14160 ), (* (( (ptr) gf←c79252)+84) ), 0, pd306)
         );
         }
      else {
         tc305 =  (word) 0;
         };
      if (tc305) {
SOURCE(22373, 55)
         {
            word var←c76500;
            var←c76500 = (word) OpenViewerOnFile←P240(0, 0);
            };
SOURCE(22430, 6)
         goto lab←L100017;
         };
      };
SOURCE(22439, 787)
   {
      register word rl←v14428;
      rl←v14428 = args←v14160;
      lab←L100025: ;
      if ((rl←v14428 != 0)) {
         }
      else {
         goto lab←L100022;
         };
SOURCE(22530, 696)
      {
         word pd307;
         pd307 = (* (( (ptr) (* (( (ptr) gf←c79252)+232)/* var←c73140 */  ))+8) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd307 ))))((*  (ptr) rl←v14428 ), (* (( (ptr) gf←c79252)+83) ), 0, pd307))) {
SOURCE(22581, 23)
            fancyPanel←v14300 = 1;
            }
         else {
SOURCE(22604, 622)
            {
               word pd308;
               pd308 = (* (( (ptr) (* (( (ptr) gf←c79252)+232)/* var←c73140 */  ))+8) );
               if ((0 != (word) ( *( (fPt) ((*  (ptr) pd308 ))))((*  (ptr) rl←v14428 ), (* (( (ptr) gf←c79252)+84) ), 0, pd308))) {
SOURCE(22656, 24)
                  fancyPanel←v14300 = 0;
                  }
               else {
SOURCE(22680, 546)
                  {
                     word pd309;
                     pd309 = (* (( (ptr) (* (( (ptr) gf←c79252)+232)/* var←c73140 */  ))+8) );
                     if ((0 != (word) ( *( (fPt) ((*  (ptr) pd309 ))))((*  (ptr) rl←v14428 ), (* (( (ptr) gf←c79252)+85) ), 0, pd309))) {
SOURCE(22730, 14)
                        command←v14216 = 1;
SOURCE(22746, 17)
                        commandRope←v14244 = 0;
                        }
                     else {
SOURCE(22772, 454)
                        if ((0 != command←v14216)) {
SOURCE(22790, 15)
                           command←v14216 = 0;
SOURCE(22807, 42)
                           {
/*1*/   word pd310;
/*1*/   pd310 = (* (( (ptr) (* (( (ptr) gf←c79252)+232)/* var←c73140 */  ))+5) );
/*1*/   commandRope←v14244 = (word) ( *( (fPt) ((*  (ptr) pd310 ))))((* (( (ptr) gf←c79252)+86) ), (*  (ptr) rl←v14428 ), (* (( (ptr) gf←c79252)+87)
/*1*/       ), 0, 0, pd310);
/*1*/   };
                           }
                        else {
SOURCE(22858, 373)
                           {
/*1*/   word ggData←v14556;
SOURCE(22860, 108)
/*1*/   {
/*1*/      word var←c76532;
/*1*/      {
/*1*/         word pd311;
/*1*/         pd311 = (* (( (ptr) (* (( (ptr) gf←c79252)+231)/* var←c73108 */  ))+5) );
/*1*/         var←c76532 = (word) ( *( (fPt) ((*  (ptr) pd311 ))))((*  (ptr) (rl←v14428) ), pd311);
/*1*/         };
/*1*/      ggData←v14556 = (word) OpenViewerOnFile←P240(var←c76532, fancyPanel←v14300);
/*1*/      };
SOURCE(22970, 17)
/*1*/   fileOpened←v14272 = 1;
SOURCE(22989, 237)
/*1*/   {
/*1*/      word tc312;
/*1*/      word pd313;
/*1*/      if ((commandRope←v14244 != 0)) {
/*1*/         pd313 = (* (( (ptr) (* (( (ptr) gf←c79252)+232)/* var←c73140 */  ))+8) );
/*1*/         tc312 =  (word) (0 == (word) ( *( (fPt) ((*  (ptr) pd313 ))))(commandRope←v14244, (* (( (ptr) gf←c79252)+88) ), 0, pd313)
/*1*/         );
/*1*/         }
/*1*/      else {
/*1*/         tc312 =  (word) 0;
/*1*/         };
/*1*/      if (tc312) {
SOURCE(23060, 168)
/*1*/         {
/*1*/            word stream←v14600;
/*1*/            word val←v14628;
/*1*/            W2 var←c0379;
/*1*/            word event←v14656;
SOURCE(23062, 39)
/*1*/            {
/*1*/               word pd314;
/*1*/               pd314 = (* (( (ptr) (* (( (ptr) gf←c79252)+259)/* var←c76564 */  ))+33) );
/*1*/               stream←v14600 = (word) ( *( (fPt) ((*  (ptr) pd314 ))))(commandRope←v14244, 0, pd314);
/*1*/               };
SOURCE(23103, 39)
/*1*/            {
/*1*/               word pd315;
/*1*/               pd315 = (* (( (ptr) (* (( (ptr) gf←c79252)+260)/* var←c76596 */  ))+4) );
/*1*/               (void) ( *( (fPt) ((*  (ptr) pd315 ))))((word) &var←c0379, stream←v14600, pd315);
/*1*/               };
/*1*/            val←v14628 = var←c0379.f0;
SOURCE(23144, 7)
/*1*/            event←v14656 = XR←Narrow(val←v14628, (* (( (ptr) gf←c79252)+33) ));
SOURCE(23178, 48)
/*1*/            {
/*1*/               word pd316;
/*1*/               pd316 = (* (( (ptr) (* (( (ptr) gf←c79252)+254)/* var←c75316 */  ))+6) );
/*1*/               (void) ( *( (fPt) ((*  (ptr) pd316 ))))(ggData←v14556, event←v14656, pd316);
/*1*/               };
/*1*/            };
/*1*/         };
/*1*/      };
/*1*/   };
                           };
                        };
                     };
                  };
               };
            };
         };
      rl←v14428 = (* (( (ptr) rl←v14428)+1) );
      goto lab←L100025;
      lab←L100022: ;
      };
SOURCE(23243, 336)
   if ((0 == fileOpened←v14272)) {
SOURCE(23266, 318)
      {
         word ggData←v14808;
SOURCE(23268, 72)
         ggData←v14808 = (word) OpenViewerOnFile←P240(0, fancyPanel←v14300);
SOURCE(23342, 237)
         {
            word tc317;
            word pd318;
            if ((commandRope←v14244 != 0)) {
               pd318 = (* (( (ptr) (* (( (ptr) gf←c79252)+232)/* var←c73140 */  ))+8) );
               tc317 =  (word) (0 == (word) ( *( (fPt) ((*  (ptr) pd318 ))))(commandRope←v14244, (* (( (ptr) gf←c79252)+88) ), 0, pd318)
               );
               }
            else {
               tc317 =  (word) 0;
               };
            if (tc317) {
SOURCE(23413, 168)
               {
                  word stream←v14852;
                  word val←v14880;
                  W2 var←c0384;
                  word event←v14908;
SOURCE(23415, 39)
                  {
                     word pd319;
                     pd319 = (* (( (ptr) (* (( (ptr) gf←c79252)+259)/* var←c76564 */  ))+33) );
                     stream←v14852 = (word) ( *( (fPt) ((*  (ptr) pd319 ))))(commandRope←v14244, 0, pd319);
                     };
SOURCE(23456, 39)
                  {
                     word pd320;
                     pd320 = (* (( (ptr) (* (( (ptr) gf←c79252)+260)/* var←c76596 */  ))+4) );
                     (void) ( *( (fPt) ((*  (ptr) pd320 ))))((word) &var←c0384, stream←v14852, pd320);
                     };
                  val←v14880 = var←c0384.f0;
SOURCE(23497, 7)
                  event←v14908 = XR←Narrow(val←v14880, (* (( (ptr) gf←c79252)+33) ));
SOURCE(23531, 48)
                  {
                     word pd321;
                     pd321 = (* (( (ptr) (* (( (ptr) gf←c79252)+254)/* var←c75316 */  ))+6) );
                     (void) ( *( (fPt) ((*  (ptr) pd321 ))))(ggData←v14808, event←v14908, pd321);
                     };
                  };
               };
            };
         };
      };
   /* removed tail goto */ 
   lab←L100017: ;
   (*  (ptr) formal←c0386 ) = result←v28928;
   (* (( (ptr) formal←c0386)+1) ) = msg←v28956;
   return;
   }

static word NoName←Q3324(formal←c0551)
   word formal←c0551;
   {
SOURCE(21948, 93)
   {
      word pd322;
      pd322 = (* (( (ptr) formal←c0551)+5) );
      (void) ( *( (fPt) ((*  (ptr) pd322 ))))((word) (( (bPt) formal←c0551)+24), (* (( (ptr) formal←c0551)+4) ), 0, pd322);
      };
   return(0);
   }

static word FilenameMinusExtension←P1440(wholeName←v12092)
   word wholeName←v12092;
   {
   register ptr gf←c79284 =  (ptr) &globalframe;
   word var←c12136;
   word fullFName←v15060 = 0;
   W12 cp←v15088;
   /* FilenameMinusExtension: */ 
SOURCE(23591, 239)
SOURCE(23708, 57)
   {
      W14 var←c76660;
      {
         word pd323;
         pd323 = (* (( (ptr) (* (( (ptr) gf←c79284)+261)/* var←c76628 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd323 ))))((word) &var←c76660, wholeName←v12092, 0, pd323);
         };
      cp←v15088 = (*  (W12Pt) (( (ptr) &var←c76660)+1) );
      fullFName←v15060 = (*  (ptr) &var←c76660 );
      };
SOURCE(23767, 63)
   {
      word pd324;
      word idx325;
      pd324 = (* (( (ptr) (* (( (ptr) gf←c79284)+232)/* var←c73140 */  ))+17) );
      return((word) ( *( (fPt) ((*  (ptr) pd324 ))))(fullFName←v15060, 0, (
            idx325 = (word) ((* (( (ptr) &cp←v15088)+6) ) + (* (( (ptr) &cp←v15088)+7) )),
            SGNCK(idx325)
            ), pd324));
      };
   }

static void GGToIP←P1500(formal←c0410, formal←c0603)
   word formal←c0410;
   word formal←c0603;
   {
   W13 var←c79316;
   /* declaration of cmd←v29016 skipped */ 
   register ptr gf←c79348 =  (ptr) &globalframe;
   word result←v29060;
   /* declaration of msg←v29088 skipped */ 
   /* declaration of var←c76724 skipped */ 
   /* declaration of var←c76756 skipped */ 
   (* (( (ptr) &var←c79316)+4)/* cmd←v29016 */  ) = formal←c0603;
   /* GGToIP: */ 
SOURCE(23836, 1356)
   {
      word tmpAddr326;
      tmpAddr326 = (word) (( (ptr) &var←c79316)+6)/* var←c76724 */ ;
      (*  (ptr) tmpAddr326 ) = ( ((word)  (fPt) TryPattern←P2796) );
      (* (( (ptr) tmpAddr326) + 1) ) = 1;
      };
   {
      word tmpAddr327;
      tmpAddr327 = (word) (( (ptr) &var←c79316)+8)/* var←c76756 */ ;
      (*  (ptr) tmpAddr327 ) = ( ((word)  (fPt) EachFile←P2736) );
      (* (( (ptr) tmpAddr327) + 1) ) = 1;
      };
SOURCE(23836, 1356)
   result←v29060 = 0;
SOURCE(23836, 1356)
   (* (( (ptr) &var←c79316)+5)/* msg←v29088 */  ) = 0;
SOURCE(23868, 1324)
SOURCE(23870, 24)
   {
      /* declaration of out←v15188 skipped */ 
      word argv←v15216;
      /* declaration of ggData←v15244 skipped */ 
SOURCE(24553, 24)
      (* (( (ptr) &var←c79316)+10)/* out←v15188 */  ) = (* (( (ptr) (* (( (ptr) &var←c79316)+4)/* cmd←v29016 */  ))+1) );
SOURCE(24579, 89)
      {
         /* declaration of var←c04 skipped */ 
         (* (( (ptr) &var←c79316)+11)/* var←c04 */  ) = (* (( (ptr) (* (( (ptr) gf←c79348)+258)/* var←c76372 */  ))+6) );
         {
            /* declaration of var←c05 skipped */ 
            {
               word var←c06;
               {
                  word var←c0585;
                  var←c0585 = (word) &var←c79316;
                  var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3384) ), ( ((word)  (fPt) NoName←Q3804) ), var←c0585);
                  };
               if ((var←c06 == 3)) {
                  goto lab←L100027;
                  };
               };
            argv←v15216 = (* (( (ptr) &var←c79316)+12)/* var←c05 */  );
            };
         };
SOURCE(24701, 102)
      {
         word var←c76788;
         word var←c76820;
         {
            word pd328;
            pd328 = (* (( (ptr) (* (( (ptr) gf←c79348)+225)/* var←c72788 */  ))+4) );
            var←c76788 = (word) ( *( (fPt) ((*  (ptr) pd328 ))))(0, pd328);
            };
         {
            word pd329;
            pd329 = (* (( (ptr) (* (( (ptr) gf←c79348)+231)/* var←c73108 */  ))+7) );
            var←c76820 = (word) ( *( (fPt) ((*  (ptr) pd329 ))))(pd329);
            };
         (* (( (ptr) &var←c79316)+11)/* ggData←v15244 */  ) = (word) CreateWindow←P540(var←c76788, 1, 0, var←c76820);
         };
SOURCE(24805, 53)
      {
         word pd330;
         pd330 = (* (( (ptr) (* (( (ptr) gf←c79348)+234)/* var←c73300 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd330 ))))((* (( (ptr) (*  (ptr) (* (( (ptr) &var←c79316)+11)/* ggData←v15244 */  ) ))+1) ), 3, 1, 0, pd330)
         ;
         };
SOURCE(24894, 54)
      {
         word pd331;
         pd331 = (* (( (ptr) (* (( (ptr) gf←c79348)+234)/* var←c73300 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd331 ))))((*  (ptr) (*  (ptr) (* (( (ptr) &var←c79316)+11)/* ggData←v15244 */  ) ) ), 3, 1, 0, pd331)
         ;
         };
SOURCE(24984, 50)
      {
         word var←c76852;
         {
            word var←c76884;
            word var←c76916;
            var←c76884 = XR←NewObject(8, (* (( (ptr) gf←c79348)+33) ));
            var←c76916 = var←c76884;
            (*  (ptr) var←c76916 ) = (* (( (ptr) gf←c79348)+54) );
            var←c76852 = var←c76884;
            };
         {
            word pd332;
            pd332 = (* (( (ptr) (* (( (ptr) gf←c79348)+254)/* var←c75316 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd332 ))))((* (( (ptr) &var←c79316)+11)/* ggData←v15244 */  ), var←c76852, pd332);
            };
         };
SOURCE(25036, 108)
      {
         register word i←v15348 = 1;
         register word noName←c76948;
         noName←c76948 = (*  (ptr) argv←v15216 );
         if ((i←v15348 >= noName←c76948)) {
            goto lab←L100030;
            };
         lab←L100033: ;
         {
            word arg←v15392;
SOURCE(25068, 24)
            {
               word limit333;
               arg←v15392 = (* ((( (ptr) argv←v15216)+1)+(
                     limit333 = (*  (ptr) argv←v15216 ),
                     BCK(i←v15348, limit333)
                     )) );
               };
SOURCE(25094, 29)
            {
               word pd334;
               pd334 = (* (( (ptr) (* (( (ptr) gf←c79348)+232)/* var←c73140 */  ))+14) );
               if (( (int)(word) ( *( (fPt) ((*  (ptr) pd334 ))))(arg←v15392, pd334) ==  (int)0)) {
SOURCE(25123, 4)
                  goto lab←L100032;
                  };
               };
SOURCE(25129, 15)
            (void) TryPattern←P2796(arg←v15392, (word) (( (bPt) &var←c79316)+24)/* var←c76724 */ );
            };
         lab←L100032: ;
         i←v15348 = (i←v15348 + 1);
         if ((i←v15348 < noName←c76948)) {
            goto lab←L100033;
            };
         lab←L100030: ;
         };
      };
   goto lab←L100034;
   lab←L100027: ;
SOURCE(25172, 17)
   result←v29060 = (* (( (ptr) gf←c79348)+95) );
   lab←L100034: ;
   /* removed tail goto */ 
   (*  (ptr) formal←c0410 ) = result←v29060;
   (* (( (ptr) formal←c0410)+1) ) = (* (( (ptr) &var←c79316)+5)/* msg←v29088 */  );
   return;
   }

static word NoName←Q3384(formal←c0554)
   word formal←c0554;
   {
SOURCE(24579, 89)
   {
      word pd335;
      pd335 = (* (( (ptr) formal←c0554)+11) );
      (* (( (ptr) formal←c0554)+12) ) = (word) ( *( (fPt) ((*  (ptr) pd335 ))))((* (( (ptr) formal←c0554)+4) ), 0, pd335);
      };
   return(0);
   }

static word EachFile←P2736(fullFName←v63492, formal←c79412)
   word fullFName←v63492;
   word formal←c79412;
   {
   register ptr gf←c79380 =  (ptr) &globalframe;
   word continue←v63536;
   word ipName←v15436 = 0;
   formal←c79412 = (formal←c79412 - 32);
   /* EachFile: */ 
SOURCE(23870, 24)
SOURCE(23915, 23)
   {
      word pd336;
      pd336 = (* (( (ptr) (* (( (ptr) gf←c79380)+262)/* var←c76980 */  ))+18) );
      (void) ( *( (fPt) ((*  (ptr) pd336 ))))(pd336);
      };
SOURCE(23940, 42)
   ipName←v15436 = (word) FilenameMinusExtension←P1440(fullFName←v63492);
SOURCE(23984, 35)
   {
      word pd337;
      pd337 = (* (( (ptr) (* (( (ptr) gf←c79380)+232)/* var←c73140 */  ))+6) );
      ipName←v15436 = (word) ( *( (fPt) ((*  (ptr) pd337 ))))(ipName←v15436, (* (( (ptr) gf←c79380)+89) ), pd337);
      };
SOURCE(24021, 42)
   {
      word var←c77012;
      {
         word var←c77044;
         word var←c77076;
         var←c77044 = XR←NewObject(8, (* (( (ptr) gf←c79380)+33) ));
         var←c77076 = var←c77044;
         (*  (ptr) var←c77076 ) = (* (( (ptr) gf←c79380)+75) );
         (* (( (ptr) var←c77076)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c79380)+33) ));
         var←c77076 = (* (( (ptr) var←c77076)+1) );
         (*  (ptr) var←c77076 ) = fullFName←v63492;
         var←c77012 = var←c77044;
         };
      {
         word pd338;
         pd338 = (* (( (ptr) (* (( (ptr) gf←c79380)+233)/* var←c73268 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd338 ))))((* (( (ptr) formal←c79412)+11) ), var←c77012, pd338);
         };
      };
SOURCE(24065, 41)
   {
      word var←c77108;
      {
         word var←c77140;
         word var←c77172;
         var←c77140 = XR←NewObject(8, (* (( (ptr) gf←c79380)+33) ));
         var←c77172 = var←c77140;
         (*  (ptr) var←c77172 ) = (* (( (ptr) gf←c79380)+90) );
         (* (( (ptr) var←c77172)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c79380)+33) ));
         var←c77172 = (* (( (ptr) var←c77172)+1) );
         (*  (ptr) var←c77172 ) = ipName←v15436;
         var←c77108 = var←c77140;
         };
      {
         word pd339;
         pd339 = (* (( (ptr) (* (( (ptr) gf←c79380)+233)/* var←c73268 */  ))+8) );
         (void) ( *( (fPt) ((*  (ptr) pd339 ))))((* (( (ptr) formal←c79412)+11) ), var←c77108, pd339);
         };
      };
SOURCE(24108, 15)
   continue←v63536 = 1;
SOURCE(23870, 24)
   return(continue←v63536);
   }

static void TryPattern←P2796(formal←c0604, formal←c79508)
   word formal←c0604;
   word formal←c79508;
   {
   W5 var←c79444;
   /* declaration of pattern←v15320 skipped */ 
   register ptr gf←c79476 =  (ptr) &globalframe;
   formal←c79508 = (formal←c79508 - 24);
   var←c79444.f4/* pattern←v15320 */  = formal←c0604;
   var←c79444.f0 = formal←c79508;
   /* TryPattern: */ 
SOURCE(24128, 18)
SOURCE(24168, 382)
SOURCE(24170, 332)
   {
      word var←c07;
      {
         word var←c0586;
         var←c0586 = (word) &var←c79444;
         var←c07 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3444) ), ( ((word)  (fPt) NoName←Q3744) ), var←c0586);
         };
      if ((var←c07 == 4)) {
         goto lab←L100035;
         };
      };
   goto lab←L100038;
   lab←L100035: ;
SOURCE(24518, 21)
   {
      word pd340;
      pd340 = (* (( (ptr) (* (( (ptr) gf←c79476)+259)/* var←c76564 */  ))+93) );
      (void) ( *( (fPt) ((*  (ptr) pd340 ))))((* (( (ptr) formal←c79508)+10) ), (* (( (ptr) gf←c79476)+94) ), 0, 2147483647, pd340)
      ;
      };
SOURCE(24541, 6)
   return;
   lab←L100038: ;
   }

static word NoName←Q3444(formal←c0560)
   word formal←c0560;
   {
   register ptr gf←c0559 =  (ptr) &globalframe;
   W14 var←c0421;
SOURCE(24292, 48)
   {
      word pd341;
      pd341 = (* (( (ptr) (* (( (ptr) gf←c0559)+231)/* var←c73108 */  ))+5) );
      (* (( (ptr) formal←c0560)+4) ) = (word) ( *( (fPt) ((*  (ptr) pd341 ))))((* ((( (ptr) formal←c0560)+4)) ), pd341);
      };
SOURCE(24342, 42)
   {
      word pd342;
      pd342 = (* (( (ptr) (* (( (ptr) gf←c0559)+261)/* var←c76628 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd342 ))))((word) &var←c0421, (* (( (ptr) formal←c0560)+4) ), 0, pd342);
      };
   (* (( (ptr) formal←c0560)+4) ) = (*  (ptr) &var←c0421 );
SOURCE(24386, 75)
   {
      word pd343;
      pd343 = (* (( (ptr) (* (( (ptr) gf←c0559)+232)/* var←c73140 */  ))+23) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd343 ))))((* (( (ptr) gf←c0559)+92) ), (* (( (ptr) formal←c0560)+4) ), 1, pd343))) {
SOURCE(24425, 36)
         {
            word pd344;
            pd344 = (* (( (ptr) (* (( (ptr) gf←c0559)+232)/* var←c73140 */  ))+6) );
            (* (( (ptr) formal←c0560)+4) ) = (word) ( *( (fPt) ((*  (ptr) pd344 ))))((* (( (ptr) formal←c0560)+4) ), (* (( (ptr) gf←c0559)+93)
                ), pd344);
            };
         };
      };
SOURCE(24463, 39)
   {
      word pd345;
      pd345 = (* (( (ptr) (* (( (ptr) gf←c0559)+261)/* var←c76628 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd345 ))))((* (( (ptr) formal←c0560)+4) ), (word) (( (bPt) (*  (ptr) formal←c0560 ))+32), 0, pd345)
      ;
      };
   return(0);
   }

static void GGIPToIP←P1560(formal←c0445, formal←c0605)
   word formal←c0445;
   word formal←c0605;
   {
   W13 var←c79540;
   /* declaration of cmd←v29148 skipped */ 
   register ptr gf←c79572 =  (ptr) &globalframe;
   word result←v29192;
   /* declaration of msg←v29220 skipped */ 
   /* declaration of var←c77204 skipped */ 
   /* declaration of var←c77236 skipped */ 
   (* (( (ptr) &var←c79540)+4)/* cmd←v29148 */  ) = formal←c0605;
   /* GGIPToIP: */ 
SOURCE(25196, 1662)
   {
      word tmpAddr346;
      tmpAddr346 = (word) (( (ptr) &var←c79540)+6)/* var←c77204 */ ;
      (*  (ptr) tmpAddr346 ) = ( ((word)  (fPt) TryPattern←P3060) );
      (* (( (ptr) tmpAddr346) + 1) ) = 1;
      };
   {
      word tmpAddr347;
      tmpAddr347 = (word) (( (ptr) &var←c79540)+8)/* var←c77236 */ ;
      (*  (ptr) tmpAddr347 ) = ( ((word)  (fPt) EachFile←P3000) );
      (* (( (ptr) tmpAddr347) + 1) ) = 1;
      };
SOURCE(25196, 1662)
   result←v29192 = 0;
SOURCE(25196, 1662)
   (* (( (ptr) &var←c79540)+5)/* msg←v29220 */  ) = 0;
SOURCE(25230, 1628)
SOURCE(25232, 24)
   {
      /* declaration of out←v15536 skipped */ 
      word argv←v15564;
      /* declaration of scriptName←v15592 skipped */ 
      /* declaration of ggData←v15620 skipped */ 
SOURCE(26062, 24)
      (* (( (ptr) &var←c79540)+10)/* out←v15536 */  ) = (* (( (ptr) (* (( (ptr) &var←c79540)+4)/* cmd←v29148 */  ))+1) );
SOURCE(26088, 89)
      {
         /* declaration of var←c08 skipped */ 
         (* (( (ptr) &var←c79540)+11)/* var←c08 */  ) = (* (( (ptr) (* (( (ptr) gf←c79572)+258)/* var←c76372 */  ))+6) );
         {
            /* declaration of var←c09 skipped */ 
            {
               word var←c010;
               {
                  word var←c0587;
                  var←c0587 = (word) &var←c79540;
                  var←c010 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3504) ), ( ((word)  (fPt) NoName←Q3684) ), var←c0587);
                  };
               if ((var←c010 == 5)) {
                  goto lab←L100040;
                  };
               };
            argv←v15564 = (* (( (ptr) &var←c79540)+12)/* var←c09 */  );
            };
         };
SOURCE(26210, 31)
      {
         word limit348;
         (* (( (ptr) &var←c79540)+11)/* scriptName←v15592 */  ) = (* ((( (ptr) argv←v15564)+1)+(
               limit348 = (*  (ptr) argv←v15564 ),
               BCK(1, limit348)
               )) );
         };
SOURCE(26243, 102)
      {
         word var←c77268;
         word var←c77300;
         {
            word pd349;
            pd349 = (* (( (ptr) (* (( (ptr) gf←c79572)+225)/* var←c72788 */  ))+4) );
            var←c77268 = (word) ( *( (fPt) ((*  (ptr) pd349 ))))(0, pd349);
            };
         {
            word pd350;
            pd350 = (* (( (ptr) (* (( (ptr) gf←c79572)+231)/* var←c73108 */  ))+7) );
            var←c77300 = (word) ( *( (fPt) ((*  (ptr) pd350 ))))(pd350);
            };
         (* (( (ptr) &var←c79540)+12)/* ggData←v15620 */  ) = (word) CreateWindow←P540(var←c77268, 1, 0, var←c77300);
         };
SOURCE(26347, 53)
      {
         word pd351;
         pd351 = (* (( (ptr) (* (( (ptr) gf←c79572)+234)/* var←c73300 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd351 ))))((* (( (ptr) (*  (ptr) (* (( (ptr) &var←c79540)+12)/* ggData←v15620 */  ) ))+1) ), 3, 1, 0, pd351)
         ;
         };
SOURCE(26436, 54)
      {
         word pd352;
         pd352 = (* (( (ptr) (* (( (ptr) gf←c79572)+234)/* var←c73300 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd352 ))))((*  (ptr) (*  (ptr) (* (( (ptr) &var←c79540)+12)/* ggData←v15620 */  ) ) ), 3, 1, 0, pd352)
         ;
         };
SOURCE(26527, 54)
      {
         word var←c77332;
         {
            word var←c77364;
            word var←c77396;
            var←c77364 = XR←NewObject(8, (* (( (ptr) gf←c79572)+33) ));
            var←c77396 = var←c77364;
            (*  (ptr) var←c77396 ) = (* (( (ptr) gf←c79572)+96) );
            var←c77332 = var←c77364;
            };
         {
            word pd353;
            pd353 = (* (( (ptr) (* (( (ptr) gf←c79572)+254)/* var←c75316 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd353 ))))((* (( (ptr) &var←c79540)+12)/* ggData←v15620 */  ), var←c77332, pd353);
            };
         };
SOURCE(26598, 108)
      {
         register word i←v15724 = 2;
         register word noName←c77428;
         noName←c77428 = (*  (ptr) argv←v15564 );
         if ((i←v15724 >= noName←c77428)) {
            goto lab←L100043;
            };
         lab←L100046: ;
         {
            word arg←v15768;
SOURCE(26630, 24)
            {
               word limit354;
               arg←v15768 = (* ((( (ptr) argv←v15564)+1)+(
                     limit354 = (*  (ptr) argv←v15564 ),
                     BCK(i←v15724, limit354)
                     )) );
               };
SOURCE(26656, 29)
            {
               word pd355;
               pd355 = (* (( (ptr) (* (( (ptr) gf←c79572)+232)/* var←c73140 */  ))+14) );
               if (( (int)(word) ( *( (fPt) ((*  (ptr) pd355 ))))(arg←v15768, pd355) ==  (int)0)) {
SOURCE(26685, 4)
                  goto lab←L100045;
                  };
               };
SOURCE(26691, 15)
            (void) TryPattern←P3060(arg←v15768, (word) (( (bPt) &var←c79540)+24)/* var←c77204 */ );
            };
         lab←L100045: ;
         i←v15724 = (i←v15724 + 1);
         if ((i←v15724 < noName←c77428)) {
            goto lab←L100046;
            };
         lab←L100043: ;
         };
SOURCE(26717, 53)
      {
         word var←c77460;
         {
            word var←c77492;
            word var←c77524;
            var←c77492 = XR←NewObject(8, (* (( (ptr) gf←c79572)+33) ));
            var←c77524 = var←c77492;
            (*  (ptr) var←c77524 ) = (* (( (ptr) gf←c79572)+97) );
            var←c77460 = var←c77492;
            };
         {
            word pd356;
            pd356 = (* (( (ptr) (* (( (ptr) gf←c79572)+254)/* var←c75316 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd356 ))))((* (( (ptr) &var←c79540)+12)/* ggData←v15620 */  ), var←c77460, pd356);
            };
         };
SOURCE(26772, 47)
      {
         word var←c77556;
         {
            word var←c77588;
            word var←c77620;
            var←c77588 = XR←NewObject(8, (* (( (ptr) gf←c79572)+33) ));
            var←c77620 = var←c77588;
            (*  (ptr) var←c77620 ) = (* (( (ptr) gf←c79572)+98) );
            var←c77556 = var←c77588;
            };
         {
            word pd357;
            pd357 = (* (( (ptr) (* (( (ptr) gf←c79572)+254)/* var←c75316 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd357 ))))((* (( (ptr) &var←c79540)+12)/* ggData←v15620 */  ), var←c77556, pd357);
            };
         };
      };
   goto lab←L100047;
   lab←L100040: ;
SOURCE(26838, 17)
   result←v29192 = (* (( (ptr) gf←c79572)+95) );
   lab←L100047: ;
   /* removed tail goto */ 
   (*  (ptr) formal←c0445 ) = result←v29192;
   (* (( (ptr) formal←c0445)+1) ) = (* (( (ptr) &var←c79540)+5)/* msg←v29220 */  );
   return;
   }

static word NoName←Q3504(formal←c0562)
   word formal←c0562;
   {
SOURCE(26088, 89)
   {
      word pd358;
      pd358 = (* (( (ptr) formal←c0562)+11) );
      (* (( (ptr) formal←c0562)+12) ) = (word) ( *( (fPt) ((*  (ptr) pd358 ))))((* (( (ptr) formal←c0562)+4) ), 0, pd358);
      };
   return(0);
   }

static word EachFile←P3000(fullFName←v65424, formal←c79636)
   word fullFName←v65424;
   word formal←c79636;
   {
   register ptr gf←c79604 =  (ptr) &globalframe;
   word continue←v65468;
   word newIPName←v15812 = 0;
   formal←c79636 = (formal←c79636 - 32);
   /* EachFile: */ 
SOURCE(25232, 24)
SOURCE(25275, 23)
   {
      word pd359;
      pd359 = (* (( (ptr) (* (( (ptr) gf←c79604)+262)/* var←c76980 */  ))+18) );
      (void) ( *( (fPt) ((*  (ptr) pd359 ))))(pd359);
      };
SOURCE(25300, 45)
   {
      word var←c77652;
      {
         word var←c77684;
         word var←c77716;
         var←c77684 = XR←NewObject(8, (* (( (ptr) gf←c79604)+33) ));
         var←c77716 = var←c77684;
         (*  (ptr) var←c77716 ) = (* (( (ptr) gf←c79604)+99) );
         var←c77652 = var←c77684;
         };
      {
         word pd360;
         pd360 = (* (( (ptr) (* (( (ptr) gf←c79604)+254)/* var←c75316 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd360 ))))((* (( (ptr) formal←c79636)+12) ), var←c77652, pd360);
         };
      };
SOURCE(25347, 66)
   {
      word var←c77748;
      {
         word var←c77780;
         word var←c77812;
         var←c77780 = XR←NewObject(8, (* (( (ptr) gf←c79604)+33) ));
         var←c77812 = var←c77780;
         (*  (ptr) var←c77812 ) = (* (( (ptr) gf←c79604)+100) );
         (* (( (ptr) var←c77812)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c79604)+33) ));
         var←c77812 = (* (( (ptr) var←c77812)+1) );
         (*  (ptr) var←c77812 ) = fullFName←v65424;
         var←c77748 = var←c77780;
         };
      {
         word pd361;
         pd361 = (* (( (ptr) (* (( (ptr) gf←c79604)+254)/* var←c75316 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd361 ))))((* (( (ptr) formal←c79636)+12) ), var←c77748, pd361);
         };
      };
SOURCE(25415, 49)
   {
      word pd362;
      pd362 = (* (( (ptr) (* (( (ptr) gf←c79604)+244)/* var←c74388 */  ))+9) );
      (void) ( *( (fPt) ((*  (ptr) pd362 ))))((* (( (ptr) formal←c79636)+11) ), (* (( (ptr) formal←c79636)+12) ), pd362);
      };
SOURCE(25466, 45)
   newIPName←v15812 = (word) FilenameMinusExtension←P1440(fullFName←v65424);
SOURCE(25513, 45)
   {
      word pd363;
      pd363 = (* (( (ptr) (* (( (ptr) gf←c79604)+232)/* var←c73140 */  ))+6) );
      newIPName←v15812 = (word) ( *( (fPt) ((*  (ptr) pd363 ))))(newIPName←v15812, (* (( (ptr) gf←c79604)+101) ), pd363);
      };
SOURCE(25560, 55)
   {
      word var←c77844;
      {
         word var←c77876;
         word var←c77908;
         var←c77876 = XR←NewObject(8, (* (( (ptr) gf←c79604)+33) ));
         var←c77908 = var←c77876;
         (*  (ptr) var←c77908 ) = (* (( (ptr) gf←c79604)+90) );
         (* (( (ptr) var←c77908)+1) ) = XR←NewObject(8, (* (( (ptr) gf←c79604)+33) ));
         var←c77908 = (* (( (ptr) var←c77908)+1) );
         (*  (ptr) var←c77908 ) = newIPName←v15812;
         var←c77844 = var←c77876;
         };
      {
         word pd364;
         pd364 = (* (( (ptr) (* (( (ptr) gf←c79604)+254)/* var←c75316 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd364 ))))((* (( (ptr) formal←c79636)+12) ), var←c77844, pd364);
         };
      };
SOURCE(25617, 15)
   continue←v65468 = 1;
SOURCE(25232, 24)
   return(continue←v65468);
   }

static void TryPattern←P3060(formal←c0606, formal←c79732)
   word formal←c0606;
   word formal←c79732;
   {
   W5 var←c79668;
   /* declaration of pattern←v15696 skipped */ 
   register ptr gf←c79700 =  (ptr) &globalframe;
   formal←c79732 = (formal←c79732 - 24);
   var←c79668.f4/* pattern←v15696 */  = formal←c0606;
   var←c79668.f0 = formal←c79732;
   /* TryPattern: */ 
SOURCE(25637, 18)
SOURCE(25677, 382)
SOURCE(25679, 332)
   {
      word var←c011;
      {
         word var←c0588;
         var←c0588 = (word) &var←c79668;
         var←c011 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3564) ), ( ((word)  (fPt) NoName←Q3624) ), var←c0588);
         };
      if ((var←c011 == 6)) {
         goto lab←L100048;
         };
      };
   goto lab←L100051;
   lab←L100048: ;
SOURCE(26027, 21)
   {
      word pd365;
      pd365 = (* (( (ptr) (* (( (ptr) gf←c79700)+259)/* var←c76564 */  ))+93) );
      (void) ( *( (fPt) ((*  (ptr) pd365 ))))((* (( (ptr) formal←c79732)+10) ), (* (( (ptr) gf←c79700)+94) ), 0, 2147483647, pd365)
      ;
      };
SOURCE(26050, 6)
   return;
   lab←L100051: ;
   }

static word NoName←Q3564(formal←c0568)
   word formal←c0568;
   {
   register ptr gf←c0567 =  (ptr) &globalframe;
   W14 var←c0459;
SOURCE(25801, 48)
   {
      word pd366;
      pd366 = (* (( (ptr) (* (( (ptr) gf←c0567)+231)/* var←c73108 */  ))+5) );
      (* (( (ptr) formal←c0568)+4) ) = (word) ( *( (fPt) ((*  (ptr) pd366 ))))((* ((( (ptr) formal←c0568)+4)) ), pd366);
      };
SOURCE(25851, 42)
   {
      word pd367;
      pd367 = (* (( (ptr) (* (( (ptr) gf←c0567)+261)/* var←c76628 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd367 ))))((word) &var←c0459, (* (( (ptr) formal←c0568)+4) ), 0, pd367);
      };
   (* (( (ptr) formal←c0568)+4) ) = (*  (ptr) &var←c0459 );
SOURCE(25895, 75)
   {
      word pd368;
      pd368 = (* (( (ptr) (* (( (ptr) gf←c0567)+232)/* var←c73140 */  ))+23) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd368 ))))((* (( (ptr) gf←c0567)+92) ), (* (( (ptr) formal←c0568)+4) ), 1, pd368))) {
SOURCE(25934, 36)
         {
            word pd369;
            pd369 = (* (( (ptr) (* (( (ptr) gf←c0567)+232)/* var←c73140 */  ))+6) );
            (* (( (ptr) formal←c0568)+4) ) = (word) ( *( (fPt) ((*  (ptr) pd369 ))))((* (( (ptr) formal←c0568)+4) ), (* (( (ptr) gf←c0567)+93)
                ), pd369);
            };
         };
      };
SOURCE(25972, 39)
   {
      word pd370;
      pd370 = (* (( (ptr) (* (( (ptr) gf←c0567)+261)/* var←c76628 */  ))+14) );
      (void) ( *( (fPt) ((*  (ptr) pd370 ))))((* (( (ptr) formal←c0568)+4) ), (word) (( (bPt) (*  (ptr) formal←c0568 ))+32), 0, pd370)
      ;
      };
   return(0);
   }

static word GGBasicTransformProc←P1620(bs←v12196)
   word bs←v12196;
   {
   register ptr gf←c79764 =  (ptr) &globalframe;
   word var←c12240;
   word height←v15856;
   word width←v15884;
   word actionArea←v15912;
   word ww←v15940;
   word wh←v15968;
   word transform←v15996 = 0;
   /* GGBasicTransformProc: */ 
SOURCE(26863, 364)
SOURCE(26948, 24)
   {
      word x372;
      word x373;
      *(float*)&height←v15856 = (
         x372 = (*  (ptr) &fc371 ),  *(float*)&x372
         ) * (
         x373 = (*  (ptr) &fc236 ),  *(float*)&x373
         );
      };
SOURCE(26974, 22)
   {
      word x375;
      word x376;
      *(float*)&width←v15884 = (
         x375 = (*  (ptr) &fc374 ),  *(float*)&x375
         ) * (
         x376 = (*  (ptr) &fc236 ),  *(float*)&x376
         );
      };
SOURCE(26998, 52)
   {
      word pd377;
      pd377 = (* (( (ptr) (* (( (ptr) gf←c79764)+235)/* var←c73364 */  ))+11) );
      actionArea←v15912 = (* (( (ptr) ( *( (fPt) ((*  (ptr) pd377 ))))(bs←v12196, 0, pd377))+24) );
      };
SOURCE(27052, 24)
   {
      float tf378;
      ww←v15940 = (
         tf378 = (float)(int)(* (( (ptr) actionArea←v15912)+3) ),  *(word*)&tf378
         );
      };
SOURCE(27078, 24)
   {
      float tf379;
      wh←v15968 = (
         tf379 = (float)(int)(* (( (ptr) actionArea←v15912)+4) ),  *(word*)&tf379
         );
      };
SOURCE(27131, 77)
   {
      W2 var←c77940;
      {
         word x380;
         word x381;
         word x382;
         *(float*)&var←c77940.f0 = ((
            x380 = ww←v15940,  *(float*)&x380
            ) - (
            x381 = width←v15884,  *(float*)&x381
            )) / (
            x382 = (*  (ptr) &fc215 ),  *(float*)&x382
            );
         };
      {
         word x383;
         word x384;
         word x385;
         *(float*)&var←c77940.f1 = ((
            x383 = wh←v15968,  *(float*)&x383
            ) - (
            x384 = height←v15856,  *(float*)&x384
            )) / (
            x385 = (*  (ptr) &fc215 ),  *(float*)&x385
            );
         };
      {
         word pd386;
         pd386 = (* (( (ptr) (* (( (ptr) gf←c79764)+239)/* var←c73940 */  ))+10) );
         transform←v15996 = (word) ( *( (fPt) ((*  (ptr) pd386 ))))(var←c77940, pd386);
         };
      };
SOURCE(27210, 17)
   return(transform←v15996);
   }

static void BSSaveProc←P1680(self←v29280, force←v29308)
   word self←v29280;
   word force←v29308;
   {
   register ptr gf←c79796 =  (ptr) &globalframe;
   /* BSSaveProc: */ 
SOURCE(27233, 94)
SOURCE(27281, 46)
   {
      word pd387;
      pd387 = (* (( (ptr) (* (( (ptr) gf←c79796)+252)/* var←c75060 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd387 ))))(self←v29280, force←v29308, pd387);
      };
   }

static void BSDestroyProc←P1740(self←v29368)
   word self←v29368;
   {
   /* BSDestroyProc: */ 
   }

static void BiScrollerInputNotify←P1800(bs←v29428, input←v29456, device←v29484, user←v29512, display←v29540)
   word bs←v29428;
   word input←v29456;
   word device←v29484;
   word user←v29512;
   word display←v29540;
   {
   register ptr gf←c79828 =  (ptr) &globalframe;
   word ggData←v16040;
   /* BiScrollerInputNotify: */ 
SOURCE(27635, 159)
SOURCE(27691, 53)
   {
      word pd388;
      pd388 = (* (( (ptr) (* (( (ptr) gf←c79828)+235)/* var←c73364 */  ))+14) );
      ggData←v16040 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd388 ))))(bs←v29428, pd388), (* (( (ptr) gf←c79828)+47) ));
      };
SOURCE(27746, 48)
   {
      word pd389;
      pd389 = (* (( (ptr) (* (( (ptr) gf←c79828)+254)/* var←c75316 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd389 ))))(ggData←v16040, input←v29456, pd389);
      };
   }

static void SetBeingBorn←P1860(ggData←v12300, beingBorn←v12328)
   word ggData←v12300;
   word beingBorn←v12328;
   {
   /* SetBeingBorn: */ 
SOURCE(27800, 106)
SOURCE(27872, 34)
   (* (( (ptr) (* (( (ptr) ggData←v12300)+2) ))+4) ) = beingBorn←v12328;
   }

static void Init←P1920()
   {
   register ptr gf←c79860 =  (ptr) &globalframe;
   /* Init: */ 
SOURCE(27911, 2631)
SOURCE(27926, 59)
   {
      word pd390;
      pd390 = (* (( (ptr) (* (( (ptr) gf←c79860)+263)/* var←c77972 */  ))+4) );
      (* (( (ptr) gf←c79860)+9)/* ggTipTable←v7704 */  ) = (word) ( *( (fPt) ((*  (ptr) pd390 ))))((* ((( (ptr) gf←c79860)+102)
         ) ), pd390);
      };
SOURCE(28014, 611)
   {
      word var←c78004;
      {
         word pd391;
         pd391 = (* (( (ptr) (* (( (ptr) gf←c79860)+263)/* var←c77972 */  ))+5) );
         var←c78004 = (word) ( *( (fPt) ((*  (ptr) pd391 ))))(pd391);
         };
      {
         W25 var←c0482;
         (*  (ptr) &var←c0482 ) = (* (( (ptr) gf←c79860)+103) );
         (* (( (ptr) &var←c0482)+1) ) = (word) (( (bPt) gf←c79860)+544)/* var←c71444 */ ;
         (* (( (ptr) &var←c0482)+2) ) = (* (( (ptr) (* (( (ptr) gf←c79860)+254)/* var←c75316 */  ))+5) );
         (* (( (ptr) &var←c0482)+3) ) = (word) (( (bPt) gf←c79860)+472)/* var←c71156 */ ;
         (* (( (ptr) &var←c0482)+4) ) = (word) (( (bPt) gf←c79860)+616)/* var←c71732 */ ;
         (* (( (ptr) &var←c0482)+5) ) = XR←CheckProc(0);
         (* (( (ptr) &var←c0482)+6) ) = (word) (( (bPt) gf←c79860)+480)/* var←c71188 */ ;
         (* (( (ptr) &var←c0482)+7) ) = XR←CheckProc(0);
         (* (( (ptr) &var←c0482)+8) ) = XR←CheckProc(0);
         (* (( (ptr) &var←c0482)+9) ) = XR←CheckProc(0);
         (* (( (ptr) &var←c0482)+10) ) = XR←CheckProc(0);
         (* (( (ptr) &var←c0482)+11) ) = 0;
         (* (( (ptr) &var←c0482)+12) ) = (word) (( (bPt) gf←c79860)+488)/* var←c71220 */ ;
         (* (( (ptr) &var←c0482)+13) ) = XR←CheckProc(0);
         (* (( (ptr) &var←c0482)+14) ) = XR←CheckProc(0);
         (* (( (ptr) &var←c0482)+15) ) = 0;
         (* (( (ptr) &var←c0482)+16) ) = var←c78004;
         (* (( (ptr) &var←c0482)+17) ) = 0;
         (* (( (ptr) &var←c0482)+18) ) = 26;
         (* (( (ptr) &var←c0482)+19) ) = 1;
         (* (( (ptr) &var←c0482)+20) ) = 1;
         (* (( (ptr) &var←c0482)+21) ) = 0;
         (* (( (ptr) &var←c0482)+22) ) = (word) (( (bPt) gf←c79860)+496)/* var←c71252 */ ;
         (* (( (ptr) &var←c0482)+23) ) = (*  (ptr) &fc212 );
         (* (( (ptr) &var←c0482)+24) ) = (*  (ptr) &fc212 );
         {
            word var←c0589;
            {
               word pd392;
               pd392 = (* (( (ptr) (* (( (ptr) gf←c79860)+235)/* var←c73364 */  ))+6) );
               var←c0589 = (*  (ptr) ( *( (fPt) ((*  (ptr) pd392 ))))(0, pd392) );
               };
            (* (( (ptr) gf←c79860)+8)/* actionAreaClass←v7676 */  ) = (word) ( *( (fPt) ((*  (ptr) var←c0589 ))))((word) (&var←c0482), var←c0589)
            ;
            };
         };
      };
SOURCE(28627, 79)
   {
      word pd393;
      pd393 = (* (( (ptr) (* (( (ptr) gf←c79860)+264)/* var←c78068 */  ))+7) );
      (* (( (ptr) gf←c79860)+6)/* popUpFont←v7620 */  ) = (word) ( *( (fPt) ((*  (ptr) pd393 ))))((* (( (ptr) gf←c79860)+104) ), 2, pd393)
      ;
      };
SOURCE(28708, 102)
   {
      word var←c78100;
      {
         word pd394;
         pd394 = (* (( (ptr) (* (( (ptr) gf←c79860)+264)/* var←c78068 */  ))+7) );
         var←c78100 = (word) ( *( (fPt) ((*  (ptr) pd394 ))))((* (( (ptr) gf←c79860)+105) ), 2, pd394);
         };
      {
         word pd395;
         pd395 = (* (( (ptr) (* (( (ptr) gf←c79860)+264)/* var←c78068 */  ))+9) );
         (* (( (ptr) gf←c79860)+7)/* bigFont←v7648 */  ) = (word) ( *( (fPt) ((*  (ptr) pd395 ))))(var←c78100, (*  (ptr) &fc236 ), pd395)
         ;
         };
      };
SOURCE(28812, 44)
   (* (( (ptr) gf←c79860)+15)/* iconsFrom←v7872 */  ) = (* (( (ptr) gf←c79860)+106) );
SOURCE(28881, 11)
   (void) InitIcons←P1980();
SOURCE(28894, 1014)
SOURCE(29646, 94)
   {
      word pd396;
      pd396 = (* (( (ptr) (* (( (ptr) gf←c79860)+257)/* var←c76340 */  ))+18) );
      (* (( (ptr) gf←c79860)+17)/* pointsPreferredCursor←v7928 */  ) = (word) ( *( (fPt) ((*  (ptr) pd396 ))))((*  (W8Pt) (( (ptr) gf←c79860)+196)
         /* var←c72372 */  ),  (word) -8,  (word) -6, pd396);
      };
SOURCE(29742, 92)
   {
      word pd397;
      pd397 = (* (( (ptr) (* (( (ptr) gf←c79860)+257)/* var←c76340 */  ))+18) );
      (* (( (ptr) gf←c79860)+18)/* linesPreferredCursor←v7956 */  ) = (word) ( *( (fPt) ((*  (ptr) pd397 ))))((*  (W8Pt) (( (ptr) gf←c79860)+204)
         /* var←c72436 */  ),  (word) -8,  (word) -5, pd397);
      };
SOURCE(29836, 70)
   {
      word pd398;
      pd398 = (* (( (ptr) (* (( (ptr) gf←c79860)+257)/* var←c76340 */  ))+18) );
      (* (( (ptr) gf←c79860)+16)/* offCursor←v7900 */  ) = (word) ( *( (fPt) ((*  (ptr) pd398 ))))((*  (W8Pt) (( (ptr) gf←c79860)+212)
         /* var←c72500 */  ),  (word) -8,  (word) -6, pd398);
      };
SOURCE(29913, 303)
   {
      word pd399;
      pd399 = (* (( (ptr) (* (( (ptr) gf←c79860)+265)/* var←c78132 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd399 ))))((* (( (ptr) gf←c79860)+65) ), (word) (( (bPt) gf←c79860)+528)/* var←c71380 */ , (* (
            ( (ptr) gf←c79860)+107) ), 0, 1, pd399);
      };
SOURCE(30218, 324)
   {
      word pd400;
      pd400 = (* (( (ptr) (* (( (ptr) gf←c79860)+265)/* var←c78132 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd400 ))))((* (( (ptr) gf←c79860)+108) ), (word) (( (bPt) gf←c79860)+504)/* var←c71284 */ , (* (
            ( (ptr) gf←c79860)+109) ), 0, 1, pd400);
      };
   }

static void InitIcons←P1980()
   {
   register ptr gf←c79892 =  (ptr) &globalframe;
   word holdThatTiger←v16184;
   /* InitIcons: */ 
SOURCE(30548, 455)
SOURCE(30575, 54)
   {
      word pd401;
      pd401 = (* (( (ptr) (* (( (ptr) gf←c79892)+243)/* var←c74260 */  ))+26) );
      holdThatTiger←v16184 = (word) ( *( (fPt) ((*  (ptr) pd401 ))))(pd401);
      };
SOURCE(30631, 48)
   {
      word pd402;
      pd402 = (* (( (ptr) (* (( (ptr) gf←c79892)+266)/* var←c78164 */  ))+6) );
      (* (( (ptr) gf←c79892)+10)/* panelIconG←v7732 */  ) = (word) ( *( (fPt) ((*  (ptr) pd402 ))))((* (( (ptr) gf←c79892)+15)/* iconsFrom←v7872 */  ), 5, pd402)
      ;
      };
SOURCE(30681, 78)
   {
      word pd403;
      pd403 = (* (( (ptr) (* (( (ptr) gf←c79892)+266)/* var←c78164 */  ))+6) );
      (* (( (ptr) gf←c79892)+11)/* noNameIconG←v7760 */  ) = (word) ( *( (fPt) ((*  (ptr) pd403 ))))((* (( (ptr) gf←c79892)+15)
         /* iconsFrom←v7872 */  ),  ( (0 != holdThatTiger←v16184) ? 8 : 1 ) , pd403);
      };
SOURCE(30761, 83)
   {
      word pd404;
      pd404 = (* (( (ptr) (* (( (ptr) gf←c79892)+266)/* var←c78164 */  ))+6) );
      (* (( (ptr) gf←c79892)+12)/* dirtyNoNameIconG←v7788 */  ) = (word) ( *( (fPt) ((*  (ptr) pd404 ))))((* (( (ptr) gf←c79892)+15)
         /* iconsFrom←v7872 */  ),  ( (0 != holdThatTiger←v16184) ? 7 : 0 ) , pd404);
      };
SOURCE(30846, 78)
   {
      word pd405;
      pd405 = (* (( (ptr) (* (( (ptr) gf←c79892)+266)/* var←c78164 */  ))+6) );
      (* (( (ptr) gf←c79892)+14)/* cleanIconG←v7844 */  ) = (word) ( *( (fPt) ((*  (ptr) pd405 ))))((* (( (ptr) gf←c79892)+15)/* iconsFrom←v7872 */  ),  ( (0 != holdThatTiger←v16184) ? 10 : 3 ) , pd405)
      ;
      };
SOURCE(30926, 77)
   {
      word pd406;
      pd406 = (* (( (ptr) (* (( (ptr) gf←c79892)+266)/* var←c78164 */  ))+6) );
      (* (( (ptr) gf←c79892)+13)/* dirtyIconG←v7816 */  ) = (word) ( *( (fPt) ((*  (ptr) pd406 ))))((* (( (ptr) gf←c79892)+15)/* iconsFrom←v7872 */  ),  ( (0 != holdThatTiger←v16184) ? 9 : 2 ) , pd406)
      ;
      };
   }

static void GetIcons←P2040(formal←c0495)
   word formal←c0495;
   {
   register ptr gf←c79924 =  (ptr) &globalframe;
   word panelIcon←v12420;
   word noNameIcon←v12448;
   word dirtyNoNameIcon←v12476;
   word cleanIcon←v12504;
   word dirtyIcon←v12532;
   /* GetIcons: */ 
SOURCE(31009, 188)
SOURCE(31124, 73)
   panelIcon←v12420 = (* (( (ptr) gf←c79924)+10)/* panelIconG←v7732 */  );
   noNameIcon←v12448 = (* (( (ptr) gf←c79924)+11)/* noNameIconG←v7760 */  );
   dirtyNoNameIcon←v12476 = (* (( (ptr) gf←c79924)+12)/* dirtyNoNameIconG←v7788 */  );
   cleanIcon←v12504 = (* (( (ptr) gf←c79924)+14)/* cleanIconG←v7844 */  );
   dirtyIcon←v12532 = (* (( (ptr) gf←c79924)+13)/* dirtyIconG←v7816 */  );
   /* removed tail goto */ 
   (*  (ptr) formal←c0495 ) = panelIcon←v12420;
   (* (( (ptr) formal←c0495)+1) ) = noNameIcon←v12448;
   (* (( (ptr) formal←c0495)+2) ) = dirtyNoNameIcon←v12476;
   (* (( (ptr) formal←c0495)+3) ) = cleanIcon←v12504;
   (* (( (ptr) formal←c0495)+4) ) = dirtyIcon←v12532;
   return;
   }

static void NoName←Q3624(formal←c0501, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
   word formal←c0501;
   word formal←c200016;
   word formal←c200017;
   word formal←c200018;
   word formal←c200019;
   {
   register ptr gf←c0575 =  (ptr) &globalframe;
   if ((formal←c200017 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0575)+261)/* var←c76628 */  ))+4) ) ))) {
      {
         W4 error←v65740;
         error←v65740 = (*  (W4Pt) formal←c200019 );
SOURCE(25698, 89)
         if ((error←v65740.f0 != 1)) {
SOURCE(25727, 24)
            {
               word pd407;
               pd407 = (* (( (ptr) (* (( (ptr) gf←c0575)+259)/* var←c76564 */  ))+93) );
               (void) ( *( (fPt) ((*  (ptr) pd407 ))))((* (( (ptr) (*  (ptr) formal←c200016 ))+10) ), (* (( (ptr) gf←c0575)+91) ), 0, 2147483647, pd407)
               ;
               };
SOURCE(25753, 34)
            {
               word pd408;
               pd408 = (* (( (ptr) (* (( (ptr) gf←c0575)+259)/* var←c76564 */  ))+93) );
               (void) ( *( (fPt) ((*  (ptr) pd408 ))))((* (( (ptr) (*  (ptr) formal←c200016 ))+10) ), error←v65740.f2, 0, 2147483647, pd408)
               ;
               };
SOURCE(25789, 9)
            (*  (ptr) formal←c0501 ) = 2;
            (* (( (ptr) formal←c0501)+1) ) = 6;
            return;
            };
         };
      };
   (*  (ptr) formal←c0501 ) = 0;
   (* (( (ptr) formal←c0501)+1) ) = 0;
   return;
   }

static void NoName←Q3684(formal←c0507, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0507;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0576 =  (ptr) &globalframe;
   if ((formal←c200013 == (* (( (ptr) (* (( (ptr) gf←c0576)+258)/* var←c76372 */  ))+4) ))) {
      {
         word errorMsg←v65528;
         errorMsg←v65528 = (*  (ptr) formal←c200015 );
SOURCE(26178, 14)
         (* (( (ptr) formal←c200012)+5) ) = errorMsg←v65528;
SOURCE(26194, 12)
         (*  (ptr) formal←c0507 ) = 2;
         (* (( (ptr) formal←c0507)+1) ) = 5;
         return;
         };
      };
   (*  (ptr) formal←c0507 ) = 0;
   (* (( (ptr) formal←c0507)+1) ) = 0;
   return;
   }

static void NoName←Q3744(formal←c0513, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0513;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0577 =  (ptr) &globalframe;
   if ((formal←c200009 == (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0577)+261)/* var←c76628 */  ))+4) ) ))) {
      {
         W4 error←v64816;
         error←v64816 = (*  (W4Pt) formal←c200011 );
SOURCE(24189, 89)
         if ((error←v64816.f0 != 1)) {
SOURCE(24218, 24)
            {
               word pd409;
               pd409 = (* (( (ptr) (* (( (ptr) gf←c0577)+259)/* var←c76564 */  ))+93) );
               (void) ( *( (fPt) ((*  (ptr) pd409 ))))((* (( (ptr) (*  (ptr) formal←c200008 ))+10) ), (* (( (ptr) gf←c0577)+91) ), 0, 2147483647, pd409)
               ;
               };
SOURCE(24244, 34)
            {
               word pd410;
               pd410 = (* (( (ptr) (* (( (ptr) gf←c0577)+259)/* var←c76564 */  ))+93) );
               (void) ( *( (fPt) ((*  (ptr) pd410 ))))((* (( (ptr) (*  (ptr) formal←c200008 ))+10) ), error←v64816.f2, 0, 2147483647, pd410)
               ;
               };
SOURCE(24280, 9)
            (*  (ptr) formal←c0513 ) = 2;
            (* (( (ptr) formal←c0513)+1) ) = 4;
            return;
            };
         };
      };
   (*  (ptr) formal←c0513 ) = 0;
   (* (( (ptr) formal←c0513)+1) ) = 0;
   return;
   }

static void NoName←Q3804(formal←c0519, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0519;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0578 =  (ptr) &globalframe;
   if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0578)+258)/* var←c76372 */  ))+4) ))) {
      {
         word errorMsg←v63792;
         errorMsg←v63792 = (*  (ptr) formal←c200007 );
SOURCE(24669, 14)
         (* (( (ptr) formal←c200004)+5) ) = errorMsg←v63792;
SOURCE(24685, 12)
         (*  (ptr) formal←c0519 ) = 2;
         (* (( (ptr) formal←c0519)+1) ) = 3;
         return;
         };
      };
   (*  (ptr) formal←c0519 ) = 0;
   (* (( (ptr) formal←c0519)+1) ) = 0;
   return;
   }

static void NoName←Q3864(formal←c0525, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0525;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0579 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0579)+258)/* var←c76372 */  ))+4) ))) {
      {
         word errorMsg←v61548;
         errorMsg←v61548 = (*  (ptr) formal←c200003 );
SOURCE(22041, 8)
         (*  (ptr) formal←c0525 ) = 2;
         (* (( (ptr) formal←c0525)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0525 ) = 0;
   (* (( (ptr) formal←c0525)+1) ) = 0;
   return;
   }

/* file: GGWindowImpl, module: GGWindowImpl, compiled at: October 22, 1993 4:01:56 pm PDT */ 
extern void XR←install←GGWindowImpl() {
   NoName←Q3264();
   }
extern void XR←run←GGWindowImpl() { XR←Start(&globalframe); }