/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1993 by Xerox Corporation.  All rights reserved. */
/* time: August 19, 1993 12:09:09 pm PDT */
/* C2C version: April 20, 1993 (sun4) */
/* ref-counting: off */
/* file: XTkStreamWidgetsImpl, module: XTkStreamWidgetsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1816519641,949122864] XTkStreamWidgetsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {word f0, f1, f2;} W3;
typedef struct {W16 f; W3 r;} W19;
typedef word (*fPt)();
typedef struct {W8 f; word r;} W9;
typedef struct {W16 f; W9 r;} W25;
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef struct {W8 f; W3 r;} W11;
typedef struct {word f0, f1, f2, f3, f4;} W5;
#define SOURCE(p, l) /* source p, l */
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static void NoName←Q2076();
static void XTkStreamWidgetsImpl←P0();
static void SetWindowSize←P60();
static void HomePos←P120();
static void PosAndIncrement←P180();
static void UnflushedOutChar←P240();
static void NewLine←P300();
static word AdvanceLine←P360();
static void OutputTextWindowStreamPutChar←P420();
static word NoName←Q2136();
static void OutputTextWindowStreamPutBlock←P480();
static word NoName←Q2196();
static word Action←P1272();
static void OutputTextWindowStreamEraseChar←P540();
static word NiceOpenFont←P660();
static word NoName←Q2256();
static void Configure←P720();
static void ForgetScreen←P780();
static void StreamInitInstPart←P840();
static word CreateStreamWidget←P900();
static word CreateStream←P960();
static void BindStream←P1020();
static void NoName←Q2316();
static void NoName←Q2376();
static void NoName←Q2436();
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 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\154\105\343\331\300\070\222\167\060\101\004\000\000"};
static struct {unsigned f; char r[12];} string5 = {720907, "\006\004\000\001\004\001\010\001\100\104\001"};
static struct {unsigned f; char r[12];} string6 = {655372, "Typescript\000"};
static struct {unsigned f; char r[16];} string7 = {786448, "StreamWidget\000\000\000"};
static struct {unsigned f; char r[8];} string8 = {458760, "XlTexts"};
static struct {unsigned f; char r[8];} string9 = {262152, "8x13\000\000\000"};
static struct {unsigned f; char r[8];} string10 = {262152, "6x13\000\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "\257\300\154\105\343\331\300\070\222\167\060\100\164\000\000"};
static struct {unsigned f; char r[12];} string12 = {655370, "\006\003\040\001\044\001\100\100\004\037\000"};
static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\176\205\123\106\300\155\262\343\054\100\150\000\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\015\277\004\146\300\034\367\146\045\100\164\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\072\360\043\311\300\372\054\163\300\100\150\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\213\047\253\045\300\271\243\347\012\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\227\370\144\253\300\176\165\034\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\255\065\245\005\300\213\277\037\112\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\124\033\101\211\300\047\113\007\205\100\150\000\000"};
static struct {
   word f0[21]; word f21; word f22; word f23; 
   word f24; word f25; word f26; word f27; 
   word f28; word f29; word f30; word f31; 
   word f32; word f33; word f34; word f35; 
   word f36; word f37; word f38; word f39; 
   word f40; word f41; word f42; word f43; 
   word f44; word f45; word f46; word f47; 
   word f48; word f49; word f50; word f51; 
   word f52; word f53; word f54[11]; 
   } globalframe = {
   {0}, (word) BindStream←P1020, 0, (word) CreateStream←P960, 
   0, (word) CreateStreamWidget←P900, 0, (word) StreamInitInstPart←P840, 
   0, (word) ForgetScreen←P780, 0, (word) Configure←P720, 
   0, (word) NiceOpenFont←P660, 0, (word) OutputTextWindowStreamEraseChar←P540, 
   0, (word) OutputTextWindowStreamPutBlock←P480, 0, (word) OutputTextWindowStreamPutChar←P420, 
   0, (word) AdvanceLine←P360, 0, (word) NewLine←P300, 
   0, (word) UnflushedOutChar←P240, 0, (word) PosAndIncrement←P180, 
   0, (word) HomePos←P120, 0, (word) SetWindowSize←P60, 
   0, (word) XTkStreamWidgetsImpl←P0, {0}
   };

static void NoName←Q2076()
   {
   register ptr gf←c0144 =  (ptr) &globalframe;
   word var←c29296;
   (* (( (ptr) gf←c0144)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0144)+11) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
   (* (( (ptr) gf←c0144)+14) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (*  (ptr) (( (bPt) gf←c0144)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0144)+10) ), (word) &string6);
   (*  (ptr) (( (bPt) gf←c0144)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0144)+10) ), (word) &string7);
   (*  (ptr) (( (bPt) gf←c0144)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0144)+10) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c0144)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0144)+11) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c0144)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0144)+11) ), (word) &string10);
   (void) XR←DeclareGlobalFrame((word) "XTkStreamWidgetsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string11, 0, (word) &string12)
      , (word) (( (bPt) gf←c0144)+212)/* var←c28336 */ );
   var←c29296 = (word) XR←ImportInterface((word) "FanoutStream", (word) XR←GetTypeIndexS((word) (&string13)), 3);
   (* (( (ptr) gf←c0144)+63)/* var←c29232 */  ) = var←c29296;
   (void) XR←ImportProcS(var←c29296, 524546);
   (void) XR←ImportProcS(var←c29296, 67633154);
   var←c29296 = (word) XR←ImportInterface((word) "IO", (word) XR←GetTypeIndexS((word) (&string14)), 103);
   (* (( (ptr) gf←c0144)+55)/* var←c28368 */  ) = var←c29296;
   (void) XR←ImportProcS(var←c29296, 67921155);
   (void) XR←ImportProcS(var←c29296, 72115219);
   var←c29296 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string15)), 218);
   (* (( (ptr) gf←c0144)+57)/* var←c28560 */  ) = var←c29296;
   (void) XR←ImportProcS(var←c29296, 563458);
   (void) XR←ImportProcS(var←c29296, 560386);
   (void) XR←ImportProcS(var←c29296, 560130);
   (void) XR←ImportProcS(var←c29296, 67668226);
   (void) XR←ImportProcS(var←c29296, 67658498);
   (void) XR←ImportProcS(var←c29296, 67919875);
   (void) XR←ImportProcS(var←c29296, 534274);
   (void) XR←ImportProcS(var←c29296, 2925320);
   (void) XR←ImportProcS(var←c29296, 1878790);
   (void) XR←ImportProcS(var←c29296, 2138630);
   var←c29296 = (word) XR←ImportInterface((word) "XlCursor", (word) XR←GetTypeIndexS((word) (&string16)), 3);
   (* (( (ptr) gf←c0144)+60)/* var←c29072 */  ) = var←c29296;
   (void) XR←ImportProcS(var←c29296, 67633410);
   var←c29296 = (word) XR←ImportInterface((word) "XlFontOps", (word) XR←GetTypeIndexS((word) (&string17)), 2);
   (* (( (ptr) gf←c0144)+61)/* var←c29104 */  ) = var←c29296;
   (void) XR←ImportProcS(var←c29296, 67371009);
   var←c29296 = (word) XR←ImportInterface((word) "XTk", (word) XR←GetTypeIndexS((word) (&string18)), 50);
   (* (( (ptr) gf←c0144)+62)/* var←c29200 */  ) = var←c29296;
   (void) XR←ImportProcS(var←c29296, 69992451);
   var←c29296 = (word) XR←ImportInterface((word) "XTkFriends", (word) XR←GetTypeIndexS((word) (&string19)), 33);
   (* (( (ptr) gf←c0144)+56)/* var←c28432 */  ) = var←c29296;
   (void) XR←ImportProcS(var←c29296, 2102532);
   (void) XR←ImportProcS(var←c29296, 73666049);
   var←c29296 = (word) XR←ImportInterface((word) "XTkPrivate", (word) XR←GetTypeIndexS((word) (&string20)), 4);
   (* (( (ptr) gf←c0144)+59)/* var←c28976 */  ) = var←c29296;
   var←c29296 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string21)), 43);
   (* (( (ptr) gf←c0144)+58)/* var←c28912 */  ) = var←c29296;
   (void) XR←ImportProcS(var←c29296, 67373313);
   (void) XR←ImportProcS(var←c29296, 68163076);
   var←c29296 = (word) XR←ExportInterface((word) "XTkStreamWidgets", (word) XR←GetTypeIndexS((word) (&string22)), 3);
   (* (( (ptr) gf←c0144)+64)/* var←c29328 */  ) = var←c29296;
   (void) XR←ExportProcS(var←c29296, (word) (( (bPt) gf←c0144)+100)/* var←c27888 */ , 69730306, (word) "CreateStreamWidget")
   ;
   (void) XR←ExportProcS(var←c29296, (word) (( (bPt) gf←c0144)+92)/* var←c27856 */ , 67371265, (word) "CreateStream");
   (void) XR←ExportProcS(var←c29296, (word) (( (bPt) gf←c0144)+84)/* var←c27824 */ , 524802, (word) "BindStream");
   }

static void XTkStreamWidgetsImpl←P0(formal←c044, formal←c040)
   word formal←c044;
   word formal←c040;
   {
   register ptr gf←c29360 =  (ptr) &globalframe;
   /* XTkStreamWidgetsImpl: */ 
SOURCE(124, 7030)
SOURCE(2201, 224)
   {
      W19 var←c041;
      (*  (ptr) (word) &var←c041 ) = 1;
      (* (( (ptr) (word) &var←c041) + 1) ) = (* (( (ptr) gf←c29360)+18) );
      (* (( (ptr) (word) &var←c041) + 2) ) = 0;
      (* (( (ptr) (word) &var←c041) + 3) ) = 0;
      (* (( (ptr) (word) &var←c041) + 4) ) = 0;
      (* (( (ptr) (word) &var←c041) + 5) ) = 0;
      (* (( (ptr) (word) &var←c041) + 6) ) = 0;
      (* (( (ptr) (word) &var←c041) + 7) ) = 0;
      (* (( (ptr) (word) &var←c041) + 8) ) = (word) (( (bPt) gf←c29360)+156)/* var←c28112 */ ;
      (* (( (ptr) (word) &var←c041) + 9) ) = (word) (( (bPt) gf←c29360)+148)/* var←c28080 */ ;
      (* (( (ptr) (word) &var←c041) + 10) ) = 0;
      (* (( (ptr) (word) &var←c041) + 11) ) = 0;
      (* (( (ptr) (word) &var←c041) + 12) ) = 0;
      (* (( (ptr) (word) &var←c041) + 13) ) = 0;
      (* (( (ptr) (word) &var←c041) + 14) ) = 0;
      (* (( (ptr) (word) &var←c041) + 15) ) = 0;
      (* (( (ptr) (word) &var←c041) + 16) ) = 0;
      (* (( (ptr) (word) &var←c041) + 17) ) = 0;
      (* (( (ptr) (word) &var←c041) + 18) ) = (word) (( (bPt) gf←c29360)+140)/* var←c28048 */ ;
      {
         word pd23;
         pd23 = (* (( (ptr) (* (( (ptr) gf←c29360)+55)/* var←c28368 */  ))+104) );
         (* (( (ptr) gf←c29360)+8)/* outputStreamProcs←v3168 */  ) = (word) ( *( (fPt) ((*  (ptr) pd23 ))))((word) (&var←c041), pd23)
         ;
         };
      };
SOURCE(3305, 209)
   {
      W25 var←c043;
      (*  (ptr) &var←c043 ) = (* (( (ptr) gf←c29360)+17) );
      (* (( (ptr) &var←c043)+1) ) = (* (( (ptr) gf←c29360)+16) );
      (* (( (ptr) &var←c043)+2) ) = 0;
      (* (( (ptr) &var←c043)+3) ) = 1;
      (* (( (ptr) &var←c043)+4) ) = 0;
      (* (( (ptr) &var←c043)+5) ) = 0;
      (* (( (ptr) &var←c043)+6) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+7) ) = (word) (( (bPt) gf←c29360)+124)/* var←c27984 */ ;
      (* (( (ptr) &var←c043)+8) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+9) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+10) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+11) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+12) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+13) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+14) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+15) ) = (word) (( (bPt) gf←c29360)+116)/* var←c27952 */ ;
      (* (( (ptr) &var←c043)+16) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+17) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+18) ) = (word) (( (bPt) gf←c29360)+108)/* var←c27920 */ ;
      (* (( (ptr) &var←c043)+19) ) = 0;
      (* (( (ptr) &var←c043)+20) ) = 0;
      (* (( (ptr) &var←c043)+21) ) = 0;
      (* (( (ptr) &var←c043)+22) ) = 0;
      (* (( (ptr) &var←c043)+23) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c043)+24) ) = XR←CheckProc(0);
      {
         word pd24;
         pd24 = (* (( (ptr) (* (( (ptr) gf←c29360)+56)/* var←c28432 */  ))+18) );
         (* (( (ptr) gf←c29360)+9)/* outputClass←v3280 */  ) = (word) ( *( (fPt) ((*  (ptr) pd24 ))))((word) (&var←c043), pd24);
         };
      };
   }

static void SetWindowSize←P60(oRef←v3612, s←v3640)
   word oRef←v3612;
   W2 s←v3640;
   {
   register ptr gf←c29392 =  (ptr) &globalframe;
   /* SetWindowSize: */ 
SOURCE(284, 96)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c29392)+16)/* LOCK←v2972 */ ));
SOURCE(348, 32)
   if ((oRef←v3612 != 0)) {
SOURCE(365, 15)
      (*  (W2Pt) (( (ptr) oRef←v3612)+3) ) = s←v3640;
      };
SOURCE(284, 96)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c29392)+16)/* LOCK←v2972 */ ));
   return;
   }

static void HomePos←P120(oRef←v3712)
   word oRef←v3712;
   {
   register ptr gf←c29424 =  (ptr) &globalframe;
   /* HomePos: */ 
SOURCE(384, 121)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c29424)+16)/* LOCK←v2972 */ ));
SOURCE(430, 75)
   if ((oRef←v3712 != 0)) {
SOURCE(449, 27)
      (* (( (ptr) oRef←v3712)+15) ) = (* (( (ptr) oRef←v3712)+6) );
SOURCE(478, 27)
      (* (( (ptr) oRef←v3712)+16) ) = (* (( (ptr) oRef←v3712)+8) );
      };
SOURCE(384, 121)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c29424)+16)/* LOCK←v2972 */ ));
   return;
   }

static void PosAndIncrement←P180(formal←c051, oRef←v3784, rr←v3812)
   word formal←c051;
   word oRef←v3784;
   word rr←v3812;
   {
   register ptr gf←c29456 =  (ptr) &globalframe;
   W2 pos←v3868;
   /* PosAndIncrement: */ 
SOURCE(514, 158)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c29456)+16)/* LOCK←v2972 */ ));
SOURCE(514, 158)
   pos←v3868.f0 = 0;
   pos←v3868.f1 = 0;
SOURCE(610, 62)
   if ((oRef←v3784 != 0)) {
SOURCE(629, 14)
      pos←v3868 = (*  (W2Pt) (( (ptr) oRef←v3784)+15) );
SOURCE(646, 26)
      (* (( (ptr) oRef←v3784)+15) ) = ((* (( (ptr) oRef←v3784)+15) ) + rr←v3812);
      };
   /* removed tail goto */ 
   (void) (XR←MonitorExit((word) (( (bPt) gf←c29456)+16)/* LOCK←v2972 */ ));
   (*  (W2Pt) formal←c051 ) = pos←v3868;
   return;
   }

static void UnflushedOutChar←P240(oRef←v3928, ch←v3956)
   word oRef←v3928;
   word ch←v3956;
   {
   register ptr gf←c29488 =  (ptr) &globalframe;
   word w←v5564;
   /* UnflushedOutChar: */ 
SOURCE(681, 743)
SOURCE(740, 27)
   w←v5564 = (*  (ptr) oRef←v3928 );
SOURCE(769, 37)
   if (((* (( (ptr) w←v5564)+37) ) != 0)) {
SOURCE(800, 6)
      return;
      };
SOURCE(808, 616)
   {
      word var←c28464;
      var←c28464 = ch←v3956;
      switch (var←c28464) {
         case 13: case 10: 
SOURCE(847, 13)
            (void) NewLine←P300(oRef←v3928);
            break;
         case 12: 
SOURCE(879, 13)
            (void) HomePos←P120(oRef←v3928);
SOURCE(894, 65)
            {
               W2 var←c28496;
               W2 var←c28528;
               var←c28496.f0 = 0;
               var←c28496.f1 = 0;
               var←c28528.f0 = 2000;
               var←c28528.f1 = 2000;
               {
                  word pd25;
                  pd25 = (* (( (ptr) (* (( (ptr) gf←c29488)+57)/* var←c28560 */  ))+166) );
                  (void) ( *( (fPt) ((*  (ptr) pd25 ))))((* (( (ptr) w←v5564)+34) ), (* (( (ptr) w←v5564)+35) ), var←c28496, var←c28528, 0, 0, pd25)
                  ;
                  };
               };
            break;
         case 0: 
            break;
         case 8: 
SOURCE(995, 43)
            {
               word x26;
               (* (( (ptr) oRef←v3928)+15) ) = (x26 = ((* (( (ptr) oRef←v3928)+15) ) - (* (( (ptr) oRef←v3928)+13) )),
                  MAX((int)(word), x26, 0));
               };
SOURCE(1040, 127)
            {
               W2 var←c28592;
               W2 var←c28624;
               var←c28592.f0 = (* (( (ptr) oRef←v3928)+15) );
               {
                  word x27;
                  word x28;
                  var←c28592.f1 = ((x27 = (* (( (ptr) oRef←v3928)+16) ),
                     x28 = (* (( (ptr) oRef←v3928)+10) ),
                     MAX((int)(word), x27, x28)) - (* (( (ptr) oRef←v3928)+10) ));
                  };
               var←c28624.f0 = (* (( (ptr) oRef←v3928)+13) );
               var←c28624.f1 = (* (( (ptr) oRef←v3928)+5) );
               {
                  word pd29;
                  pd29 = (* (( (ptr) (* (( (ptr) gf←c29488)+57)/* var←c28560 */  ))+166) );
                  (void) ( *( (fPt) ((*  (ptr) pd29 ))))((* (( (ptr) w←v5564)+34) ), (* (( (ptr) w←v5564)+35) ), var←c28592, var←c28624, 0, 0, pd29)
                  ;
                  };
               };
            break;
         default: 
SOURCE(1183, 243)
            {
               W2 pos←v5608;
SOURCE(1200, 117)
               if ( ( ( (int)(((* (( (ptr) oRef←v3928)+15) ) + (* (( (ptr) oRef←v3928)+13) )) + (* (( (ptr) oRef←v3928)+7) )) >  (int)(* (
                  ( (ptr) oRef←v3928)+3) )) ? ( (int)(* (( (ptr) oRef←v3928)+15) ) >  (int)(* (( (ptr) oRef←v3928)+6) )) : 0 ) ) {
SOURCE(1304, 13)
                  (void) NewLine←P300(oRef←v3928);
                  };
SOURCE(1319, 40)
               (void) PosAndIncrement←P180((word) &pos←v5608, oRef←v3928, (* (( (ptr) oRef←v3928)+13) ));
SOURCE(1361, 63)
               {
                  word pd30;
                  pd30 = (* (( (ptr) (* (( (ptr) gf←c29488)+57)/* var←c28560 */  ))+175) );
                  (void) ( *( (fPt) ((*  (ptr) pd30 ))))((* (( (ptr) w←v5564)+34) ), (* (( (ptr) w←v5564)+35) ), pos←v5608, (* (( (ptr) oRef←v3928)+17)
                      ), ch←v3956, 0, pd30);
                  };
               };
            break;
         };
      };
   }

static void NewLine←P300(oRef←v4028)
   word oRef←v4028;
   {
   register ptr gf←c29520 =  (ptr) &globalframe;
   word w←v5652;
   word mustScroll←v5680;
   /* NewLine: */ 
SOURCE(1433, 452)
SOURCE(1473, 27)
   w←v5652 = (*  (ptr) oRef←v4028 );
SOURCE(1502, 35)
   mustScroll←v5680 = (word) AdvanceLine←P360(oRef←v4028);
SOURCE(1539, 346)
   if ( ( ( (int)mustScroll←v5680 >  (int)0) ? ((* (( (ptr) w←v5652)+37) ) == 0) : 0 ) ) {
SOURCE(1587, 300)
      {
         word y←v5724;
SOURCE(1597, 182)
         {
            W2 var←c28656;
            W2 var←c28688;
            W2 var←c28720;
            var←c28656.f0 = 0;
            var←c28656.f1 = mustScroll←v5680;
            var←c28688.f0 = 0;
            var←c28688.f1 = 0;
            var←c28720.f0 = (* (( (ptr) oRef←v4028)+3) );
            var←c28720.f1 = ((* (( (ptr) oRef←v4028)+4) ) - mustScroll←v5680);
            {
               word pd31;
               pd31 = (* (( (ptr) (* (( (ptr) gf←c29520)+57)/* var←c28560 */  ))+167) );
               (void) ( *( (fPt) ((*  (ptr) pd31 ))))((* (( (ptr) w←v5652)+34) ), (* (( (ptr) w←v5652)+35) ), (* (( (ptr) w←v5652)+35) ), var←c28656, var←c28688, var←c28720
                  , (* (( (ptr) oRef←v4028)+17) ), 0, pd31);
               };
            };
SOURCE(1781, 44)
         {
            word x32;
            word x33;
            y←v5724 = ((x32 = (* (( (ptr) oRef←v4028)+16) ),
               x33 = (* (( (ptr) oRef←v4028)+10) ),
               MAX((int)(word), x32, x33)) - (* (( (ptr) oRef←v4028)+10) ));
            };
SOURCE(1827, 58)
         {
            W2 var←c28752;
            W2 var←c28784;
            var←c28752.f0 = 0;
            var←c28752.f1 = y←v5724;
            var←c28784.f0 = 2000;
            var←c28784.f1 = 2000;
            {
               word pd34;
               pd34 = (* (( (ptr) (* (( (ptr) gf←c29520)+57)/* var←c28560 */  ))+166) );
               (void) ( *( (fPt) ((*  (ptr) pd34 ))))((* (( (ptr) w←v5652)+34) ), (* (( (ptr) w←v5652)+35) ), var←c28752, var←c28784, 0, 0, pd34)
               ;
               };
            };
         };
      };
   }

static word AdvanceLine←P360(oRef←v4100)
   word oRef←v4100;
   {
   register ptr gf←c29552 =  (ptr) &globalframe;
   word mustScroll←v4156;
   /* AdvanceLine: */ 
SOURCE(1894, 299)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c29552)+16)/* LOCK←v2972 */ ));
SOURCE(1894, 299)
   mustScroll←v4156 = 0;
SOURCE(1972, 35)
   (* (( (ptr) oRef←v4100)+16) ) = ((* (( (ptr) oRef←v4100)+16) ) + (* (( (ptr) oRef←v4100)+5) ));
SOURCE(2009, 27)
   (* (( (ptr) oRef←v4100)+15) ) = (* (( (ptr) oRef←v4100)+6) );
SOURCE(2038, 155)
   if (( (int)((* (( (ptr) oRef←v4100)+16) ) + (* (( (ptr) oRef←v4100)+9) )) >  (int)(* (( (ptr) oRef←v4100)+4) ))) {
SOURCE(2107, 48)
      {
         word x35;
         word x36;
         mustScroll←v4156 = (x35 = (* (( (ptr) oRef←v4100)+5) ),
            x36 = (* (( (ptr) oRef←v4100)+4) ),
            MIN((int)(word), x35, x36));
         };
SOURCE(2157, 36)
      (* (( (ptr) oRef←v4100)+16) ) = ((* (( (ptr) oRef←v4100)+16) ) - mustScroll←v4156);
      };
SOURCE(1894, 299)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c29552)+16)/* LOCK←v2972 */ ));
   return(mustScroll←v4156);
   }

static void OutputTextWindowStreamPutChar←P420(formal←c0175, formal←c0176)
   word formal←c0175;
   word formal←c0176;
   {
   W6 var←c29584;
   /* declaration of self←v4228 skipped */ 
   /* declaration of char←v4256 skipped */ 
   var←c29584.f4/* self←v4228 */  = formal←c0175;
   var←c29584.f5/* char←v4256 */  = formal←c0176;
   /* OutputTextWindowStreamPutChar: */ 
SOURCE(2428, 292)
SOURCE(2496, 224)
SOURCE(2498, 203)
   {
      word var←c01;
      {
         word var←c0166;
         var←c0166 = (word) &var←c29584;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2136) ), ( ((word)  (fPt) NoName←Q2436) ), var←c0166);
         };
      if ((var←c01 == 2)) {
         goto lab←L100002;
         }
      else {
         if ((var←c01 == 1)) {
            goto lab←L02;
            };
         };
      };
   goto lab←L100005;
   lab←L100002: ;
   lab←L100005: ;
   lab←L02: ;
   return;
   }

static word NoName←Q2136(formal←c0153)
   word formal←c0153;
   {
   register ptr gf←c0152 =  (ptr) &globalframe;
SOURCE(2528, 45)
   {
      word oRef←v5768;
      word w←v5796;
SOURCE(2528, 45)
      oRef←v5768 = XR←Narrow((* (( (ptr) (* (( (ptr) formal←c0153)+4) ))+1) ), (* (( (ptr) gf←c0152)+14) ));
SOURCE(2575, 27)
      w←v5796 = (*  (ptr) oRef←v5768 );
SOURCE(2604, 37)
      if (((* (( (ptr) w←v5796)+37) ) != 0)) {
SOURCE(2635, 6)
         return(1);
         };
SOURCE(2643, 28)
      (void) UnflushedOutChar←P240(oRef←v5768, (* (( (ptr) formal←c0153)+5) ));
SOURCE(2673, 28)
      {
         word pd37;
         pd37 = (* (( (ptr) (* (( (ptr) gf←c0152)+57)/* var←c28560 */  ))+43) );
         (void) ( *( (fPt) ((*  (ptr) pd37 ))))((* (( (ptr) w←v5796)+34) ), 1, pd37);
         };
      };
   return(0);
   }

static void OutputTextWindowStreamPutBlock←P480(formal←c0177, formal←c0178, formal←c0179, formal←c0180)
   word formal←c0177;
   word formal←c0178;
   word formal←c0179;
   word formal←c0180;
   {
   W11 var←c29616;
   /* declaration of self←v4316 skipped */ 
   /* declaration of block←v4344 skipped */ 
   /* declaration of startIndex←v4372 skipped */ 
   /* declaration of count←v4400 skipped */ 
   /* declaration of var←c28816 skipped */ 
   (* (( (ptr) &var←c29616)+4)/* self←v4316 */  ) = formal←c0177;
   (* (( (ptr) &var←c29616)+5)/* block←v4344 */  ) = formal←c0178;
   (* (( (ptr) &var←c29616)+6)/* startIndex←v4372 */  ) = formal←c0179;
   (* (( (ptr) &var←c29616)+7)/* count←v4400 */  ) = formal←c0180;
   /* OutputTextWindowStreamPutBlock: */ 
SOURCE(2724, 455)
   {
      word tmpAddr38;
      tmpAddr38 = (word) (( (ptr) &var←c29616)+8)/* var←c28816 */ ;
      (*  (ptr) tmpAddr38 ) = ( ((word)  (fPt) Action←P1272) );
      (* (( (ptr) tmpAddr38) + 1) ) = 1;
      };
SOURCE(2836, 343)
SOURCE(2838, 322)
   {
      /* declaration of oRef←v5852 skipped */ 
      word var←c02;
      {
         word var←c0167;
         var←c0167 = (word) &var←c29616;
         var←c02 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2196) ), ( ((word)  (fPt) NoName←Q2376) ), var←c0167);
         };
      if ((var←c02 == 3)) {
         goto lab←L100006;
         }
      else {
         if ((var←c02 == 1)) {
            goto lab←L04;
            };
         };
      };
   goto lab←L100010;
   lab←L100006: ;
   lab←L100010: ;
   lab←L04: ;
   return;
   }

static word NoName←Q2196(formal←c0155)
   word formal←c0155;
   {
   register ptr gf←c0154 =  (ptr) &globalframe;
SOURCE(2868, 45)
   {
      word w←v5880;
SOURCE(2868, 45)
      (* (( (ptr) formal←c0155)+10) ) = XR←Narrow((* (( (ptr) (* (( (ptr) formal←c0155)+4) ))+1) ), (* (( (ptr) gf←c0154)+14) ))
      ;
SOURCE(2915, 27)
      w←v5880 = (*  (ptr) (* (( (ptr) formal←c0155)+10) ) );
SOURCE(3018, 37)
      if (((* (( (ptr) w←v5880)+37) ) != 0)) {
SOURCE(3049, 6)
         return(1);
         };
SOURCE(3057, 73)
      {
         word var←c28944;
         {
            word s←v27692;
            word start←v27720;
            word len←v27748;
            s←v27692 = (* (( (ptr) formal←c0155)+5) );
            {
               word idx39;
               start←v27720 = (
                  idx39 = (* (( (ptr) formal←c0155)+6) ),
                  BCK(idx39, 32768)
                  );
               };
            {
               word idx40;
               len←v27748 = (
                  idx40 = (* (( (ptr) formal←c0155)+7) ),
                  BCK(idx40, 32768)
                  );
               };
            {
               word pd41;
               pd41 = (* (( (ptr) (* (( (ptr) gf←c0154)+58)/* var←c28912 */  ))+26) );
               var←c28944 = (word) ( *( (fPt) ((*  (ptr) pd41 ))))(s←v27692, start←v27720, len←v27748, (word) (( (bPt) formal←c0155)+32)
                  , pd41);
               };
            };
         };
SOURCE(3132, 28)
      {
         word pd42;
         pd42 = (* (( (ptr) (* (( (ptr) gf←c0154)+57)/* var←c28560 */  ))+43) );
         (void) ( *( (fPt) ((*  (ptr) pd42 ))))((* (( (ptr) w←v5880)+34) ), 1, pd42);
         };
      };
   return(0);
   }

static word Action←P1272(c←v5996, formal←c29648)
   word c←v5996;
   word formal←c29648;
   {
   word var←c6040;
   formal←c29648 = (formal←c29648 - 32);
   /* Action: */ 
SOURCE(2944, 13)
SOURCE(2944, 13)
   var←c6040 = 0;
SOURCE(2990, 25)
   (void) UnflushedOutChar←P240((* (( (ptr) formal←c29648)+10) ), c←v5996);
SOURCE(2944, 13)
   return(var←c6040);
   }

static void OutputTextWindowStreamEraseChar←P540(self←v4472, char←v4500)
   word self←v4472;
   word char←v4500;
   {
   /* OutputTextWindowStreamEraseChar: */ 
SOURCE(3183, 118)
SOURCE(3255, 46)
   (void) OutputTextWindowStreamPutChar←P420(self←v4472, 8);
   }

static word NiceOpenFont←P660(formal←c0181, formal←c0182)
   word formal←c0181;
   word formal←c0182;
   {
   W9 var←c29680;
   /* declaration of c←v5140 skipped */ 
   /* declaration of name←v5168 skipped */ 
   register ptr gf←c29712 =  (ptr) &globalframe;
   word var←c5212;
   (* (( (ptr) &var←c29680)+4)/* c←v5140 */  ) = formal←c0181;
   (* (( (ptr) &var←c29680)+5)/* name←v5168 */  ) = formal←c0182;
   /* NiceOpenFont: */ 
SOURCE(4320, 278)
SOURCE(4320, 278)
   var←c5212 = 0;
SOURCE(4409, 189)
SOURCE(4411, 13)
   {
      word font←v6068 = 0;
SOURCE(4426, 49)
      {
         word pd43;
         pd43 = (* (( (ptr) (* (( (ptr) gf←c29712)+58)/* var←c28912 */  ))+13) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd43 ))))((* ((( (ptr) &var←c29680)+5)/* name←v5168 */ ) ), pd43)) ||  ( ((* (( (ptr) &var←c29680)+4)
         /* c←v5140 */  ) == 0) ? 1 : (0 == (* (( (ptr) (* (( (ptr) &var←c29680)+4)/* c←v5140 */  ))+15) )) ) ) {
SOURCE(4469, 6)
            return(var←c5212);
            };
         };
SOURCE(4477, 76)
      {
         /* declaration of var←c03 skipped */ 
         /* declaration of var←c04 skipped */ 
         (* (( (ptr) &var←c29680)+6)/* var←c03 */  ) = (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c29712)+59)/* var←c28976 */  ))+4) ) );
         (* (( (ptr) &var←c29680)+7)/* var←c04 */  ) = (* (( (ptr) (* (( (ptr) gf←c29712)+57)/* var←c28560 */  ))+100) );
         {
            /* declaration of var←c05 skipped */ 
            {
               word var←c06;
               {
                  word var←c0168;
                  var←c0168 = (word) &var←c29680;
                  var←c06 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2256) ), ( ((word)  (fPt) NoName←Q2316) ), var←c0168);
                  };
               if ((var←c06 == 4)) {
                  goto lab←L100011;
                  };
               };
            font←v6068 = (* (( (ptr) &var←c29680)+8)/* var←c05 */  );
            };
         };
SOURCE(4565, 13)
      return(font←v6068);
      };
   /* c2c skipped dead code */ 
   lab←L100011: ;
SOURCE(4320, 278)
   return(var←c5212);
   }

static word NoName←Q2256(formal←c0158)
   word formal←c0158;
   {
SOURCE(4477, 76)
   {
      word pd44;
      pd44 = (* (( (ptr) formal←c0158)+7) );
      (* (( (ptr) formal←c0158)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd44 ))))((* (( (ptr) formal←c0158)+4) ), (* (( (ptr) formal←c0158)+5)
          ), (* (( (ptr) formal←c0158)+6) ), pd44);
      };
   return(0);
   }

static void Configure←P720(widget←v15448, geometry←v15476, mapping←v15504, reConsiderChildren←v15532)
   word widget←v15448;
   W5 geometry←v15476;
   word mapping←v15504;
   word reConsiderChildren←v15532;
   {
   register ptr gf←c29744 =  (ptr) &globalframe;
   word oRef←v6112;
   word existW←v6140;
   word createW←v6168;
   /* Configure: */ 
SOURCE(4602, 1550)
SOURCE(4635, 43)
   {
      word var←c29008;
      word superClass←v27548;
      superClass←v27548 = (* (( (ptr) gf←c29744)+9)/* outputClass←v3280 */  );
      {
         word idx45;
         word limit46;
         var←c29008 = (* ((( (ptr) widget←v15448)+49)+(
               idx45 = (* (( (ptr) superClass←v27548)+4) ),
               limit46 = (* (( (ptr) widget←v15448)+48) ),
               BCK(idx45, limit46)
               )) );
         };
      oRef←v6112 = XR←Narrow(var←c29008, (* (( (ptr) gf←c29744)+14) ));
      };
SOURCE(4680, 48)
   existW←v6140 =  (unsigned) ((* (( (ptr) widget←v15448)+44) ) < 2);
SOURCE(4730, 48)
   createW←v6168 =  (unsigned)  ( (mapping←v15504 < 2) ? (0 == existW←v6140) : 0 ) ;
SOURCE(4780, 1216)
   if ((0 != createW←v6168)) {
      {
         word var←c29040;
         word c←v27500;
SOURCE(4798, 135)
         c←v27500 = (* (( (ptr) widget←v15448)+29) );
         var←c29040 =  (unsigned) (c←v27500 ==  (word) -1);
         if ((0 != var←c29040)) {
SOURCE(4850, 83)
            {
               word pd47;
               pd47 = (* (( (ptr) (* (( (ptr) gf←c29744)+60)/* var←c29072 */  ))+5) );
               (* (( (ptr) widget←v15448)+29) ) = (word) ( *( (fPt) ((*  (ptr) pd47 ))))((* (( (ptr) widget←v15448)+34) ), 24, pd47);
               };
            };
SOURCE(4935, 131)
         if (((* (( (ptr) widget←v15448)+16) ) ==  (word) -1)) {
SOURCE(4994, 72)
            (* (( (ptr) widget←v15448)+16) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) widget←v15448)+36) ))+1) ))+2) );
            };
SOURCE(5069, 87)
         if (((* (( (ptr) widget←v15448)+21) ) == 3)) {
SOURCE(5117, 39)
            (* (( (ptr) widget←v15448)+21) ) = 2;
            };
SOURCE(5159, 51)
         (* (( (ptr) oRef←v6112)+2) ) = (word) NiceOpenFont←P660((* (( (ptr) widget←v15448)+34) ), (* (( (ptr) gf←c29744)+19) ));
SOURCE(5212, 81)
         if (((* (( (ptr) oRef←v6112)+2) ) == 0)) {
SOURCE(5242, 51)
            (* (( (ptr) oRef←v6112)+2) ) = (word) NiceOpenFont←P660((* (( (ptr) widget←v15448)+34) ), (* (( (ptr) gf←c29744)+20) ));
            };
SOURCE(5295, 87)
         if (((* (( (ptr) oRef←v6112)+2) ) == 0)) {
SOURCE(5327, 55)
            {
               word pd48;
               pd48 = (* (( (ptr) (* (( (ptr) gf←c29744)+61)/* var←c29104 */  ))+4) );
               (* (( (ptr) oRef←v6112)+2) ) = (word) ( *( (fPt) ((*  (ptr) pd48 ))))((* ((( (ptr) widget←v15448)+34)) ), pd48);
               };
            };
SOURCE(5387, 590)
         {
            word fi←v6224;
SOURCE(5393, 76)
            {
               word pd49;
               pd49 = (* (( (ptr) (* (( (ptr) gf←c29744)+57)/* var←c28560 */  ))+103) );
               fi←v6224 = (word) ( *( (fPt) ((*  (ptr) pd49 ))))((* (( (ptr) widget←v15448)+34) ), (* (( (ptr) oRef←v6112)+2) ), pd49);
               };
SOURCE(5471, 27)
            {
               word idx50;
               (* (( (ptr) oRef←v6112)+10) ) = (
                  idx50 = (* (( (ptr) fi←v6224)+11) ),
                  SGNCK(idx50)
                  );
               };
SOURCE(5500, 29)
            {
               word idx51;
               (* (( (ptr) oRef←v6112)+11) ) = (
                  idx51 = (* (( (ptr) fi←v6224)+12) ),
                  SGNCK(idx51)
                  );
               };
SOURCE(5531, 53)
            {
               word idx52;
               (* (( (ptr) oRef←v6112)+5) ) = (
                  idx52 = (word) (((* (( (ptr) oRef←v6112)+10) ) + (* (( (ptr) oRef←v6112)+11) )) + (* (( (ptr) oRef←v6112)+14) )),
                  SGNCK(idx52)
                  );
               };
SOURCE(5586, 36)
            {
               word idx53;
               (* (( (ptr) oRef←v6112)+13) ) = (
                  idx53 = (word)  (int) ( short )(* (( (hPt) fi←v6224)+4) ),
                  SGNCK(idx53)
                  );
               };
SOURCE(5624, 43)
            {
               word idx54;
               (* (( (ptr) oRef←v6112)+8) ) = (
                  idx54 = (word) ((* (( (ptr) oRef←v6112)+10) ) + (* (( (ptr) oRef←v6112)+14) )),
                  SGNCK(idx54)
                  );
               };
SOURCE(5669, 49)
            {
               word idx55;
               (* (( (ptr) oRef←v6112)+9) ) = (
                  idx55 = (word) ((* (( (ptr) oRef←v6112)+11) ) + (* (( (ptr) oRef←v6112)+12) )),
                  SGNCK(idx55)
                  );
               };
SOURCE(5720, 44)
            {
               word pd56;
               pd56 = (* (( (ptr) (* (( (ptr) gf←c29744)+57)/* var←c28560 */  ))+141) );
               (* (( (ptr) oRef←v6112)+17) ) = (word) ( *( (fPt) ((*  (ptr) pd56 ))))((* (( (ptr) widget←v15448)+34) ), 0, pd56);
               };
SOURCE(5809, 65)
            {
               word pd57;
               pd57 = (* (( (ptr) (* (( (ptr) gf←c29744)+57)/* var←c28560 */  ))+144) );
               (void) ( *( (fPt) ((*  (ptr) pd57 ))))((* (( (ptr) oRef←v6112)+17) ), (* (( (ptr) (* (( (ptr) (* (( (ptr) widget←v15448)+36)
                         ))+1) ))+3) ), pd57);
               };
SOURCE(5876, 65)
            {
               word pd58;
               pd58 = (* (( (ptr) (* (( (ptr) gf←c29744)+57)/* var←c28560 */  ))+145) );
               (void) ( *( (fPt) ((*  (ptr) pd58 ))))((* (( (ptr) oRef←v6112)+17) ), (* (( (ptr) (* (( (ptr) (* (( (ptr) widget←v15448)+36)
                         ))+1) ))+2) ), pd58);
               };
SOURCE(5943, 32)
            {
               word pd59;
               pd59 = (* (( (ptr) (* (( (ptr) gf←c29744)+57)/* var←c28560 */  ))+157) );
               (void) ( *( (fPt) ((*  (ptr) pd59 ))))((* (( (ptr) oRef←v6112)+17) ), (* (( (ptr) oRef←v6112)+2) ), pd59);
               };
            };
SOURCE(5983, 13)
         (void) HomePos←P120(oRef←v6112);
         };
      };
SOURCE(6001, 83)
   {
      word pd60;
      pd60 = (* (( (ptr) (* (( (ptr) gf←c29744)+56)/* var←c28432 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd60 ))))(widget←v15448, geometry←v15476, mapping←v15504, reConsiderChildren←v15532, pd60);
      };
SOURCE(6086, 66)
   if (((0 != existW←v6140) || (0 != createW←v6168))) {
SOURCE(6112, 40)
      (void) SetWindowSize←P60(oRef←v6112, (*  (W2Pt) (( (ptr) widget←v15448)+41) ));
      };
   }

static void ForgetScreen←P780(widget←v15592, reason←v15620)
   word widget←v15592;
   word reason←v15620;
   {
   register ptr gf←c29776 =  (ptr) &globalframe;
   word oRef←v6280;
   /* ForgetScreen: */ 
SOURCE(6156, 119)
SOURCE(6192, 43)
   {
      word var←c29136;
      word superClass←v27644;
      superClass←v27644 = (* (( (ptr) gf←c29776)+9)/* outputClass←v3280 */  );
      {
         word idx61;
         word limit62;
         var←c29136 = (* ((( (ptr) widget←v15592)+49)+(
               idx61 = (* (( (ptr) superClass←v27644)+4) ),
               limit62 = (* (( (ptr) widget←v15592)+48) ),
               BCK(idx61, limit62)
               )) );
         };
      oRef←v6280 = XR←Narrow(var←c29136, (* (( (ptr) gf←c29776)+14) ));
      };
SOURCE(6237, 23)
   (* (( (ptr) oRef←v6280)+2) ) = 0;
SOURCE(6262, 13)
   (* (( (ptr) oRef←v6280)+17) ) = 0;
   }

static void StreamInitInstPart←P840(widget←v15680, arguments←v15708)
   word widget←v15680;
   word arguments←v15708;
   {
   register ptr gf←c29808 =  (ptr) &globalframe;
   word oRef←v6336;
   /* StreamInitInstPart: */ 
SOURCE(6281, 241)
SOURCE(6330, 36)
   oRef←v6336 = XR←NewObject(72, (* (( (ptr) gf←c29808)+14) ));
   (* (( (ptr) oRef←v6336)+5) ) = 15;
   (* (( (ptr) oRef←v6336)+6) ) = 2;
   (* (( (ptr) oRef←v6336)+7) ) = 2;
   (* (( (ptr) oRef←v6336)+8) ) = 2;
   (* (( (ptr) oRef←v6336)+9) ) = 2;
   (* (( (ptr) oRef←v6336)+10) ) = 2;
   (* (( (ptr) oRef←v6336)+11) ) = 2;
   (* (( (ptr) oRef←v6336)+12) ) = 2;
   (* (( (ptr) oRef←v6336)+13) ) = 10;
   (* (( (ptr) oRef←v6336)+14) ) = 2;
SOURCE(6368, 78)
   {
      word pd63;
      pd63 = (* (( (ptr) (* (( (ptr) gf←c29808)+55)/* var←c28368 */  ))+105) );
      (* (( (ptr) oRef←v6336)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd63 ))))((* (( (ptr) gf←c29808)+8)/* outputStreamProcs←v3168 */  ), oRef←v6336, 0, pd63)
      ;
      };
SOURCE(6448, 20)
   (*  (ptr) oRef←v6336 ) = widget←v15680;
SOURCE(6470, 52)
   {
      word superClass←v27424;
      word val←v27452;
      superClass←v27424 = (* (( (ptr) gf←c29808)+9)/* outputClass←v3280 */  );
      val←v27452 = oRef←v6336;
      {
         word idx64;
         word limit65;
         (* ((( (ptr) widget←v15680)+49)+(
               idx64 = (* (( (ptr) superClass←v27424)+4) ),
               limit65 = (* (( (ptr) widget←v15680)+48) ),
               BCK(idx64, limit65)
               )) ) = val←v27452;
         };
      };
   }

static word CreateStreamWidget←P900(widgetSpec←v5272, widgetStream←v5300)
   W9 widgetSpec←v5272;
   word widgetStream←v5300;
   {
   register ptr gf←c29840 =  (ptr) &globalframe;
   word widget←v5344;
   /* CreateStreamWidget: */ 
SOURCE(6528, 239)
SOURCE(6528, 239)
   widget←v5344 = 0;
SOURCE(6658, 50)
   {
      word pd66;
      pd66 = (* (( (ptr) (* (( (ptr) gf←c29840)+62)/* var←c29200 */  ))+4) );
      widget←v5344 = (word) ( *( (fPt) ((*  (ptr) pd66 ))))(widgetSpec←v5272, (* (( (ptr) gf←c29840)+9)/* outputClass←v3280 */  ), 0, pd66)
      ;
      };
SOURCE(6710, 57)
   if ((widgetStream←v5300 != 0)) {
SOURCE(6735, 32)
      (void) BindStream←P1020(widget←v5344, widgetStream←v5300);
      };
SOURCE(6528, 239)
   return(widget←v5344);
   }

static word CreateStream←P960(w←v5404)
   word w←v5404;
   {
   register ptr gf←c29872 =  (ptr) &globalframe;
   word widgetStream←v5448;
   /* CreateStream: */ 
SOURCE(6773, 205)
SOURCE(6773, 205)
   widgetStream←v5448 = 0;
SOURCE(6859, 76)
   {
      word pd67;
      pd67 = (* (( (ptr) (* (( (ptr) gf←c29872)+63)/* var←c29232 */  ))+4) );
      widgetStream←v5448 = (word) ( *( (fPt) ((*  (ptr) pd67 ))))(0, 0, pd67);
      };
SOURCE(6937, 41)
   if ((w←v5404 != 0)) {
SOURCE(6951, 27)
      (void) BindStream←P1020(w←v5404, widgetStream←v5448);
      };
SOURCE(6773, 205)
   return(widgetStream←v5448);
   }

static void BindStream←P1020(w←v5508, widgetStream←v5536)
   word w←v5508;
   word widgetStream←v5536;
   {
   register ptr gf←c29904 =  (ptr) &globalframe;
   word oRef←v6392;
   /* BindStream: */ 
SOURCE(6983, 171)
SOURCE(7052, 38)
   {
      word var←c29264;
      word superClass←v27596;
      superClass←v27596 = (* (( (ptr) gf←c29904)+9)/* outputClass←v3280 */  );
      {
         word idx68;
         word limit69;
         var←c29264 = (* ((( (ptr) w←v5508)+49)+(
               idx68 = (* (( (ptr) superClass←v27596)+4) ),
               limit69 = (* (( (ptr) w←v5508)+48) ),
               BCK(idx68, limit69)
               )) );
         };
      oRef←v6392 = XR←Narrow(var←c29264, (* (( (ptr) gf←c29904)+14) ));
      };
SOURCE(7092, 62)
   {
      word pd70;
      pd70 = (* (( (ptr) (* (( (ptr) gf←c29904)+63)/* var←c29232 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd70 ))))(widgetStream←v5536, (* (( (ptr) oRef←v6392)+1) ), pd70);
      };
   }

static void NoName←Q2316(formal←c0133, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
   word formal←c0133;
   word formal←c200008;
   word formal←c200009;
   word formal←c200010;
   word formal←c200011;
   {
   register ptr gf←c0165 =  (ptr) &globalframe;
   if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0165)+57)/* var←c28560 */  ))+4) ))) {
      {
         word err←v20632;
         err←v20632 = (*  (ptr) formal←c200011 );
SOURCE(4553, 10)
         (*  (ptr) formal←c0133 ) = 2;
         (* (( (ptr) formal←c0133)+1) ) = 4;
         return;
         };
      };
   (*  (ptr) formal←c0133 ) = 0;
   (* (( (ptr) formal←c0133)+1) ) = 0;
   return;
   }

static void NoName←Q2376(formal←c0138, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
   word formal←c0138;
   word formal←c200004;
   word formal←c200005;
   word formal←c200006;
   word formal←c200007;
   {
   if ((formal←c200005 == XR←Uncaught)) {
SOURCE(2857, 9)
      (*  (ptr) formal←c0138 ) = 2;
      (* (( (ptr) formal←c0138)+1) ) = 3;
      return;
      };
   (*  (ptr) formal←c0138 ) = 0;
   (* (( (ptr) formal←c0138)+1) ) = 0;
   return;
   }

static void NoName←Q2436(formal←c0143, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0143;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   if ((formal←c200001 == XR←Uncaught)) {
SOURCE(2517, 9)
      (*  (ptr) formal←c0143 ) = 2;
      (* (( (ptr) formal←c0143)+1) ) = 2;
      return;
      };
   (*  (ptr) formal←c0143 ) = 0;
   (* (( (ptr) formal←c0143)+1) ) = 0;
   return;
   }

/* file: XTkStreamWidgetsImpl, module: XTkStreamWidgetsImpl, compiled at: August 19, 1993 12:09:09 pm PDT */ 
extern void XR←install←XTkStreamWidgetsImpl() {
   NoName←Q2076();
   }
extern void XR←run←XTkStreamWidgetsImpl() { XR←Start(&globalframe); }