/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: March 13, 1992 11:30:40 am PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: AbbrevExpandImpl, module: AbbrevExpandImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITXOR(x, y) (((word)(x)) ↑ ((word)(y)))
static char versionStamp[] = "@(#)mob←version [3339160412,1561834220] AbbrevExpandImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W8 f; word r;} W9;
typedef struct {W16 f; W9 r;} W25;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef W6 *W6Pt;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {W16 f; W2 r;} W18;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W8 f; W4 r;} W12;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; W7 r;} W15;
typedef W9 *W9Pt;
typedef struct {W8 f; W3 r;} W11;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q5940();
static void AbbrevExpandImpl←P0();
static void LoadInternal←P60();
static word NoName←Q6000();
static void Locked←P1200();
static void Empty←P1260();
static word Load←P120();
static void AddToDict←P180();
static word NoName←Q6060();
static void ParseCommands←P240();
static word NoName←Q6120();
static void Clear←P300();
static word NoName←Q6180();
static word GetDictAtom←P360();
static word ForceLower←P1512();
static void ChangeRegistry←P420();
static void Expand←P480();
static word FindEntry←P1572();
static void CheckCaps←P1776();
static word KeyHash←P540();
static word Lookup←P600();
static word NoName←Q6240();
static word LookupInternal←P660();
static void FreeReaders←P2268();
static word FindKeyLen←P720();
static word FindKeyStart←P780();
static word GetDict←P840();
static word NoName←Q6300();
static word Same←P900();
static word GetFileID←P960();
static word NoName←Q6360();
static void DoLocked←P1020();
static word NoName←Q6420();
static void Lock←P2520();
static void Unlock←P2580();
static word ValidateAll←P1080();
static void Locked←P2640();
static word Action←P2700();
static word Validate←P1140();
static void Locked←P2760();
static void NoName←Q6480();
static void NoName←Q6540();
static void NoName←Q6600();
static void NoName←Q6660();
static void NoName←Q6720();
static void NoName←Q6780();
static void NoName←Q6840();
static void NoName←Q6900();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\307\007\213\134\300\135\027\262\354\102\000\000\000"};
static struct {unsigned f; char r[4];} string4 = {65540, "\251\000\000"};
static struct {unsigned f; char r[16];} string5 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[112];} string6 = {7274608, "\262\260\004\003\153\145\171\216\257\300\363\223\326\161\300\017\164\046\072\104\350\011\010\144\151\143\164\101\164\157\155\216\251\022\021\153\145\171\104\145\164\145\162\155\151\156\145\163\104\151\143\164\232\261\260\010\007\153\145\171\122\157\160\145\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\156\157\144\145\216\257\300\302\136\246\312\300\076\314\360\376\100\164\011\010\143\157\155\155\141\156\144\163\214\217\261"};
static struct {unsigned f; char r[48];} string7 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\363\223\326\161\300\017\164\046\072\104\350\005\004\162\145\163\164\214\216\257\300\363\223\326\161\300\017\164\046\072\104\350\261\000\000\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\004\003\000"};
static struct {unsigned f; char r[20];} string9 = {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];} string10 = {851984, "\257\300\307\007\213\134\300\135\027\262\354\100\200\000\000"};
static struct {unsigned f; char r[4];} string11 = {131074, "\004\035\000"};
static struct {unsigned f; char r[44];} string12 = {2752556, "\260\006\005\146\151\162\163\164\257\300\015\277\004\146\300\034\367\146\045\112\114\005\004\162\145\163\164\214\257\300\015\277\004\146\300\034\367\146\045\112\114\261\000"};
static struct {unsigned f; char r[28];} string13 = {1572888, "\006\002\000\007\000\040\016\000\003\001\000\000\000\000\014\014\000\014\014\014\014\000\010\001\000\000\000"};
static struct {unsigned f; char r[8];} string14 = {327688, "Error\000\000"};
static struct {unsigned f; char r[8];} string15 = {458760, " . . . "};
static struct {unsigned f; char r[8];} string16 = {262152, "New \000\000\000"};
static struct {unsigned f; char r[12];} string17 = {655372, "%g entries\000"};
static struct {unsigned f; char r[12];} string18 = {524300, "Progress\000\000\000"};
static struct {unsigned f; char r[8];} string19 = {327688, "Tioga\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "/cedar/styles\000\000"};
static struct {unsigned f; char r[24];} string21 = {1441816, "Tioga.StyleSearchRules\000"};
static struct {unsigned f; char r[16];} string22 = {917520, ".abbreviations\000"};
static struct {unsigned f; char r[24];} string23 = {1376280, "NoDictionaryAvailable\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\307\007\213\134\300\135\027\262\354\100\164\000\000"};
static struct {unsigned f; char r[20];} string25 = {1048592, "\006\005\040\001\044\001\050\001\100\120\001\100\204\004\103\377\000\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\055\153\222\376\300\327\164\352\142\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\314\212\213\004\300\112\342\014\072\100\164\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\004\173\141\246\300\255\256\170\002\100\150\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\141\260\110\353\300\162\250\066\353\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\263\221\075\070\300\264\022\010\174\100\164\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\242\221\264\046\300\105\142\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\366\233\214\046\300\233\036\213\260\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\275\320\070\317\300\004\110\363\366\100\150\000\000"};
static struct {unsigned f; char r[16];} string37 = {851984, "\257\300\353\035\365\325\300\132\075\117\337\100\150\000\000"};
static struct {unsigned f; char r[16];} string38 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"};
static struct {unsigned f; char r[16];} string39 = {851984, "\257\3004+\202s\300vm?\203@h\000\000"};
static struct {unsigned f; char r[16];} string40 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\233\251\177\064\300\273\157\236\236\100\150\000\000"};
static struct {unsigned f; char r[16];} string42 = {851984, "\257\300\134\353\367\206\300\202\044\112\356\100\150\000\000"};
static struct {unsigned f; char r[16];} string43 = {851984, "\257\300\123\156\240\340\300\077\103\217\263\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\273\376\112\203\300\237\326\241\360\100\150\000\000"};
static struct {
   word f0[44]; word f44; word f45; word f46; 
   word f47; word f48; word f49; word f50; 
   word f51; word f52; word f53; word f54; 
   word f55; word f56; word f57; word f58; 
   word f59; word f60; word f61; word f62; 
   word f63; word f64; word f65; word f66; 
   word f67; word f68; word f69; word f70; 
   word f71; word f72; word f73; word f74; 
   word f75; word f76; word f77; word f78; 
   word f79; word f80; word f81; word f82; 
   word f83; word f84; word f85[21]; 
   } globalframe = {
   {0}, (word) Validate←P1140, 0, (word) ValidateAll←P1080, 
   0, (word) DoLocked←P1020, 0, (word) GetFileID←P960, 
   0, (word) Same←P900, 0, (word) GetDict←P840, 
   0, (word) FindKeyStart←P780, 0, (word) FindKeyLen←P720, 
   0, (word) LookupInternal←P660, 0, (word) Lookup←P600, 
   0, (word) KeyHash←P540, 0, (word) Expand←P480, 
   0, (word) ChangeRegistry←P420, 0, (word) GetDictAtom←P360, 
   0, (word) Clear←P300, 0, (word) ParseCommands←P240, 
   0, (word) AddToDict←P180, 0, (word) Load←P120, 
   0, (word) LoadInternal←P60, 0, (word) AbbrevExpandImpl←P0, 
   0, 2147483647, {0}
   };

static void NoName←Q5940()
   {
   register ptr gf←c0441 =  (ptr) &globalframe;
   word var←c44160;
   (* (( (ptr) gf←c0441)+21) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0441)+22) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
   (* (( (ptr) gf←c0441)+23) ) = (word) XR←GetTypeIndexS((word) (&string4));
   (* (( (ptr) gf←c0441)+25) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string2);
   (* (( (ptr) gf←c0441)+26) ) = (word) XR←GetTypeIndexS((word) (&string6));
   (* (( (ptr) gf←c0441)+27) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0441)+29) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string8);
   (* (( (ptr) gf←c0441)+30) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
   (* (( (ptr) gf←c0441)+32) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
   (*  (ptr) (( (bPt) gf←c0441)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+21) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0441)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0441)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0441)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0441)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+21) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c0441)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+21) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c0441)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c0441)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c0441)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+25) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c0441)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0441)+21) ), (word) &string23);
   (void) XR←DeclareGlobalFrame((word) "AbbrevExpandImpl", &globalframe, (word) XR←GetTypeIndex((word) &string24, 0, (word) &string25)
      , (word) (( (bPt) gf←c0441)+328)/* var←c39008 */ );
   var←c44160 = (word) XR←ImportInterface((word) "Atom", (word) XR←GetTypeIndexS((word) (&string26)), 16);
   (* (( (ptr) gf←c0441)+99)/* var←c41152 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 67372289);
   (void) XR←ImportProcS(var←c44160, 67895555);
   var←c44160 = (word) XR←ImportInterface((word) "CharOps", (word) XR←GetTypeIndexS((word) (&string27)), 14);
   (* (( (ptr) gf←c0441)+97)/* var←c40128 */  ) = var←c44160;
   var←c44160 = (word) XR←ImportInterface((word) "EditSpan", (word) XR←GetTypeIndexS((word) (&string28)), 23);
   (* (( (ptr) gf←c0441)+100)/* var←c41696 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 271320327);
   var←c44160 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string29)), 103);
   (* (( (ptr) gf←c0441)+98)/* var←c40352 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 530434);
   (void) XR←ImportProcS(var←c44160, 67377409);
   (void) XR←ImportProcS(var←c44160, 67391233);
   (void) XR←ImportProcS(var←c44160, 67640578);
   var←c44160 = (word) XR←ImportInterface((word) "PFS", (word) XR←GetTypeIndexS((word) (&string30)), 40);
   (* (( (ptr) gf←c0441)+90)/* var←c39360 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 67371265);
   (void) XR←ImportProcS(var←c44160, 67634178);
   (void) XR←ImportProcS(var←c44160, 605292546);
   (void) XR←ImportProcS(var←c44160, 67633154);
   var←c44160 = (word) XR←ImportInterface((word) "PFSNames", (word) XR←GetTypeIndexS((word) (&string31)), 39);
   (* (( (ptr) gf←c0441)+102)/* var←c43552 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 67897091);
   var←c44160 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string32)), 22);
   (* (( (ptr) gf←c0441)+104)/* var←c43936 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 134219776);
   var←c44160 = (word) XR←ImportInterface((word) "RefTab", (word) XR←GetTypeIndexS((word) (&string33)), 16);
   (* (( (ptr) gf←c0441)+88)/* var←c39104 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 67635458);
   (void) XR←ImportProcS(var←c44160, 134742786);
   (void) XR←ImportProcS(var←c44160, 67896579);
   (void) XR←ImportProcS(var←c44160, 67895555);
   var←c44160 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string34)), 43);
   (* (( (ptr) gf←c0441)+91)/* var←c39392 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 67633666);
   (void) XR←ImportProcS(var←c44160, 68163332);
   (void) XR←ImportProcS(var←c44160, 67373825);
   (void) XR←ImportProcS(var←c44160, 67898627);
   (void) XR←ImportProcS(var←c44160, 68419845);
   var←c44160 = (word) XR←ImportInterface((word) "RopeReader", (word) XR←GetTypeIndexS((word) (&string35)), 25);
   (* (( (ptr) gf←c0441)+89)/* var←c39264 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 69473545);
   (void) XR←ImportProcS(var←c44160, 67636482);
   (void) XR←ImportProcS(var←c44160, 268033);
   (void) XR←ImportProcS(var←c44160, 67114496);
   var←c44160 = (word) XR←ImportInterface((word) "RuntimeError", (word) XR←GetTypeIndexS((word) (&string36)), 27);
   (* (( (ptr) gf←c0441)+101)/* var←c43360 */  ) = var←c44160;
   var←c44160 = (word) XR←ImportInterface((word) "SimpleFeedback", (word) XR←GetTypeIndexS((word) (&string37)), 7);
   (* (( (ptr) gf←c0441)+92)/* var←c39424 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 1310981);
   (void) XR←ImportProcS(var←c44160, 525058);
   (void) XR←ImportProcS(var←c44160, 1048580);
   var←c44160 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string38)), 39);
   (* (( (ptr) gf←c0441)+95)/* var←c39712 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 136322568);
   (void) XR←ImportProcS(var←c44160, 792323);
   (void) XR←ImportProcS(var←c44160, 67376641);
   (void) XR←ImportProcS(var←c44160, 1582086);
   (void) XR←ImportProcS(var←c44160, 1837831);
   (void) XR←ImportProcS(var←c44160, 136583945);
   (void) XR←ImportProcS(var←c44160, 67633410);
   (void) XR←ImportProcS(var←c44160, 1317893);
   (void) XR←ImportProcS(var←c44160, 67371521);
   var←c44160 = (word) XR←ImportInterface((word) "TextEditBogus", (word) XR←GetTypeIndexS((word) (&string39)), 1);
   (* (( (ptr) gf←c0441)+96)/* var←c39872 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 67371009);
   var←c44160 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string40)), 34);
   (* (( (ptr) gf←c0441)+94)/* var←c39680 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 67376641);
   (void) XR←ImportProcS(var←c44160, 67372289);
   (void) XR←ImportProcS(var←c44160, 67372545);
   (void) XR←ImportProcS(var←c44160, 67377153);
   var←c44160 = (word) XR←ImportInterface((word) "TiogaIO", (word) XR←GetTypeIndexS((word) (&string41)), 17);
   (* (( (ptr) gf←c0441)+93)/* var←c39456 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 403966722);
   var←c44160 = (word) XR←ImportInterface((word) "UserProfile", (word) XR←GetTypeIndexS((word) (&string42)), 11);
   (* (( (ptr) gf←c0441)+103)/* var←c43584 */  ) = var←c44160;
   (void) XR←ImportProcS(var←c44160, 67633922);
   var←c44160 = (word) XR←ExportInterface((word) "AbbrevExpand", (word) XR←GetTypeIndexS((word) (&string43)), 6);
   (* (( (ptr) gf←c0441)+105)/* var←c44192 */  ) = var←c44160;
   (void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+312)/* var←c38944 */ , 67371009);
   (void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+288)/* var←c38848 */ , 262401);
   (void) XR←ExportVar(var←c44160, 2, (word) (( (bPt) gf←c0441)+172)/* var←c38368 */ );
   (void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+264)/* var←c38752 */ , 403702532);
   (void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+176)/* var←c38400 */ , 67372033);
   (void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+184)/* var←c38432 */ , 67110144);
   var←c44160 = (word) XR←ExportInterface((word) "AbbrevExpandExtras", (word) XR←GetTypeIndexS((word) (&string44)), 1);
   (* (( (ptr) gf←c0441)+105)/* var←c44192 */  ) = var←c44160;
   (void) XR←ExportProcS(var←c44160, (word) (( (bPt) gf←c0441)+272)/* var←c38784 */ , 262145);
   }

static void AbbrevExpandImpl←P0(formal←c069, formal←c066)
   word formal←c069;
   word formal←c066;
   {
   register ptr gf←c44224 =  (ptr) &globalframe;
   /* AbbrevExpandImpl: */ 
SOURCE(1150, 13279)
   /* moved to installation proc */ 
SOURCE(1510, 45)
   {
      word pd45;
      pd45 = (* (( (ptr) (* (( (ptr) gf←c44224)+88)/* var←c39104 */  ))+5) );
      (* (( (ptr) gf←c44224)+8)/* dictTable←v3644 */  ) = (word) ( *( (fPt) ((*  (ptr) pd45 ))))(5, 0, 0, pd45);
      };
SOURCE(12382, 15)
   {
      word var←c39136;
      word var←c39168;
      var←c39136 = XR←NewObject(8, (* (( (ptr) gf←c44224)+27) ));
      var←c39168 = var←c39136;
      (*  (ptr) var←c39168 ) = (* (( (ptr) gf←c44224)+39) );
      (* (( (ptr) gf←c44224)+10)/* defaultSearch←v4232 */  ) = var←c39136;
      };
SOURCE(13768, 42)
   {
      word pd46;
      pd46 = (* (( (ptr) (* (( (ptr) gf←c44224)+88)/* var←c39104 */  ))+5) );
      (* (( (ptr) gf←c44224)+20)/* fileForAbbr←v4484 */  ) = (word) ( *( (fPt) ((*  (ptr) pd46 ))))(5, 0, 0, pd46);
      };
   }

static void LoadInternal←P60(formal←c085, formal←c0540, formal←c0541)
   word formal←c085;
   word formal←c0540;
   word formal←c0541;
   {
   W25 var←c44256;
   /* declaration of dict←v4888 skipped */ 
   /* declaration of fileID←v4916 skipped */ 
   register ptr gf←c44288 =  (ptr) &globalframe;
   word ok←v4960;
   /* declaration of count←v4988 skipped */ 
   /* declaration of var←c39200 skipped */ 
   /* declaration of var←c39232 skipped */ 
   /* declaration of rdr←v8104 skipped */ 
   /* declaration of root←v8132 skipped */ 
   (* (( (ptr) &var←c44256)+4)/* dict←v4888 */  ) = formal←c0540;
   (* (( (ptr) &var←c44256)+5)/* fileID←v4916 */  ) = formal←c0541;
   /* LoadInternal: */ 
SOURCE(1707, 1112)
   {
      word tmpAddr47;
      tmpAddr47 = (word) (( (ptr) &var←c44256)+7)/* var←c39200 */ ;
      (*  (ptr) tmpAddr47 ) = ( ((word)  (fPt) Empty←P1260) );
      (* (( (ptr) tmpAddr47) + 1) ) = 1;
      };
   {
      word tmpAddr48;
      tmpAddr48 = (word) (( (ptr) &var←c44256)+9)/* var←c39232 */ ;
      (*  (ptr) tmpAddr48 ) = ( ((word)  (fPt) Locked←P1200) );
      (* (( (ptr) tmpAddr48) + 1) ) = 1;
      };
SOURCE(1707, 1112)
   ok←v4960 = 0;
SOURCE(1707, 1112)
   (* (( (ptr) &var←c44256)+6)/* count←v4988 */  ) = 0;
SOURCE(1803, 48)
   {
      word pd49;
      pd49 = (* (( (ptr) (* (( (ptr) gf←c44288)+89)/* var←c39264 */  ))+26) );
      (* (( (ptr) &var←c44256)+11)/* rdr←v8104 */  ) = (word) ( *( (fPt) ((*  (ptr) pd49 ))))(pd49);
      };
SOURCE(1853, 16)
   (* (( (ptr) &var←c44256)+12)/* root←v8132 */  ) = 0;
SOURCE(2308, 45)
   if (((* (( (ptr) &var←c44256)+5)/* fileID←v4916 */  ) == 0)) {
SOURCE(2330, 15)
      (void) DoLocked←P1020((word) ((( (bPt) &var←c44256)+28)/* var←c39200 */ ));
SOURCE(2347, 6)
      goto lab←L100000;
      };
SOURCE(2356, 107)
   {
      word var←c39296;
      {
         word var←c39328;
         {
            word pd50;
            pd50 = (* (( (ptr) (* (( (ptr) gf←c44288)+90)/* var←c39360 */  ))+4) );
            var←c39328 = (word) ( *( (fPt) ((*  (ptr) pd50 ))))((*  (ptr) (* (( (ptr) &var←c44256)+5)/* fileID←v4916 */  ) ), 0, pd50)
            ;
            };
         {
            word pd51;
            pd51 = (* (( (ptr) (* (( (ptr) gf←c44288)+91)/* var←c39392 */  ))+5) );
            var←c39296 = (word) ( *( (fPt) ((*  (ptr) pd51 ))))((* (( (ptr) gf←c44288)+35) ), var←c39328, (* (( (ptr) gf←c44288)+34) ), 0, 0, pd51)
            ;
            };
         };
      {
         word pd52;
         pd52 = (* (( (ptr) (* (( (ptr) gf←c44288)+92)/* var←c39424 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd52 ))))((* (( (ptr) gf←c44288)+38) ), 1, (* (( (ptr) gf←c44288)+37) ), var←c39296, pd52);
         };
      };
SOURCE(2465, 172)
SOURCE(2465, 172)
   {
      W6 var←c39488;
      {
         /* declaration of var←c01 skipped */ 
         /* declaration of var←c02 skipped */ 
         /* declaration of var←c03 skipped */ 
         (* (( (ptr) &var←c44256)+13)/* var←c01 */  ) = (*  (ptr) (* (( (ptr) &var←c44256)+5)/* fileID←v4916 */  ) );
         (*  (W4Pt) (( (ptr) &var←c44256)+14)/* var←c02 */  ) = (*  (W4Pt) (( (ptr) (* (( (ptr) &var←c44256)+5)/* fileID←v4916 */  ))+1)
          );
         (* (( (ptr) &var←c44256)+18)/* var←c03 */  ) = (* (( (ptr) (* (( (ptr) gf←c44288)+93)/* var←c39456 */  ))+15) );
         {
            /* declaration of var←c04 skipped */ 
            {
               word var←c05;
               {
                  word var←c0500;
                  var←c0500 = (word) &var←c44256;
                  var←c05 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6000) ), ( ((word)  (fPt) NoName←Q6900) ), var←c0500);
                  };
               if ((var←c05 == 2)) {
                  goto lab←L100002;
                  };
               };
            var←c39488 = (*  (W6Pt) (( (ptr) &var←c44256)+19)/* var←c04 */  );
            };
         };
      (* (( (ptr) &var←c44256)+12)/* root←v8132 */  ) = var←c39488.f5;
      };
   lab←L100002: ;
SOURCE(2655, 25)
   if (((* (( (ptr) &var←c44256)+12)/* root←v8132 */  ) == 0)) {
SOURCE(2674, 6)
      goto lab←L100000;
      };
SOURCE(2682, 16)
   (void) DoLocked←P1020((word) ((( (bPt) &var←c44256)+36)/* var←c39232 */ ));
SOURCE(2700, 76)
   {
      W2 v1←v35648;
      v1←v35648.f0 = 5;
      v1←v35648.f1 = (* (( (ptr) &var←c44256)+6)/* count←v4988 */  );
      {
         word var←c39552;
         {
            word var←c39584;
            word var←c39616;
            var←c39584 = XR←NewObject(12, (* (( (ptr) gf←c44288)+32) ));
            var←c39616 = var←c39584;
            (*  (W2Pt) var←c39616 ) = v1←v35648;
            var←c39552 = var←c39584;
            };
         {
            word pd53;
            pd53 = (* (( (ptr) (* (( (ptr) gf←c44288)+92)/* var←c39424 */  ))+5) );
            (void) ( *( (fPt) ((*  (ptr) pd53 ))))((* (( (ptr) gf←c44288)+38) ), 3, (* (( (ptr) gf←c44288)+37) ), (* (( (ptr) gf←c44288)+36)
                ), var←c39552, pd53);
            };
         };
      };
SOURCE(2778, 30)
   {
      word pd54;
      pd54 = (* (( (ptr) (* (( (ptr) gf←c44288)+89)/* var←c39264 */  ))+27) );
      (void) ( *( (fPt) ((*  (ptr) pd54 ))))((* ((( (ptr) &var←c44256)+11)/* rdr←v8104 */ ) ), pd54);
      };
SOURCE(2810, 9)
   ok←v4960 = 1;
   /* removed tail goto */ 
   lab←L100000: ;
   (*  (ptr) formal←c085 ) = ok←v4960;
   (* (( (ptr) formal←c085)+1) ) = (* (( (ptr) &var←c44256)+6)/* count←v4988 */  );
   return;
   }

static word NoName←Q6000(formal←c0444)
   word formal←c0444;
   {
SOURCE(2465, 172)
   {
      word pd55;
      pd55 = (* (( (ptr) formal←c0444)+18) );
      (void) ( *( (fPt) ((*  (ptr) pd55 ))))((word) (( (bPt) formal←c0444)+76), (* (( (ptr) formal←c0444)+13) ), (*  (W4Pt) (( (ptr) formal←c0444)+14)
          ), pd55);
      };
   return(0);
   }

static void Locked←P1200(formal←c44352)
   word formal←c44352;
   {
   register ptr gf←c44320 =  (ptr) &globalframe;
   formal←c44352 = (formal←c44352 - 36);
   /* Locked: */ 
SOURCE(1871, 340)
SOURCE(1888, 46)
   {
      word var←c39648;
      word pd56;
      pd56 = (* (( (ptr) (* (( (ptr) gf←c44320)+88)/* var←c39104 */  ))+9) );
      var←c39648 = (word) ( *( (fPt) ((*  (ptr) pd56 ))))((* (( (ptr) gf←c44320)+8)/* dictTable←v3644 */  ), (* (( (ptr) formal←c44352)+4)
          ), (* (( (ptr) gf←c44320)+42) ), pd56);
      };
SOURCE(1961, 195)
   {
      register word node←v8264;
      {
         word pd57;
         pd57 = (* (( (ptr) (* (( (ptr) gf←c44320)+94)/* var←c39680 */  ))+28) );
         node←v8264 = (word) ( *( (fPt) ((*  (ptr) pd57 ))))((* ((( (ptr) formal←c44352)+12)) ), pd57);
         };
      lab←L100008: ;
      if ((node←v8264 != 0)) {
         }
      else {
         goto lab←L100005;
         };
SOURCE(2043, 58)
      {
         word pd59;
         if ((node←v8264 == 0)) { goto then058;};
         if (*((int*)node←v8264 + 9)<0) { goto then058;};
         pd59 = (* (( (ptr) (* (( (ptr) gf←c44320)+95)/* var←c39712 */  ))+6) );
         if (( (int)(word) ( *( (fPt) ((*  (ptr) pd59 ))))(node←v8264, pd59) ==  (int)0)) {
            then058: ;
SOURCE(2101, 4)
            goto lab←L100007;
            };
         };
SOURCE(2107, 32)
      (void) AddToDict←P180((* (( (ptr) formal←c44352)+12) ), node←v8264, (* (( (ptr) formal←c44352)+4) ), (* (( (ptr) formal←c44352)+11)
          ));
SOURCE(2141, 15)
      (* (( (ptr) formal←c44352)+6) ) = ((* (( (ptr) formal←c44352)+6) ) + 1);
      lab←L100007: ;
      {
         word pd60;
         pd60 = (* (( (ptr) (* (( (ptr) gf←c44320)+94)/* var←c39680 */  ))+10) );
         node←v8264 = (word) ( *( (fPt) ((*  (ptr) pd60 ))))(node←v8264, pd60);
         };
      goto lab←L100008;
      lab←L100005: ;
      };
SOURCE(2167, 44)
   {
      word var←c39744;
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c44320)+88)/* var←c39104 */  ))+9) );
      var←c39744 = (word) ( *( (fPt) ((*  (ptr) pd61 ))))((* (( (ptr) gf←c44320)+20)/* fileForAbbr←v4484 */  ), (* (( (ptr) formal←c44352)+4)
          ), (* (( (ptr) formal←c44352)+5) ), pd61);
      };
   }

static void Empty←P1260(formal←c44416)
   word formal←c44416;
   {
   register ptr gf←c44384 =  (ptr) &globalframe;
   formal←c44416 = (formal←c44416 - 28);
   /* Empty: */ 
SOURCE(2216, 62)
SOURCE(2232, 46)
   {
      word var←c39776;
      word pd62;
      pd62 = (* (( (ptr) (* (( (ptr) gf←c44384)+88)/* var←c39104 */  ))+9) );
      var←c39776 = (word) ( *( (fPt) ((*  (ptr) pd62 ))))((* (( (ptr) gf←c44384)+8)/* dictTable←v3644 */  ), (* (( (ptr) formal←c44416)+4)
          ), (* (( (ptr) gf←c44384)+42) ), pd62);
      };
   }

static word Load←P120(dictName←v5048)
   word dictName←v5048;
   {
   word count←v5092;
   word dict←v8308;
   /* Load: */ 
SOURCE(2825, 152)
SOURCE(2825, 152)
   count←v5092 = 0;
SOURCE(2889, 34)
   dict←v8308 = (word) GetDictAtom←P360(dictName←v5048);
SOURCE(2925, 52)
   {
      W2 var←c39840;
      {
         word var←c39808;
         var←c39808 = (word) GetFileID←P960(dict←v8308);
         (void) LoadInternal←P60((word) &var←c39840, dict←v8308, var←c39808);
         };
      count←v5092 = var←c39840.f1;
      };
SOURCE(2825, 152)
   return(count←v5092);
   }

static void AddToDict←P180(formal←c0542, formal←c0543, formal←c0544, formal←c0545)
   word formal←c0542;
   word formal←c0543;
   word formal←c0544;
   word formal←c0545;
   {
   W8 var←c44448;
   /* declaration of root←v5152 skipped */ 
   /* declaration of node←v5180 skipped */ 
   /* declaration of dictAtom←v5208 skipped */ 
   /* declaration of rdr←v5236 skipped */ 
   register ptr gf←c44480 =  (ptr) &globalframe;
   var←c44448.f4/* root←v5152 */  = formal←c0542;
   var←c44448.f5/* node←v5180 */  = formal←c0543;
   var←c44448.f6/* dictAtom←v5208 */  = formal←c0544;
   var←c44448.f7/* rdr←v5236 */  = formal←c0545;
   /* AddToDict: */ 
SOURCE(2983, 1091)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c44480)+16)/* LOCK←v3504 */ ));
SOURCE(3077, 997)
   {
      word var←c06;
      {
         word var←c0501;
         var←c0501 = (word) &var←c44448;
         var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6060) ), ( ((word)  (fPt) NoName←Q6840) ), var←c0501);
         };
      if ((var←c06 == 1)) {
         goto lab←L03;
         };
      };
SOURCE(2983, 1091)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c44480)+16)/* LOCK←v3504 */ ));
   return;
   lab←L03: ;
   return;
   }

static word NoName←Q6060(formal←c0451)
   word formal←c0451;
   {
   register ptr gf←c0450 =  (ptr) &globalframe;
SOURCE(3101, 31)
   {
      word dict←v8352;
      word keyRope←v8380;
      word hash←v8436;
      word entry←v8464 = 0;
      word keyLen←v8492;
      word freeRdr←v8520 = 0;
      word resultStart←v8548;
      word commands←v8576 = 0;
SOURCE(3101, 31)
      dict←v8352 = (word) GetDict←P840((* ((( (ptr) formal←c0451)+6)) ));
SOURCE(3134, 43)
      {
         word pd63;
         pd63 = (* (( (ptr) (* (( (ptr) gf←c0450)+96)/* var←c39872 */  ))+4) );
         keyRope←v8380 = (word) ( *( (fPt) ((*  (ptr) pd63 ))))((* ((( (ptr) formal←c0451)+5)) ), pd63);
         };
SOURCE(3310, 67)
      if (((* (( (ptr) formal←c0451)+7) ) == 0)) {
SOURCE(3328, 32)
         {
            word pd64;
            pd64 = (* (( (ptr) (* (( (ptr) gf←c0450)+89)/* var←c39264 */  ))+26) );
            (* (( (ptr) formal←c0451)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd64 ))))(pd64);
            };
SOURCE(3362, 15)
         freeRdr←v8520 = 1;
         };
SOURCE(3380, 32)
      keyLen←v8492 = (word) FindKeyLen←P720(keyRope←v8380, (* (( (ptr) formal←c0451)+7) ));
SOURCE(3414, 74)
      if ((keyLen←v8492 == 0)) {
SOURCE(3433, 46)
         if ((0 != freeRdr←v8520)) {
SOURCE(3449, 30)
            {
               word pd65;
               pd65 = (* (( (ptr) (* (( (ptr) gf←c0450)+89)/* var←c39264 */  ))+27) );
               (void) ( *( (fPt) ((*  (ptr) pd65 ))))((* ((( (ptr) formal←c0451)+7)) ), pd65);
               };
            };
SOURCE(3481, 7)
         (void) (XR←MonitorExit((word) (( (bPt) gf←c0450)+16)/* LOCK←v3504 */ ));
         return(1);
         };
SOURCE(3507, 43)
      hash←v8436 = (word) KeyHash←P540(keyRope←v8380, 0, keyLen←v8492, (* (( (ptr) formal←c0451)+7) ));
SOURCE(3552, 61)
      entry←v8464 = (word) LookupInternal←P660(dict←v8352, hash←v8436, keyRope←v8380, 0, keyLen←v8492, (* (( (ptr) formal←c0451)+7)
          )
         , 0);
SOURCE(3615, 176)
      if ((entry←v8464 == 0)) {
SOURCE(3654, 21)
         entry←v8464 = XR←NewObject(20, (* (( (ptr) gf←c0450)+30) ));
SOURCE(3677, 114)
         if ((dict←v8352 != 0)) {
SOURCE(3698, 22)
            (*  (ptr) entry←v8464 ) = (*  (ptr) dict←v8352 );
SOURCE(3722, 18)
            (*  (ptr) dict←v8352 ) = entry←v8464;
            }
         else {
SOURCE(3747, 44)
            {
               word var←c39936;
               word pd66;
               pd66 = (* (( (ptr) (* (( (ptr) gf←c0450)+88)/* var←c39104 */  ))+9) );
               var←c39936 = (word) ( *( (fPt) ((*  (ptr) pd66 ))))((* (( (ptr) gf←c0450)+8)/* dictTable←v3644 */  ), (* (( (ptr) formal←c0451)+6)
                   ), entry←v8464, pd66);
               };
            };
         };
SOURCE(3794, 17)
      (* (( (ptr) entry←v8464)+1) ) = hash←v8436;
SOURCE(3813, 52)
      {
         word pd67;
         pd67 = (* (( (ptr) (* (( (ptr) gf←c0450)+91)/* var←c39392 */  ))+17) );
         (* (( (ptr) entry←v8464)+2) ) = (word) ( *( (fPt) ((*  (ptr) pd67 ))))(keyRope←v8380, 0, keyLen←v8492, pd67);
         };
SOURCE(3867, 17)
      (* (( (ptr) entry←v8464)+3) ) = (* (( (ptr) formal←c0451)+5) );
SOURCE(3886, 67)
      {
         W2 var←c39968;
         (void) ParseCommands←P240((word) &var←c39968, keyRope←v8380, keyLen←v8492, (* (( (ptr) formal←c0451)+7) ));
         commands←v8576 = var←c39968.f1;
         resultStart←v8548 = var←c39968.f0;
         };
SOURCE(3955, 25)
      (* (( (ptr) entry←v8464)+4) ) = commands←v8576;
SOURCE(3982, 44)
      {
         word pd68;
         pd68 = (* (( (ptr) (* (( (ptr) gf←c0450)+95)/* var←c39712 */  ))+32) );
         (void) ( *( (fPt) ((*  (ptr) pd68 ))))((* (( (ptr) formal←c0451)+4) ), (* (( (ptr) formal←c0451)+5) ), 0, resultStart←v8548, 0, pd68)
         ;
         };
SOURCE(4028, 46)
      if ((0 != freeRdr←v8520)) {
SOURCE(4044, 30)
         {
            word pd69;
            pd69 = (* (( (ptr) (* (( (ptr) gf←c0450)+89)/* var←c39264 */  ))+27) );
            (void) ( *( (fPt) ((*  (ptr) pd69 ))))((* ((( (ptr) formal←c0451)+7)) ), pd69);
            };
         };
      };
   return(0);
   }

static void ParseCommands←P240(formal←c0118, formal←c0546, formal←c0547, formal←c0548)
   word formal←c0118;
   word formal←c0546;
   word formal←c0547;
   word formal←c0548;
   {
   W9 var←c44512;
   /* declaration of keyRope←v5296 skipped */ 
   /* declaration of start←v5324 skipped */ 
   /* declaration of rdr←v5352 skipped */ 
   register ptr gf←c44544 =  (ptr) &globalframe;
   /* declaration of end←v5396 skipped */ 
   /* declaration of commands←v5424 skipped */ 
   (* (( (ptr) &var←c44512)+4)/* keyRope←v5296 */  ) = formal←c0546;
   (* (( (ptr) &var←c44512)+5)/* start←v5324 */  ) = formal←c0547;
   (* (( (ptr) &var←c44512)+6)/* rdr←v5352 */  ) = formal←c0548;
   /* ParseCommands: */ 
SOURCE(4080, 872)
SOURCE(4080, 872)
   (* (( (ptr) &var←c44512)+8)/* commands←v5424 */  ) = 0;
SOURCE(4197, 755)
SOURCE(4216, 683)
   {
      word var←c07;
      {
         word var←c0502;
         var←c0502 = (word) &var←c44512;
         var←c07 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6120) ), ( ((word)  (fPt) NoName←Q6780) ), var←c0502);
         };
      if ((var←c07 == 3)) {
         goto lab←L100012;
         };
      };
   goto lab←L100030;
   lab←L100012: ;
SOURCE(4914, 36)
   {
      word var←c40960;
      {
         word pd70;
         pd70 = (* (( (ptr) (* (( (ptr) gf←c44544)+91)/* var←c39392 */  ))+15) );
         var←c40960 = (word) ( *( (fPt) ((*  (ptr) pd70 ))))((* ((( (ptr) &var←c44512)+4)/* keyRope←v5296 */ ) ), pd70);
         };
      (* (( (ptr) &var←c44512)+7)/* end←v5396 */  ) = var←c40960;
      /* removed bogus assignment */ 
      goto lab←L100011;
      };
   lab←L100030: ;
   /* removed tail goto */ 
   lab←L100011: ;
   (*  (ptr) formal←c0118 ) = (* (( (ptr) &var←c44512)+7)/* end←v5396 */  );
   (* (( (ptr) formal←c0118)+1) ) = (* (( (ptr) &var←c44512)+8)/* commands←v5424 */  );
   return;
   }

static word NoName←Q6120(formal←c0454)
   word formal←c0454;
   {
   register ptr gf←c0453 =  (ptr) &globalframe;
SOURCE(4247, 11)
   {
      word blank←v8716;
      word var←c40032;
      word c←v38224;
      word var←c40256;
      word text←v37172;
      word i←v37200;
      word var←c40608;
      word text←v37028;
      word i←v37056;
SOURCE(4260, 32)
      {
         word reader←v36676;
         word rope←v36704;
         word index←v36732;
         word var←c40000;
         word rope←v24868;
         reader←v36676 = (* (( (ptr) formal←c0454)+6) );
         rope←v36704 = (* (( (ptr) formal←c0454)+4) );
         index←v36732 = (* (( (ptr) formal←c0454)+5) );
         {
            word tc71;
            rope←v24868 = 0;
            var←c40000 = (* (( (ptr) reader←v36676)+2) );
            if (((var←c40000 == rope←v36704)
            )) {
               tc71 =  (word) ( (int)((* (( (ptr) reader←v36676)+3) ) + (* (( (ptr) reader←v36676)+1) )) ==  (int)index←v36732);
               }
            else {
               tc71 =  (word) 0;
               };
            if (tc71) {
               goto lab←L100016;
               };
            };
         (* (( (ptr) reader←v36676)+2) ) = rope←v36704;
         (* (( (ptr) reader←v36676)+1) ) = 0;
         (*  (hPt) (*  (ptr) reader←v36676 ) ) = 0;
         (* (( (ptr) reader←v36676)+3) ) = index←v36732;
         lab←L100016: ;
         };
SOURCE(4294, 83)
      {
         word text←v23852;
         word i←v23896;
         text←v23852 = (*  (ptr) (* (( (ptr) formal←c0454)+6) ) );
         i←v23896 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
         {
            word limit72;
            word pd73;
            if ((i←v23896 < (*  (hPt) text←v23852 ))) {
               c←v38224 = (word) (* ((( (bPt) text←v23852)+4)+(
                     limit72 = (word) (* (( (hPt) text←v23852)+1) ),
                     BCK(i←v23896, limit72)
                     )) );
               }
            else {
               pd73 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */  ))+17) );
               c←v38224 = (word) ( *( (fPt) ((*  (ptr) pd73 ))))((* (( (ptr) formal←c0454)+6) ), 2, pd73);
               };
            };
         };
      var←c40032 = ((word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0453)+97)/* var←c40128 */  ))+4) ) ))+c←v38224) ) == 1);
      if (((0 != var←c40032)
      )) {
SOURCE(4329, 12)
         blank←v8716 = 1;
SOURCE(4343, 14)
         {
            word var←c40224;
            {
               word text←v23080;
               word i←v23124;
               text←v23080 = (*  (ptr) (* (( (ptr) formal←c0454)+6) ) );
               i←v23124 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
               {
                  word pd75;
                  if ((i←v23124 < (*  (hPt) text←v23080 ))) {
                     (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) ) = (i←v23124 + 1);
                     {
                        word limit74;
                        var←c40224 = (word) (* ((( (bPt) text←v23080)+4)+(
/*1*/   limit74 = (word) (* (( (hPt) text←v23080)+1) ),
/*1*/   BCK(i←v23124, limit74)
/*1*/   )) );
                        };
                     }
                  else {
                     pd75 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */  ))+17) );
                     var←c40224 = (word) ( *( (fPt) ((*  (ptr) pd75 ))))((* (( (ptr) formal←c0454)+6) ), 0, pd75);
                     };
                  };
               };
            };
         }
      else {
SOURCE(4364, 13)
         blank←v8716 = 0;
         };
SOURCE(4379, 310)
      text←v37172 = (*  (ptr) (* (( (ptr) formal←c0454)+6) ) );
      i←v37200 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
      {
         word limit76;
         word pd77;
         if ((i←v37200 < (*  (hPt) text←v37172 ))) {
            var←c40256 = (word) (* ((( (bPt) text←v37172)+4)+(
                  limit76 = (word) (* (( (hPt) text←v37172)+1) ),
                  BCK(i←v37200, limit76)
                  )) );
            }
         else {
            pd77 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */  ))+17) );
            var←c40256 = (word) ( *( (fPt) ((*  (ptr) pd77 ))))((* (( (ptr) formal←c0454)+6) ), 2, pd77);
            };
         };
      if (((var←c40256 == 40)
      )) {
SOURCE(4402, 289)
         {
            word h←v8760;
            word var←c40416;
            word c←v38176;
SOURCE(4426, 65)
            {
               word var←c40320;
               {
                  word var←c0503;
                  (* (( (ptr) formal←c0454)+5) ) = ((* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+3) ) + (* (( (ptr) (* (( (ptr) formal←c0454)+6)
                      ))+1) ));
                  var←c0503 = (* (( (ptr) formal←c0454)+5) );
                  {
                     word pd78;
                     pd78 = (* (( (ptr) (* (( (ptr) gf←c0453)+91)/* var←c39392 */  ))+17) );
                     var←c40320 = (word) ( *( (fPt) ((*  (ptr) pd78 ))))((* (( (ptr) formal←c0454)+4) ), var←c0503, 2147483647, pd78);
                     };
                  };
               {
                  word pd79;
                  pd79 = (* (( (ptr) (* (( (ptr) gf←c0453)+98)/* var←c40352 */  ))+33) );
                  h←v8760 = (word) ( *( (fPt) ((*  (ptr) pd79 ))))(var←c40320, 0, pd79);
                  };
               };
SOURCE(4493, 34)
            {
               word pd80;
               pd80 = (* (( (ptr) (* (( (ptr) gf←c0453)+98)/* var←c40352 */  ))+83) );
               (* (( (ptr) formal←c0454)+8) ) = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd80 ))))(h←v8760, pd80), (* (( (ptr) gf←c0453)+29)
                   ));
               };
SOURCE(4529, 28)
            {
               word pd81;
               pd81 = (* (( (ptr) (* (( (ptr) gf←c0453)+98)/* var←c40352 */  ))+29) );
               (* (( (ptr) formal←c0454)+5) ) = ((* (( (ptr) formal←c0454)+5) ) + (word) ( *( (fPt) ((*  (ptr) pd81 ))))(h←v8760, pd81));
               };
SOURCE(4559, 11)
            {
               word pd82;
               pd82 = (* (( (ptr) (* (( (ptr) gf←c0453)+98)/* var←c40352 */  ))+28) );
               (void) ( *( (fPt) ((*  (ptr) pd82 ))))(h←v8760, 0, pd82);
               };
SOURCE(4572, 32)
            {
               word reader←v36528;
               word rope←v36556;
               word index←v36584;
               word var←c40384;
               word rope←v36632;
               reader←v36528 = (* (( (ptr) formal←c0454)+6) );
               rope←v36556 = (* (( (ptr) formal←c0454)+4) );
               index←v36584 = (* (( (ptr) formal←c0454)+5) );
               {
                  word tc83;
                  rope←v36632 = 0;
                  var←c40384 = (* (( (ptr) reader←v36528)+2) );
                  if (((var←c40384 == rope←v36556)
                  )) {
                     tc83 =  (word) ( (int)((* (( (ptr) reader←v36528)+3) ) + (* (( (ptr) reader←v36528)+1) )) ==  (int)index←v36584);
                     }
                  else {
                     tc83 =  (word) 0;
                     };
                  if (tc83) {
                     goto lab←L100022;
                     };
                  };
               (* (( (ptr) reader←v36528)+2) ) = rope←v36556;
               (* (( (ptr) reader←v36528)+1) ) = 0;
               (*  (hPt) (*  (ptr) reader←v36528 ) ) = 0;
               (* (( (ptr) reader←v36528)+3) ) = index←v36584;
               lab←L100022: ;
               };
SOURCE(4606, 83)
            {
               word text←v37100;
               word i←v37128;
               text←v37100 = (*  (ptr) (* (( (ptr) formal←c0454)+6) ) );
               i←v37128 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
               {
                  word limit84;
                  word pd85;
                  if ((i←v37128 < (*  (hPt) text←v37100 ))) {
                     c←v38176 = (word) (* ((( (bPt) text←v37100)+4)+(
                           limit84 = (word) (* (( (hPt) text←v37100)+1) ),
                           BCK(i←v37128, limit84)
                           )) );
                     }
                  else {
                     pd85 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */  ))+17) );
                     c←v38176 = (word) ( *( (fPt) ((*  (ptr) pd85 ))))((* (( (ptr) formal←c0454)+6) ), 2, pd85);
                     };
                  };
               };
            var←c40416 = ((word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c0453)+97)/* var←c40128 */  ))+4) ) ))+c←v38176) ) == 1);
            if (((0 != var←c40416)
            )) {
SOURCE(4641, 12)
               blank←v8716 = 1;
SOURCE(4655, 14)
               {
                  word var←c40576;
                  {
                     word text←v37652;
                     word i←v37680;
                     text←v37652 = (*  (ptr) (* (( (ptr) formal←c0454)+6) ) );
                     i←v37680 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
                     {
                        word pd87;
                        if ((i←v37680 < (*  (hPt) text←v37652 ))) {
                           (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) ) = (i←v37680 + 1);
                           {
/*1*/   word limit86;
/*1*/   var←c40576 = (word) (* ((( (bPt) text←v37652)+4)+(
/*1*/         limit86 = (word) (* (( (hPt) text←v37652)+1) ),
/*1*/         BCK(i←v37680, limit86)
/*1*/         )) );
/*1*/   };
                           }
                        else {
                           pd87 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */  ))+17) );
                           var←c40576 = (word) ( *( (fPt) ((*  (ptr) pd87 ))))((* (( (ptr) formal←c0454)+6) ), 0, pd87);
                           };
                        };
                     };
                  };
               }
            else {
SOURCE(4676, 13)
               blank←v8716 = 0;
               };
            };
         };
SOURCE(4694, 205)
      text←v37028 = (*  (ptr) (* (( (ptr) formal←c0454)+6) ) );
      i←v37056 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
      {
         word limit88;
         word pd89;
         if ((i←v37056 < (*  (hPt) text←v37028 ))) {
            var←c40608 = (word) (* ((( (bPt) text←v37028)+4)+(
                  limit88 = (word) (* (( (hPt) text←v37028)+1) ),
                  BCK(i←v37056, limit88)
                  )) );
            }
         else {
            pd89 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */  ))+17) );
            var←c40608 = (word) ( *( (fPt) ((*  (ptr) pd89 ))))((* (( (ptr) formal←c0454)+6) ), 2, pd89);
            };
         };
      if (((var←c40608 == 61)
      )) {
         {
            word var←c40768;
            word text←v36956;
            word i←v36984;
SOURCE(4738, 13)
            {
               word var←c40736;
               {
                  word text←v37580;
                  word i←v37608;
                  text←v37580 = (*  (ptr) (* (( (ptr) formal←c0454)+6) ) );
                  i←v37608 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
                  {
                     word pd91;
                     if ((i←v37608 < (*  (hPt) text←v37580 ))) {
                        (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) ) = (i←v37608 + 1);
                        {
                           word limit90;
                           var←c40736 = (word) (* ((( (bPt) text←v37580)+4)+(
/*1*/      limit90 = (word) (* (( (hPt) text←v37580)+1) ),
/*1*/      BCK(i←v37608, limit90)
/*1*/      )) );
                           };
                        }
                     else {
                        pd91 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */  ))+17) );
                        var←c40736 = (word) ( *( (fPt) ((*  (ptr) pd91 ))))((* (( (ptr) formal←c0454)+6) ), 0, pd91);
                        };
                     };
                  };
               };
SOURCE(4753, 46)
            {
               word tc92;
               if ((0 != blank←v8716)) {
                  text←v36956 = (*  (ptr) (* (( (ptr) formal←c0454)+6) ) );
                  i←v36984 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
                  {
                     word limit93;
                     word pd94;
                     if ((i←v36984 < (*  (hPt) text←v36956 ))) {
                        var←c40768 = (word) (* ((( (bPt) text←v36956)+4)+(
/*1*/   limit93 = (word) (* (( (hPt) text←v36956)+1) ),
/*1*/   BCK(i←v36984, limit93)
/*1*/   )) );
                        }
                     else {
                        pd94 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */  ))+17) );
                        var←c40768 = (word) ( *( (fPt) ((*  (ptr) pd94 ))))((* (( (ptr) formal←c0454)+6) ), 2, pd94);
                        };
                     };
                  tc92 =  (word) (var←c40768 == 32);
                  }
               else {
                  tc92 =  (word) 0;
                  };
               if (tc92) {
SOURCE(4786, 13)
                  {
                     word var←c40896;
                     {
                        word text←v37508;
                        word i←v37536;
                        text←v37508 = (*  (ptr) (* (( (ptr) formal←c0454)+6) ) );
                        i←v37536 = (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) );
                        {
                           word pd96;
                           if ((i←v37536 < (*  (hPt) text←v37508 ))) {
/*1*/   (* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+1) ) = (i←v37536 + 1);
/*1*/   {
/*1*/      word limit95;
/*1*/      var←c40896 = (word) (* ((( (bPt) text←v37508)+4)+(
/*1*/            limit95 = (word) (* (( (hPt) text←v37508)+1) ),
/*1*/            BCK(i←v37536, limit95)
/*1*/            )) );
/*1*/      };
/*1*/   }
                           else {
/*1*/   pd96 = (* (( (ptr) (* (( (ptr) gf←c0453)+89)/* var←c39264 */  ))+17) );
/*1*/   var←c40896 = (word) ( *( (fPt) ((*  (ptr) pd96 ))))((* (( (ptr) formal←c0454)+6) ), 0, pd96);
/*1*/   };
                           };
                        };
                     };
                  };
               };
SOURCE(4847, 19)
            (* (( (ptr) formal←c0454)+7) ) = ((* (( (ptr) (* (( (ptr) formal←c0454)+6) ))+3) ) + (* (( (ptr) (* (( (ptr) formal←c0454)+6)
                ))+1) ));
            };
         }
      else {
SOURCE(4875, 24)
         {
            word pd97;
            pd97 = (* (( (ptr) (* (( (ptr) gf←c0453)+91)/* var←c39392 */  ))+15) );
            (* (( (ptr) formal←c0454)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd97 ))))((* ((( (ptr) formal←c0454)+4)) ), pd97);
            };
         };
      };
   return(0);
   }

static void Clear←P300(formal←c0549)
   word formal←c0549;
   {
   W5 var←c44576;
   /* declaration of dictName←v5580 skipped */ 
   register ptr gf←c44608 =  (ptr) &globalframe;
   var←c44576.f4/* dictName←v5580 */  = formal←c0549;
   /* Clear: */ 
SOURCE(4956, 125)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c44608)+16)/* LOCK←v3504 */ ));
SOURCE(5002, 79)
   {
      word var←c0504;
      var←c0504 = (word) &var←c44576;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q6180) ), ( ((word)  (fPt) NoName←Q6720) ), var←c0504);
      };
SOURCE(4956, 125)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c44608)+16)/* LOCK←v3504 */ ));
   return;
   }

static word NoName←Q6180(formal←c0457)
   word formal←c0457;
   {
   register ptr gf←c0456 =  (ptr) &globalframe;
SOURCE(5025, 56)
   {
      word var←c41024;
      {
         word var←c40992;
         var←c40992 = (word) GetDictAtom←P360((* ((( (ptr) formal←c0457)+4)) ));
         {
            word pd98;
            pd98 = (* (( (ptr) (* (( (ptr) gf←c0456)+88)/* var←c39104 */  ))+9) );
            var←c41024 = (word) ( *( (fPt) ((*  (ptr) pd98 ))))((* (( (ptr) gf←c0456)+8)/* dictTable←v3644 */  ), var←c40992, 0, pd98)
            ;
            };
         };
      };
   return(0);
   }

static word GetDictAtom←P360(dictName←v5656)
   word dictName←v5656;
   {
   W6 var←c44640;
   register ptr gf←c44672 =  (ptr) &globalframe;
   word dict←v5700;
   /* declaration of var←c41056 skipped */ 
   /* GetDictAtom: */ 
SOURCE(5123, 203)
   {
      word tmpAddr99;
      tmpAddr99 = (word) (( (ptr) &var←c44640)+4)/* var←c41056 */ ;
      (*  (ptr) tmpAddr99 ) = ( ((word)  (fPt) ForceLower←P1512) );
      (* (( (ptr) tmpAddr99) + 1) ) = 1;
      };
SOURCE(5123, 203)
   dict←v5700 = 0;
SOURCE(5250, 76)
   {
      word var←c41120;
      {
         word pd100;
         pd100 = (* (( (ptr) (* (( (ptr) gf←c44672)+91)/* var←c39392 */  ))+27) );
         var←c41120 = (word) ( *( (fPt) ((*  (ptr) pd100 ))))(dictName←v5656, 0, 2147483647, (word) (( (bPt) &var←c44640)+16)/* var←c41056 */ , pd100)
         ;
         };
      {
         word pd101;
         pd101 = (* (( (ptr) (* (( (ptr) gf←c44672)+99)/* var←c41152 */  ))+5) );
         return((word) ( *( (fPt) ((*  (ptr) pd101 ))))(var←c41120, 0, 2147483647, pd101));
         };
      };
   }

static word ForceLower←P1512(old←v35120, formal←c44704)
   word old←v35120;
   word formal←c44704;
   {
   word var←c35164;
   formal←c44704 = (formal←c44704 - 16);
   /* ForceLower: */ 
SOURCE(5183, 64)
SOURCE(5219, 28)
   if (((old←v35120 - 65) <= 25)) {
      return(((
         SGNCK((old←v35120 - 65))
         ) + 97));
      }
   else {
      return(old←v35120);
      };
   }

static void ChangeRegistry←P420(change←v5760)
   word change←v5760;
   {
   register ptr gf←c44736 =  (ptr) &globalframe;
   /* ChangeRegistry: */ 
SOURCE(5372, 132)
SOURCE(5459, 45)
   (* (( (ptr) gf←c44736)+9)/* findEntryRegistry←v3924 */  ) = (word) ( *( (fPt) ((*  (ptr) change←v5760 ))))((* ((( (ptr) gf←c44736)+9)
      /* findEntryRegistry←v3924 */ ) ), change←v5760);
   }

static void Expand←P480(formal←c0224, keyNode←v5924, keyEnd←v5952, dict←v5980, event←v6008)
   word formal←c0224;
   word keyNode←v5924;
   word keyEnd←v5952;
   word dict←v5980;
   word event←v6008;
   {
   W18 var←c44768;
   register ptr gf←c44800 =  (ptr) &globalframe;
   word foundIt←v6052;
   /* declaration of keyDeterminesDict←v6080 skipped */ 
   /* declaration of keyStart←v6108 skipped */ 
   word keyLen←v6136;
   word resultLen←v6164;
   word commands←v6192;
   /* declaration of var←c41184 skipped */ 
   /* declaration of var←c41216 skipped */ 
   /* declaration of registry←v8848 skipped */ 
   word dictAtom←v8876;
   /* declaration of keyRope←v8904 skipped */ 
   /* declaration of kLen←v8932 skipped */ 
   /* declaration of kStart←v8960 skipped */ 
   word entry←v8988 = 0;
   /* declaration of hash←v9016 skipped */ 
   /* declaration of rdr←v9044 skipped */ 
   /* Expand: */ 
SOURCE(5510, 3888)
   {
      word tmpAddr102;
      tmpAddr102 = (word) (( (ptr) &var←c44768)+6)/* var←c41184 */ ;
      (*  (ptr) tmpAddr102 ) = ( ((word)  (fPt) CheckCaps←P1776) );
      (* (( (ptr) tmpAddr102) + 1) ) = 1;
      };
   {
      word tmpAddr103;
      tmpAddr103 = (word) (( (ptr) &var←c44768)+8)/* var←c41216 */ ;
      (*  (ptr) tmpAddr103 ) = ( ((word)  (fPt) FindEntry←P1572) );
      (* (( (ptr) tmpAddr103) + 1) ) = 1;
      };
SOURCE(5510, 3888)
   commands←v6192 = 0;
SOURCE(5711, 43)
   (* (( (ptr) &var←c44768)+10)/* registry←v8848 */  ) = (* (( (ptr) gf←c44800)+9)/* findEntryRegistry←v3924 */  );
SOURCE(5775, 34)
   dictAtom←v8876 = (word) GetDictAtom←P360(dict←v5980);
SOURCE(5811, 46)
   {
      word pd104;
      pd104 = (* (( (ptr) (* (( (ptr) gf←c44800)+96)/* var←c39872 */  ))+4) );
      (* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */  ) = (word) ( *( (fPt) ((*  (ptr) pd104 ))))(keyNode←v5924, pd104);
      };
SOURCE(5919, 48)
   {
      word pd105;
      pd105 = (* (( (ptr) (* (( (ptr) gf←c44800)+89)/* var←c39264 */  ))+26) );
      (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ) = (word) ( *( (fPt) ((*  (ptr) pd105 ))))(pd105);
      };
   {
      word var←c41312;
      word i←v21892;
SOURCE(6676, 35)
      (* (( (ptr) &var←c44768)+4)/* keyDeterminesDict←v6080 */  ) = 0;
      foundIt←v6052 = 0;
SOURCE(6713, 13)
      resultLen←v6164 = 0;
SOURCE(6728, 46)
      {
         word pd106;
         word x107;
         word x108;
         pd106 = (* (( (ptr) (* (( (ptr) gf←c44800)+91)/* var←c39392 */  ))+15) );
         keyEnd←v5952 = (x108 = (x107 = (word) ( *( (fPt) ((*  (ptr) pd106 ))))((* ((( (ptr) &var←c44768)+11)/* keyRope←v8904 */ ) ), pd106)
               ,
               MIN((int)(word), keyEnd←v5952, x107)),
            MAX((int)(word), 0, x108));
         };
SOURCE(6776, 52)
      {
         word var←c41248;
         var←c41248 = (word) FindKeyStart←P780((* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */  ), keyEnd←v5952, (* (( (ptr) &var←c44768)+15)
            /* rdr←v9044 */  ));
         (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ) = var←c41248;
         (* (( (ptr) &var←c44768)+13)/* kStart←v8960 */  ) = var←c41248;
         };
SOURCE(6830, 31)
      keyLen←v6136 = (keyEnd←v5952 - (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ));
      (* (( (ptr) &var←c44768)+12)/* kLen←v8932 */  ) = SGNCK(keyLen←v6136);
SOURCE(6863, 43)
      (* (( (ptr) &var←c44768)+14)/* hash←v9016 */  ) = (word) KeyHash←P540((* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */  ), (* (
            ( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ), keyEnd←v5952, (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ));
SOURCE(6908, 44)
      {
         word rope←v36408;
         word index←v36436;
         word var←c41280;
         word rope←v36484;
         rope←v36408 = (* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */  );
         index←v36436 = (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  );
         {
            word tc109;
            rope←v36484 = 0;
            var←c41280 = (* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ))+2) );
            if (((var←c41280 == rope←v36408)
            )) {
               tc109 =  (word) ( (int)((* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ))+3) ) + (* (( (ptr) (* (( (ptr) &var←c44768)+15)
                  /* rdr←v9044 */  ))+1) )) ==  (int)index←v36436);
               }
            else {
               tc109 =  (word) 0;
               };
            if (tc109) {
               goto lab←L100035;
               };
            };
         (* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ))+2) ) = rope←v36408;
         (* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ))+1) ) = 0;
         (*  (hPt) (*  (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ) ) ) = 0;
         (* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ))+3) ) = index←v36436;
         lab←L100035: ;
         };
SOURCE(6954, 364)
      {
         word tc110;
         if (( (int)(* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ) >  (int)0)) {
            i←v21892 = (* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ))+1) );
            {
               word pd112;
               if ((i←v21892 > 0)) {
                  {
                     word var←c41376;
                     word var←c41408;
                     var←c41376 = SGNCK((i←v21892 - 1));
                     (* (( (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ))+1) ) = var←c41376;
                     var←c41408 = (*  (ptr) (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ) );
                     {
                        word limit111;
                        var←c41312 = (word) (* ((( (bPt) var←c41408)+4)+(
/*1*/   limit111 = (word) (* (( (hPt) var←c41408)+1) ),
/*1*/   BCK(var←c41376, limit111)
/*1*/   )) );
                        };
                     };
                  }
               else {
                  pd112 = (* (( (ptr) (* (( (ptr) gf←c44800)+89)/* var←c39264 */  ))+17) );
                  var←c41312 = (word) ( *( (fPt) ((*  (ptr) pd112 ))))((* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ), 1, pd112);
                  };
               };
            tc110 =  (word) (var←c41312 == 46);
            }
         else {
            tc110 =  (word) 0;
            };
         if (tc110) {
SOURCE(7008, 315)
            {
               word nameStart←v9220;
SOURCE(7050, 53)
               nameStart←v9220 = (word) FindKeyStart←P780((* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */  ), ((* (( (ptr) &var←c44768)+5)
                  /* keyStart←v6108 */  ) - 1), (* (( (ptr) &var←c44768)+15)/* rdr←v9044 */  ));
SOURCE(7105, 213)
               if (( (int)nameStart←v9220 <  (int)((* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ) - 1))) {
SOURCE(7136, 184)
                  {
                     word dictName←v9264;
SOURCE(7138, 83)
                     {
                        word var←c41472;
                        {
                           word pd113;
                           pd113 = (* (( (ptr) (* (( (ptr) gf←c44800)+91)/* var←c39392 */  ))+17) );
                           var←c41472 = (word) ( *( (fPt) ((*  (ptr) pd113 ))))((* (( (ptr) &var←c44768)+11)/* keyRope←v8904 */  ), nameStart←v9220, (((* (
/*1*/      ( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ) - 1) - nameStart←v9220), pd113);
                           };
                        {
                           word pd114;
                           pd114 = (* (( (ptr) (* (( (ptr) gf←c44800)+99)/* var←c41152 */  ))+5) );
                           dictName←v9264 = (word) ( *( (fPt) ((*  (ptr) pd114 ))))(var←c41472, 0, 2147483647, pd114);
                           };
                        };
SOURCE(7223, 27)
                     entry←v8988 = (word) FindEntry←P1572(dictName←v9264, (word) (( (bPt) &var←c44768)+32)/* var←c41216 */ );
SOURCE(7252, 24)
                     (* (( (ptr) &var←c44768)+4)/* keyDeterminesDict←v6080 */  ) = 1;
SOURCE(7278, 40)
                     {
                        word var←c0505;
                        (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ) = nameStart←v9220;
                        var←c0505 = nameStart←v9220;
                        keyLen←v6136 = (keyEnd←v5952 - var←c0505);
                        };
                     };
                  };
               };
            };
         };
SOURCE(7326, 47)
      if ((entry←v8988 == 0)) {
SOURCE(7346, 27)
         entry←v8988 = (word) FindEntry←P1572(dictAtom←v8876, (word) (( (bPt) &var←c44768)+32)/* var←c41216 */ );
         };
SOURCE(7376, 61)
      if ((entry←v8988 == 0)) {
SOURCE(7398, 30)
         {
            word pd115;
            pd115 = (* (( (ptr) (* (( (ptr) gf←c44800)+89)/* var←c39264 */  ))+27) );
            (void) ( *( (fPt) ((*  (ptr) pd115 ))))((* ((( (ptr) &var←c44768)+15)/* rdr←v9044 */ ) ), pd115);
            };
SOURCE(7430, 7)
         goto lab←L100033;
         };
SOURCE(7440, 1960)
      {
         word node←v9336;
         word child←v9364;
         word textLen←v9392;
         word root←v9420;
         word keyRoot←v9448;
         word looks←v9476;
         /* declaration of allcaps←v9504 skipped */ 
         /* declaration of initialcap←v9532 skipped */ 
         word format←v9560 = 0;
SOURCE(7688, 23)
         node←v9336 = (* (( (ptr) entry←v8988)+3) );
SOURCE(7713, 39)
         {
            word pd116;
            pd116 = (* (( (ptr) (* (( (ptr) gf←c44800)+94)/* var←c39680 */  ))+28) );
            child←v9364 = (word) ( *( (fPt) ((*  (ptr) pd116 ))))(node←v9336, pd116);
            };
SOURCE(7754, 34)
         {
            word pd117;
            pd117 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+6) );
            textLen←v9392 = (word) ( *( (fPt) ((*  (ptr) pd117 ))))(node←v9336, pd117);
            };
SOURCE(7790, 32)
         {
            word pd118;
            pd118 = (* (( (ptr) (* (( (ptr) gf←c44800)+94)/* var←c39680 */  ))+9) );
            root←v9420 = (word) ( *( (fPt) ((*  (ptr) pd118 ))))(node←v9336, pd118);
            };
SOURCE(7824, 38)
         {
            word pd119;
            pd119 = (* (( (ptr) (* (( (ptr) gf←c44800)+94)/* var←c39680 */  ))+9) );
            keyRoot←v9448 = (word) ( *( (fPt) ((*  (ptr) pd119 ))))(keyNode←v5924, pd119);
            };
SOURCE(7864, 56)
         {
            word pd120;
            pd120 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+5) );
            looks←v9476 = (word) ( *( (fPt) ((*  (ptr) pd120 ))))(keyNode←v5924, (* (( (ptr) &var←c44768)+13)/* kStart←v8960 */  ), pd120)
            ;
            };
SOURCE(7922, 33)
         (* (( (ptr) &var←c44768)+16)/* allcaps←v9504 */  ) = 0;
         (* (( (ptr) &var←c44768)+17)/* initialcap←v9532 */  ) = 0;
SOURCE(7971, 11)
         (void) CheckCaps←P1776((word) ((( (bPt) &var←c44768)+24)/* var←c41184 */ ));
SOURCE(7984, 30)
         {
            word pd121;
            pd121 = (* (( (ptr) (* (( (ptr) gf←c44800)+89)/* var←c39264 */  ))+27) );
            (void) ( *( (fPt) ((*  (ptr) pd121 ))))((* ((( (ptr) &var←c44768)+15)/* rdr←v9044 */ ) ), pd121);
            };
SOURCE(8016, 182)
         {
            W2 var←c41504;
            {
               word pd122;
               pd122 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+31) );
               (void) ( *( (fPt) ((*  (ptr) pd122 ))))((word) &var←c41504, keyRoot←v9448, root←v9420, keyNode←v5924, (* (( (ptr) &var←c44768)+5)
                  /* keyStart←v6108 */  ), keyLen←v6136
                  , node←v9336, 0, textLen←v9392, event←v6008, pd122);
               };
            resultLen←v6164 = var←c41504.f1;
            };
SOURCE(8200, 28)
         if (( (int)resultLen←v6164 !=  (int)textLen←v9392)) {
SOURCE(8228, 5)
            (void) XR←RaiseUnnamedError();
            };
SOURCE(8235, 138)
         if ((looks←v9476 != 0)) {
SOURCE(8265, 108)
            {
               word pd123;
               pd123 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+15) );
               (void) ( *( (fPt) ((*  (ptr) pd123 ))))(keyRoot←v9448, keyNode←v5924, 0, looks←v9476, (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ), textLen←v9392
                  , event←v6008, pd123);
               };
            };
SOURCE(8375, 298)
         if ((0 != (* (( (ptr) &var←c44768)+16)/* allcaps←v9504 */  ))) {
SOURCE(8391, 114)
            {
               word pd124;
               pd124 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+40) );
               (void) ( *( (fPt) ((*  (ptr) pd124 ))))(keyRoot←v9448, keyNode←v5924, (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ), textLen←v9392, 0, event←v6008, pd124)
               ;
               };
            }
         else {
SOURCE(8505, 168)
            if ( ( (0 != (* (( (ptr) &var←c44768)+17)/* initialcap←v9532 */  )) ? ( (int)textLen←v9392 >  (int)0) : 0 ) ) {
SOURCE(8571, 102)
               {
                  word pd125;
                  pd125 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+40) );
                  (void) ( *( (fPt) ((*  (ptr) pd125 ))))(keyRoot←v9448, keyNode←v5924, (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ), 1, 0, event←v6008, pd125)
                  ;
                  };
               };
            };
SOURCE(8675, 141)
         {
            word var←c41536;
            {
               word pd126;
               pd126 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+26) );
               format←v9560 = (word) ( *( (fPt) ((*  (ptr) pd126 ))))(node←v9336, pd126);
               };
            var←c41536 = format←v9560;
            {
               word pd128;
               if ((var←c41536 == 0)) { goto then0127;};
               pd128 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+26) );
               if ((var←c41536 == (word) ( *( (fPt) ((*  (ptr) pd128 ))))(keyNode←v5924, pd128))) {
                  then0127: ;
                  }
               else {
SOURCE(8774, 42)
                  {
                     word pd129;
                     pd129 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+27) );
                     (void) ( *( (fPt) ((*  (ptr) pd129 ))))(keyNode←v5924, format←v9560, event←v6008, pd129);
                     };
                  };
               };
            };
SOURCE(8818, 534)
         if ((child←v9364 != 0)) {
SOURCE(8838, 516)
            {
               W4 new←v9620;
               word last←v9648;
SOURCE(8873, 177)
               {
                  W4 var←c41568;
                  {
                     W4 var←c41600;
                     word last←v35572;
                     {
                        word pd130;
                        pd130 = (* (( (ptr) (* (( (ptr) gf←c44800)+94)/* var←c39680 */  ))+26) );
                        last←v35572 = (word) ( *( (fPt) ((*  (ptr) pd130 ))))(node←v9336, pd130);
                        };
                     var←c41600.f0 = child←v9364;
                     var←c41600.f1 =  (word) -1;
                     var←c41600.f2 = last←v35572;
                     var←c41600.f3 =  (word) -1;
                     var←c41568 = var←c41600;
                     };
                  {
                     W4 var←c0220;
                     {
                        W2 var←c41664;
                        var←c41664.f0 = keyNode←v5924;
                        var←c41664.f1 =  (word) -1;
                        {
                           word pd131;
                           pd131 = (* (( (ptr) (* (( (ptr) gf←c44800)+100)/* var←c41696 */  ))+9) );
                           (void) ( *( (fPt) ((*  (ptr) pd131 ))))((word) &var←c0220, keyRoot←v9448, root←v9420, var←c41664, var←c41568, 1
/*1*/   ,  ( ( (int)textLen←v9392 ==  (int)0) ? 0 : 1 ) , event←v6008, pd131);
                           };
                        };
                     new←v9620 = var←c0220;
                     };
                  };
SOURCE(9052, 25)
               last←v9648 = new←v9620.f2;
SOURCE(9079, 273)
               {
                  word tc132;
                  word pd133;
                  if ((last←v9648 != 0)) {
                     pd133 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+6) );
                     tc132 =  (word) ( (int)((* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ) + textLen←v9392) <  (int)(word) ( *( (fPt) ((*  (ptr) pd133 ))
                     ))(keyNode←v5924, pd133));
                     }
                  else {
                     tc132 =  (word) 0;
                     };
                  if (tc132) {
SOURCE(9191, 161)
                     {
                        W2 var←c41728;
                        {
                           word pd134;
                           pd134 = (* (( (ptr) (* (( (ptr) gf←c44800)+95)/* var←c39712 */  ))+34) );
                           (void) ( *( (fPt) ((*  (ptr) pd134 ))))((word) &var←c41728, keyRoot←v9448, keyRoot←v9448, last←v9648, 2147483647, keyNode←v5924
/*1*/   , ((* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  ) + textLen←v9392), 2147483647, event←v6008, pd134);
                           };
                        };
                     };
                  };
               };
            };
SOURCE(9357, 14)
         foundIt←v6052 = 1;
SOURCE(9373, 25)
         commands←v6192 = (* (( (ptr) entry←v8988)+4) );
         };
      };
   /* removed tail goto */ 
   lab←L100033: ;
   (*  (ptr) formal←c0224 ) = foundIt←v6052;
   (* (( (ptr) formal←c0224)+1) ) = (* (( (ptr) &var←c44768)+4)/* keyDeterminesDict←v6080 */  );
   (* (( (ptr) formal←c0224)+2) ) = (* (( (ptr) &var←c44768)+5)/* keyStart←v6108 */  );
   (* (( (ptr) formal←c0224)+3) ) = keyLen←v6136;
   (* (( (ptr) formal←c0224)+4) ) = resultLen←v6164;
   (* (( (ptr) formal←c0224)+5) ) = commands←v6192;
   return;
   }

static word FindEntry←P1572(dictAtom←v9148, formal←c44864)
   word dictAtom←v9148;
   word formal←c44864;
   {
   register ptr gf←c44832 =  (ptr) &globalframe;
   word entry←v9192;
   formal←c44864 = (formal←c44864 - 32);
   /* FindEntry: */ 
SOURCE(5969, 699)
SOURCE(5969, 699)
   entry←v9192 = 0;
SOURCE(6035, 486)
   if (((* (( (ptr) formal←c44864)+10) ) != 0)) {
SOURCE(6056, 488)
      {
         word key←v9736;
SOURCE(6058, 66)
         {
            word pd135;
            pd135 = (* (( (ptr) (* (( (ptr) gf←c44832)+91)/* var←c39392 */  ))+17) );
            key←v9736 = (word) ( *( (fPt) ((*  (ptr) pd135 ))))((* (( (ptr) formal←c44864)+11) ), (* (( (ptr) formal←c44864)+5) ), (* (
                  ( (ptr) formal←c44864)+12) ), pd135);
            };
SOURCE(6126, 395)
         {
            register word list←v9780;
            list←v9780 = (* (( (ptr) formal←c44864)+10) );
            lab←L100041: ;
            if ( ( (entry←v9192 == 0) ? (list←v9780 != 0) : 0 ) ) {
               }
            else {
               goto lab←L100038;
               };
SOURCE(6203, 318)
            {
               word var←c41760;
               var←c41760 = (* (( (ptr) list←v9780)+1) );
               if ((var←c41760 == 0)) {
                  goto lab←L100042;
                  };
               if (((* (( (ptr) gf←c44832)+26) ) == XR←GetReferentType(var←c41760))) {
                  {
                     word val←v9824;
                     val←v9824 = var←c41760;
SOURCE(6275, 248)
                     {
                        word proc←v9868;
                        word kR←v9896 = 0;
                        word node←v9924 = 0;
                        word commands←v9952 = 0;
SOURCE(6277, 45)
                        proc←v9868 = (*  (ptr) val←v9824 );
SOURCE(6373, 61)
                        {
                           W3 var←c41792;
                           (void) ( *( (fPt) ((*  (ptr) proc←v9868 ))))((word) &var←c41792, key←v9736, dictAtom←v9148, (* (( (ptr) formal←c44864)+4)
/*1*/    ), proc←v9868);
                           commands←v9952 = var←c41792.f2;
                           node←v9924 = var←c41792.f1;
                           kR←v9896 = var←c41792.f0;
                           };
SOURCE(6436, 85)
                        if ((kR←v9896 != 0)) {
SOURCE(6451, 70)
                           {
/*1*/   word var←c41824;
/*1*/   var←c41824 = XR←NewObject(20, (* (( (ptr) gf←c44832)+30) ));
/*1*/   (* (( (ptr) var←c41824)+2) ) = kR←v9896;
/*1*/   (* (( (ptr) var←c41824)+3) ) = node←v9924;
/*1*/   (* (( (ptr) var←c41824)+4) ) = commands←v9952;
/*1*/   entry←v9192 = var←c41824;
/*1*/   };
                           };
                        };
                     };
                  }
               else {
                  lab←L100042: ;
                  };
               };
            list←v9780 = (* (( (ptr) list←v9780)+2) );
            goto lab←L100041;
            lab←L100038: ;
            };
         };
      };
SOURCE(6547, 121)
   if ((entry←v9192 == 0)) {
SOURCE(6565, 105)
      {
         word dict←v10092;
SOURCE(6567, 31)
         dict←v10092 = (word) GetDict←P840(dictAtom←v9148);
SOURCE(6600, 68)
         if ((dict←v10092 != 0)) {
SOURCE(6617, 51)
            entry←v9192 = (word) Lookup←P600(dict←v10092, (* (( (ptr) formal←c44864)+14) ), (* (( (ptr) formal←c44864)+11) ), (* (( (ptr) formal←c44864)+5)
                ), (* (( (ptr) formal←c44864)+12) ), (* (( (ptr) formal←c44864)+15) )
               , 0);
            };
         };
      };
SOURCE(5969, 699)
   return(entry←v9192);
   }

static void CheckCaps←P1776(formal←c44928)
   word formal←c44928;
   {
   register ptr gf←c44896 =  (ptr) &globalframe;
   formal←c44928 = (formal←c44928 - 24);
   /* CheckCaps: */ 
SOURCE(7452, 18)
SOURCE(7472, 15)
   (* (( (ptr) formal←c44928)+16) ) = 0;
SOURCE(7489, 42)
   {
      word reader←v36260;
      word rope←v36288;
      word index←v36316;
      word var←c41856;
      word rope←v36364;
      reader←v36260 = (* (( (ptr) formal←c44928)+15) );
      rope←v36288 = (* (( (ptr) formal←c44928)+11) );
      index←v36316 = (* (( (ptr) formal←c44928)+13) );
      {
         word tc136;
         rope←v36364 = 0;
         var←c41856 = (* (( (ptr) reader←v36260)+2) );
         if (((var←c41856 == rope←v36288)
         )) {
            tc136 =  (word) ( (int)((* (( (ptr) reader←v36260)+3) ) + (* (( (ptr) reader←v36260)+1) )) ==  (int)index←v36316);
            }
         else {
            tc136 =  (word) 0;
            };
         if (tc136) {
            goto lab←L100044;
            };
         };
      (* (( (ptr) reader←v36260)+2) ) = rope←v36288;
      (* (( (ptr) reader←v36260)+1) ) = 0;
      (*  (hPt) (*  (ptr) reader←v36260 ) ) = 0;
      (* (( (ptr) reader←v36260)+3) ) = index←v36316;
      lab←L100044: ;
      };
SOURCE(7533, 45)
   {
      word var←c41888;
      word text←v36884;
      word i←v36912;
      text←v36884 = (*  (ptr) (* (( (ptr) formal←c44928)+15) ) );
      i←v36912 = (* (( (ptr) (* (( (ptr) formal←c44928)+15) ))+1) );
      {
         word limit137;
         word pd138;
         if ((i←v36912 < (*  (hPt) text←v36884 ))) {
            var←c41888 = (word) (* ((( (bPt) text←v36884)+4)+(
                  limit137 = (word) (* (( (hPt) text←v36884)+1) ),
                  BCK(i←v36912, limit137)
                  )) );
            }
         else {
            pd138 = (* (( (ptr) (* (( (ptr) gf←c44896)+89)/* var←c39264 */  ))+17) );
            var←c41888 = (word) ( *( (fPt) ((*  (ptr) pd138 ))))((* (( (ptr) formal←c44928)+15) ), 2, pd138);
            };
         };
      (* (( (ptr) formal←c44928)+17) ) = ((var←c41888 - 65) <= 25);
      };
SOURCE(7580, 77)
   {
      register word i←v9692 = 0;
      register word noName←c41952;
      word var←c41984;
      word reader←v37404;
      noName←c41952 = (* (( (ptr) formal←c44928)+12) );
      if (( (int)i←v9692 >=  (int)noName←c41952)) {
         goto lab←L100046;
         };
      lab←L100049: ;
SOURCE(7607, 50)
      reader←v37404 = (* (( (ptr) formal←c44928)+15) );
      {
         word text←v37436;
         word i←v37464;
         text←v37436 = (*  (ptr) reader←v37404 );
         i←v37464 = (* (( (ptr) reader←v37404)+1) );
         {
            word pd140;
            if ((i←v37464 < (*  (hPt) text←v37436 ))) {
               (* (( (ptr) reader←v37404)+1) ) = (i←v37464 + 1);
               {
                  word limit139;
                  var←c41984 = (word) (* ((( (bPt) text←v37436)+4)+(
                        limit139 = (word) (* (( (hPt) text←v37436)+1) ),
                        BCK(i←v37464, limit139)
                        )) );
                  };
               }
            else {
               pd140 = (* (( (ptr) (* (( (ptr) gf←c44896)+89)/* var←c39264 */  ))+17) );
               var←c41984 = (word) ( *( (fPt) ((*  (ptr) pd140 ))))(reader←v37404, 0, pd140);
               };
            };
         };
      if (((var←c41984 - 65) > 25)) {
SOURCE(7651, 6)
         return;
         };
      i←v9692 = (i←v9692 + 1);
      if (( (int)i←v9692 <  (int)noName←c41952)) {
         goto lab←L100049;
         };
      lab←L100046: ;
      };
SOURCE(7668, 14)
   (* (( (ptr) formal←c44928)+16) ) = 1;
   }

static word KeyHash←P540(keyRope←v6348, keyStart←v6376, keyEnd←v6404, rdr←v6432)
   word keyRope←v6348;
   word keyStart←v6376;
   word keyEnd←v6404;
   word rdr←v6432;
   {
   register ptr gf←c44960 =  (ptr) &globalframe;
   word h←v6476;
   word len←v10136;
   /* KeyHash: */ 
SOURCE(9407, 539)
SOURCE(9507, 26)
   len←v10136 = SGNCK((keyEnd←v6404 - keyStart←v6376));
SOURCE(9535, 44)
   {
      word reader←v36112;
      word rope←v36140;
      word index←v36168;
      word var←c42048;
      word rope←v36216;
      reader←v36112 = rdr←v6432;
      rope←v36140 = keyRope←v6348;
      index←v36168 = keyStart←v6376;
      {
         word tc141;
         rope←v36216 = 0;
         var←c42048 = (* (( (ptr) reader←v36112)+2) );
         if (((var←c42048 == rope←v36140)
         )) {
            tc141 =  (word) ( (int)((* (( (ptr) reader←v36112)+3) ) + (* (( (ptr) reader←v36112)+1) )) ==  (int)index←v36168);
            }
         else {
            tc141 =  (word) 0;
            };
         if (tc141) {
            goto lab←L100052;
            };
         };
      (* (( (ptr) reader←v36112)+2) ) = rope←v36140;
      (* (( (ptr) reader←v36112)+1) ) = 0;
      (*  (hPt) (*  (ptr) reader←v36112 ) ) = 0;
      (* (( (ptr) reader←v36112)+3) ) = index←v36168;
      lab←L100052: ;
      };
SOURCE(9581, 5)
   h←v6476 = 0;
SOURCE(9588, 141)
   {
      register word i←v10180 = 1;
      register word noName←c42080;
      noName←c42080 = (MIN( (unsigned) , 3, len←v10136));
      if ((i←v10180 >= noName←c42080)) {
         goto lab←L100053;
         };
      lab←L100056: ;
SOURCE(9651, 78)
      {
         word var←c42112;
         word var←c42144;
         var←c42112 = (word) Basics←BITSHIFT(h←v6476, 2);
         {
            word var←c42176;
            word c←v38032;
            {
               word text←v37332;
               word i←v37360;
               text←v37332 = (*  (ptr) rdr←v6432 );
               i←v37360 = (* (( (ptr) rdr←v6432)+1) );
               {
                  word pd143;
                  if ((i←v37360 < (*  (hPt) text←v37332 ))) {
                     (* (( (ptr) rdr←v6432)+1) ) = (i←v37360 + 1);
                     {
                        word limit142;
                        c←v38032 = (word) (* ((( (bPt) text←v37332)+4)+(
/*1*/   limit142 = (word) (* (( (hPt) text←v37332)+1) ),
/*1*/   BCK(i←v37360, limit142)
/*1*/   )) );
                        };
                     }
                  else {
                     pd143 = (* (( (ptr) (* (( (ptr) gf←c44960)+89)/* var←c39264 */  ))+17) );
                     c←v38032 = (word) ( *( (fPt) ((*  (ptr) pd143 ))))(rdr←v6432, 0, pd143);
                     };
                  };
               };
            if (((c←v38032 - 97) <= 25)) {
               var←c42176 = ((c←v38032 - 97) + 65);
               }
            else {
               var←c42176 = c←v38032;
               };
            var←c42144 = var←c42176;
            };
         h←v6476 = (word) XRM←BITXOR(var←c42112, var←c42144);
         };
      i←v10180 = (i←v10180 + 1);
      if ((i←v10180 < noName←c42080)) {
         goto lab←L100056;
         };
      lab←L100053: ;
      };
SOURCE(9740, 206)
   if ((len←v10136 >= 2)) {
SOURCE(9788, 42)
      {
         word reader←v35964;
         word rope←v35992;
         word index←v36020;
         word var←c42272;
         word rope←v36068;
         reader←v35964 = rdr←v6432;
         rope←v35992 = keyRope←v6348;
         index←v36020 = keyEnd←v6404;
         {
            word tc144;
            rope←v36068 = 0;
            var←c42272 = (* (( (ptr) reader←v35964)+2) );
            if (((var←c42272 == rope←v35992)
            )) {
               tc144 =  (word) ( (int)((* (( (ptr) reader←v35964)+3) ) + (* (( (ptr) reader←v35964)+1) )) ==  (int)index←v36020);
               }
            else {
               tc144 =  (word) 0;
               };
            if (tc144) {
               goto lab←L100060;
               };
            };
         (* (( (ptr) reader←v35964)+2) ) = rope←v35992;
         (* (( (ptr) reader←v35964)+1) ) = 0;
         (*  (hPt) (*  (ptr) reader←v35964 ) ) = 0;
         (* (( (ptr) reader←v35964)+3) ) = index←v36020;
         lab←L100060: ;
         };
SOURCE(9832, 114)
      {
         register word i←v10224;
         register word noName←c42304;
         i←v10224 = SGNCK((len←v10136 - 2));
         noName←c42304 = len←v10136;
         if ((i←v10224 >= noName←c42304)) {
            goto lab←L100061;
            };
         lab←L100064: ;
SOURCE(9862, 84)
         {
            word var←c42336;
            word var←c42368;
            var←c42336 = (word) Basics←BITSHIFT(h←v6476, 2);
            {
               word var←c42400;
               word c←v37984;
               {
                  word reader←v37816;
                  reader←v37816 = rdr←v6432;
                  {
                     word i←v37848;
                     i←v37848 = (* (( (ptr) reader←v37816)+1) );
                     {
                        word pd146;
                        if ((i←v37848 > 0)) {
                           {
/*1*/   word var←c42496;
/*1*/   word var←c42528;
/*1*/   var←c42496 = SGNCK((i←v37848 - 1));
/*1*/   (* (( (ptr) reader←v37816)+1) ) = var←c42496;
/*1*/   var←c42528 = (*  (ptr) reader←v37816 );
/*1*/   {
/*1*/      word limit145;
/*1*/      c←v37984 = (word) (* ((( (bPt) var←c42528)+4)+(
/*1*/            limit145 = (word) (* (( (hPt) var←c42528)+1) ),
/*1*/            BCK(var←c42496, limit145)
/*1*/            )) );
/*1*/      };
/*1*/   };
                           }
                        else {
                           pd146 = (* (( (ptr) (* (( (ptr) gf←c44960)+89)/* var←c39264 */  ))+17) );
                           c←v37984 = (word) ( *( (fPt) ((*  (ptr) pd146 ))))(reader←v37816, 1, pd146);
                           };
                        };
                     };
                  };
               if (((c←v37984 - 97) <= 25)) {
                  var←c42400 = ((c←v37984 - 97) + 65);
                  }
               else {
                  var←c42400 = c←v37984;
                  };
               var←c42368 = var←c42400;
               };
            h←v6476 = (word) XRM←BITXOR(var←c42336, var←c42368);
            };
         i←v10224 = (i←v10224 + 1);
         if ((i←v10224 < noName←c42304)) {
            goto lab←L100064;
            };
         lab←L100061: ;
         };
      };
SOURCE(9407, 539)
   return(h←v6476);
   }

static word Lookup←P600(formal←c0550, formal←c0551, formal←c0552, formal←c0553, formal←c0554, formal←c0555, formal←c0556)
   word formal←c0550;
   word formal←c0551;
   word formal←c0552;
   word formal←c0553;
   word formal←c0554;
   word formal←c0555;
   word formal←c0556;
   {
   W12 var←c44992;
   /* declaration of dict←v6536 skipped */ 
   /* declaration of hash←v6564 skipped */ 
   /* declaration of keyRope←v6592 skipped */ 
   /* declaration of keyStart←v6620 skipped */ 
   /* declaration of keyLen←v6648 skipped */ 
   /* declaration of rdr1←v6676 skipped */ 
   /* declaration of rdr2←v6704 skipped */ 
   register ptr gf←c45024 =  (ptr) &globalframe;
   /* declaration of var←c08 skipped */ 
   word entry←v6748;
   (* (( (ptr) &var←c44992)+4)/* dict←v6536 */  ) = formal←c0550;
   (* (( (ptr) &var←c44992)+5)/* hash←v6564 */  ) = formal←c0551;
   (* (( (ptr) &var←c44992)+6)/* keyRope←v6592 */  ) = formal←c0552;
   (* (( (ptr) &var←c44992)+7)/* keyStart←v6620 */  ) = formal←c0553;
   (* (( (ptr) &var←c44992)+8)/* keyLen←v6648 */  ) = formal←c0554;
   (* (( (ptr) &var←c44992)+9)/* rdr1←v6676 */  ) = formal←c0555;
   (* (( (ptr) &var←c44992)+10)/* rdr2←v6704 */  ) = formal←c0556;
   /* Lookup: */ 
SOURCE(9964, 244)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c45024)+16)/* LOCK←v3504 */ ));
SOURCE(9964, 244)
   entry←v6748 = 0;
SOURCE(10117, 91)
   {
      word var←c09;
      {
         word var←c0506;
         var←c0506 = (word) &var←c44992;
         var←c09 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6240) ), ( ((word)  (fPt) NoName←Q6660) ), var←c0506);
         };
      /* removed trivial cond node */ 
      };
   return((* (( (ptr) &var←c44992)+11)/* var←c08 */  ));
   }

static word NoName←Q6240(formal←c0469)
   word formal←c0469;
   {
   register ptr gf←c0468 =  (ptr) &globalframe;
SOURCE(10140, 68)
   {
      word var←c42592;
      var←c42592 = (word) LookupInternal←P660((* (( (ptr) formal←c0469)+4) ), (* (( (ptr) formal←c0469)+5) ), (* (( (ptr) formal←c0469)+6)
          ), (* (( (ptr) formal←c0469)+7) ), (* (( (ptr) formal←c0469)+8) ), (* (( (ptr) formal←c0469)+9) )
         , (* (( (ptr) formal←c0469)+10) ));
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0468)+16)/* LOCK←v3504 */ ));
      (* (( (ptr) formal←c0469)+11) ) = var←c42592;
      return(1);
      };
   /* c2c skipped dead code */ 
   }

static word LookupInternal←P660(dict←v6808, hash←v6836, keyRope←v6864, keyStart←v6892, keyLen←v6920, formal←c0557, formal←c0558)
   word dict←v6808;
   word hash←v6836;
   word keyRope←v6864;
   word keyStart←v6892;
   word keyLen←v6920;
   word formal←c0557;
   word formal←c0558;
   {
   W10 var←c45056;
   /* declaration of rdr1←v6948 skipped */ 
   /* declaration of rdr2←v6976 skipped */ 
   register ptr gf←c45088 =  (ptr) &globalframe;
   word entry←v7020;
   /* declaration of var←c42624 skipped */ 
   /* declaration of free1←v10296 skipped */ 
   /* declaration of free2←v10324 skipped */ 
   word pred←v10352 = 0;
   (* (( (ptr) &var←c45056)+4)/* rdr1←v6948 */  ) = formal←c0557;
   (* (( (ptr) &var←c45056)+5)/* rdr2←v6976 */  ) = formal←c0558;
   /* LookupInternal: */ 
SOURCE(10214, 930)
   {
      word tmpAddr147;
      tmpAddr147 = (word) (( (ptr) &var←c45056)+6)/* var←c42624 */ ;
      (*  (ptr) tmpAddr147 ) = ( ((word)  (fPt) FreeReaders←P2268) );
      (* (( (ptr) tmpAddr147) + 1) ) = 1;
      };
SOURCE(10214, 930)
   entry←v7020 = 0;
SOURCE(10488, 26)
   (* (( (ptr) &var←c45056)+8)/* free1←v10296 */  ) = 0;
   (* (( (ptr) &var←c45056)+9)/* free2←v10324 */  ) = 0;
SOURCE(10535, 29)
   if ((keyLen←v6920 == 0)) {
SOURCE(10552, 12)
      return(0);
      };
SOURCE(10566, 67)
   if (((* (( (ptr) &var←c45056)+4)/* rdr1←v6948 */  ) == 0)) {
SOURCE(10585, 12)
      (* (( (ptr) &var←c45056)+8)/* free1←v10296 */  ) = 1;
SOURCE(10599, 34)
      {
         word pd148;
         pd148 = (* (( (ptr) (* (( (ptr) gf←c45088)+89)/* var←c39264 */  ))+26) );
         (* (( (ptr) &var←c45056)+4)/* rdr1←v6948 */  ) = (word) ( *( (fPt) ((*  (ptr) pd148 ))))(pd148);
         };
      };
SOURCE(10636, 67)
   if (((* (( (ptr) &var←c45056)+5)/* rdr2←v6976 */  ) == 0)) {
SOURCE(10655, 12)
      (* (( (ptr) &var←c45056)+9)/* free2←v10324 */  ) = 1;
SOURCE(10669, 34)
      {
         word pd149;
         pd149 = (* (( (ptr) (* (( (ptr) gf←c45088)+89)/* var←c39264 */  ))+26) );
         (* (( (ptr) &var←c45056)+5)/* rdr2←v6976 */  ) = (word) ( *( (fPt) ((*  (ptr) pd149 ))))(pd149);
         };
      };
SOURCE(10706, 11)
   entry←v7020 = 0;
SOURCE(10762, 358)
   {
      register word e←v10412;
      e←v10412 = dict←v6808;
      lab←L100072: ;
      if ((e←v10412 != 0)) {
         }
      else {
         goto lab←L100069;
         };
SOURCE(10805, 293)
      {
         word tc150;
         word pd151;
         if (((* (( (ptr) e←v10412)+1) ) == hash←v6836)) {
            pd151 = (* (( (ptr) (* (( (ptr) gf←c45088)+91)/* var←c39392 */  ))+15) );
            tc150 =  (word) ( (int)(word) ( *( (fPt) ((*  (ptr) pd151 ))))((* ((( (ptr) e←v10412)+2)) ), pd151) ==  (int)keyLen←v6920);
            }
         else {
            tc150 =  (word) 0;
            };
         if (tc150) {
SOURCE(10882, 216)
            {
               word pd152;
               pd152 = (* (( (ptr) (* (( (ptr) gf←c45088)+89)/* var←c39264 */  ))+25) );
               if (((word) ( *( (fPt) ((*  (ptr) pd152 ))))(keyRope←v6864, (* (( (ptr) e←v10412)+2) ), keyStart←v6892, keyLen←v6920, 0, keyLen←v6920
                  , (* (( (ptr) &var←c45056)+4)/* rdr1←v6948 */  ), (* (( (ptr) &var←c45056)+5)/* rdr2←v6976 */  ), 0, pd152) == 1)) {
SOURCE(10987, 97)
                  if ((pred←v10352 != 0)) {
SOURCE(11031, 18)
                     (*  (ptr) pred←v10352 ) = (*  (ptr) e←v10412 );
SOURCE(11051, 18)
                     (*  (ptr) e←v10412 ) = (*  (ptr) dict←v6808 );
SOURCE(11071, 13)
                     (*  (ptr) dict←v6808 ) = e←v10412;
                     };
SOURCE(11089, 9)
                  entry←v7020 = e←v10412;
SOURCE(11100, 4)
                  goto lab←L100070;
                  };
               };
            };
         };
SOURCE(11112, 8)
      pred←v10352 = e←v10412;
      e←v10412 = (*  (ptr) e←v10412 );
      goto lab←L100072;
      lab←L100069: ;
      lab←L100070: ;
      };
SOURCE(11131, 13)
   (void) FreeReaders←P2268((word) ((( (bPt) &var←c45056)+24)/* var←c42624 */ ));
SOURCE(10214, 930)
   return(entry←v7020);
   }

static void FreeReaders←P2268(formal←c45152)
   word formal←c45152;
   {
   register ptr gf←c45120 =  (ptr) &globalframe;
   formal←c45152 = (formal←c45152 - 24);
   /* FreeReaders: */ 
SOURCE(10369, 114)
SOURCE(10391, 45)
   if ((0 != (* (( (ptr) formal←c45152)+8) ))) {
SOURCE(10405, 31)
      {
         word pd153;
         pd153 = (* (( (ptr) (* (( (ptr) gf←c45120)+89)/* var←c39264 */  ))+27) );
         (void) ( *( (fPt) ((*  (ptr) pd153 ))))((* ((( (ptr) formal←c45152)+4)) ), pd153);
         };
      };
SOURCE(10438, 45)
   if ((0 != (* (( (ptr) formal←c45152)+9) ))) {
SOURCE(10452, 31)
      {
         word pd154;
         pd154 = (* (( (ptr) (* (( (ptr) gf←c45120)+89)/* var←c39264 */  ))+27) );
         (void) ( *( (fPt) ((*  (ptr) pd154 ))))((* ((( (ptr) formal←c45152)+5)) ), pd154);
         };
      };
   }

static word FindKeyLen←P720(keyRope←v7080, rdr←v7108)
   word keyRope←v7080;
   word rdr←v7108;
   {
   register ptr gf←c45184 =  (ptr) &globalframe;
   word len←v7152;
   word size←v10456;
   /* FindKeyLen: */ 
SOURCE(11150, 321)
SOURCE(11227, 30)
   {
      word pd155;
      pd155 = (* (( (ptr) (* (( (ptr) gf←c45184)+91)/* var←c39392 */  ))+15) );
      size←v10456 = (word) ( *( (fPt) ((*  (ptr) pd155 ))))(keyRope←v7080, pd155);
      };
   {
      word var←c42688;
      word c←v38128;
      word var←c42784;
      word c←v38320;
SOURCE(11259, 25)
      if (( (int)size←v10456 ==  (int)0)) {
SOURCE(11274, 10)
         return(0);
         };
SOURCE(11286, 37)
      {
         word reader←v35844;
         word rope←v35872;
         word var←c42656;
         word rope←v35920;
         reader←v35844 = rdr←v7108;
         rope←v35872 = keyRope←v7080;
         {
            word tc156;
            rope←v35920 = 0;
            var←c42656 = (* (( (ptr) reader←v35844)+2) );
            if (((var←c42656 == rope←v35872)
            )) {
               tc156 =  (word) ( (int)((* (( (ptr) reader←v35844)+3) ) + (* (( (ptr) reader←v35844)+1) )) ==  (int)0);
               }
            else {
               tc156 =  (word) 0;
               };
            if (tc156) {
               goto lab←L100074;
               };
            };
         (* (( (ptr) reader←v35844)+2) ) = rope←v35872;
         (* (( (ptr) reader←v35844)+1) ) = 0;
         (*  (hPt) (*  (ptr) reader←v35844 ) ) = 0;
         (* (( (ptr) reader←v35844)+3) ) = 0;
         lab←L100074: ;
         };
SOURCE(11325, 60)
      {
         word text←v36812;
         word i←v36840;
         text←v36812 = (*  (ptr) rdr←v7108 );
         i←v36840 = (* (( (ptr) rdr←v7108)+1) );
         {
            word limit157;
            word pd158;
            if ((i←v36840 < (*  (hPt) text←v36812 ))) {
               c←v38128 = (word) (* ((( (bPt) text←v36812)+4)+(
                     limit157 = (word) (* (( (hPt) text←v36812)+1) ),
                     BCK(i←v36840, limit157)
                     )) );
               }
            else {
               pd158 = (* (( (ptr) (* (( (ptr) gf←c45184)+89)/* var←c39264 */  ))+17) );
               c←v38128 = (word) ( *( (fPt) ((*  (ptr) pd158 ))))(rdr←v7108, 2, pd158);
               };
            };
         };
      var←c42688 = ((word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45184)+97)/* var←c40128 */  ))+4) ) ))+c←v38128) ) == 3);
      if (((0 != var←c42688)
      )) {
SOURCE(11375, 10)
         return(1);
         };
SOURCE(11387, 7)
      len←v7152 = 0;
SOURCE(11396, 75)
      lab←L100079: ;
      {
         word tc159;
         if (( (int)len←v7152 <  (int)size←v10456)) {
            {
               word text←v37260;
               word i←v37288;
               text←v37260 = (*  (ptr) rdr←v7108 );
               i←v37288 = (* (( (ptr) rdr←v7108)+1) );
               {
                  word pd161;
                  if ((i←v37288 < (*  (hPt) text←v37260 ))) {
                     (* (( (ptr) rdr←v7108)+1) ) = (i←v37288 + 1);
                     {
                        word limit160;
                        c←v38320 = (word) (* ((( (bPt) text←v37260)+4)+(
/*1*/   limit160 = (word) (* (( (hPt) text←v37260)+1) ),
/*1*/   BCK(i←v37288, limit160)
/*1*/   )) );
                        };
                     }
                  else {
                     pd161 = (* (( (ptr) (* (( (ptr) gf←c45184)+89)/* var←c39264 */  ))+17) );
                     c←v38320 = (word) ( *( (fPt) ((*  (ptr) pd161 ))))(rdr←v7108, 0, pd161);
                     };
                  };
               };
            var←c42784 = ((word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45184)+97)/* var←c40128 */  ))+4) ) ))+c←v38320) ) == 2);
            tc159 =  (word) (0 != var←c42784);
            }
         else {
            tc159 =  (word) 0;
            };
         if (tc159) {
            }
         else {
            goto lab←L100077;
            };
         };
SOURCE(11460, 11)
      len←v7152 = (len←v7152 + 1);
      goto lab←L100079;
      lab←L100077: ;
      };
SOURCE(11150, 321)
   return(len←v7152);
   }

static word FindKeyStart←P780(keyRope←v7212, keyEnd←v7240, rdr←v7268)
   word keyRope←v7212;
   word keyEnd←v7240;
   word rdr←v7268;
   {
   register ptr gf←c45216 =  (ptr) &globalframe;
   word start←v7312;
   /* FindKeyStart: */ 
SOURCE(11486, 373)
   {
      word var←c42912;
      word c←v38080;
      word var←c43072;
      word c←v38272;
SOURCE(11580, 55)
      {
         word pd162;
         pd162 = (* (( (ptr) (* (( (ptr) gf←c45216)+91)/* var←c39392 */  ))+15) );
         if (( (int)(word) ( *( (fPt) ((*  (ptr) pd162 ))))(keyRope←v7212, pd162) ==  (int)0) || ( (int)keyEnd←v7240 ==  (int)0)) {
SOURCE(11625, 10)
            return(0);
            };
         };
SOURCE(11637, 42)
      {
         word reader←v35696;
         word rope←v35724;
         word index←v35752;
         word var←c42880;
         word rope←v35800;
         reader←v35696 = rdr←v7268;
         rope←v35724 = keyRope←v7212;
         index←v35752 = keyEnd←v7240;
         {
            word tc163;
            rope←v35800 = 0;
            var←c42880 = (* (( (ptr) reader←v35696)+2) );
            if (((var←c42880 == rope←v35724)
            )) {
               tc163 =  (word) ( (int)((* (( (ptr) reader←v35696)+3) ) + (* (( (ptr) reader←v35696)+1) )) ==  (int)index←v35752);
               }
            else {
               tc163 =  (word) 0;
               };
            if (tc163) {
               goto lab←L100083;
               };
            };
         (* (( (ptr) reader←v35696)+2) ) = rope←v35724;
         (* (( (ptr) reader←v35696)+1) ) = 0;
         (*  (hPt) (*  (ptr) reader←v35696 ) ) = 0;
         (* (( (ptr) reader←v35696)+3) ) = index←v35752;
         lab←L100083: ;
         };
SOURCE(11681, 76)
      {
         word i←v24200;
         i←v24200 = (* (( (ptr) rdr←v7268)+1) );
         {
            word pd165;
            if ((i←v24200 > 0)) {
               {
                  word var←c42976;
                  word var←c43008;
                  var←c42976 = (i←v24200 - 1);
                  var←c43008 = (*  (ptr) rdr←v7268 );
                  {
                     word limit164;
                     c←v38080 = (word) (* ((( (bPt) var←c43008)+4)+(
                           limit164 = (word) (* (( (hPt) var←c43008)+1) ),
                           BCK(var←c42976, limit164)
                           )) );
                     };
                  };
               }
            else {
               pd165 = (* (( (ptr) (* (( (ptr) gf←c45216)+89)/* var←c39264 */  ))+17) );
               c←v38080 = (word) ( *( (fPt) ((*  (ptr) pd165 ))))(rdr←v7268, 3, pd165);
               };
            };
         };
      var←c42912 = ((word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45216)+97)/* var←c40128 */  ))+4) ) ))+c←v38080) ) == 3);
      if (((0 != var←c42912)
      )) {
SOURCE(11740, 17)
         return((keyEnd←v7240 - 1));
         };
SOURCE(11759, 14)
      start←v7312 = keyEnd←v7240;
SOURCE(11775, 84)
      lab←L100088: ;
      {
         word tc166;
         if (( (int)start←v7312 >  (int)0)) {
            {
               word reader←v37740;
               reader←v37740 = rdr←v7268;
               {
                  word i←v37772;
                  i←v37772 = (* (( (ptr) reader←v37740)+1) );
                  {
                     word pd168;
                     if ((i←v37772 > 0)) {
                        {
                           word var←c43168;
                           word var←c43200;
                           var←c43168 = SGNCK((i←v37772 - 1));
                           (* (( (ptr) reader←v37740)+1) ) = var←c43168;
                           var←c43200 = (*  (ptr) reader←v37740 );
                           {
/*1*/   word limit167;
/*1*/   c←v38272 = (word) (* ((( (bPt) var←c43200)+4)+(
/*1*/         limit167 = (word) (* (( (hPt) var←c43200)+1) ),
/*1*/         BCK(var←c43168, limit167)
/*1*/         )) );
/*1*/   };
                           };
                        }
                     else {
                        pd168 = (* (( (ptr) (* (( (ptr) gf←c45216)+89)/* var←c39264 */  ))+17) );
                        c←v38272 = (word) ( *( (fPt) ((*  (ptr) pd168 ))))(reader←v37740, 1, pd168);
                        };
                     };
                  };
               };
            var←c43072 = ((word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c45216)+97)/* var←c40128 */  ))+4) ) ))+c←v38272) ) == 2);
            tc166 =  (word) (0 != var←c43072);
            }
         else {
            tc166 =  (word) 0;
            };
         if (tc166) {
            }
         else {
            goto lab←L100086;
            };
         };
SOURCE(11844, 15)
      start←v7312 = (start←v7312 - 1);
      goto lab←L100088;
      lab←L100086: ;
      };
SOURCE(11486, 373)
   return(start←v7312);
   }

static word GetDict←P840(formal←c0559)
   word formal←c0559;
   {
   W8 var←c45248;
   /* declaration of dictName←v7372 skipped */ 
   register ptr gf←c45280 =  (ptr) &globalframe;
   word entry←v7416;
   word prop←v10500 = 0;
   W2 var←c0348;
   var←c45248.f4/* dictName←v7372 */  = formal←c0559;
   /* GetDict: */ 
SOURCE(11918, 420)
SOURCE(11918, 420)
   entry←v7416 = 0;
SOURCE(11991, 44)
   {
      word pd169;
      pd169 = (* (( (ptr) (* (( (ptr) gf←c45280)+88)/* var←c39104 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd169 ))))((word) &var←c0348, (* (( (ptr) gf←c45280)+8)/* dictTable←v3644 */  ), var←c45248.f4/* dictName←v7372 */ , pd169)
      ;
      };
   prop←v10500 = var←c0348.f1;
SOURCE(12037, 301)
   {
      word var←c43264;
      word var←c43296;
      var←c43264 = prop←v10500;
      if ((var←c43264 == 0)) {
         goto lab←L100091;
         };
      var←c43296 = XR←GetReferentType(var←c43264);
      if (((* (( (ptr) gf←c45280)+30) ) == var←c43296)) {
         {
            word x←v10556;
            x←v10556 = var←c43264;
SOURCE(12071, 10)
            return(x←v10556);
            };
         }
      else {
         if (((* (( (ptr) gf←c45280)+23) ) == var←c43296)) {
            {
               word x←v10600;
               x←v10600 = var←c43264;
SOURCE(12094, 41)
               if ((x←v10600 == (* (( (ptr) gf←c45280)+42) ))) {
SOURCE(12117, 18)
                  return(0);
                  }
               else {
SOURCE(12135, 5)
                  (void) XR←RaiseUnnamedError();
                  };
               };
            }
         else {
            lab←L100091: ;
SOURCE(12153, 187)
            {
               word ok←v10644 = 0;
SOURCE(12191, 81)
SOURCE(12191, 81)
               {
                  W2 var←c43392;
                  {
                     /* declaration of var←c43328 skipped */ 
                     var←c45248.f5/* var←c43328 */  = (word) GetFileID←P960(var←c45248.f4/* dictName←v7372 */ );
                     {
                        /* declaration of var←c010 skipped */ 
                        {
                           word var←c011;
                           {
/*1*/   word var←c0507;
/*1*/   var←c0507 = (word) &var←c45248;
/*1*/   var←c011 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6300) ), ( ((word)  (fPt) NoName←Q6600) ), var←c0507);
/*1*/   };
                           if ((var←c011 == 4)) {
/*1*/   goto lab←L100093;
/*1*/   };
                           };
                        var←c43392 = (*  (W2Pt) (( (ptr) &var←c45248)+6)/* var←c010 */  );
                        };
                     };
                  ok←v10644 = var←c43392.f0;
                  };
               lab←L100093: ;
SOURCE(12283, 55)
               if ((0 != ok←v10644)) {
SOURCE(12294, 32)
                  return((word) GetDict←P840(var←c45248.f4/* dictName←v7372 */ ));
                  }
               else {
SOURCE(12326, 12)
                  return(0);
                  };
               };
            };
         };
      };
   }

static word NoName←Q6300(formal←c0476)
   word formal←c0476;
   {
SOURCE(12191, 81)
   (void) LoadInternal←P60((word) (( (bPt) formal←c0476)+24), (* (( (ptr) formal←c0476)+4) ), (* (( (ptr) formal←c0476)+5) ))
   ;
   return(0);
   }

static word Same←P900(a←v7644, b←v7672)
   word a←v7644;
   word b←v7672;
   {
   register ptr gf←c45312 =  (ptr) &globalframe;
   word var←c7716;
   /* Same: */ 
SOURCE(12521, 110)
SOURCE(12566, 65)
   {
      word var←c0508;
      if (XR←EqualWords((( (ptr) a←v7644)+1), (( (ptr) b←v7672)+1), 4)) {
         {
            word var←c43488;
            word n1←v37908;
            word n2←v37936;
            n1←v37908 = (*  (ptr) a←v7644 );
            n2←v37936 = (*  (ptr) b←v7672 );
            {
               word pd170;
               pd170 = (* (( (ptr) (* (( (ptr) gf←c45312)+102)/* var←c43552 */  ))+11) );
               var←c43488 = ((word) ( *( (fPt) ((*  (ptr) pd170 ))))(n1←v37908, n2←v37936, 0, pd170) == 1);
               };
            var←c0508 = (0 != var←c43488);
            };
         }
      else {
         var←c0508 = 0;
         };
      return(var←c0508);
      };
   }

static word GetFileID←P960(shortName←v7776)
   word shortName←v7776;
   {
   W15 var←c45344;
   register ptr gf←c45376 =  (ptr) &globalframe;
   word var←c7820;
   word dirs←v10688;
   word name←v10716;
   word fileNamePath←v10744 = 0;
   W4 uid←v10772;
   /* GetFileID: */ 
SOURCE(12634, 606)
SOURCE(12689, 6)
   {
      word pd171;
      pd171 = (* (( (ptr) (* (( (ptr) gf←c45376)+103)/* var←c43584 */  ))+7) );
      dirs←v10688 = (word) ( *( (fPt) ((*  (ptr) pd171 ))))((* (( (ptr) gf←c45376)+40) ), (* (( (ptr) gf←c45376)+10)/* defaultSearch←v4232 */  ), pd171)
      ;
      };
SOURCE(12777, 68)
   {
      word var←c43616;
      {
         word pd172;
         pd172 = (* (( (ptr) (* (( (ptr) gf←c45376)+99)/* var←c41152 */  ))+9) );
         var←c43616 = (word) ( *( (fPt) ((*  (ptr) pd172 ))))(shortName←v7776, pd172);
         };
      {
         word pd173;
         pd173 = (* (( (ptr) (* (( (ptr) gf←c45376)+91)/* var←c39392 */  ))+6) );
         name←v10716 = (word) ( *( (fPt) ((*  (ptr) pd173 ))))(var←c43616, (* (( (ptr) gf←c45376)+41) ), pd173);
         };
      };
SOURCE(12873, 36)
   uid←v10772.f0 = 2147483647;
   uid←v10772.f1 = 0;
   uid←v10772.f2 = 0;
   uid←v10772.f3 = 0;
SOURCE(12911, 232)
   lab←L100099: ;
   if ( ( (fileNamePath←v10744 == 0) ? (dirs←v10688 != 0) : 0 ) ) {
      }
   else {
      goto lab←L100097;
      };
SOURCE(12954, 162)
SOURCE(12954, 162)
   {
      W9 var←c43776;
      {
         /* declaration of var←c43680 skipped */ 
         {
            word var←c43712;
            word var←c43744;
            {
               word pd174;
               pd174 = (* (( (ptr) (* (( (ptr) gf←c45376)+90)/* var←c39360 */  ))+5) );
               var←c43712 = (word) ( *( (fPt) ((*  (ptr) pd174 ))))(name←v10716, pd174);
               };
            {
               word pd175;
               pd175 = (* (( (ptr) (* (( (ptr) gf←c45376)+90)/* var←c39360 */  ))+5) );
               var←c43744 = (word) ( *( (fPt) ((*  (ptr) pd175 ))))((*  (ptr) (dirs←v10688) ), pd175);
               };
            {
               word pd176;
               pd176 = (* (( (ptr) (* (( (ptr) gf←c45376)+90)/* var←c39360 */  ))+8) );
               (* (( (ptr) &var←c45344)+4)/* var←c43680 */  ) = (word) ( *( (fPt) ((*  (ptr) pd176 ))))(var←c43712, var←c43744, pd176);
               };
            };
         {
            /* declaration of var←c012 skipped */ 
            (* (( (ptr) &var←c45344)+5)/* var←c012 */  ) = (* (( (ptr) (* (( (ptr) gf←c45376)+90)/* var←c39360 */  ))+12) );
            {
               /* declaration of var←c013 skipped */ 
               {
                  word var←c014;
                  {
                     word var←c0509;
                     var←c0509 = (word) &var←c45344;
                     var←c014 = (word) XR←Enable(( ((word)  (fPt) NoName←Q6360) ), ( ((word)  (fPt) NoName←Q6540) ), var←c0509);
                     };
                  if ((var←c014 == 5)) {
                     goto lab←L100101;
                     };
                  };
               var←c43776 = (*  (W9Pt) (( (ptr) &var←c45344)+6)/* var←c013 */  );
               };
            };
         };
      uid←v10772 = (*  (W4Pt) (( (ptr) &var←c43776)+2) );
      fileNamePath←v10744 = (*  (ptr) &var←c43776 );
      };
   lab←L100101: ;
SOURCE(13127, 16)
   dirs←v10688 = (* (( (ptr) dirs←v10688)+1) );
   goto lab←L100099;
   lab←L100097: ;
SOURCE(13154, 39)
   if ((fileNamePath←v10744 == 0)) {
SOURCE(13181, 12)
      return(0);
      };
SOURCE(13195, 45)
   {
      word var←c43840;
      var←c43840 = XR←NewObject(20, (* (( (ptr) gf←c45376)+22) ));
      (*  (ptr) var←c43840 ) = fileNamePath←v10744;
      (*  (W4Pt) (( (ptr) var←c43840)+1) ) = uid←v10772;
      return(var←c43840);
      };
   }

static word NoName←Q6360(formal←c0480)
   word formal←c0480;
   {
   register ptr gf←c0479 =  (ptr) &globalframe;
SOURCE(12954, 162)
   {
      word pd177;
      pd177 = (* (( (ptr) formal←c0480)+5) );
      (void) ( *( (fPt) ((*  (ptr) pd177 ))))((word) (( (bPt) formal←c0480)+24), (* (( (ptr) formal←c0480)+4) ), (*  (W4Pt) (( (ptr) gf←c0479)+84)
         /* var←c39072 */  ), pd177);
      };
   return(0);
   }

static void DoLocked←P1020(formal←c0560)
   word formal←c0560;
   {
   W11 var←c45408;
   /* declaration of action←v7896 skipped */ 
   register ptr gf←c45440 =  (ptr) &globalframe;
   /* declaration of var←c43872 skipped */ 
   /* declaration of var←c43904 skipped */ 
   /* declaration of me←v10900 skipped */ 
   (* (( (ptr) &var←c45408)+4)/* action←v7896 */  ) = formal←c0560;
   /* DoLocked: */ 
SOURCE(13339, 423)
   {
      word tmpAddr178;
      tmpAddr178 = (word) (( (ptr) &var←c45408)+5)/* var←c43872 */ ;
      (*  (ptr) tmpAddr178 ) = ( ((word)  (fPt) Unlock←P2580) );
      (* (( (ptr) tmpAddr178) + 1) ) = 1;
      };
   {
      word tmpAddr179;
      tmpAddr179 = (word) (( (ptr) &var←c45408)+7)/* var←c43904 */ ;
      (*  (ptr) tmpAddr179 ) = ( ((word)  (fPt) Lock←P2520) );
      (* (( (ptr) tmpAddr179) + 1) ) = 1;
      };
SOURCE(13380, 41)
   {
      word pd180;
      pd180 = (* (( (ptr) (* (( (ptr) gf←c45440)+104)/* var←c43936 */  ))+12) );
      (void) ( *( (fPt) ((*  (ptr) pd180 ))))((word) ((( (bPt) &var←c45408)+36)/* me←v10900 */ ), pd180);
      };
SOURCE(13715, 6)
   (void) Lock←P2520((word) ((( (bPt) &var←c45408)+28)/* var←c43904 */ ));
SOURCE(13723, 29)
   {
      word var←c0510;
      var←c0510 = (word) &var←c45408;
       (void) (word) XR←Enable(( ((word)  (fPt) NoName←Q6420) ), ( ((word)  (fPt) NoName←Q6480) ), var←c0510);
      };
SOURCE(13754, 8)
   (void) Unlock←P2580((word) ((( (bPt) &var←c45408)+20)/* var←c43872 */ ));
   }

static word NoName←Q6420(formal←c0482)
   word formal←c0482;
   {
SOURCE(13723, 29)
   {
      word pd181;
      pd181 = (* (( (ptr) formal←c0482)+4) );
      (void) ( *( (fPt) ((*  (ptr) pd181 ))))(pd181);
      };
   return(0);
   }

static void Lock←P2520(formal←c45504)
   word formal←c45504;
   {
   register ptr gf←c45472 =  (ptr) &globalframe;
   formal←c45504 = (formal←c45504 - 28);
   /* Lock: */ 
SOURCE(13423, 154)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c45472)+16)/* LOCK←v3504 */ ));
SOURCE(13444, 76)
   lab←L100108: ;
   if ( ( ( ! XR←EqualWords((( (ptr) gf←c45472)+11)/* abbrLockProcess←v4372 */ , (( (ptr) formal←c45504)+9), 2)) ? ((* (( (ptr) gf←c45472)+13)
   /* abbrLockCount←v4400 */  ) != 0) : 0 ) ) {
      }
   else {
      goto lab←L100106;
      };
SOURCE(13495, 25)
   (void) (XR←Wait((word) (( (bPt) gf←c45472)+16)/* LOCK←v3504 */ , (word) (( (bPt) gf←c45472)+56)/* abbrLockFree←v4428 */ )
   );
   goto lab←L100108;
   lab←L100106: ;
SOURCE(13522, 20)
   (*  (W2Pt) (( (ptr) gf←c45472)+11)/* abbrLockProcess←v4372 */  ) = (*  (W2Pt) (( (ptr) formal←c45504)+9) );
SOURCE(13544, 33)
   (* (( (ptr) gf←c45472)+13)/* abbrLockCount←v4400 */  ) = ((* (( (ptr) gf←c45472)+13)/* abbrLockCount←v4400 */  ) + 1);
SOURCE(13423, 154)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c45472)+16)/* LOCK←v3504 */ ));
   return;
   }

static void Unlock←P2580(formal←c45568)
   word formal←c45568;
   {
   register ptr gf←c45536 =  (ptr) &globalframe;
   formal←c45568 = (formal←c45568 - 20);
   /* Unlock: */ 
SOURCE(13582, 127)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c45536)+16)/* LOCK←v3504 */ ));
SOURCE(13605, 33)
   (* (( (ptr) gf←c45536)+13)/* abbrLockCount←v4400 */  ) = ((* (( (ptr) gf←c45536)+13)/* abbrLockCount←v4400 */  ) - 1);
SOURCE(13640, 69)
   if (((* (( (ptr) gf←c45536)+13)/* abbrLockCount←v4400 */  ) == 0)) {
SOURCE(13667, 21)
      {
         word tmpAddr182;
         tmpAddr182 = (word) (( (ptr) gf←c45536)+11)/* abbrLockProcess←v4372 */ ;
         (*  (ptr) tmpAddr182 ) = 0;
         (* (( (ptr) tmpAddr182) + 1) ) = 0;
         };
SOURCE(13690, 19)
      (void) (XR←Notify((word) (( (bPt) gf←c45536)+56)/* abbrLockFree←v4428 */ ));
      };
SOURCE(13582, 127)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c45536)+16)/* LOCK←v3504 */ ));
   return;
   }

static word ValidateAll←P1080()
   {
   W7 var←c45600;
   /* declaration of changed←v7972 skipped */ 
   /* declaration of var←c43968 skipped */ 
   /* ValidateAll: */ 
SOURCE(13813, 263)
   {
      word tmpAddr183;
      tmpAddr183 = (word) (( (ptr) &var←c45600)+5)/* var←c43968 */ ;
      (*  (ptr) tmpAddr183 ) = ( ((word)  (fPt) Locked←P2640) );
      (* (( (ptr) tmpAddr183) + 1) ) = 1;
      };
SOURCE(13813, 263)
   var←c45600.f4/* changed←v7972 */  = 0;
SOURCE(14060, 16)
   (void) DoLocked←P1020((word) ((( (bPt) &var←c45600)+20)/* var←c43968 */ ));
SOURCE(13813, 263)
   return(var←c45600.f4/* changed←v7972 */ );
   }

static void Locked←P2640(formal←c45696)
   word formal←c45696;
   {
   W6 var←c45632;
   register ptr gf←c45664 =  (ptr) &globalframe;
   /* declaration of var←c44000 skipped */ 
   formal←c45696 = (formal←c45696 - 20);
   var←c45632.f0 = formal←c45696;
   /* Locked: */ 
SOURCE(13874, 181)
   {
      word tmpAddr184;
      tmpAddr184 = (word) (( (ptr) &var←c45632)+4)/* var←c44000 */ ;
      (*  (ptr) tmpAddr184 ) = ( ((word)  (fPt) Action←P2700) );
      (* (( (ptr) tmpAddr184) + 1) ) = 1;
      };
SOURCE(14017, 38)
   {
      word var←c44032;
      word pd185;
      pd185 = (* (( (ptr) (* (( (ptr) gf←c45664)+88)/* var←c39104 */  ))+13) );
      var←c44032 = (word) ( *( (fPt) ((*  (ptr) pd185 ))))((* (( (ptr) gf←c45664)+20)/* fileForAbbr←v4484 */  ), (word) (( (bPt) &var←c45632)+16)
         /* var←c44000 */ , pd185);
      };
   }

static word Action←P2700(key←v11184, val←v11212, formal←c45760)
   word key←v11184;
   word val←v11212;
   word formal←c45760;
   {
   register ptr gf←c45728 =  (ptr) &globalframe;
   word quit←v11280;
   word var←c44064;
   formal←c45760 = (formal←c45760 - 16);
   /* Action: */ 
SOURCE(13891, 123)
SOURCE(13953, 44)
   var←c44064 = XR←Narrow(key←v11184, (* (( (ptr) gf←c45728)+23) ));
   if ((0 != (word) Validate←P1140(var←c44064))) {
SOURCE(13983, 14)
      (* (( (ptr) (*  (ptr) formal←c45760 ))+4) ) = 1;
      };
SOURCE(13999, 15)
   return(0);
   }

static word Validate←P1140(formal←c0561)
   word formal←c0561;
   {
   W8 var←c45792;
   /* declaration of name←v8032 skipped */ 
   /* declaration of changed←v8076 skipped */ 
   /* declaration of var←c44096 skipped */ 
   var←c45792.f4/* name←v8032 */  = formal←c0561;
   /* Validate: */ 
SOURCE(14082, 347)
   {
      word tmpAddr186;
      tmpAddr186 = (word) (( (ptr) &var←c45792)+6)/* var←c44096 */ ;
      (*  (ptr) tmpAddr186 ) = ( ((word)  (fPt) Locked←P2760) );
      (* (( (ptr) tmpAddr186) + 1) ) = 1;
      };
SOURCE(14082, 347)
   var←c45792.f5/* changed←v8076 */  = 0;
SOURCE(14413, 16)
   (void) DoLocked←P1020((word) ((( (bPt) &var←c45792)+24)/* var←c44096 */ ));
SOURCE(14082, 347)
   return(var←c45792.f5/* changed←v8076 */ );
   }

static void Locked←P2760(formal←c45856)
   word formal←c45856;
   {
   register ptr gf←c45824 =  (ptr) &globalframe;
   word fileID←v11368;
   word oldFileID←v11396;
   formal←c45856 = (formal←c45856 - 24);
   /* Locked: */ 
SOURCE(14153, 254)
SOURCE(14170, 32)
   fileID←v11368 = (word) GetFileID←P960((* ((( (ptr) formal←c45856)+4)) ));
SOURCE(14204, 63)
   {
      W2 var←c0394;
      word var←c0511;
      {
         word pd187;
         pd187 = (* (( (ptr) (* (( (ptr) gf←c45824)+88)/* var←c39104 */  ))+7) );
         (void) ( *( (fPt) ((*  (ptr) pd187 ))))((word) &var←c0394, (* (( (ptr) gf←c45824)+20)/* fileForAbbr←v4484 */  ), (* (( (ptr) formal←c45856)+4)
             ), pd187);
         };
      var←c0511 = var←c0394.f1;
      oldFileID←v11396 = XR←Narrow(var←c0511, (* (( (ptr) gf←c45824)+22) ));
      };
SOURCE(14269, 138)
   if (((oldFileID←v11396 == 0) || (fileID←v11368 == 0)) || (0 != (word) Same←P900(fileID←v11368, oldFileID←v11396))) {
SOURCE(14336, 21)
      (* (( (ptr) formal←c45856)+5) ) = 0;
      }
   else {
SOURCE(14359, 31)
      {
         W2 var←c44128;
         (void) LoadInternal←P60((word) &var←c44128, (* (( (ptr) formal←c45856)+4) ), fileID←v11368);
         };
SOURCE(14392, 15)
      (* (( (ptr) formal←c45856)+5) ) = 1;
      };
   }

static void NoName←Q6480(formal←c0401, formal←c200028, formal←c200029, formal←c200030, formal←c200031)
   word formal←c0401;
   word formal←c200028;
   word formal←c200029;
   word formal←c200030;
   word formal←c200031;
   {
   if ((formal←c200029 == XR←Unwind)) {
SOURCE(13743, 9)
      (void) Unlock←P2580((word) ((( (bPt) formal←c200028)+20)));
      };
   (*  (ptr) formal←c0401 ) = 0;
   (* (( (ptr) formal←c0401)+1) ) = 0;
   return;
   }

static void NoName←Q6540(formal←c0407, formal←c200024, formal←c200025, formal←c200026, formal←c200027)
   word formal←c0407;
   word formal←c200024;
   word formal←c200025;
   word formal←c200026;
   word formal←c200027;
   {
   register ptr gf←c0493 =  (ptr) &globalframe;
   if ((formal←c200025 == (* (( (ptr) (* (( (ptr) gf←c0493)+90)/* var←c39360 */  ))+9) ))) {
      {
         W4 error←v35376;
         error←v35376 = (*  (W4Pt) formal←c200027 );
SOURCE(13116, 9)
         (*  (ptr) formal←c0407 ) = 2;
         (* (( (ptr) formal←c0407)+1) ) = 5;
         return;
         };
      };
   (*  (ptr) formal←c0407 ) = 0;
   (* (( (ptr) formal←c0407)+1) ) = 0;
   return;
   }

static void NoName←Q6600(formal←c0414, formal←c200020, formal←c200021, formal←c200022, formal←c200023)
   word formal←c0414;
   word formal←c200020;
   word formal←c200021;
   word formal←c200022;
   word formal←c200023;
   {
   register ptr gf←c0494 =  (ptr) &globalframe;
   if ((formal←c200021 == (* (( (ptr) (* (( (ptr) gf←c0494)+101)/* var←c43360 */  ))+22) ))) {
      {
         word signal←v35288;
         word parameters←v35316;
         signal←v35288 = (*  (ptr) formal←c200023 );
         parameters←v35316 = (* (( (ptr) formal←c200023)+1) );
SOURCE(12272, 9)
         (*  (ptr) formal←c0414 ) = 2;
         (* (( (ptr) formal←c0414)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c0414 ) = 0;
   (* (( (ptr) formal←c0414)+1) ) = 0;
   return;
   }

static void NoName←Q6660(formal←c0419, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
   word formal←c0419;
   word formal←c200016;
   word formal←c200017;
   word formal←c200018;
   word formal←c200019;
   {
   register ptr gf←c0495 =  (ptr) &globalframe;
   if ((formal←c200017 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0495)+16)/* LOCK←v3504 */ ));
      };
   (*  (ptr) formal←c0419 ) = 0;
   (* (( (ptr) formal←c0419)+1) ) = 0;
   return;
   }

static void NoName←Q6720(formal←c0424, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
   word formal←c0424;
   word formal←c200012;
   word formal←c200013;
   word formal←c200014;
   word formal←c200015;
   {
   register ptr gf←c0496 =  (ptr) &globalframe;
   if ((formal←c200013 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0496)+16)/* LOCK←v3504 */ ));
      };
   (*  (ptr) formal←c0424 ) = 0;
   (* (( (ptr) formal←c0424)+1) ) = 0;
   return;
   }

static void NoName←Q6780(formal←c0429, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0429;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0497 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0497)+89)/* var←c39264 */  ))+4) ))) {
SOURCE(4237, 8)
      (*  (ptr) formal←c0429 ) = 2;
      (* (( (ptr) formal←c0429)+1) ) = 3;
      return;
      };
   (*  (ptr) formal←c0429 ) = 0;
   (* (( (ptr) formal←c0429)+1) ) = 0;
   return;
   }

static void NoName←Q6840(formal←c0434, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0434;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   register ptr gf←c0498 =  (ptr) &globalframe;
   if ((formal←c200005 == XR←Unwind)) {
      (void) (XR←MonitorExit((word) (( (bPt) gf←c0498)+16)/* LOCK←v3504 */ ));
      };
   (*  (ptr) formal←c0434 ) = 0;
   (* (( (ptr) formal←c0434)+1) ) = 0;
   return;
   }

static void NoName←Q6900(formal←c0440, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0440;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0499 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0499)+90)/* var←c39360 */  ))+9) ))) {
      {
         W4 error←v33760;
         error←v33760 = (*  (W4Pt) formal←c200003 );
SOURCE(2538, 61)
         {
            word pd188;
            pd188 = (* (( (ptr) (* (( (ptr) gf←c0499)+92)/* var←c39424 */  ))+4) );
            (void) ( *( (fPt) ((*  (ptr) pd188 ))))((* (( (ptr) gf←c0499)+38) ), 3, (* (( (ptr) gf←c0499)+33) ), error←v33760.f2, pd188)
            ;
            };
SOURCE(2601, 36)
         {
            word pd189;
            pd189 = (* (( (ptr) (* (( (ptr) gf←c0499)+92)/* var←c39424 */  ))+7) );
            (void) ( *( (fPt) ((*  (ptr) pd189 ))))((* (( (ptr) gf←c0499)+38) ), (* (( (ptr) gf←c0499)+33) ), pd189);
            };
SOURCE(2639, 8)
         (*  (ptr) formal←c0440 ) = 2;
         (* (( (ptr) formal←c0440)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0440 ) = 0;
   (* (( (ptr) formal←c0440)+1) ) = 0;
   return;
   }

/* file: AbbrevExpandImpl, module: AbbrevExpandImpl, compiled at: March 13, 1992 11:30:38 am PST */ 
extern void XR←install←AbbrevExpandImpl() {
   NoName←Q5940();
   }
extern void XR←run←AbbrevExpandImpl() { XR←Start(&globalframe); }