/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: April 21, 1992 12:54:19 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XTkScrollerImpl, module: XTkScrollerImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1991805365,3654027531] XTkScrollerImpl";
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 {W8 f; word r;} W9;
typedef struct {W16 f; W9 r;} W25;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W6 *W6Pt;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4;} W5;
typedef struct {word f0, f1, f2, f3;} W4;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; W7 r;} W15;
typedef struct {W16 f; W2 r;} W18;
typedef W15 *W15Pt;
#define SOURCE(p, l) /* source p, l */
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define FMIN(x, y, tx, ty)  ( (tx=((float) x)) <= (ty=((float) y)) ? tx : ty )
#define FMAX(x, y, tx, ty)  ( (tx=((float) x)) >= (ty=((float) y)) ? tx : ty )
static float fc118 = 0.0;
static float fc122 = 1.0;
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q2448();
static void XTkScrollerImpl←P0();
static word GetConnectionData←P60();
static word InitConnection←P120();
static void SetState←P240();
static word GetDirection←P300();
static void GetState←P360();
static void EntrySetState←P420();
static void EntryGetState←P480();
static void ScrollerConfigureLR←P540();
static word CreateScroller←P600();
static void InteractiveRegistrations←P660();
static void Protected←P1464();
static void ForwardCallScrollerProcs←P720();
static void SynchCallScrollerProc←P780();
static void ScrollerInitInstPart←P840();
static void ScrollerForgetScreenLR←P900();
static void ScrollerEventProc←P960();
static word NoName←Q2508();
static word Inside←P1080();
static word Extents←P1140();
static void SetCursor←P1200();
static void ScrollerRepaint←P1260();
static void NoName←Q2568();
static struct {unsigned f; char r[4];} string1 = {65540, "\251\000\000"};
static struct {unsigned f; char r[4];} string2 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\166\270\211\265\300\331\314\011\013\100\230\000\000"};
static struct {unsigned f; char r[12];} string5 = {720907, "\011\000\030A  \004\005(\0048"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\244\000\000"};
static struct {unsigned f; char r[40];} string7 = {2555943, "\011\000\004\106\000\040\006\011\020\004\101\201\100\174\001\100\200\001\100\204\001\100\210\001\100\220\001\100\264\001\100\270\001\100\274\001\100\304\001"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\166\270\211\265\300\331\314\011\013\100\274\000\000"};
static struct {unsigned f; char r[8];} string9 = {393224, "\205\210\242\000\003\241\000"};
static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\166\270\211\265\300\331\314\011\013\100\324\000\000"};
static struct {unsigned f; char r[4];} string11 = {196611, "\004n\000"};
static struct {unsigned f; char r[44];} string12 = {2752556, "\260\006\005\146\151\162\163\164\257\300\166\270\211\265\300\331\314\011\013\100\260\005\004\162\145\163\164\214\257\300\166\270\211\265\300\331\314\011\013\100\260\261\000"};
static struct {unsigned f; char r[4];} string13 = {131074, "\004\035\000"};
static struct {unsigned f; char r[8];} string14 = {327688, "white\000\000"};
static struct {unsigned f; char r[12];} string15 = {589836, "Scrollbar\000\000"};
static struct {unsigned f; char r[12];} string16 = {524300, "scroller\000\000\000"};
static struct {unsigned f; char r[24];} string17 = {1441816, "ScrollerSetStateCalled\000"};
static struct {unsigned f; char r[4];} string18 = {65540, "x\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\166\270\211\265\300\331\314\011\013\100\164\000\000"};
static struct {unsigned f; char r[20];} string20 = {1048592, "\006\006\040\001\044\001\050\001\054\001\060\001\100\164\004\037\000\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\072\360\043\311\300\372\054\163\300\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\150\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\227\370\144\253\300\176\165\034\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\226\034\061\234\300\160\340\122\237\100\150\000\000"};
static struct {
   word f0[34]; 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; 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[7]; 
   } globalframe = {
   {0}, (word) ScrollerRepaint←P1260, 0, (word) SetCursor←P1200, 
   0, (word) Extents←P1140, 0, (word) Inside←P1080, 
   0, (word) ScrollerEventProc←P960, 0, (word) ScrollerForgetScreenLR←P900, 
   0, (word) ScrollerInitInstPart←P840, 0, (word) SynchCallScrollerProc←P780, 
   0, (word) ForwardCallScrollerProcs←P720, 0, (word) InteractiveRegistrations←P660, 
   0, (word) CreateScroller←P600, 0, (word) ScrollerConfigureLR←P540, 
   0, (word) EntryGetState←P480, 0, (word) EntrySetState←P420, 
   0, (word) GetState←P360, 0, (word) GetDirection←P300, 
   0, (word) SetState←P240, 0, (word) InitConnection←P120, 
   0, (word) GetConnectionData←P60, 0, (word) XTkScrollerImpl←P0, 
   {0}
   };

static void NoName←Q2448()
   {
   register ptr gf←c0201 =  (ptr) &globalframe;
   word var←c40296;
   (* (( (ptr) gf←c0201)+13) ) = (word) XR←GetTypeIndexS((word) (&string1));
   (* (( (ptr) gf←c0201)+14) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3);
   (* (( (ptr) gf←c0201)+18) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
   (* (( (ptr) gf←c0201)+20) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
   (* (( (ptr) gf←c0201)+21) ) = (word) XR←GetTypeIndex((word) &string8, 0, (word) &string3);
   (* (( (ptr) gf←c0201)+23) ) = (word) XR←GetTypeIndexS((word) (&string9));
   (* (( (ptr) gf←c0201)+26) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
   (* (( (ptr) gf←c0201)+27) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
   (*  (ptr) (( (bPt) gf←c0201)+116) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0201)+14) ), (word) &string14);
   (*  (ptr) (( (bPt) gf←c0201)+120) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0201)+14) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0201)+124) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0201)+14) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0201)+128) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0201)+14) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0201)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0201)+14) ), (word) &string18);
   (void) XR←DeclareGlobalFrame((word) "XTkScrollerImpl", &globalframe, (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20)
      , (word) (( (bPt) gf←c0201)+288)/* var←c38376 */ );
   var←c40296 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string21)), 11);
   (* (( (ptr) gf←c0201)+78)/* var←c39880 */  ) = var←c40296;
   (void) XR←ImportProcS(var←c40296, 67371521);
   var←c40296 = (word) XR←ImportInterface((word) "XlCursor", (word) XR←GetTypeIndexS((word) (&string22)), 3);
   (* (( (ptr) gf←c0201)+76)/* var←c38792 */  ) = var←c40296;
   (void) XR←ImportProcS(var←c40296, 67633410);
   var←c40296 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string23)), 218);
   (* (( (ptr) gf←c0201)+75)/* var←c38536 */  ) = var←c40296;
   (void) XR←ImportProcS(var←c40296, 2139398);
   (void) XR←ImportProcS(var←c40296, 534274);
   (void) XR←ImportProcS(var←c40296, 4736772);
   (void) XR←ImportProcS(var←c40296, 67924739);
   (void) XR←ImportProcS(var←c40296, 1063940);
   (void) XR←ImportProcS(var←c40296, 561922);
   (void) XR←ImportProcS(var←c40296, 562690);
   (void) XR←ImportProcS(var←c40296, 3450891);
   (void) XR←ImportProcS(var←c40296, 68705285);
   (void) XR←ImportProcS(var←c40296, 822787);
   (void) XR←ImportProcS(var←c40296, 67668226);
   (void) XR←ImportProcS(var←c40296, 67910403);
   (void) XR←ImportProcS(var←c40296, 67901699);
   (void) XR←ImportProcS(var←c40296, 68207876);
   var←c40296 = (word) XR←ImportInterface((word) "XTk", (word) XR←GetTypeIndexS((word) (&string24)), 50);
   (* (( (ptr) gf←c0201)+77)/* var←c39400 */  ) = var←c40296;
   (void) XR←ImportProcS(var←c40296, 69992451);
   (void) XR←ImportProcS(var←c40296, 1579779);
   var←c40296 = (word) XR←ImportInterface((word) "XTkFriends", (word) XR←GetTypeIndexS((word) (&string25)), 33);
   (* (( (ptr) gf←c0201)+74)/* var←c38504 */  ) = var←c40296;
   (void) XR←ImportProcS(var←c40296, 2102532);
   (void) XR←ImportProcS(var←c40296, 1048580);
   (void) XR←ImportProcS(var←c40296, 73666049);
   var←c40296 = (word) XR←ExportInterface((word) "XTkScroller", (word) XR←GetTypeIndexS((word) (&string26)), 7);
   (* (( (ptr) gf←c0201)+79)/* var←c40328 */  ) = var←c40296;
   (void) XR←ExportVar(var←c40296, 0, (word) (( (bPt) gf←c0201)+44)/* scrollerClass←v3000 */ );
   (void) XR←ExportProcS(var←c40296, (word) (( (bPt) gf←c0201)+216)/* var←c38088 */ , 70254851);
   (void) XR←ExportProcS(var←c40296, (word) (( (bPt) gf←c0201)+256)/* var←c38248 */ , 67371521);
   (void) XR←ExportProcS(var←c40296, (word) (( (bPt) gf←c0201)+248)/* var←c38216 */ , 134480641);
   (void) XR←ExportProcS(var←c40296, (word) (( (bPt) gf←c0201)+264)/* var←c38280 */ , 1049603);
   (void) XR←ExportVar(var←c40296, 5, (word) (( (bPt) gf←c0201)+32)/* setStateCalled←v2720 */ );
   (void) XR←ExportProcS(var←c40296, (word) (( (bPt) gf←c0201)+208)/* var←c38056 */ , 1050116);
   }

static void XTkScrollerImpl←P0(formal←c042, formal←c037)
   word formal←c042;
   word formal←c037;
   {
   register ptr gf←c40360 =  (ptr) &globalframe;
   /* XTkScrollerImpl: */ 
SOURCE(62, 13338)
SOURCE(185, 53)
   (* (( (ptr) gf←c40360)+8)/* setStateCalled←v2720 */  ) = (* (( (ptr) gf←c40360)+32) );
SOURCE(241, 43)
   {
      word var←c38408;
      var←c38408 = XR←NewObject(4, (* (( (ptr) gf←c40360)+14) ));
      (*  (ptr) var←c38408 ) = (* (( (ptr) gf←c40360)+31) );
      (* (( (ptr) gf←c40360)+9)/* myPropKey←v2748 */  ) = var←c38408;
      };
SOURCE(286, 51)
   {
      word var←c38440;
      var←c38440 = XR←NewObject(40, (* (( (ptr) gf←c40360)+18) ));
      (* (( (ptr) var←c38440)+9) ) = 0;
      (* (( (ptr) gf←c40360)+10)/* cdCache←v2776 */  ) = var←c38440;
      };
SOURCE(3804, 275)
   {
      W25 var←c041;
      (*  (ptr) &var←c041 ) = (* (( (ptr) gf←c40360)+31) );
      (* (( (ptr) &var←c041)+1) ) = (* (( (ptr) gf←c40360)+30) );
      (* (( (ptr) &var←c041)+2) ) = 0;
      (* (( (ptr) &var←c041)+3) ) = 1;
      (* (( (ptr) &var←c041)+4) ) = 0;
      (* (( (ptr) &var←c041)+5) ) = 0;
      (* (( (ptr) &var←c041)+6) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+7) ) = (word) (( (bPt) gf←c40360)+224)/* var←c38120 */ ;
      (* (( (ptr) &var←c041)+8) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+9) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+10) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+11) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+12) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+13) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+14) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+15) ) = (word) (( (bPt) gf←c40360)+176)/* var←c37928 */ ;
      (* (( (ptr) &var←c041)+16) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+17) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+18) ) = (word) (( (bPt) gf←c40360)+184)/* var←c37960 */ ;
      (* (( (ptr) &var←c041)+19) ) = 0;
      (* (( (ptr) &var←c041)+20) ) = (* (( (ptr) gf←c40360)+29) );
      (* (( (ptr) &var←c041)+21) ) = 0;
      (* (( (ptr) &var←c041)+22) ) = 172044;
      (* (( (ptr) &var←c041)+23) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c041)+24) ) = XR←CheckProc(0);
      {
         word pd27;
         pd27 = (* (( (ptr) (* (( (ptr) gf←c40360)+74)/* var←c38504 */  ))+18) );
         (* (( (ptr) gf←c40360)+11)/* scrollerClass←v3000 */  ) = (word) ( *( (fPt) ((*  (ptr) pd27 ))))((word) (&var←c041), pd27)
         ;
         };
      };
SOURCE(9435, 108)
   {
      word pd28;
      pd28 = (* (( (ptr) (* (( (ptr) gf←c40360)+75)/* var←c38536 */  ))+201) );
      (* (( (ptr) gf←c40360)+12)/* scrollerEventSet←v3504 */  ) = (word) ( *( (fPt) ((*  (ptr) pd28 ))))(12, 4, 5, 22, pd28);
      };
   }

static word GetConnectionData←P60(c←v3764)
   word c←v3764;
   {
   register ptr gf←c40392 =  (ptr) &globalframe;
   word cd←v3808;
   /* GetConnectionData: */ 
SOURCE(360, 204)
SOURCE(360, 204)
   cd←v3808 = 0;
SOURCE(436, 12)
   cd←v3808 = (* (( (ptr) gf←c40392)+10)/* cdCache←v2776 */  );
SOURCE(450, 32)
   if (((*  (ptr) cd←v3808 ) == c←v3764)) {
SOURCE(476, 6)
      return(cd←v3808);
      };
SOURCE(484, 80)
   {
      word var←c38568;
      {
         word pd29;
         pd29 = (* (( (ptr) (* (( (ptr) gf←c40392)+75)/* var←c38536 */  ))+29) );
         var←c38568 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd29 ))))(c←v3764, (* (( (ptr) gf←c40392)+9)/* myPropKey←v2748 */  ), (word) (
                  ( (bPt) gf←c40392)+272)/* var←c38312 */ , pd29), (* (( (ptr) gf←c40392)+18) ));
         };
      cd←v3808 = var←c38568;
      (* (( (ptr) gf←c40392)+10)/* cdCache←v2776 */  ) = var←c38568;
      };
SOURCE(360, 204)
   return(cd←v3808);
   }

static word InitConnection←P120(c←v12040, key←v12068)
   word c←v12040;
   word key←v12068;
   {
   register ptr gf←c40424 =  (ptr) &globalframe;
   word val←v12112;
   word stippleSpace1←v6860;
   word stippleSpace2←v6888;
   word stippleSpace3←v6916;
   word cd←v6944;
   /* InitConnection: */ 
SOURCE(985, 2660)
SOURCE(985, 2660)
   val←v12112 = (* (( (ptr) gf←c40424)+33) );
SOURCE(1027, 115)
   stippleSpace1←v6860 = XR←NewObject(16, (* (( (ptr) gf←c40424)+23) ));
   (*  (ptr) stippleSpace1←v6860 ) = 2290649224;
   (* (( (ptr) stippleSpace1←v6860)+1) ) = 1145324612;
   (* (( (ptr) stippleSpace1←v6860)+2) ) = 572662306;
SOURCE(1144, 124)
   stippleSpace2←v6888 = XR←NewObject(16, (* (( (ptr) gf←c40424)+23) ));
   (*  (ptr) stippleSpace2←v6888 ) = 2863311530;
   (* (( (ptr) stippleSpace2←v6888)+1) ) = 1431655765;
   (* (( (ptr) stippleSpace2←v6888)+2) ) = 2863311530;
   (* (( (ptr) stippleSpace2←v6888)+3) ) = 1431655765;
SOURCE(1270, 115)
   stippleSpace3←v6916 = XR←NewObject(16, (* (( (ptr) gf←c40424)+23) ));
   (*  (ptr) stippleSpace3←v6916 ) = 572662306;
   (* (( (ptr) stippleSpace3←v6916)+1) ) = 1145324612;
   (* (( (ptr) stippleSpace3←v6916)+2) ) = 2290649224;
SOURCE(1387, 67)
   {
      word var←c38696;
      word var←c38728;
      word var←c38760;
      {
         word idx30;
         var←c38696 = (
            idx30 = (*  (ptr) (* (( (ptr) c←v12040)+17) ) ),
            BCK(idx30, 11184810)
            );
         };
      var←c38728 = (var←c38696 * 24);
      var←c38760 = XR←NewObject((40 + var←c38728), (* (( (ptr) gf←c40424)+18) ));
      (* (( (ptr) var←c38760)+9) ) = var←c38696;
      cd←v6944 = var←c38760;
      };
SOURCE(1456, 27)
   {
      word pd31;
      pd31 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+63) );
      (* (( (ptr) cd←v6944)+2) ) = (word) ( *( (fPt) ((*  (ptr) pd31 ))))(0, 0, 0, pd31);
      };
SOURCE(1485, 57)
   {
      word pd32;
      pd32 = (* (( (ptr) (* (( (ptr) gf←c40424)+76)/* var←c38792 */  ))+5) );
      (* (( (ptr) cd←v6944)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd32 ))))(c←v12040, 130, pd32);
      };
SOURCE(1544, 51)
   {
      word pd33;
      pd33 = (* (( (ptr) (* (( (ptr) gf←c40424)+76)/* var←c38792 */  ))+5) );
      (* (( (ptr) cd←v6944)+3) ) = (word) ( *( (fPt) ((*  (ptr) pd33 ))))(c←v12040, 114, pd33);
      };
SOURCE(1597, 55)
   {
      word pd34;
      pd34 = (* (( (ptr) (* (( (ptr) gf←c40424)+76)/* var←c38792 */  ))+5) );
      (* (( (ptr) cd←v6944)+4) ) = (word) ( *( (fPt) ((*  (ptr) pd34 ))))(c←v12040, 106, pd34);
      };
SOURCE(1654, 55)
   {
      word pd35;
      pd35 = (* (( (ptr) (* (( (ptr) gf←c40424)+76)/* var←c38792 */  ))+5) );
      (* (( (ptr) cd←v6944)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd35 ))))(c←v12040, 110, pd35);
      };
SOURCE(1711, 57)
   {
      word pd36;
      pd36 = (* (( (ptr) (* (( (ptr) gf←c40424)+76)/* var←c38792 */  ))+5) );
      (* (( (ptr) cd←v6944)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd36 ))))(c←v12040, 112, pd36);
      };
SOURCE(1770, 63)
   {
      word pd37;
      pd37 = (* (( (ptr) (* (( (ptr) gf←c40424)+76)/* var←c38792 */  ))+5) );
      (* (( (ptr) cd←v6944)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd37 ))))(c←v12040, 108, pd37);
      };
SOURCE(1835, 60)
   {
      word pd38;
      pd38 = (* (( (ptr) (* (( (ptr) gf←c40424)+76)/* var←c38792 */  ))+5) );
      (* (( (ptr) cd←v6944)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd38 ))))(c←v12040, 116, pd38);
      };
SOURCE(1897, 1725)
   {
      register word d←v7240 = 0;
      register word noName←c38824;
      noName←c38824 = (* (( (ptr) cd←v6944)+9) );
      if ((d←v7240 >= noName←c38824)) {
         goto lab←L100000;
         };
      lab←L100003: ;
      {
         word sd←v7284;
         word screen←v7312;
         word gc1←v7340;
         word gc2←v7368;
         word gc3←v7396;
SOURCE(1926, 44)
         {
            word var←c38856;
            var←c38856 = (* (( (ptr) c←v12040)+17) );
            {
               word limit39;
               sd←v7284 = (* ((( (ptr) var←c38856)+1)+(
                     limit39 = (*  (ptr) var←c38856 ),
                     BCK(d←v7240, limit39)
                     )) );
               };
            };
SOURCE(1972, 29)
         screen←v7312 = (* (( (ptr) sd←v7284)+1) );
SOURCE(2003, 59)
         {
            word pd40;
            pd40 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+141) );
            gc1←v7340 = (word) ( *( (fPt) ((*  (ptr) pd40 ))))(c←v12040, (*  (ptr) screen←v7312 ), pd40);
            };
SOURCE(2064, 59)
         {
            word pd41;
            pd41 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+141) );
            gc2←v7368 = (word) ( *( (fPt) ((*  (ptr) pd41 ))))(c←v12040, (*  (ptr) screen←v7312 ), pd41);
            };
SOURCE(2125, 59)
         {
            word pd42;
            pd42 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+141) );
            gc3←v7396 = (word) ( *( (fPt) ((*  (ptr) pd42 ))))(c←v12040, (*  (ptr) screen←v7312 ), pd42);
            };
SOURCE(2186, 86)
         {
            word pd43;
            pd43 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+146) );
            (void) ( *( (fPt) ((*  (ptr) pd43 ))))(gc1←v7340, (* (( (ptr) screen←v7312)+3) ), (* (( (ptr) screen←v7312)+2) ), pd43);
            };
SOURCE(2274, 86)
         {
            word pd44;
            pd44 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+146) );
            (void) ( *( (fPt) ((*  (ptr) pd44 ))))(gc2←v7368, (* (( (ptr) screen←v7312)+3) ), (* (( (ptr) screen←v7312)+2) ), pd44);
            };
SOURCE(2362, 86)
         {
            word pd45;
            pd45 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+146) );
            (void) ( *( (fPt) ((*  (ptr) pd45 ))))(gc3←v7396, (* (( (ptr) screen←v7312)+3) ), (* (( (ptr) screen←v7312)+2) ), pd45);
            };
SOURCE(2450, 81)
         {
            word var←c38888;
            {
               W2 var←c38920;
               var←c38920.f0 = 4;
               var←c38920.f1 = 4;
               {
                  word pd46;
                  pd46 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+96) );
                  var←c38888 = (word) ( *( (fPt) ((*  (ptr) pd46 ))))(c←v12040, (*  (ptr) screen←v7312 ), var←c38920, (* (( (ptr) sd←v7284)+3)
                      ), 0, pd46);
                  };
               };
            {
               word limit47;
               (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                     limit47 = (* (( (ptr) cd←v6944)+9) ),
                     BCK(d←v7240, limit47)
                     )) ).f0 = var←c38888;
               };
            };
SOURCE(2533, 81)
         {
            word var←c38952;
            {
               W2 var←c38984;
               var←c38984.f0 = 4;
               var←c38984.f1 = 4;
               {
                  word pd48;
                  pd48 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+96) );
                  var←c38952 = (word) ( *( (fPt) ((*  (ptr) pd48 ))))(c←v12040, (*  (ptr) screen←v7312 ), var←c38984, (* (( (ptr) sd←v7284)+3)
                      ), 0, pd48);
                  };
               };
            {
               word limit49;
               (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                     limit49 = (* (( (ptr) cd←v6944)+9) ),
                     BCK(d←v7240, limit49)
                     )) ).f1 = var←c38952;
               };
            };
SOURCE(2616, 81)
         {
            word var←c39016;
            {
               W2 var←c39048;
               var←c39048.f0 = 4;
               var←c39048.f1 = 4;
               {
                  word pd50;
                  pd50 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+96) );
                  var←c39016 = (word) ( *( (fPt) ((*  (ptr) pd50 ))))(c←v12040, (*  (ptr) screen←v7312 ), var←c39048, (* (( (ptr) sd←v7284)+3)
                      ), 0, pd50);
                  };
               };
            {
               word limit51;
               (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                     limit51 = (* (( (ptr) cd←v6944)+9) ),
                     BCK(d←v7240, limit51)
                     )) ).f2 = var←c39016;
               };
            };
SOURCE(2707, 545)
SOURCE(2709, 179)
         {
            W2 var←c39080;
            W2 var←c39112;
            var←c39080.f0 = 4;
            var←c39080.f1 = 4;
            var←c39112.f0 = 0;
            var←c39112.f1 = 0;
            {
               word pd52;
               word limit53;
               pd52 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+172) );
               (void) ( *( (fPt) ((*  (ptr) pd52 ))))(c←v12040, (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                        limit53 = (* (( (ptr) cd←v6944)+9) ),
                        BCK(d←v7240, limit53)
                        )) ).f0, gc1←v7340, var←c39080, var←c39112, stippleSpace1←v6860
                  , 0, 0, 4, 1, 0, pd52);
               };
            };
SOURCE(2890, 179)
         {
            W2 var←c39144;
            W2 var←c39176;
            var←c39144.f0 = 4;
            var←c39144.f1 = 4;
            var←c39176.f0 = 0;
            var←c39176.f1 = 0;
            {
               word pd54;
               word limit55;
               pd54 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+172) );
               (void) ( *( (fPt) ((*  (ptr) pd54 ))))(c←v12040, (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                        limit55 = (* (( (ptr) cd←v6944)+9) ),
                        BCK(d←v7240, limit55)
                        )) ).f1, gc2←v7368, var←c39144, var←c39176, stippleSpace2←v6888
                  , 0, 0, 4, 1, 0, pd54);
               };
            };
SOURCE(3071, 179)
         {
            W2 var←c39208;
            W2 var←c39240;
            var←c39208.f0 = 4;
            var←c39208.f1 = 4;
            var←c39240.f0 = 0;
            var←c39240.f1 = 0;
            {
               word pd56;
               word limit57;
               pd56 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+172) );
               (void) ( *( (fPt) ((*  (ptr) pd56 ))))(c←v12040, (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                        limit57 = (* (( (ptr) cd←v6944)+9) ),
                        BCK(d←v7240, limit57)
                        )) ).f2, gc3←v7396, var←c39208, var←c39240, stippleSpace3←v6916
                  , 0, 0, 4, 1, 0, pd56);
               };
            };
SOURCE(3255, 49)
         {
            word pd58;
            word limit59;
            pd58 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+154) );
            (void) ( *( (fPt) ((*  (ptr) pd58 ))))(gc1←v7340, (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                     limit59 = (* (( (ptr) cd←v6944)+9) ),
                     BCK(d←v7240, limit59)
                     )) ).f0, pd58);
            };
SOURCE(3306, 49)
         {
            word pd60;
            word limit61;
            pd60 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+154) );
            (void) ( *( (fPt) ((*  (ptr) pd60 ))))(gc2←v7368, (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                     limit61 = (* (( (ptr) cd←v6944)+9) ),
                     BCK(d←v7240, limit61)
                     )) ).f1, pd60);
            };
SOURCE(3357, 49)
         {
            word pd62;
            word limit63;
            pd62 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+154) );
            (void) ( *( (fPt) ((*  (ptr) pd62 ))))(gc3←v7396, (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                     limit63 = (* (( (ptr) cd←v6944)+9) ),
                     BCK(d←v7240, limit63)
                     )) ).f2, pd62);
            };
SOURCE(3408, 44)
         {
            word pd64;
            pd64 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+151) );
            (void) ( *( (fPt) ((*  (ptr) pd64 ))))(gc1←v7340, 1, pd64);
            };
SOURCE(3454, 44)
         {
            word pd65;
            pd65 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+151) );
            (void) ( *( (fPt) ((*  (ptr) pd65 ))))(gc2←v7368, 1, pd65);
            };
SOURCE(3500, 44)
         {
            word pd66;
            pd66 = (* (( (ptr) (* (( (ptr) gf←c40424)+75)/* var←c38536 */  ))+151) );
            (void) ( *( (fPt) ((*  (ptr) pd66 ))))(gc3←v7396, 1, pd66);
            };
SOURCE(3546, 24)
         {
            word limit67;
            (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                  limit67 = (* (( (ptr) cd←v6944)+9) ),
                  BCK(d←v7240, limit67)
                  )) ).f3 = gc1←v7340;
            };
SOURCE(3572, 24)
         {
            word limit68;
            (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                  limit68 = (* (( (ptr) cd←v6944)+9) ),
                  BCK(d←v7240, limit68)
                  )) ).f4 = gc2←v7368;
            };
SOURCE(3598, 24)
         {
            word limit69;
            (* (( (W6Pt) (( (ptr) cd←v6944)+10))+(
                  limit69 = (* (( (ptr) cd←v6944)+9) ),
                  BCK(d←v7240, limit69)
                  )) ).f5 = gc3←v7396;
            };
         };
      d←v7240 = (d←v7240 + 1);
      if ((d←v7240 < noName←c38824)) {
         goto lab←L100003;
         };
      lab←L100000: ;
      };
SOURCE(3633, 12)
   return(cd←v6944);
   }

static void SetState←P240(scroller←v5316, state←v5344, propagate←v5372)
   word scroller←v5316;
   W2 state←v5344;
   word propagate←v5372;
   {
   register ptr gf←c40456 =  (ptr) &globalframe;
   word sd←v7440;
   /* SetState: */ 
SOURCE(5006, 249)
SOURCE(5084, 40)
   {
      word idx70;
      word limit71;
      sd←v7440 = XR←Narrow((* ((( (ptr) scroller←v5316)+49)+(
               idx70 = (* (( (ptr) (* (( (ptr) gf←c40456)+11)/* scrollerClass←v3000 */  ))+4) ),
               limit71 = (* (( (ptr) scroller←v5316)+48) ),
               BCK(idx70, limit71)
               )) ), (* (( (ptr) gf←c40456)+26) ));
      };
SOURCE(5126, 24)
   (void) EntrySetState←P420(sd←v7440, state←v5344);
SOURCE(5152, 72)
   if ((0 != propagate←v5372)) {
SOURCE(5170, 54)
      {
         word pd72;
         pd72 = (* (( (ptr) (* (( (ptr) gf←c40456)+74)/* var←c38504 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd72 ))))(scroller←v5316, (* (( (ptr) gf←c40456)+8)/* setStateCalled←v2720 */  ), sd←v7440, 0, pd72)
         ;
         };
      };
SOURCE(5226, 29)
   (void) ScrollerRepaint←P1260(scroller←v5316, sd←v7440);
   }

static word GetDirection←P300(scroller←v5432)
   word scroller←v5432;
   {
   register ptr gf←c40488 =  (ptr) &globalframe;
   word direction←v5476;
   word sd←v7484;
   /* GetDirection: */ 
SOURCE(5262, 146)
SOURCE(5344, 40)
   {
      word idx73;
      word limit74;
      sd←v7484 = XR←Narrow((* ((( (ptr) scroller←v5432)+49)+(
               idx73 = (* (( (ptr) (* (( (ptr) gf←c40488)+11)/* scrollerClass←v3000 */  ))+4) ),
               limit74 = (* (( (ptr) scroller←v5432)+48) ),
               BCK(idx73, limit74)
               )) ), (* (( (ptr) gf←c40488)+26) ));
      };
SOURCE(5386, 22)
   return((* (( (ptr) sd←v7484)+2) ));
   }

static void GetState←P360(formal←c087, scroller←v5536)
   word formal←c087;
   word scroller←v5536;
   {
   register ptr gf←c40520 =  (ptr) &globalframe;
   W2 state←v5580;
   word sd←v7528;
   /* GetState: */ 
SOURCE(5413, 137)
SOURCE(5483, 40)
   {
      word idx75;
      word limit76;
      sd←v7528 = XR←Narrow((* ((( (ptr) scroller←v5536)+49)+(
               idx75 = (* (( (ptr) (* (( (ptr) gf←c40520)+11)/* scrollerClass←v3000 */  ))+4) ),
               limit76 = (* (( (ptr) scroller←v5536)+48) ),
               BCK(idx75, limit76)
               )) ), (* (( (ptr) gf←c40520)+26) ));
      };
SOURCE(5525, 25)
   (void) EntryGetState←P480((word) &state←v5580, sd←v7528);
   /* removed tail goto */ 
   (*  (W2Pt) formal←c087 ) = state←v5580;
   return;
   }

static void EntrySetState←P420(sd←v5640, state←v5668)
   word sd←v5640;
   W2 state←v5668;
   {
   register ptr gf←c40552 =  (ptr) &globalframe;
   /* EntrySetState: */ 
SOURCE(5557, 80)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c40552)+16)/* LOCK←v2692 */ ));
SOURCE(5620, 17)
   (*  (W2Pt) sd←v5640 ) = state←v5668;
SOURCE(5557, 80)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c40552)+16)/* LOCK←v2692 */ ));
   return;
   }

static void EntryGetState←P480(formal←c092, sd←v5728)
   word formal←c092;
   word sd←v5728;
   {
   register ptr gf←c40584 =  (ptr) &globalframe;
   W2 state←v5772;
   /* EntryGetState: */ 
SOURCE(5642, 89)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c40584)+16)/* LOCK←v2692 */ ));
SOURCE(5714, 17)
   state←v5772 = (*  (W2Pt) sd←v5728 );
   /* removed tail goto */ 
   (void) (XR←MonitorExit((word) (( (bPt) gf←c40584)+16)/* LOCK←v2692 */ ));
   (*  (W2Pt) formal←c092 ) = state←v5772;
   return;
   }

static void ScrollerConfigureLR←P540(widget←v16604, geometry←v16632, mapping←v16660, reConsiderChildren←v16688)
   word widget←v16604;
   W5 geometry←v16632;
   word mapping←v16660;
   word reConsiderChildren←v16688;
   {
   register ptr gf←c40616 =  (ptr) &globalframe;
   word existW←v7572;
   word createW←v7600;
   /* ScrollerConfigureLR: */ 
SOURCE(5736, 1670)
SOURCE(5779, 48)
   existW←v7572 = ((* (( (ptr) widget←v16604)+44) ) < 2);
SOURCE(5829, 48)
   createW←v7600 =  ( (mapping←v16660 < 2) ? (0 == existW←v7572) : 0 ) ;
SOURCE(5879, 1378)
   if ((0 != createW←v7600)) {
SOURCE(5895, 1425)
      {
         word sd←v7644;
         word cd←v7672;
         word var←c39304;
         word c←v37720;
SOURCE(5897, 38)
         {
            word idx77;
            word limit78;
            sd←v7644 = XR←Narrow((* ((( (ptr) widget←v16604)+49)+(
                     idx77 = (* (( (ptr) (* (( (ptr) gf←c40616)+11)/* scrollerClass←v3000 */  ))+4) ),
                     limit78 = (* (( (ptr) widget←v16604)+48) ),
                     BCK(idx77, limit78)
                     )) ), (* (( (ptr) gf←c40616)+26) ));
            };
SOURCE(5937, 57)
         cd←v7672 = (word) GetConnectionData←P60((* ((( (ptr) widget←v16604)+34)) ));
SOURCE(5996, 81)
         if (((* (( (ptr) sd←v7644)+9) ) == 0)) {
SOURCE(6016, 61)
            {
               word idx79;
               word limit80;
               (* (( (ptr) sd←v7644)+9) ) = (* (( (W6Pt) (( (ptr) cd←v7672)+10))+(
                     idx79 = (*  (ptr) (* (( (ptr) widget←v16604)+36) ) ),
                     limit80 = (* (( (ptr) cd←v7672)+9) ),
                     BCK(idx79, limit80)
                     )) ).f3;
               };
            };
SOURCE(6081, 81)
         if (((* (( (ptr) sd←v7644)+10) ) == 0)) {
SOURCE(6101, 61)
            {
               word idx81;
               word limit82;
               (* (( (ptr) sd←v7644)+10) ) = (* (( (W6Pt) (( (ptr) cd←v7672)+10))+(
                     idx81 = (*  (ptr) (* (( (ptr) widget←v16604)+36) ) ),
                     limit82 = (* (( (ptr) cd←v7672)+9) ),
                     BCK(idx81, limit82)
                     )) ).f4;
               };
            };
SOURCE(6166, 81)
         if (((* (( (ptr) sd←v7644)+11) ) == 0)) {
SOURCE(6186, 61)
            {
               word idx83;
               word limit84;
               (* (( (ptr) sd←v7644)+11) ) = (* (( (W6Pt) (( (ptr) cd←v7672)+10))+(
                     idx83 = (*  (ptr) (* (( (ptr) widget←v16604)+36) ) ),
                     limit84 = (* (( (ptr) cd←v7672)+9) ),
                     BCK(idx83, limit84)
                     )) ).f5;
               };
            };
SOURCE(6251, 642)
         {
            word var←c39272;
            var←c39272 = (* (( (ptr) sd←v7644)+2) );
            if ((var←c39272 == 1)) {
SOURCE(6290, 26)
               (* (( (ptr) sd←v7644)+5) ) = (* (( (ptr) cd←v7672)+3) );
SOURCE(6318, 32)
               (* (( (ptr) sd←v7644)+6) ) = (* (( (ptr) cd←v7672)+8) );
SOURCE(6352, 29)
               (* (( (ptr) sd←v7644)+7) ) = (* (( (ptr) cd←v7672)+4) );
               if (( (int)geometry←v16632.f3 >  (int)0)) {
SOURCE(6426, 40)
                  (* (( (ptr) sd←v7644)+12) ) = geometry←v16632.f3;
                  }
               else {
                  if (( (int)(* (( (ptr) widget←v16604)+42) ) >  (int)0)) {
SOURCE(6500, 45)
                     (* (( (ptr) sd←v7644)+12) ) = (* (( (ptr) widget←v16604)+42) );
                     }
                  else {
SOURCE(6559, 21)
                     (* (( (ptr) sd←v7644)+12) ) = 1;
                     };
                  };
               }
            else {
               if ((var←c39272 == 0)) {
SOURCE(6601, 28)
                  (* (( (ptr) sd←v7644)+5) ) = (* (( (ptr) cd←v7672)+5) );
SOURCE(6631, 35)
                  (* (( (ptr) sd←v7644)+6) ) = (* (( (ptr) cd←v7672)+7) );
SOURCE(6668, 30)
                  (* (( (ptr) sd←v7644)+7) ) = (* (( (ptr) cd←v7672)+6) );
                  if (( (int)geometry←v16632.f2 >  (int)0)) {
SOURCE(6742, 39)
                     (* (( (ptr) sd←v7644)+12) ) = geometry←v16632.f2;
                     }
                  else {
                     if (( (int)(* (( (ptr) widget←v16604)+41) ) >  (int)0)) {
SOURCE(6814, 44)
                        (* (( (ptr) sd←v7644)+12) ) = (* (( (ptr) widget←v16604)+41) );
                        }
                     else {
SOURCE(6872, 21)
                        (* (( (ptr) sd←v7644)+12) ) = 1;
                        };
                     };
                  };
               };
            };
SOURCE(6908, 157)
         c←v37720 = (* (( (ptr) widget←v16604)+29) );
         var←c39304 = (c←v37720 ==  (word) -1);
         if ((0 != var←c39304)) {
SOURCE(6960, 64)
            {
               word var←c39336;
               var←c39336 = (* (( (ptr) cd←v7672)+1) );
               (* (( (ptr) sd←v7644)+8) ) = var←c39336;
               (* (( (ptr) widget←v16604)+29) ) = var←c39336;
               };
            }
         else {
SOURCE(7024, 41)
            (* (( (ptr) sd←v7644)+8) ) = (* (( (ptr) widget←v16604)+29) );
            };
SOURCE(7067, 125)
         {
            W4 var←c39368;
            var←c39368.f0 = (word) (( (bPt) gf←c40616)+168)/* var←c37896 */ ;
            var←c39368.f1 = (* (( (ptr) gf←c40616)+12)/* scrollerEventSet←v3504 */  );
            var←c39368.f2 = (* (( (ptr) cd←v7672)+2) );
            var←c39368.f3 = widget←v16604;
            {
               word pd85;
               pd85 = (* (( (ptr) (* (( (ptr) gf←c40616)+77)/* var←c39400 */  ))+31) );
               (void) ( *( (fPt) ((*  (ptr) pd85 ))))(widget←v16604, var←c39368, 172044, pd85);
               };
            };
SOURCE(7194, 63)
         {
            float tf86;
            (void) ForwardCallScrollerProcs←P720(sd←v7644, 4, (
                  tf86 = (float)(int)(* (( (ptr) sd←v7644)+12) ),  *(word*)&tf86
                  ), 0);
            };
         };
      };
SOURCE(7323, 83)
   {
      word pd87;
      pd87 = (* (( (ptr) (* (( (ptr) gf←c40616)+74)/* var←c38504 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd87 ))))(widget←v16604, geometry←v16632, mapping←v16660, reConsiderChildren←v16688, pd87);
      };
   }

static word CreateScroller←P600(widgetSpec←v5832, direction←v5860, state←v5888)
   W9 widgetSpec←v5832;
   word direction←v5860;
   W2 state←v5888;
   {
   register ptr gf←c40648 =  (ptr) &globalframe;
   word scroller←v5932;
   word sd←v7716 = 0;
   /* CreateScroller: */ 
SOURCE(7412, 514)
SOURCE(7412, 514)
   scroller←v5932 = 0;
SOURCE(7561, 226)
   {
      word var←c39432;
      var←c39432 = direction←v5860;
      if ((var←c39432 == 1)) {
SOURCE(7595, 87)
         if (( (int)(* (( (ptr) &widgetSpec←v5832)+3) ) <=  (int)0)) {
SOURCE(7637, 45)
            (* (( (ptr) &widgetSpec←v5832)+3) ) = 12;
            };
         }
      else {
         if ((var←c39432 == 0)) {
SOURCE(7698, 89)
            if (( (int)(* (( (ptr) &widgetSpec←v5832)+4) ) <=  (int)0)) {
SOURCE(7741, 46)
               (* (( (ptr) &widgetSpec←v5832)+4) ) = 12;
               };
            };
         };
      };
SOURCE(7799, 54)
   {
      word pd88;
      pd88 = (* (( (ptr) (* (( (ptr) gf←c40648)+77)/* var←c39400 */  ))+4) );
      scroller←v5932 = (word) ( *( (fPt) ((*  (ptr) pd88 ))))(widgetSpec←v5832, (* (( (ptr) gf←c40648)+11)/* scrollerClass←v3000 */  ), 0, pd88)
      ;
      };
SOURCE(7855, 26)
   {
      word idx89;
      word limit90;
      sd←v7716 = XR←Narrow((* ((( (ptr) scroller←v5932)+49)+(
               idx89 = (* (( (ptr) (* (( (ptr) gf←c40648)+11)/* scrollerClass←v3000 */  ))+4) ),
               limit90 = (* (( (ptr) scroller←v5932)+48) ),
               BCK(idx89, limit90)
               )) ), (* (( (ptr) gf←c40648)+26) ));
      };
SOURCE(7883, 24)
   (* (( (ptr) sd←v7716)+2) ) = direction←v5860;
SOURCE(7910, 16)
   (*  (W2Pt) sd←v7716 ) = state←v5888;
SOURCE(7412, 514)
   return(scroller←v5932);
   }

static void InteractiveRegistrations←P660(scroller←v5992, scrollerProc←v6020, clientData←v6048, tq←v6076)
   word scroller←v5992;
   word scrollerProc←v6020;
   word clientData←v6048;
   word tq←v6076;
   {
   W6 var←c40680;
   register ptr gf←c40712 =  (ptr) &globalframe;
   /* declaration of var←c39464 skipped */ 
   word sd←v7788;
   W4 crr←v7816;
   /* InteractiveRegistrations: */ 
SOURCE(7932, 424)
   {
      word tmpAddr91;
      tmpAddr91 = (word) (( (ptr) &var←c40680)+4)/* var←c39464 */ ;
      (*  (ptr) tmpAddr91 ) = ( ((word)  (fPt) Protected←P1464) );
      (* (( (ptr) tmpAddr91) + 1) ) = 1;
      };
SOURCE(8161, 40)
   {
      word idx92;
      word limit93;
      sd←v7788 = XR←Narrow((* ((( (ptr) scroller←v5992)+49)+(
               idx92 = (* (( (ptr) (* (( (ptr) gf←c40712)+11)/* scrollerClass←v3000 */  ))+4) ),
               limit93 = (* (( (ptr) scroller←v5992)+48) ),
               BCK(idx92, limit93)
               )) ), (* (( (ptr) gf←c40712)+26) ));
      };
SOURCE(8203, 91)
   crr←v7816.f0 = scroller←v5992;
   crr←v7816.f1 = XR←CheckProc(scrollerProc←v6020);
   crr←v7816.f2 = clientData←v6048;
   crr←v7816.f3 = 0;
SOURCE(8296, 35)
   if ((sd←v7788 == 0) || (scrollerProc←v6020 == 0)) {
SOURCE(8331, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(8338, 18)
   (void) Protected←P1464(sd←v7788, crr←v7816, (word) (( (bPt) &var←c40680)+16)/* var←c39464 */ );
   }

static void Protected←P1464(sd←v7892, crr←v7920, formal←c40776)
   word sd←v7892;
   W4 crr←v7920;
   word formal←c40776;
   {
   register ptr gf←c40744 =  (ptr) &globalframe;
   formal←c40776 = (formal←c40776 - 16);
   /* Protected: */ 
SOURCE(8061, 97)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c40744)+16)/* LOCK←v2692 */ ));
SOURCE(8123, 35)
   {
      word var←c39528;
      var←c39528 = XR←NewObject(20, (* (( (ptr) gf←c40744)+27) ));
      (*  (W4Pt) var←c39528 ) = crr←v7920;
      (* (( (ptr) var←c39528)+4) ) = (* (( (ptr) sd←v7892)+13) );
      (* (( (ptr) sd←v7892)+13) ) = var←c39528;
      };
SOURCE(8061, 97)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c40744)+16)/* LOCK←v2692 */ ));
   return;
   }

static void ForwardCallScrollerProcs←P720(sd←v6148, action←v6176, value←v6204, event←v6232)
   word sd←v6148;
   word action←v6176;
   word value←v6204;
   word event←v6232;
   {
   register ptr gf←c40808 =  (ptr) &globalframe;
   /* ForwardCallScrollerProcs: */ 
SOURCE(8362, 425)
SOURCE(8480, 307)
   {
      register word rl←v7948;
      rl←v7948 = (* (( (ptr) sd←v6148)+13) );
      lab←L100011: ;
      if ((rl←v7948 != 0)) {
         }
      else {
         goto lab←L100008;
         };
      {
         word cd←v8076;
         word tq←v8104;
SOURCE(8545, 75)
         cd←v8076 = XR←NewObject(12, (* (( (ptr) gf←c40808)+21) ));
         (*  (ptr) cd←v8076 ) = rl←v7948;
         (* (( (ptr) cd←v8076)+1) ) = action←v6176;
         (* (( (ptr) cd←v8076)+2) ) = value←v6204;
SOURCE(8622, 23)
         tq←v8104 = (* (( (ptr) rl←v7948)+3) );
SOURCE(8647, 62)
         if ((tq←v8104 == 0)) {
SOURCE(8663, 29)
            tq←v8104 = (* (( (ptr) (*  (ptr) rl←v7948 ))+45) );
SOURCE(8694, 15)
            if ((tq←v8104 == 0)) {
SOURCE(8709, 4)
               goto lab←L100009;
               };
            };
SOURCE(8716, 71)
         {
            word pd94;
            pd94 = (* (( (ptr) (* (( (ptr) gf←c40808)+75)/* var←c38536 */  ))+64) );
            (void) ( *( (fPt) ((*  (ptr) pd94 ))))(tq←v8104, (word) (( (bPt) gf←c40808)+192)/* var←c37992 */ , cd←v8076, event←v6232, pd94)
            ;
            };
         };
      rl←v7948 = (* (( (ptr) rl←v7948)+4) );
      goto lab←L100011;
      lab←L100008: ;
      lab←L100009: ;
      };
   }

static void SynchCallScrollerProc←P780(event←v17192, clientData←v17220, tq←v17248)
   word event←v17192;
   word clientData←v17220;
   word tq←v17248;
   {
   register ptr gf←c40840 =  (ptr) &globalframe;
   word cd←v8160;
   /* SynchCallScrollerProc: */ 
SOURCE(8801, 231)
SOURCE(8845, 37)
   cd←v8160 = XR←Narrow(clientData←v17220, (* (( (ptr) gf←c40840)+21) ));
SOURCE(8884, 148)
   {
      word pd95;
      pd95 = (* (( (ptr) (*  (ptr) cd←v8160 ))+1) );
      (void) ( *( (fPt) ((*  (ptr) pd95 ))))((*  (ptr) (*  (ptr) cd←v8160 ) ), (* (( (ptr) cd←v8160)+1) ), (* (( (ptr) cd←v8160)+2)
          ), event←v17192, (* (( (ptr) (*  (ptr) cd←v8160 ))+2) ), pd95);
      };
   }

static void ScrollerInitInstPart←P840(widget←v16836, arguments←v16864)
   word widget←v16836;
   word arguments←v16864;
   {
   register ptr gf←c40872 =  (ptr) &globalframe;
   /* ScrollerInitInstPart: */ 
SOURCE(9038, 117)
SOURCE(9089, 66)
   {
      word val←v37672;
      val←v37672 = XR←NewObject(56, (* (( (ptr) gf←c40872)+26) ));
      (* (( (ptr) val←v37672)+5) ) =  (word) -1;
      (* (( (ptr) val←v37672)+6) ) =  (word) -1;
      (* (( (ptr) val←v37672)+7) ) =  (word) -1;
      (* (( (ptr) val←v37672)+8) ) =  (word) -1;
      (* (( (ptr) val←v37672)+12) ) = 99999;
      {
         word idx96;
         word limit97;
         (* ((( (ptr) widget←v16836)+49)+(
               idx96 = (* (( (ptr) (* (( (ptr) gf←c40872)+11)/* scrollerClass←v3000 */  ))+4) ),
               limit97 = (* (( (ptr) widget←v16836)+48) ),
               BCK(idx96, limit97)
               )) ) = val←v37672;
         };
      };
   }

static void ScrollerForgetScreenLR←P900(widget←v16748, reason←v16776)
   word widget←v16748;
   word reason←v16776;
   {
   register ptr gf←c40904 =  (ptr) &globalframe;
   word sd←v8216;
   /* ScrollerForgetScreenLR: */ 
SOURCE(9161, 268)
SOURCE(9207, 38)
   {
      word idx98;
      word limit99;
      sd←v8216 = XR←Narrow((* ((( (ptr) widget←v16748)+49)+(
               idx98 = (* (( (ptr) (* (( (ptr) gf←c40904)+11)/* scrollerClass←v3000 */  ))+4) ),
               limit99 = (* (( (ptr) widget←v16748)+48) ),
               BCK(idx98, limit99)
               )) ), (* (( (ptr) gf←c40904)+26) ));
      };
SOURCE(9247, 30)
   (* (( (ptr) sd←v8216)+11) ) = 0;
   (* (( (ptr) sd←v8216)+10) ) = 0;
   (* (( (ptr) sd←v8216)+9) ) = 0;
SOURCE(9280, 99)
   (* (( (ptr) sd←v8216)+8) ) =  (word) -1;
   (* (( (ptr) sd←v8216)+7) ) =  (word) -1;
   (* (( (ptr) sd←v8216)+6) ) =  (word) -1;
   (* (( (ptr) sd←v8216)+5) ) =  (word) -1;
SOURCE(9381, 21)
   (* (( (ptr) sd←v8216)+3) ) = 0;
SOURCE(9404, 25)
   (* (( (ptr) sd←v8216)+4) ) = 0;
   }

static void ScrollerEventProc←P960(formal←c0229, formal←c0230, tq←v17792)
   word formal←c0229;
   word formal←c0230;
   word tq←v17792;
   {
   W6 var←c40936;
   /* declaration of event←v17736 skipped */ 
   /* declaration of clientData←v17764 skipped */ 
   var←c40936.f4/* event←v17736 */  = formal←c0229;
   var←c40936.f5/* clientData←v17764 */  = formal←c0230;
   /* ScrollerEventProc: */ 
SOURCE(9545, 1550)
SOURCE(9583, 1512)
SOURCE(9585, 1472)
   {
      word var←c01;
      {
         word var←c0224;
         var←c0224 = (word) &var←c40936;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q2508) ), ( ((word)  (fPt) NoName←Q2568) ), var←c0224);
         };
      if ((var←c01 == 2)) {
         goto lab←L100012;
         };
      };
   goto lab←L100020;
   lab←L100012: ;
   lab←L100020: ;
   }

static word NoName←Q2508(formal←c0220)
   word formal←c0220;
   {
   register ptr gf←c0219 =  (ptr) &globalframe;
SOURCE(9616, 39)
   {
      word scroller←v8260;
      word sd←v8288;
SOURCE(9616, 39)
      scroller←v8260 = XR←Narrow((* (( (ptr) formal←c0220)+5) ), (* (( (ptr) gf←c0219)+20) ));
SOURCE(9657, 40)
      {
         word idx100;
         word limit101;
         sd←v8288 = XR←Narrow((* ((( (ptr) scroller←v8260)+49)+(
                  idx100 = (* (( (ptr) (* (( (ptr) gf←c0219)+11)/* scrollerClass←v3000 */  ))+4) ),
                  limit101 = (* (( (ptr) scroller←v8260)+48) ),
                  BCK(idx100, limit101)
                  )) ), (* (( (ptr) gf←c0219)+26) ));
         };
SOURCE(9699, 1358)
      {
         word var←c39624;
         var←c39624 = (* (( (ptr) (* (( (ptr) formal←c0220)+4) ))+4) );
         switch (var←c39624) {
            case 4: 
SOURCE(9750, 435)
               {
                  word bp←v8332;
SOURCE(9752, 39)
                  if (((* (( (ptr) formal←c0220)+4) ) == 0)) {
                     goto lab←L100015;
                     };
                  if (((* (( (ptr) (* (( (ptr) formal←c0220)+4) ))+4) ) == 4)) {
                     goto lab←L100015;
                     };
                  (void) XR←RaiseError(XR←NarrowFault, 0);
                  lab←L100015: ;
                  bp←v8332 = (* (( (ptr) formal←c0220)+4) );
SOURCE(9793, 371)
                  {
                     word tc102;
                     word pd103;
                     if ((0 == (* (( (ptr) sd←v8288)+3) ))) {
                        pd103 = (* (( (ptr) (* (( (ptr) gf←c0219)+75)/* var←c38536 */  ))+119) );
                        tc102 =  (word) ((word) ( *( (fPt) ((*  (ptr) pd103 ))))((* (( (ptr) bp←v8332)+2) ), (* (( (ptr) bp←v8332)+7) ), sd←v8288, pd103)
                         == 3);
                        }
                     else {
                        tc102 =  (word) 0;
                        };
                     if (tc102) {
SOURCE(9887, 20)
                        (* (( (ptr) sd←v8288)+3) ) = 1;
SOURCE(9909, 255)
                        {
                           word var←c39656;
                           var←c39656 = (* (( (ptr) bp←v8332)+5) );
                           switch (var←c39656) {
/*1*/   case 1: 
SOURCE(9937, 28)
/*1*/      (* (( (ptr) sd←v8288)+4) ) = 2;
SOURCE(9967, 39)
/*1*/      (void) SetCursor←P1200(scroller←v8260, (* (( (ptr) sd←v8288)+5) ));
/*1*/      break;
/*1*/   case 2: 
SOURCE(10015, 26)
/*1*/      (* (( (ptr) sd←v8288)+4) ) = 3;
SOURCE(10043, 41)
/*1*/      (void) SetCursor←P1200(scroller←v8260, (* (( (ptr) sd←v8288)+6) ));
/*1*/      break;
/*1*/   case 3: 
SOURCE(10093, 29)
/*1*/      (* (( (ptr) sd←v8288)+4) ) = 1;
SOURCE(10124, 40)
/*1*/      (void) SetCursor←P1200(scroller←v8260, (* (( (ptr) sd←v8288)+7) ));
/*1*/      break;
/*1*/   };
                           };
                        };
                     };
                  };
               break;
            case 5: 
SOURCE(10220, 367)
               if ((0 != (* (( (ptr) sd←v8288)+3) ))) {
SOURCE(10242, 347)
                  {
                     word br←v8376;
SOURCE(10244, 41)
                     if (((* (( (ptr) formal←c0220)+4) ) == 0)) {
                        goto lab←L100016;
                        };
                     if (((* (( (ptr) (* (( (ptr) formal←c0220)+4) ))+4) ) == 5)) {
                        goto lab←L100016;
                        };
                     (void) XR←RaiseError(XR←NarrowFault, 0);
                     lab←L100016: ;
                     br←v8376 = (* (( (ptr) formal←c0220)+4) );
SOURCE(10287, 237)
                     if ( ( (0 != (* (( (ptr) br←v8376)+16) )) ?  ( (0 != (word) Inside←P1080(scroller←v8260, (*  (W2Pt) (( (ptr) br←v8376)+13)
                         ))) ? 1 : (0 != (word) Extents←P1140(scroller←v8260, (*  (W2Pt) (( (ptr) br←v8376)+13) ), (* (( (ptr) sd←v8288)+2) ))) )  : 0 ) ) {
SOURCE(10383, 143)
                        {
                           word leng←v8420;
                           word value←v8448;
SOURCE(10385, 30)
                           {
/*1*/   float tf104;
/*1*/   leng←v8420 = (
/*1*/      tf104 = (float)(int)(* (( (ptr) sd←v8288)+12) ),  *(word*)&tf104
/*1*/      );
/*1*/   };
SOURCE(10417, 38)
                           {
/*1*/   word var←c39688;
/*1*/   word p←v37592;
/*1*/   W2 pos←v37624;
/*1*/   pos←v37624 = (*  (W2Pt) (( (ptr) br←v8376)+13) );
SOURCE(11180, 76)
/*1*/   {
/*1*/      word var←c39720;
/*1*/      var←c39720 = (* (( (ptr) sd←v8288)+2) );
/*1*/      if ((var←c39720 == 0)) {
SOURCE(11221, 9)
/*1*/         p←v37592 = pos←v37624.f0;
/*1*/         }
/*1*/      else {
/*1*/         if ((var←c39720 == 1)) {
SOURCE(11247, 9)
/*1*/            p←v37592 = pos←v37624.f1;
/*1*/            };
/*1*/         };
/*1*/      };
SOURCE(11099, 157)
/*1*/   var←c39688 = p←v37592;
/*1*/   {
/*1*/      float tf105;
/*1*/      value←v8448 = (
/*1*/         tf105 = (float)(int)var←c39688,  *(word*)&tf105
/*1*/         );
/*1*/      };
/*1*/   };
SOURCE(10457, 67)
                           {
/*1*/   word x106;
/*1*/   word x107;
/*1*/   float tf108;
/*1*/   (void) ForwardCallScrollerProcs←P720(sd←v8288, (* (( (ptr) sd←v8288)+4) ), (
/*1*/         tf108 = (
/*1*/            x106 = value←v8448,  *(float*)&x106
/*1*/            ) / (
/*1*/            x107 = leng←v8420,  *(float*)&x107
/*1*/            ),  *(word*)&tf108
/*1*/         ), (* (( (ptr) formal←c0220)+4) ));
/*1*/   };
                           };
                        };
SOURCE(10529, 35)
                     (void) SetCursor←P1200(scroller←v8260, (* (( (ptr) sd←v8288)+8) ));
SOURCE(10566, 21)
                     (* (( (ptr) sd←v8288)+3) ) = 0;
                     };
                  };
               break;
            case 22: 
SOURCE(10627, 309)
               {
                  word cne←v8492;
                  word value←v8520;
SOURCE(10629, 44)
                  if (((* (( (ptr) formal←c0220)+4) ) == 0)) {
                     goto lab←L100018;
                     };
                  if (((* (( (ptr) (* (( (ptr) formal←c0220)+4) ))+4) ) == 22)) {
                     goto lab←L100018;
                     };
                  (void) XR←RaiseError(XR←NarrowFault, 0);
                  lab←L100018: ;
                  cne←v8492 = (* (( (ptr) formal←c0220)+4) );
SOURCE(10675, 133)
                  {
                     word var←c39752;
                     var←c39752 = (* (( (ptr) sd←v8288)+2) );
                     if ((var←c39752 == 0)) {
                        value←v8520 = (* (( (ptr) cne←v8492)+11) );
                        }
                     else {
                        if ((var←c39752 == 1)) {
                           value←v8520 = (* (( (ptr) cne←v8492)+12) );
                           }
                        else {
                           value←v8520 = (
/*1*/   XR←RaiseUnnamedError(), 0
/*1*/   );
                           };
                        };
                     };
SOURCE(10810, 122)
                  if (( (int)value←v8520 !=  (int)(* (( (ptr) sd←v8288)+12) ))) {
SOURCE(10844, 33)
                     (* (( (ptr) sd←v8288)+12) ) = (MAX((int)(word), value←v8520, 1));
SOURCE(10879, 53)
                     {
                        float tf109;
                        (void) ForwardCallScrollerProcs←P720(sd←v8288, 4, (
/*1*/   tf109 = (float)(int)value←v8520,  *(word*)&tf109
/*1*/   ), (* (( (ptr) formal←c0220)+4) ));
                        };
                     };
                  };
               break;
            case 12: 
SOURCE(10962, 97)
               {
                  word expose←v8564;
SOURCE(10964, 38)
                  if (((* (( (ptr) formal←c0220)+4) ) == 0)) {
                     goto lab←L100019;
                     };
                  if (((* (( (ptr) (* (( (ptr) formal←c0220)+4) ))+4) ) == 12)) {
                     goto lab←L100019;
                     };
                  (void) XR←RaiseError(XR←NarrowFault, 0);
                  lab←L100019: ;
                  expose←v8564 = (* (( (ptr) formal←c0220)+4) );
SOURCE(11004, 53)
                  if (((* (( (ptr) expose←v8564)+11) ) <= 0)) {
SOURCE(11028, 29)
                     (void) ScrollerRepaint←P1260(scroller←v8260, sd←v8288);
                     };
                  };
               break;
            };
         };
      };
   return(0);
   }

static word Inside←P1080(w←v6424, p←v6452)
   word w←v6424;
   W2 p←v6452;
   {
   word var←c6496;
   /* Inside: */ 
SOURCE(11272, 147)
SOURCE(11333, 86)
   {
      word tc110;
      if ( (  ( ( (int)p←v6452.f0 >=  (int)0) ? ( (int)p←v6452.f0 <=  (int)(* (( (ptr) w←v6424)+41) )) : 0 )  ? ( (int)p←v6452.f1 >=  (int)0) : 0 ) ) {
         tc110 =  (word) ( (int)p←v6452.f1 <=  (int)(* (( (ptr) w←v6424)+42) ));
         }
      else {
         tc110 =  (word) 0;
         };
      return(tc110);
      };
   }

static word Extents←P1140(w←v6556, p←v6584, direction←v6612)
   word w←v6556;
   W2 p←v6584;
   word direction←v6612;
   {
   word var←c6656;
   /* Extents: */ 
SOURCE(11423, 221)
SOURCE(11507, 137)
   {
      word var←c39784;
      var←c39784 = direction←v6612;
      if ((var←c39784 == 0)) {
SOURCE(11544, 42)
         {
            word tc111;
            if (( (int)p←v6584.f0 <=  (int)0)) {
               tc111 =  (word) 1;
               }
            else {
               tc111 =  (word) ( (int)p←v6584.f0 >=  (int)(* (( (ptr) w←v6556)+41) ));
               };
            return(tc111);
            };
         }
      else {
         if ((var←c39784 == 1)) {
SOURCE(11601, 43)
            {
               word tc112;
               if (( (int)p←v6584.f1 <=  (int)0)) {
                  tc112 =  (word) 1;
                  }
               else {
                  tc112 =  (word) ( (int)p←v6584.f1 >=  (int)(* (( (ptr) w←v6556)+42) ));
                  };
               return(tc112);
               };
            }
         else {
SOURCE(11657, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
   }

static void SetCursor←P1200(widget←v6716, cursor←v6744)
   word widget←v6716;
   word cursor←v6744;
   {
   register ptr gf←c40968 =  (ptr) &globalframe;
   W15 attributes←v8608;
   /* SetCursor: */ 
SOURCE(11668, 215)
SOURCE(11728, 25)
   (*  (ptr) &attributes←v8608 ) =  (word) -1;
   (* (( (ptr) &attributes←v8608)+1) ) =  (word) -1;
   (* (( (ptr) &attributes←v8608)+2) ) =  (word) -1;
   (* (( (ptr) &attributes←v8608)+3) ) =  (word) -1;
   (* (( (ptr) &attributes←v8608)+4) ) = 11;
   (* (( (ptr) &attributes←v8608)+5) ) = 11;
   (* (( (ptr) &attributes←v8608)+6) ) = 3;
   (* (( (ptr) &attributes←v8608)+7) ) =  (word) -1;
   (* (( (ptr) &attributes←v8608)+8) ) =  (word) -1;
   (* (( (ptr) &attributes←v8608)+9) ) = 2;
   (* (( (ptr) &attributes←v8608)+10) ) = 2;
   (* (( (ptr) &attributes←v8608)+11) ) = 0;
   (* (( (ptr) &attributes←v8608)+12) ) = 0;
   (* (( (ptr) &attributes←v8608)+13) ) =  (word) -1;
   (* (( (ptr) &attributes←v8608)+14) ) =  (word) -1;
SOURCE(11755, 26)
   (* (( (ptr) &attributes←v8608)+14) ) = cursor←v6744;
SOURCE(11783, 71)
   {
      W18 var←c0169;
      (*  (ptr) (word) &var←c0169 ) = (* (( (ptr) widget←v6716)+34) );
      (* (( (ptr) (word) &var←c0169) + 1) ) = (* (( (ptr) widget←v6716)+35) );
      (*  (W15Pt) (( (ptr) (word) &var←c0169) + 2) ) = attributes←v8608;
      (* (( (ptr) (word) &var←c0169) + 17) ) = 0;
      {
         word pd113;
         pd113 = (* (( (ptr) (* (( (ptr) gf←c40968)+75)/* var←c38536 */  ))+75) );
         (void) ( *( (fPt) ((*  (ptr) pd113 ))))((word) (&var←c0169), pd113);
         };
      };
SOURCE(11856, 27)
   {
      word pd114;
      pd114 = (* (( (ptr) (* (( (ptr) gf←c40968)+75)/* var←c38536 */  ))+43) );
      (void) ( *( (fPt) ((*  (ptr) pd114 ))))((* (( (ptr) widget←v6716)+34) ), 0, pd114);
      };
   }

static void ScrollerRepaint←P1260(scroller←v6804, sd←v6832)
   word scroller←v6804;
   word sd←v6832;
   {
   register ptr gf←c41000 =  (ptr) &globalframe;
   word c←v8680;
   word w←v8708;
   W2 sz←v8736;
   W2 state←v8764;
   /* ScrollerRepaint: */ 
SOURCE(11890, 1510)
SOURCE(11971, 38)
   c←v8680 = (* (( (ptr) scroller←v6804)+34) );
SOURCE(12012, 30)
   w←v8708 = (* (( (ptr) scroller←v6804)+35) );
SOURCE(12044, 34)
   sz←v8736 = (*  (W2Pt) (( (ptr) scroller←v6804)+41) );
SOURCE(12080, 23)
   state←v8764 = (*  (W2Pt) sd←v6832 );
SOURCE(12105, 71)
   if (((* (( (ptr) scroller←v6804)+37) ) != 0) || ((* (( (ptr) scroller←v6804)+38) ) != 0)) {
SOURCE(12170, 6)
      return;
      };
SOURCE(12178, 42)
   if (( (int)sz←v8736.f1 <=  (int)0) || ( (int)sz←v8736.f0 <=  (int)0)) {
SOURCE(12214, 6)
      return;
      };
SOURCE(12222, 45)
   {
      word x115;
      float tf116;
      float tf117;
      word x119;
      float tf120;
      float tf121;
      word x123;
      float tf124;
      state←v8764.f0 = (
         tf124 = FMIN(FMAX((
                  x115 = state←v8764.f0,  *(float*)&x115
                  ), (
                  x119 = (*  (ptr) &fc118 ),  *(float*)&x119
                  ), tf116, tf117), (
               x123 = (*  (ptr) &fc122 ),  *(float*)&x123
               ), tf120, tf121),  *(word*)&tf124
         );
      };
SOURCE(12269, 51)
   {
      word x125;
      float tf126;
      float tf127;
      word x128;
      float tf129;
      float tf130;
      word x131;
      float tf132;
      state←v8764.f1 = (
         tf132 = FMIN(FMAX((
                  x125 = state←v8764.f0,  *(float*)&x125
                  ), (
                  x128 = state←v8764.f1,  *(float*)&x128
                  ), tf126, tf127), (
               x131 = (*  (ptr) &fc122 ),  *(float*)&x131
               ), tf129, tf130),  *(word*)&tf132
         );
      };
SOURCE(12322, 1047)
   {
      word var←c39848;
      var←c39848 = (* (( (ptr) sd←v6832)+2) );
      if ((var←c39848 == 0)) {
SOURCE(12361, 499)
         {
            word iLength←v8808;
            word iStart←v8836;
            word iNext←v8864;
SOURCE(12363, 41)
            iLength←v8808 = (* (( (ptr) scroller←v6804)+41) );
SOURCE(12406, 45)
            {
               word pd133;
               word x134;
               float tf135;
               pd133 = (* (( (ptr) (* (( (ptr) gf←c41000)+78)/* var←c39880 */  ))+6) );
               iStart←v8836 = (word) ( *( (fPt) ((*  (ptr) pd133 ))))((
                     tf135 = (float)(int)iLength←v8808 * (
                        x134 = state←v8764.f0,  *(float*)&x134
                        ),  *(word*)&tf135
                     ), pd133);
               };
SOURCE(12453, 43)
            {
               word pd136;
               word x137;
               float tf138;
               pd136 = (* (( (ptr) (* (( (ptr) gf←c41000)+78)/* var←c39880 */  ))+6) );
               iNext←v8864 = (word) ( *( (fPt) ((*  (ptr) pd136 ))))((
                     tf138 = (float)(int)iLength←v8808 * (
                        x137 = state←v8764.f1,  *(float*)&x137
                        ),  *(word*)&tf138
                     ), pd136);
               };
SOURCE(12498, 43)
            {
               word x139;
               iStart←v8836 = (x139 = (MIN((int)(word), iStart←v8836, (iLength←v8808 - 3))),
                  MAX((int)(word), x139, 0));
               };
SOURCE(12543, 46)
            {
               word x140;
               iNext←v8864 = (x140 = (MAX((int)(word), (iStart←v8836 + 3), iNext←v8864)),
                  MIN((int)(word), iLength←v8808, x140));
               };
SOURCE(12591, 78)
            if (( (int)iStart←v8836 >  (int)0)) {
SOURCE(12610, 59)
               {
                  W2 var←c39912;
                  W2 var←c39944;
                  var←c39912.f0 = 0;
                  var←c39912.f1 = 0;
                  var←c39944.f0 = iStart←v8836;
                  var←c39944.f1 = sz←v8736.f1;
                  {
                     word pd141;
                     pd141 = (* (( (ptr) (* (( (ptr) gf←c41000)+75)/* var←c38536 */  ))+169) );
                     (void) ( *( (fPt) ((*  (ptr) pd141 ))))(c←v8680, w←v8708, (* (( (ptr) sd←v6832)+9) ), var←c39912, var←c39944, 0, pd141);
                     };
                  };
               };
SOURCE(12671, 92)
            if (( (int)iNext←v8864 >  (int)iStart←v8836)) {
SOURCE(12693, 70)
               {
                  W2 var←c39976;
                  W2 var←c40008;
                  var←c39976.f0 = iStart←v8836;
                  var←c39976.f1 = 0;
                  var←c40008.f0 = (iNext←v8864 - iStart←v8836);
                  var←c40008.f1 = sz←v8736.f1;
                  {
                     word pd142;
                     pd142 = (* (( (ptr) (* (( (ptr) gf←c41000)+75)/* var←c38536 */  ))+169) );
                     (void) ( *( (fPt) ((*  (ptr) pd142 ))))(c←v8680, w←v8708, (* (( (ptr) sd←v6832)+10) ), var←c39976, var←c40008, 0, pd142);
                     };
                  };
               };
SOURCE(12765, 93)
            if (( (int)iLength←v8808 >  (int)iNext←v8864)) {
SOURCE(12788, 70)
               {
                  W2 var←c40040;
                  W2 var←c40072;
                  var←c40040.f0 = iNext←v8864;
                  var←c40040.f1 = 0;
                  var←c40072.f0 = (iLength←v8808 - iNext←v8864);
                  var←c40072.f1 = sz←v8736.f1;
                  {
                     word pd143;
                     pd143 = (* (( (ptr) (* (( (ptr) gf←c41000)+75)/* var←c38536 */  ))+169) );
                     (void) ( *( (fPt) ((*  (ptr) pd143 ))))(c←v8680, w←v8708, (* (( (ptr) sd←v6832)+11) ), var←c40040, var←c40072, 0, pd143);
                     };
                  };
               };
            };
         }
      else {
         if ((var←c39848 == 1)) {
SOURCE(12875, 496)
            {
               word iLength←v8908;
               word iStart←v8936;
               word iNext←v8964;
SOURCE(12877, 42)
               iLength←v8908 = (* (( (ptr) scroller←v6804)+42) );
SOURCE(12921, 45)
               {
                  word pd144;
                  word x145;
                  float tf146;
                  pd144 = (* (( (ptr) (* (( (ptr) gf←c41000)+78)/* var←c39880 */  ))+6) );
                  iStart←v8936 = (word) ( *( (fPt) ((*  (ptr) pd144 ))))((
                        tf146 = (float)(int)iLength←v8908 * (
                           x145 = state←v8764.f0,  *(float*)&x145
                           ),  *(word*)&tf146
                        ), pd144);
                  };
SOURCE(12968, 43)
               {
                  word pd147;
                  word x148;
                  float tf149;
                  pd147 = (* (( (ptr) (* (( (ptr) gf←c41000)+78)/* var←c39880 */  ))+6) );
                  iNext←v8964 = (word) ( *( (fPt) ((*  (ptr) pd147 ))))((
                        tf149 = (float)(int)iLength←v8908 * (
                           x148 = state←v8764.f1,  *(float*)&x148
                           ),  *(word*)&tf149
                        ), pd147);
                  };
SOURCE(13013, 43)
               {
                  word x150;
                  iStart←v8936 = (x150 = (MIN((int)(word), iStart←v8936, (iLength←v8908 - 3))),
                     MAX((int)(word), x150, 0));
                  };
SOURCE(13058, 46)
               {
                  word x151;
                  iNext←v8964 = (x151 = (MAX((int)(word), (iStart←v8936 + 3), iNext←v8964)),
                     MIN((int)(word), iLength←v8908, x151));
                  };
SOURCE(13106, 76)
               if (( (int)iStart←v8936 >  (int)0)) {
SOURCE(13124, 58)
                  {
                     W2 var←c40104;
                     W2 var←c40136;
                     var←c40104.f0 = 0;
                     var←c40104.f1 = 0;
                     var←c40136.f0 = sz←v8736.f0;
                     var←c40136.f1 = iStart←v8936;
                     {
                        word pd152;
                        pd152 = (* (( (ptr) (* (( (ptr) gf←c41000)+75)/* var←c38536 */  ))+169) );
                        (void) ( *( (fPt) ((*  (ptr) pd152 ))))(c←v8680, w←v8708, (* (( (ptr) sd←v6832)+9) ), var←c40104, var←c40136, 0, pd152);
                        };
                     };
                  };
SOURCE(13184, 91)
               if (( (int)iNext←v8964 >  (int)iStart←v8936)) {
SOURCE(13206, 69)
                  {
                     W2 var←c40168;
                     W2 var←c40200;
                     var←c40168.f0 = 0;
                     var←c40168.f1 = iStart←v8936;
                     var←c40200.f0 = sz←v8736.f0;
                     var←c40200.f1 = (iNext←v8964 - iStart←v8936);
                     {
                        word pd153;
                        pd153 = (* (( (ptr) (* (( (ptr) gf←c41000)+75)/* var←c38536 */  ))+169) );
                        (void) ( *( (fPt) ((*  (ptr) pd153 ))))(c←v8680, w←v8708, (* (( (ptr) sd←v6832)+10) ), var←c40168, var←c40200, 0, pd153);
                        };
                     };
                  };
SOURCE(13277, 92)
               if (( (int)iLength←v8908 >  (int)iNext←v8964)) {
SOURCE(13300, 69)
                  {
                     W2 var←c40232;
                     W2 var←c40264;
                     var←c40232.f0 = 0;
                     var←c40232.f1 = iNext←v8964;
                     var←c40264.f0 = sz←v8736.f0;
                     var←c40264.f1 = (iLength←v8908 - iNext←v8964);
                     {
                        word pd154;
                        pd154 = (* (( (ptr) (* (( (ptr) gf←c41000)+75)/* var←c38536 */  ))+169) );
                        (void) ( *( (fPt) ((*  (ptr) pd154 ))))(c←v8680, w←v8708, (* (( (ptr) sd←v6832)+11) ), var←c40232, var←c40264, 0, pd154);
                        };
                     };
                  };
               };
            };
         };
      };
SOURCE(13383, 17)
   {
      word pd155;
      pd155 = (* (( (ptr) (* (( (ptr) gf←c41000)+75)/* var←c38536 */  ))+43) );
      (void) ( *( (fPt) ((*  (ptr) pd155 ))))(c←v8680, 1, pd155);
      };
   }

static void NoName←Q2568(formal←c0200, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0200;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0223 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0223)+75)/* var←c38536 */  ))+4) ))) {
      {
         word err←v24960;
         err←v24960 = (*  (ptr) formal←c200003 );
SOURCE(9605, 9)
         (*  (ptr) formal←c0200 ) = 2;
         (* (( (ptr) formal←c0200)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0200 ) = 0;
   (* (( (ptr) formal←c0200)+1) ) = 0;
   return;
   }

/* file: XTkScrollerImpl, module: XTkScrollerImpl, compiled at: April 21, 1992 12:54:18 pm PDT */ 
extern void XR←install←XTkScrollerImpl() {
   NoName←Q2448();
   }
extern void XR←run←XTkScrollerImpl() { XR←Start(&globalframe); }