/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 27, 1992 6:01:14 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: TEditProfileImpl, module: TEditProfileImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1809489663,1526953079] TEditProfileImpl";
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;} W7;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W2 r;} W10;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
#define SOURCE(p, l) /* source p, l */
static void NoName←Q1044();
static void TEditProfileImpl←P0();
static void ReadProfile←P60();
static void ReadMenuDefaults←P120();
static void DefaultMenu←P600();
static void ReadExtensions←P180();
static word RemoveLeadingDot←P660();
static void AddExt←P720();
static void AddImplExt←P780();
static void SetSelectionCaret←P240();
static void SetUserCategory←P300();
static void PreloadStyles←P360();
static void PreloadAbbreviations←P420();
static void GetToken←P480();
static word Sep←P936();
static void DoList←P540();
static struct {unsigned f; char r[16];} string1 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[48];} string3 = {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];} string4 = {131074, "\004\003\000"};
static struct {unsigned f; char r[24];} string5 = {1376280, "Tioga.EditTypeScripts\000\000"};
static struct {unsigned f; char r[28];} string6 = {1572892, "Tioga.OpenFirstLevelOnly\000\000\000"};
static struct {unsigned f; char r[24];} string7 = {1376280, "Tioga.ScrollTopOffset\000\000"};
static struct {unsigned f; char r[28];} string8 = {1572892, "Tioga.ScrollBottomOffset\000\000\000"};
static struct {unsigned f; char r[20];} string9 = {1179668, "Tioga.YSelectFudge\000"};
static struct {unsigned f; char r[32];} string10 = {1966112, "Tioga.ShowUnsavedDocumentsList\000"};
static struct {unsigned f; char r[32];} string11 = {2031648, "Tioga.UnsavedDocumentsCacheSize"};
static struct {unsigned f; char r[20];} string12 = {1179668, "Tioga.UserCategory\000"};
static struct {unsigned f; char r[12];} string13 = {524300, "Advanced\000\000\000"};
static struct {unsigned f; char r[24];} string14 = {1310744, "Tioga.SelectionCaret\000\000\000"};
static struct {unsigned f; char r[8];} string15 = {458760, "balance"};
static struct {unsigned f; char r[20];} string16 = {1179668, "Tioga.DefaultStyle\000"};
static struct {unsigned f; char r[8];} string17 = {327688, "Cedar\000\000"};
static struct {unsigned f; char r[24];} string18 = {1376280, "Tioga.ExtensionStyles\000\000"};
static struct {unsigned f; char r[20];} string19 = {1245204, "Tioga.TryVersionMap"};
static struct {unsigned f; char r[24];} string20 = {1507352, "Tioga.DefaultTiogaMenus"};
static struct {unsigned f; char r[8];} string21 = {393224, "places\000"};
static struct {unsigned f; char r[8];} string22 = {393224, "Places\000"};
static struct {unsigned f; char r[8];} string23 = {393224, "Levels\000"};
static struct {unsigned f; char r[28];} string24 = {1703964, "Tioga.SourceFileExtensions\000"};
static struct {unsigned f; char r[32];} string25 = {1900576, "mesa tioga df cm config style\000\000"};
static struct {unsigned f; char r[28];} string26 = {1572892, "Tioga.ImplFileExtensions\000\000\000"};
static struct {unsigned f; char r[8];} string27 = {262152, "mesa\000\000\000"};
static struct {unsigned f; char r[4];} string28 = {4, "\000\000\000"};
static struct {unsigned f; char r[32];} string29 = {1835040, "Tioga.SelectDelimitingSpaces\000\000\000"};
static struct {unsigned f; char r[8];} string30 = {393224, "before\000"};
static struct {unsigned f; char r[8];} string31 = {327688, "after\000\000"};
static struct {unsigned f; char r[8];} string32 = {393224, "Expert\000"};
static struct {unsigned f; char r[16];} string33 = {786448, "Intermediate\000\000\000"};
static struct {unsigned f; char r[12];} string34 = {524300, "Beginner\000\000\000"};
static struct {unsigned f; char r[16];} string35 = {786448, "Tioga.Styles\000\000\000"};
static struct {unsigned f; char r[20];} string36 = {1245204, "Tioga.Abbreviations"};
static struct {unsigned f; char r[4];} string37 = {65540, ".\000\000"};
static struct {unsigned f; char r[8];} string38 = {393224, "Tioga.\000"};
static struct {unsigned f; char r[16];} string39 = {851984, "\257\300\153\332\236\377\300\133\003\164\167\100\164\000\000"};
static struct {unsigned f; char r[16];} string40 = {983055, "\006\003\100\104\001\100\110\001\100\140\010\000\004\042\001"};
static struct {unsigned f; char r[16];} string41 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\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\146\107\314\260\300\352\117\305\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string44 = {851984, "\257\300\375\366\273\111\300\156\046\321\053\100\150\000\000"};
static struct {unsigned f; char r[16];} string45 = {851984, "\257\300R-\356\251\300YX]$@h\000\000"};
static struct {
   word f0[58]; 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[6]; 
   } globalframe = {
   {0}, (word) DoList←P540, 0, (word) GetToken←P480, 
   0, (word) PreloadAbbreviations←P420, 0, (word) PreloadStyles←P360, 
   0, (word) SetUserCategory←P300, 0, (word) SetSelectionCaret←P240, 
   0, (word) ReadExtensions←P180, 0, (word) ReadMenuDefaults←P120, 
   0, (word) ReadProfile←P60, 0, (word) TEditProfileImpl←P0, 
   {0}
   };

static void NoName←Q1044()
   {
   register ptr gf←c090 =  (ptr) &globalframe;
   word var←c12696;
   (* (( (ptr) gf←c090)+22) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c090)+23) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (*  (ptr) (( (bPt) gf←c090)+96) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string5);
   (*  (ptr) (( (bPt) gf←c090)+100) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string6);
   (*  (ptr) (( (bPt) gf←c090)+104) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string7);
   (*  (ptr) (( (bPt) gf←c090)+108) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c090)+112) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c090)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c090)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c090)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c090)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c090)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c090)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c090)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c090)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c090)+148) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string18);
   (*  (ptr) (( (bPt) gf←c090)+152) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string19);
   (*  (ptr) (( (bPt) gf←c090)+156) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string20);
   (*  (ptr) (( (bPt) gf←c090)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string21);
   (*  (ptr) (( (bPt) gf←c090)+164) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string22);
   (*  (ptr) (( (bPt) gf←c090)+168) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c090)+172) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c090)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c090)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c090)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c090)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c090)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c090)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c090)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c090)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c090)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c090)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c090)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c090)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c090)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c090)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c090)+22) ), (word) &string38);
   (void) XR←DeclareGlobalFrame((word) "TEditProfileImpl", &globalframe, (word) XR←GetTypeIndex((word) &string39, 0, (word) &string40)
      , (word) (( (bPt) gf←c090)+304)/* var←c11704 */ );
   var←c12696 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string41)), 43);
   (* (( (ptr) gf←c090)+80)/* var←c11960 */  ) = var←c12696;
   (void) XR←ImportProcS(var←c12696, 67633666);
   (void) XR←ImportProcS(var←c12696, 67900419);
   (void) XR←ImportProcS(var←c12696, 67898627);
   (void) XR←ImportProcS(var←c12696, 67634434);
   (void) XR←ImportProcS(var←c12696, 67373825);
   (void) XR←ImportProcS(var←c12696, 67896323);
   var←c12696 = (word) XR←ImportInterface((word) "UserProfile", (word) XR←GetTypeIndexS((word) (&string42)), 11);
   (* (( (ptr) gf←c090)+78)/* var←c11736 */  ) = var←c12696;
   (void) XR←ImportProcS(var←c12696, 67634178);
   (void) XR←ImportProcS(var←c12696, 67633922);
   (void) XR←ImportProcS(var←c12696, 67633666);
   (void) XR←ImportProcS(var←c12696, 67633410);
   (void) XR←ImportProcS(var←c12696, 67633154);
   var←c12696 = (word) XR←ImportInterface((word) "TEditInputOps", (word) XR←GetTypeIndexS((word) (&string43)), 66);
   (* (( (ptr) gf←c090)+81)/* var←c12408 */  ) = var←c12696;
   (void) XR←ImportProcS(var←c12696, 278529);
   (void) XR←ImportProcS(var←c12696, 276737);
   var←c12696 = (word) XR←ImportInterface((word) "NodeStyleOps", (word) XR←GetTypeIndexS((word) (&string44)), 23);
   (* (( (ptr) gf←c090)+79)/* var←c11864 */  ) = var←c12696;
   (void) XR←ImportProcS(var←c12696, 264705);
   (void) XR←ImportProcS(var←c12696, 264449);
   var←c12696 = (word) XR←ExportInterface((word) "TEditProfile", (word) XR←GetTypeIndexS((word) (&string45)), 19);
   (* (( (ptr) gf←c090)+82)/* var←c12728 */  ) = var←c12696;
   (void) XR←ExportVar(var←c12696, 0, (word) (( (bPt) gf←c090)+64)/* userCategory←v3112 */ );
   (void) XR←ExportVar(var←c12696, 1, (word) (( (bPt) gf←c090)+68)/* sourceExtensions←v3140 */ );
   (void) XR←ExportVar(var←c12696, 2, (word) (( (bPt) gf←c090)+72)/* implExtensions←v3168 */ );
   (void) XR←ExportProcS(var←c12696, (word) (( (bPt) gf←c090)+296)/* var←c11672 */ , 768);
   (void) XR←ExportVar(var←c12696, 4, (word) (( (bPt) gf←c090)+16)/* menu1←v2776 */ );
   (void) XR←ExportVar(var←c12696, 5, (word) (( (bPt) gf←c090)+20)/* menu2←v2804 */ );
   (void) XR←ExportVar(var←c12696, 6, (word) (( (bPt) gf←c090)+24)/* menu3←v2832 */ );
   (void) XR←ExportVar(var←c12696, 7, (word) (( (bPt) gf←c090)+28)/* openFirstLevelOnly←v2860 */ );
   (void) XR←ExportVar(var←c12696, 8, (word) (( (bPt) gf←c090)+52)/* showUnsavedDocumentsList←v3028 */ );
   (void) XR←ExportVar(var←c12696, 9, (word) (( (bPt) gf←c090)+32)/* wordPunctuation←v2888 */ );
   (void) XR←ExportVar(var←c12696, 10, (word) (( (bPt) gf←c090)+36)/* editTypeScripts←v2916 */ );
   (void) XR←ExportVar(var←c12696, 11, (word) (( (bPt) gf←c090)+40)/* scrollTopOffset←v2944 */ );
   (void) XR←ExportVar(var←c12696, 12, (word) (( (bPt) gf←c090)+44)/* scrollBottomOffset←v2972 */ );
   (void) XR←ExportVar(var←c12696, 13, (word) (( (bPt) gf←c090)+48)/* ySelectFudge←v3000 */ );
   (void) XR←ExportVar(var←c12696, 14, (word) (( (bPt) gf←c090)+56)/* unsavedDocumentCacheSize←v3056 */ );
   (void) XR←ExportVar(var←c12696, 15, (word) (( (bPt) gf←c090)+60)/* selectionCaret←v3084 */ );
   (void) XR←ExportVar(var←c12696, 16, (word) (( (bPt) gf←c090)+76)/* tryVersionMap←v3196 */ );
   (void) XR←ExportProcS(var←c12696, (word) (( (bPt) gf←c090)+240)/* var←c11448 */ , 135008515);
   (void) XR←ExportProcS(var←c12696, (word) (( (bPt) gf←c090)+232)/* var←c11416 */ , 791043);
   }

static void TEditProfileImpl←P0(formal←c036, formal←c035)
   word formal←c036;
   word formal←c035;
   {
   /* TEditProfileImpl: */ 
SOURCE(354, 4881)
SOURCE(5181, 13)
   (void) ReadProfile←P60();
SOURCE(5196, 15)
   (void) PreloadStyles←P360();
SOURCE(5213, 22)
   (void) PreloadAbbreviations←P420();
   }

static void ReadProfile←P60()
   {
   register ptr gf←c12760 =  (ptr) &globalframe;
   /* ReadProfile: */ 
SOURCE(1168, 1034)
SOURCE(1197, 76)
   {
      word pd46;
      pd46 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+4) );
      (* (( (ptr) gf←c12760)+8)/* wordPunctuation←v2888 */  ) = (word) ( *( (fPt) ((*  (ptr) pd46 ))))((* (( (ptr) gf←c12760)+48)
          ), 0, pd46);
      };
SOURCE(1275, 68)
   {
      word pd47;
      pd47 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+4) );
      (* (( (ptr) gf←c12760)+9)/* editTypeScripts←v2916 */  ) = (word) ( *( (fPt) ((*  (ptr) pd47 ))))((* (( (ptr) gf←c12760)+24)
          ), 1, pd47);
      };
SOURCE(1345, 75)
   {
      word pd48;
      pd48 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+4) );
      (* (( (ptr) gf←c12760)+7)/* openFirstLevelOnly←v2860 */  ) = (word) ( *( (fPt) ((*  (ptr) pd48 ))))((* (( (ptr) gf←c12760)+25)
          ), 0, pd48);
      };
SOURCE(1422, 64)
   {
      word pd49;
      pd49 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+5) );
      (* (( (ptr) gf←c12760)+10)/* scrollTopOffset←v2944 */  ) = (word) ( *( (fPt) ((*  (ptr) pd49 ))))((* (( (ptr) gf←c12760)+26)
          ), 2, pd49);
      };
SOURCE(1488, 70)
   {
      word pd50;
      pd50 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+5) );
      (* (( (ptr) gf←c12760)+11)/* scrollBottomOffset←v2972 */  ) = (word) ( *( (fPt) ((*  (ptr) pd50 ))))((* (( (ptr) gf←c12760)+27)
          ), 2, pd50);
      };
SOURCE(1560, 58)
   {
      word pd51;
      pd51 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+5) );
      (* (( (ptr) gf←c12760)+12)/* ySelectFudge←v3000 */  ) = (word) ( *( (fPt) ((*  (ptr) pd51 ))))((* (( (ptr) gf←c12760)+28)
          ), 2, pd51);
      };
SOURCE(1620, 86)
   {
      word pd52;
      pd52 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+4) );
      (* (( (ptr) gf←c12760)+13)/* showUnsavedDocumentsList←v3028 */  ) = (word) ( *( (fPt) ((*  (ptr) pd52 ))))((* (( (ptr) gf←c12760)+29)
          ), 1, pd52);
      };
SOURCE(1708, 83)
   {
      word pd53;
      pd53 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+5) );
      (* (( (ptr) gf←c12760)+14)/* unsavedDocumentCacheSize←v3056 */  ) = (word) ( *( (fPt) ((*  (ptr) pd53 ))))((* (( (ptr) gf←c12760)+30)
          ), 4, pd53);
      };
SOURCE(1793, 68)
   {
      word var←c11768;
      {
         word pd54;
         pd54 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+6) );
         var←c11768 = (word) ( *( (fPt) ((*  (ptr) pd54 ))))((* (( (ptr) gf←c12760)+31) ), (* (( (ptr) gf←c12760)+32) ), pd54);
         };
      (void) SetUserCategory←P300(var←c11768);
      };
SOURCE(1863, 71)
   {
      word var←c11800;
      {
         word pd55;
         pd55 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+6) );
         var←c11800 = (word) ( *( (fPt) ((*  (ptr) pd55 ))))((* (( (ptr) gf←c12760)+33) ), (* (( (ptr) gf←c12760)+34) ), pd55);
         };
      (void) SetSelectionCaret←P240(var←c11800);
      };
SOURCE(1936, 16)
   (void) ReadExtensions←P180();
SOURCE(1954, 18)
   (void) ReadMenuDefaults←P120();
SOURCE(1974, 78)
   {
      word var←c11832;
      {
         word pd56;
         pd56 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+6) );
         var←c11832 = (word) ( *( (fPt) ((*  (ptr) pd56 ))))((* (( (ptr) gf←c12760)+35) ), (* (( (ptr) gf←c12760)+36) ), pd56);
         };
      {
         word pd57;
         pd57 = (* (( (ptr) (* (( (ptr) gf←c12760)+79)/* var←c11864 */  ))+13) );
         (void) ( *( (fPt) ((*  (ptr) pd57 ))))(var←c11832, pd57);
         };
      };
SOURCE(2054, 82)
   {
      word var←c11896;
      {
         word pd58;
         pd58 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+7) );
         var←c11896 = (word) ( *( (fPt) ((*  (ptr) pd58 ))))((* (( (ptr) gf←c12760)+37) ), 0, pd58);
         };
      {
         word pd59;
         pd59 = (* (( (ptr) (* (( (ptr) gf←c12760)+79)/* var←c11864 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd59 ))))(var←c11896, pd59);
         };
      };
SOURCE(2138, 64)
   {
      word pd60;
      pd60 = (* (( (ptr) (* (( (ptr) gf←c12760)+78)/* var←c11736 */  ))+4) );
      (* (( (ptr) gf←c12760)+19)/* tryVersionMap←v3196 */  ) = (word) ( *( (fPt) ((*  (ptr) pd60 ))))((* (( (ptr) gf←c12760)+38)
          ), 1, pd60);
      };
   }

static void ReadMenuDefaults←P120()
   {
   W7 var←c12792;
   register ptr gf←c12824 =  (ptr) &globalframe;
   /* declaration of var←c11928 skipped */ 
   /* declaration of num←v4144 skipped */ 
   /* ReadMenuDefaults: */ 
SOURCE(2208, 450)
   {
      word tmpAddr61;
      tmpAddr61 = (word) (( (ptr) &var←c12792)+4)/* var←c11928 */ ;
      (*  (ptr) tmpAddr61 ) = ( ((word)  (fPt) DefaultMenu←P600) );
      (* (( (ptr) tmpAddr61) + 1) ) = 1;
      };
SOURCE(2235, 16)
   var←c12792.f6/* num←v4144 */  = 1;
SOURCE(2572, 28)
   (* (( (ptr) gf←c12824)+6)/* menu3←v2832 */  ) = 0;
   (* (( (ptr) gf←c12824)+5)/* menu2←v2804 */  ) = 0;
   (* (( (ptr) gf←c12824)+4)/* menu1←v2776 */  ) = 0;
SOURCE(2602, 56)
   (void) DoList←P540((* (( (ptr) gf←c12824)+39) ), (word) (( (bPt) &var←c12792)+16)/* var←c11928 */ , (* (( (ptr) gf←c12824)+40)
       ));
   }

static void DefaultMenu←P600(rope←v4248, formal←c12888)
   word rope←v4248;
   word formal←c12888;
   {
   register ptr gf←c12856 =  (ptr) &globalframe;
   word which←v4276;
   formal←c12888 = (formal←c12888 - 16);
   /* DefaultMenu: */ 
SOURCE(2253, 316)
SOURCE(2288, 145)
   {
      word tc62;
      word pd63;
      word pd64;
      pd63 = (* (( (ptr) (* (( (ptr) gf←c12856)+80)/* var←c11960 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd63 ))))(rope←v4248, (* (( (ptr) gf←c12856)+41) ), 0, pd63))) {
         tc62 =  (word) 1;
         }
      else {
         pd64 = (* (( (ptr) (* (( (ptr) gf←c12856)+80)/* var←c11960 */  ))+8) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd64 ))))(rope←v4248, (* (( (ptr) gf←c12856)+42) ), 0, pd64))) {
            tc62 =  (word) 2;
            }
         else {
            tc62 =  (word) 0;
            };
         };
      which←v4276 = tc62;
      };
SOURCE(2435, 25)
   if ((which←v4276 == 0)) {
SOURCE(2454, 6)
      return;
      };
SOURCE(2462, 93)
   {
      word var←c11992;
      var←c11992 = (* (( (ptr) formal←c12888)+6) );
      switch (var←c11992) {
         case 1: 
SOURCE(2483, 13)
            (* (( (ptr) gf←c12856)+4)/* menu1←v2776 */  ) = which←v4276;
            break;
         case 2: 
SOURCE(2503, 13)
            (* (( (ptr) gf←c12856)+5)/* menu2←v2804 */  ) = which←v4276;
            break;
         case 3: 
SOURCE(2523, 13)
            (* (( (ptr) gf←c12856)+6)/* menu3←v2832 */  ) = which←v4276;
            break;
         default: 
SOURCE(2549, 6)
            return;
         };
      };
SOURCE(2557, 12)
   (* (( (ptr) formal←c12888)+6) ) = ((* (( (ptr) formal←c12888)+6) ) + 1);
   }

static void ReadExtensions←P180()
   {
   W10 var←c12920;
   register ptr gf←c12952 =  (ptr) &globalframe;
   /* declaration of var←c12024 skipped */ 
   /* declaration of var←c12056 skipped */ 
   /* declaration of var←c12088 skipped */ 
   /* ReadExtensions: */ 
SOURCE(2664, 832)
   {
      word tmpAddr65;
      tmpAddr65 = (word) (( (ptr) &var←c12920)+4)/* var←c12024 */ ;
      (*  (ptr) tmpAddr65 ) = ( ((word)  (fPt) AddImplExt←P780) );
      (* (( (ptr) tmpAddr65) + 1) ) = 1;
      };
   {
      word tmpAddr66;
      tmpAddr66 = (word) (( (ptr) &var←c12920)+6)/* var←c12056 */ ;
      (*  (ptr) tmpAddr66 ) = ( ((word)  (fPt) AddExt←P720) );
      (* (( (ptr) tmpAddr66) + 1) ) = 1;
      };
   {
      word tmpAddr67;
      tmpAddr67 = (word) (( (ptr) &var←c12920)+8)/* var←c12088 */ ;
      (*  (ptr) tmpAddr67 ) = ( ((word)  (fPt) RemoveLeadingDot←P660) );
      (* (( (ptr) tmpAddr67) + 1) ) = 1;
      };
SOURCE(3310, 39)
   (* (( (ptr) gf←c12952)+18)/* implExtensions←v3168 */  ) = 0;
   (* (( (ptr) gf←c12952)+17)/* sourceExtensions←v3140 */  ) = 0;
SOURCE(3351, 77)
   (void) DoList←P540((* (( (ptr) gf←c12952)+43) ), (word) (( (bPt) &var←c12920)+24)/* var←c12056 */ , (* (( (ptr) gf←c12952)+44)
       ));
SOURCE(3430, 54)
   (void) DoList←P540((* (( (ptr) gf←c12952)+45) ), (word) (( (bPt) &var←c12920)+16)/* var←c12024 */ , (* (( (ptr) gf←c12952)+46)
       ));
SOURCE(3486, 10)
   (void) AddExt←P720((* (( (ptr) gf←c12952)+47) ), (word) (( (bPt) &var←c12920)+24)/* var←c12056 */ );
   }

static word RemoveLeadingDot←P660(ext←v4452, formal←c13016)
   word ext←v4452;
   word formal←c13016;
   {
   register ptr gf←c12984 =  (ptr) &globalframe;
   word var←c4496;
   formal←c13016 = (formal←c13016 - 32);
   /* RemoveLeadingDot: */ 
SOURCE(2689, 130)
SOURCE(2741, 78)
   {
      word tc68;
      word pd69;
      word pd70;
      word pd71;
      pd69 = (* (( (ptr) (* (( (ptr) gf←c12984)+80)/* var←c11960 */  ))+15) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd69 ))))(ext←v4452, pd69) >  (int)0)) {
         pd70 = (* (( (ptr) (* (( (ptr) gf←c12984)+80)/* var←c11960 */  ))+9) );
         tc68 =  (word) ((word) ( *( (fPt) ((*  (ptr) pd70 ))))(ext←v4452, 0, pd70) == 46);
         }
      else {
         tc68 =  (word) 0;
         };
      if (tc68) {
         pd71 = (* (( (ptr) (* (( (ptr) gf←c12984)+80)/* var←c11960 */  ))+17) );
         return((word) ( *( (fPt) ((*  (ptr) pd71 ))))(ext←v4452, 1, 2147483647, pd71));
         }
      else {
         return(ext←v4452);
         };
      };
   }

static void AddExt←P720(ext←v4556, formal←c13080)
   word ext←v4556;
   word formal←c13080;
   {
   register ptr gf←c13048 =  (ptr) &globalframe;
   formal←c13080 = (formal←c13080 - 24);
   /* AddExt: */ 
SOURCE(2824, 229)
SOURCE(2853, 27)
   ext←v4556 = (word) RemoveLeadingDot←P660(ext←v4556, (word) (( (bPt) formal←c13080)+32));
SOURCE(2882, 171)
   if (((* (( (ptr) gf←c13048)+17)/* sourceExtensions←v3140 */  ) == 0)) {
SOURCE(2911, 34)
      {
         word var←c12152;
         word var←c12184;
         var←c12152 = XR←NewObject(8, (* (( (ptr) gf←c13048)+23) ));
         var←c12184 = var←c12152;
         (*  (ptr) var←c12184 ) = ext←v4556;
         (* (( (ptr) gf←c13048)+17)/* sourceExtensions←v3140 */  ) = var←c12152;
         };
      }
   else {
SOURCE(2945, 108)
      {
         register word lst←v4644;
         lst←v4644 = (* (( (ptr) gf←c13048)+17)/* sourceExtensions←v3140 */  );
         lab←L100003: ;
SOURCE(2999, 54)
         if (((* (( (ptr) lst←v4644)+1) ) == 0)) {
SOURCE(3024, 20)
            {
               word var←c12216;
               word var←c12248;
               var←c12216 = XR←NewObject(8, (* (( (ptr) gf←c13048)+23) ));
               var←c12248 = var←c12216;
               (*  (ptr) var←c12248 ) = ext←v4556;
               (* (( (ptr) lst←v4644)+1) ) = var←c12216;
               };
SOURCE(3046, 7)
            return;
            };
         lst←v4644 = (* (( (ptr) lst←v4644)+1) );
         goto lab←L100003;
         };
      };
   }

static void AddImplExt←P780(ext←v4616, formal←c13144)
   word ext←v4616;
   word formal←c13144;
   {
   register ptr gf←c13112 =  (ptr) &globalframe;
   formal←c13144 = (formal←c13144 - 16);
   /* AddImplExt: */ 
SOURCE(3068, 227)
SOURCE(3101, 27)
   ext←v4616 = (word) RemoveLeadingDot←P660(ext←v4616, (word) (( (bPt) formal←c13144)+32));
SOURCE(3130, 165)
   if (((* (( (ptr) gf←c13112)+18)/* implExtensions←v3168 */  ) == 0)) {
SOURCE(3157, 32)
      {
         word var←c12280;
         word var←c12312;
         var←c12280 = XR←NewObject(8, (* (( (ptr) gf←c13112)+23) ));
         var←c12312 = var←c12280;
         (*  (ptr) var←c12312 ) = ext←v4616;
         (* (( (ptr) gf←c13112)+18)/* implExtensions←v3168 */  ) = var←c12280;
         };
      }
   else {
SOURCE(3189, 106)
      {
         register word lst←v4772;
         lst←v4772 = (* (( (ptr) gf←c13112)+18)/* implExtensions←v3168 */  );
         lab←L100007: ;
SOURCE(3241, 54)
         if (((* (( (ptr) lst←v4772)+1) ) == 0)) {
SOURCE(3266, 20)
            {
               word var←c12344;
               word var←c12376;
               var←c12344 = XR←NewObject(8, (* (( (ptr) gf←c13112)+23) ));
               var←c12376 = var←c12344;
               (*  (ptr) var←c12376 ) = ext←v4616;
               (* (( (ptr) lst←v4772)+1) ) = var←c12344;
               };
SOURCE(3288, 7)
            return;
            };
         lst←v4772 = (* (( (ptr) lst←v4772)+1) );
         goto lab←L100007;
         };
      };
   }

static void SetSelectionCaret←P240(rope←v3660)
   word rope←v3660;
   {
   register ptr gf←c13176 =  (ptr) &globalframe;
   /* SetSelectionCaret: */ 
SOURCE(3502, 177)
SOURCE(3543, 136)
   {
      word pd72;
      word pd73;
      pd72 = (* (( (ptr) (* (( (ptr) gf←c13176)+80)/* var←c11960 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd72 ))))(rope←v3660, (* (( (ptr) gf←c13176)+49) ), 0, pd72))) {
         (* (( (ptr) gf←c13176)+15)/* selectionCaret←v3084 */  ) = 0;
         }
      else {
         pd73 = (* (( (ptr) (* (( (ptr) gf←c13176)+80)/* var←c11960 */  ))+8) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd73 ))))(rope←v3660, (* (( (ptr) gf←c13176)+50) ), 0, pd73))) {
            (* (( (ptr) gf←c13176)+15)/* selectionCaret←v3084 */  ) = 1;
            }
         else {
            (* (( (ptr) gf←c13176)+15)/* selectionCaret←v3084 */  ) = 2;
            };
         };
      };
   }

static void SetUserCategory←P300(rope←v3720)
   word rope←v3720;
   {
   register ptr gf←c13208 =  (ptr) &globalframe;
   /* SetUserCategory: */ 
SOURCE(3685, 286)
SOURCE(3724, 247)
   {
      word pd75;
      word pd76;
      word pd77;
      word pd78;
      pd75 = (* (( (ptr) (* (( (ptr) gf←c13208)+80)/* var←c11960 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd75 ))))(rope←v3720, (* (( (ptr) gf←c13208)+51) ), 0, pd75))) {
         (* (( (ptr) gf←c13208)+16)/* userCategory←v3112 */  ) = 3;
         goto endif074;
         };
      pd76 = (* (( (ptr) (* (( (ptr) gf←c13208)+80)/* var←c11960 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd76 ))))(rope←v3720, (* (( (ptr) gf←c13208)+32) ), 0, pd76))) {
         (* (( (ptr) gf←c13208)+16)/* userCategory←v3112 */  ) = 2;
         goto endif074;
         };
      pd77 = (* (( (ptr) (* (( (ptr) gf←c13208)+80)/* var←c11960 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd77 ))))(rope←v3720, (* (( (ptr) gf←c13208)+52) ), 0, pd77))) {
         (* (( (ptr) gf←c13208)+16)/* userCategory←v3112 */  ) = 1;
         goto endif074;
         };
      pd78 = (* (( (ptr) (* (( (ptr) gf←c13208)+80)/* var←c11960 */  ))+8) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd78 ))))(rope←v3720, (* (( (ptr) gf←c13208)+53) ), 0, pd78))) {
         (* (( (ptr) gf←c13208)+16)/* userCategory←v3112 */  ) = 0;
         goto endif074;
         };
      (* (( (ptr) gf←c13208)+16)/* userCategory←v3112 */  ) = 1;
      goto endif074;
      endif074: ;
      };
   }

static void PreloadStyles←P360()
   {
   register ptr gf←c13240 =  (ptr) &globalframe;
   /* PreloadStyles: */ 
SOURCE(3977, 77)
SOURCE(4001, 53)
   (void) DoList←P540((* (( (ptr) gf←c13240)+54) ), (* (( (ptr) (* (( (ptr) gf←c13240)+81)/* var←c12408 */  ))+61) ), 0);
   }

static void PreloadAbbreviations←P420()
   {
   register ptr gf←c13272 =  (ptr) &globalframe;
   /* PreloadAbbreviations: */ 
SOURCE(4060, 93)
SOURCE(4091, 62)
   (void) DoList←P540((* (( (ptr) gf←c13272)+55) ), (* (( (ptr) (* (( (ptr) gf←c13272)+81)/* var←c12408 */  ))+68) ), 0);
   }

static void GetToken←P480(formal←c077, rope←v3812, offset←v3840, thruEnd←v3868)
   word formal←c077;
   word rope←v3812;
   word offset←v3840;
   word thruEnd←v3868;
   {
   W6 var←c13304;
   register ptr gf←c13336 =  (ptr) &globalframe;
   word token←v3912;
   word newOffset←v3940;
   /* declaration of var←c12440 skipped */ 
   word size←v4900;
   word start←v4928;
   /* GetToken: */ 
SOURCE(4159, 611)
   {
      word tmpAddr79;
      tmpAddr79 = (word) (( (ptr) &var←c13304)+4)/* var←c12440 */ ;
      (*  (ptr) tmpAddr79 ) = ( ((word)  (fPt) Sep←P936) );
      (* (( (ptr) tmpAddr79) + 1) ) = 1;
      };
SOURCE(4159, 611)
   token←v3912 = 0;
SOURCE(4276, 27)
   {
      word pd80;
      pd80 = (* (( (ptr) (* (( (ptr) gf←c13336)+80)/* var←c11960 */  ))+15) );
      size←v4900 = (word) ( *( (fPt) ((*  (ptr) pd80 ))))(rope←v3812, pd80);
      };
SOURCE(4455, 39)
   if (( (int)offset←v3840 >=  (int)size←v4900)) {
SOURCE(4476, 18)
      token←v3912 = (* (( (ptr) gf←c13336)+47) );
      newOffset←v3940 = offset←v3840;
      goto lab←L100008;
      };
SOURCE(4496, 72)
   {
      word var←c12504;
      lab←L100011: ;
      {
         word tc81;
         if (( (int)offset←v3840 <  (int)size←v4900)) {
            {
               word pd82;
               pd82 = (* (( (ptr) (* (( (ptr) gf←c13336)+80)/* var←c11960 */  ))+9) );
               var←c12504 = (word) ( *( (fPt) ((*  (ptr) pd82 ))))(rope←v3812, offset←v3840, pd82);
               };
            tc81 =  (word) (0 != (word) Sep←P936(var←c12504, (word) (( (bPt) &var←c13304)+16)/* var←c12440 */ ));
            }
         else {
            tc81 =  (word) 0;
            };
         if (tc81) {
            }
         else {
            goto lab←L100009;
            };
         };
SOURCE(4551, 17)
      offset←v3840 = (offset←v3840 + 1);
      goto lab←L100011;
      lab←L100009: ;
      };
SOURCE(4579, 14)
   start←v4928 = offset←v3840;
SOURCE(4595, 84)
   lab←L100014: ;
   if (( (int)offset←v3840 <  (int)size←v4900)) {
      }
   else {
      goto lab←L100012;
      };
   {
      word var←c12536;
SOURCE(4618, 38)
      {
         word pd83;
         pd83 = (* (( (ptr) (* (( (ptr) gf←c13336)+80)/* var←c11960 */  ))+9) );
         var←c12536 = (word) ( *( (fPt) ((*  (ptr) pd83 ))))(rope←v3812, offset←v3840, pd83);
         };
      if ((0 != (word) Sep←P936(var←c12536, (word) (( (bPt) &var←c13304)+16)/* var←c12440 */ ))) {
SOURCE(4656, 4)
         goto lab←L100013;
         };
SOURCE(4662, 17)
      offset←v3840 = (offset←v3840 + 1);
      };
   goto lab←L100014;
   lab←L100012: ;
   lab←L100013: ;
SOURCE(4690, 80)
   {
      word var←c12600;
      {
         word pd84;
         pd84 = (* (( (ptr) (* (( (ptr) gf←c13336)+80)/* var←c11960 */  ))+17) );
         var←c12600 = (word) ( *( (fPt) ((*  (ptr) pd84 ))))(rope←v3812, start←v4928,  ( (0 != thruEnd←v3868) ? size←v4900 : (offset←v3840 - start←v4928) ) , pd84)
         ;
         };
      token←v3912 = var←c12600;
      newOffset←v3940 = offset←v3840;
      /* removed tail goto */ 
      };
   lab←L100008: ;
   (*  (ptr) formal←c077 ) = token←v3912;
   (* (( (ptr) formal←c077)+1) ) = newOffset←v3940;
   return;
   }

static word Sep←P936(c←v5032, formal←c13368)
   word c←v5032;
   word formal←c13368;
   {
   word var←c5076;
   formal←c13368 = (formal←c13368 - 16);
   /* Sep: */ 
SOURCE(4318, 131)
SOURCE(4357, 92)
   {
      word var←c12632;
      var←c12632 = c←v5032;
      switch (var←c12632) {
         case 32: case 44: case 9: case 13: case 10: case 0: 
            return(1);
         default: 
            return(0);
         };
      };
   }

static void DoList←P540(key←v4000, proc←v4028, defaultKey←v4056)
   word key←v4000;
   word proc←v4028;
   word defaultKey←v4056;
   {
   register ptr gf←c13400 =  (ptr) &globalframe;
   word names←v5104;
   word offset←v5132 = 0;
   word sKey←v5160;
   /* DoList: */ 
SOURCE(4776, 390)
SOURCE(4855, 24)
   names←v5104 = defaultKey←v4056;
SOURCE(4898, 26)
   {
      word pd85;
      pd85 = (* (( (ptr) (* (( (ptr) gf←c13400)+80)/* var←c11960 */  ))+15) );
      sKey←v5160 = (word) ( *( (fPt) ((*  (ptr) pd85 ))))(key←v4000, pd85);
      };
SOURCE(4926, 134)
   if (( (int)sKey←v5160 !=  (int)0)) {
SOURCE(4945, 72)
      {
         word pd86;
         pd86 = (* (( (ptr) (* (( (ptr) gf←c13400)+80)/* var←c11960 */  ))+24) );
         if (( (int)sKey←v5160 ==  (int)(word) ( *( (fPt) ((*  (ptr) pd86 ))))(key←v4000, 0, (* (( (ptr) gf←c13400)+56) ), pd86))) {
SOURCE(4985, 32)
            {
               word pd87;
               pd87 = (* (( (ptr) (* (( (ptr) gf←c13400)+80)/* var←c11960 */  ))+6) );
               key←v4000 = (word) ( *( (fPt) ((*  (ptr) pd87 ))))((* (( (ptr) gf←c13400)+57) ), key←v4000, pd87);
               };
            };
         };
SOURCE(5019, 41)
      {
         word pd88;
         pd88 = (* (( (ptr) (* (( (ptr) gf←c13400)+78)/* var←c11736 */  ))+8) );
         names←v5104 = (word) ( *( (fPt) ((*  (ptr) pd88 ))))(key←v4000, defaultKey←v4056, pd88);
         };
      };
SOURCE(5065, 101)
   lab←L100017: ;
SOURCE(5065, 101)
   {
      word name←v5204 = 0;
SOURCE(5080, 40)
      {
         W2 var←c12664;
         (void) GetToken←P480((word) &var←c12664, names←v5104, offset←v5132, 0);
         offset←v5132 = var←c12664.f1;
         name←v5204 = var←c12664.f0;
         };
SOURCE(5122, 28)
      {
         word pd89;
         pd89 = (* (( (ptr) (* (( (ptr) gf←c13400)+80)/* var←c11960 */  ))+15) );
         if (( (int)(word) ( *( (fPt) ((*  (ptr) pd89 ))))(name←v5204, pd89) ==  (int)0)) {
SOURCE(5150, 4)
            goto lab←L100016;
            };
         };
SOURCE(5156, 10)
      (void) ( *( (fPt) ((*  (ptr) proc←v4028 ))))(name←v5204, proc←v4028);
      };
   goto lab←L100017;
   lab←L100016: ;
   }

/* file: TEditProfileImpl, module: TEditProfileImpl, compiled at: February 27, 1992 6:01:13 pm PST */ 
extern void XR←install←TEditProfileImpl() {
   NoName←Q1044();
   }
extern void XR←run←TEditProfileImpl() { XR←Start(&globalframe); }