/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: October 8, 1992 10:05:06 am PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: XTkScrollbarImpl, module: XTkScrollbarImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [2901551518,1788124405] XTkScrollbarImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W8 r;} W16;
typedef struct {W8 f; word r;} W9;
typedef struct {W16 f; W9 r;} W25;
typedef struct {word f0, f1;} W2;
typedef 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;} W6;
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) )
static float fc82 = 0.0;
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
#define IABS(i) ( ((int)(word)(i) > 0) ? (i) : (word)(-(int)(word)(i)) )
#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 fc120 = 1.0;
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q2988();
static void XTkScrollbarImpl←P0();
static word GetDepthData←P60();
static word InitDepthData←P120();
static void ParentalSetState←P240();
static void PublicSetState←P300();
static word GetDirection←P360();
static void GetState←P420();
static void EntrySetState←P480();
static void EntryGetState←P540();
static void ScrollbarConfigureLR←P600();
static word CreateScrollbar←P660();
static word IsScrollbar←P720();
static void SetScrollProc←P780();
static void ForwardCallScrollProcs←P840();
static void ForwardedCallScrollProc←P900();
static void ScrollbarInitInstPart←P960();
static void ScrollbarForgetScreenLR←P1020();
static void EventProc←P1080();
static word NoName←Q3048();
static word Inside←P1200();
static word Extents←P1260();
static void SetCursor←P1320();
static void ScrollbarRepaint←P1380();
static void NoName←Q3108();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\244\000\000"};
static struct {unsigned f; char r[40];} string4 = {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];} string5 = {851984, "\257\300\351\276\264\273\300\115\104\320\264\123\320\000\000"};
static struct {unsigned f; char r[60];} string6 = {3801146, "\007\100\200\040\047\004\100\354\004\200\140\054\004\014\015\015\015\015\015\015\015\015\004\140\014\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\015\013\004\100\114\004\102\354\004\100\314\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\254\362\051\236\300\152\224\234\365\100\200\000\000"};
static struct {unsigned f; char r[4];} string8 = {196611, "\004x\002"};
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\254\362\051\236\300\152\224\234\365\100\310\000\000"};
static struct {unsigned f; char r[8];} string11 = {262148, "\004\200\270\000\000\000\000"};
static struct {unsigned f; char r[44];} string12 = {2752556, "\260\006\005\146\151\162\163\164\257\300\254\362\051\236\300\152\224\234\365\100\244\005\004\162\145\163\164\214\257\300\254\362\051\236\300\152\224\234\365\100\244\261\000"};
static struct {unsigned f; char r[4];} string13 = {131074, "\004\035\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\254\362\051\236\300\152\224\234\365\100\260\000\000"};
static struct {unsigned f; char r[8];} string15 = {327688, "white\000\000"};
static struct {unsigned f; char r[12];} string16 = {589836, "Scrollbar\000\000"};
static struct {unsigned f; char r[12];} string17 = {589836, "scrollbar\000\000"};
static struct {unsigned f; char r[16];} string18 = {917520, "ScrollbarState\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\254\362\051\236\300\152\224\234\365\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\204\004\017\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\351\276\264\273\300\115\104\320\264\100\164\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\072\360\043\311\300\372\054\163\300\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\307\342\130\103\300\212\340\271\244\100\150\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\033\115\307\000\300\214\060\055\310\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\227\370\144\253\300\176\165\034\110\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\325\065\000\072\300\160\340\122\237\100\150\000\000"};
static struct {
   word f0[37]; 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; word f74; word f75; 
   word f76; word f77; word f78; word f79; 
   word f80[8]; 
   } globalframe = {
   {0}, (word) ScrollbarRepaint←P1380, 0, (word) SetCursor←P1320, 
   0, (word) Extents←P1260, 0, (word) Inside←P1200, 
   0, (word) EventProc←P1080, 0, (word) ScrollbarForgetScreenLR←P1020, 
   0, (word) ScrollbarInitInstPart←P960, 0, (word) ForwardedCallScrollProc←P900, 
   0, (word) ForwardCallScrollProcs←P840, 0, (word) SetScrollProc←P780, 
   0, (word) IsScrollbar←P720, 0, (word) CreateScrollbar←P660, 
   0, (word) ScrollbarConfigureLR←P600, 0, (word) EntryGetState←P540, 
   0, (word) EntrySetState←P480, 0, (word) GetState←P420, 
   0, (word) GetDirection←P360, 0, (word) PublicSetState←P300, 
   0, (word) ParentalSetState←P240, 0, (word) InitDepthData←P120, 
   0, (word) GetDepthData←P60, 0, (word) XTkScrollbarImpl←P0, 
   {0}
   };

static void NoName←Q2988()
   {
   register ptr gf←c0213 =  (ptr) &globalframe;
   word var←c42088;
   (* (( (ptr) gf←c0213)+13) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0213)+18) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0213)+19) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0213)+25) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0213)+26) ) = (word) XR←GetTypeIndexS((word) (&string9));
   (* (( (ptr) gf←c0213)+29) ) = (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11);
   (* (( (ptr) gf←c0213)+30) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
   (* (( (ptr) gf←c0213)+32) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string2);
   (*  (ptr) (( (bPt) gf←c0213)+132) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0213)+13) ), (word) &string15);
   (*  (ptr) (( (bPt) gf←c0213)+136) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0213)+13) ), (word) &string16);
   (*  (ptr) (( (bPt) gf←c0213)+140) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0213)+13) ), (word) &string17);
   (*  (ptr) (( (bPt) gf←c0213)+144) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0213)+13) ), (word) &string18);
   (void) XR←DeclareGlobalFrame((word) "XTkScrollbarImpl", &globalframe, (word) XR←GetTypeIndex((word) &string19, 0, (word) &string20)
      , (word) (( (bPt) gf←c0213)+316)/* var←c40104 */ );
   var←c42088 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string21)), 11);
   (* (( (ptr) gf←c0213)+86)/* var←c41672 */  ) = var←c42088;
   (void) XR←ImportProcS(var←c42088, 67371521);
   var←c42088 = (word) XR←ImportInterface((word) "Xl", (word) XR←GetTypeIndexS((word) (&string22)), 218);
   (* (( (ptr) gf←c0213)+83)/* var←c40264 */  ) = var←c42088;
   (void) XR←ImportProcS(var←c42088, 2139398);
   (void) XR←ImportProcS(var←c42088, 534274);
   (void) XR←ImportProcS(var←c42088, 4736772);
   (void) XR←ImportProcS(var←c42088, 67397633);
   (void) XR←ImportProcS(var←c42088, 67924739);
   (void) XR←ImportProcS(var←c42088, 1063940);
   (void) XR←ImportProcS(var←c42088, 561922);
   (void) XR←ImportProcS(var←c42088, 562690);
   (void) XR←ImportProcS(var←c42088, 3450891);
   (void) XR←ImportProcS(var←c42088, 68705285);
   (void) XR←ImportProcS(var←c42088, 822787);
   (void) XR←ImportProcS(var←c42088, 67910403);
   (void) XR←ImportProcS(var←c42088, 67668226);
   (void) XR←ImportProcS(var←c42088, 68207876);
   var←c42088 = (word) XR←ImportInterface((word) "XlCursor", (word) XR←GetTypeIndexS((word) (&string23)), 3);
   (* (( (ptr) gf←c0213)+84)/* var←c40552 */  ) = var←c42088;
   (void) XR←ImportProcS(var←c42088, 67633410);
   var←c42088 = (word) XR←ImportInterface((word) "XlPerDepth", (word) XR←GetTypeIndexS((word) (&string24)), 3);
   (* (( (ptr) gf←c0213)+81)/* var←c40136 */  ) = var←c42088;
   (void) XR←ImportProcS(var←c42088, 67633410);
   (void) XR←ImportProcS(var←c42088, 67633666);
   var←c42088 = (word) XR←ImportInterface((word) "XTk", (word) XR←GetTypeIndexS((word) (&string25)), 50);
   (* (( (ptr) gf←c0213)+85)/* var←c41000 */  ) = var←c42088;
   (void) XR←ImportProcS(var←c42088, 67642370);
   (void) XR←ImportProcS(var←c42088, 69992451);
   (void) XR←ImportProcS(var←c42088, 1579779);
   var←c42088 = (word) XR←ImportInterface((word) "XTkFriends", (word) XR←GetTypeIndexS((word) (&string26)), 33);
   (* (( (ptr) gf←c0213)+82)/* var←c40200 */  ) = var←c42088;
   (void) XR←ImportProcS(var←c42088, 2102532);
   (void) XR←ImportProcS(var←c42088, 1048580);
   (void) XR←ImportProcS(var←c42088, 73666049);
   var←c42088 = (word) XR←ExportInterface((word) "XTkScrollbar", (word) XR←GetTypeIndexS((word) (&string27)), 9);
   (* (( (ptr) gf←c0213)+87)/* var←c42120 */  ) = var←c42088;
   (void) XR←ExportVar(var←c42088, 0, (word) (( (bPt) gf←c0213)+40)/* scrollbarClass←v2972 */ );
   (void) XR←ExportProcS(var←c42088, (word) (( (bPt) gf←c0213)+236)/* var←c39784 */ , 70254851);
   (void) XR←ExportProcS(var←c42088, (word) (( (bPt) gf←c0213)+228)/* var←c39752 */ , 67371521);
   (void) XR←ExportProcS(var←c42088, (word) (( (bPt) gf←c0213)+276)/* var←c39944 */ , 67371777);
   (void) XR←ExportProcS(var←c42088, (word) (( (bPt) gf←c0213)+268)/* var←c39912 */ , 134480897);
   (void) XR←ExportProcS(var←c42088, (word) (( (bPt) gf←c0213)+292)/* var←c40008 */ , 1049859);
   (void) XR←ExportProcS(var←c42088, (word) (( (bPt) gf←c0213)+284)/* var←c39976 */ , 1050116);
   (void) XR←ExportVar(var←c42088, 7, (word) (( (bPt) gf←c0213)+32)/* stateChanged←v2776 */ );
   (void) XR←ExportProcS(var←c42088, (word) (( (bPt) gf←c0213)+220)/* var←c39720 */ , 1050628);
   }

static void XTkScrollbarImpl←P0(formal←c043, formal←c040)
   word formal←c043;
   word formal←c040;
   {
   register ptr gf←c42152 =  (ptr) &globalframe;
   /* XTkScrollbarImpl: */ 
SOURCE(75, 14084)
SOURCE(213, 43)
   (* (( (ptr) gf←c42152)+8)/* stateChanged←v2776 */  ) = (* (( (ptr) gf←c42152)+36) );
SOURCE(513, 71)
   {
      word pd28;
      pd28 = (* (( (ptr) (* (( (ptr) gf←c42152)+81)/* var←c40136 */  ))+6) );
      (* (( (ptr) gf←c42152)+9)/* perDHandle←v2832 */  ) = (word) ( *( (fPt) ((*  (ptr) pd28 ))))((word) (( (bPt) gf←c42152)+300)
         /* var←c40040 */ , 0, pd28);
      };
SOURCE(3283, 280)
   {
      W25 var←c042;
      (*  (ptr) &var←c042 ) = (* (( (ptr) gf←c42152)+35) );
      (* (( (ptr) &var←c042)+1) ) = (* (( (ptr) gf←c42152)+34) );
      (* (( (ptr) &var←c042)+2) ) = 0;
      (* (( (ptr) &var←c042)+3) ) = 1;
      (* (( (ptr) &var←c042)+4) ) = 0;
      (* (( (ptr) &var←c042)+5) ) = 0;
      (* (( (ptr) &var←c042)+6) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+7) ) = (word) (( (bPt) gf←c42152)+244)/* var←c39816 */ ;
      (* (( (ptr) &var←c042)+8) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+9) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+10) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+11) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+12) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+13) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+14) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+15) ) = (word) (( (bPt) gf←c42152)+188)/* var←c39592 */ ;
      (* (( (ptr) &var←c042)+16) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+17) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+18) ) = (word) (( (bPt) gf←c42152)+196)/* var←c39624 */ ;
      (* (( (ptr) &var←c042)+19) ) = 0;
      (* (( (ptr) &var←c042)+20) ) = (* (( (ptr) gf←c42152)+33) );
      (* (( (ptr) &var←c042)+21) ) = 0;
      (* (( (ptr) &var←c042)+22) ) = 172044;
      (* (( (ptr) &var←c042)+23) ) = XR←CheckProc(0);
      (* (( (ptr) &var←c042)+24) ) = XR←CheckProc(0);
      {
         word pd29;
         pd29 = (* (( (ptr) (* (( (ptr) gf←c42152)+82)/* var←c40200 */  ))+18) );
         (* (( (ptr) gf←c42152)+10)/* scrollbarClass←v2972 */  ) = (word) ( *( (fPt) ((*  (ptr) pd29 ))))((word) (&var←c042), pd29)
         ;
         };
      };
SOURCE(4553, 58)
   (* (( (ptr) gf←c42152)+11)/* fakeExpose←v3140 */  ) = XR←NewObject(32, (* (( (ptr) gf←c42152)+19) ));
SOURCE(9372, 103)
   {
      word pd30;
      pd30 = (* (( (ptr) (* (( (ptr) gf←c42152)+83)/* var←c40264 */  ))+201) );
      (* (( (ptr) gf←c42152)+12)/* eventFilter←v3560 */  ) = (word) ( *( (fPt) ((*  (ptr) pd30 ))))(12, 4, 5, 22, pd30);
      };
   }

static word GetDepthData←P60(sd←v4216)
   word sd←v4216;
   {
   register ptr gf←c42184 =  (ptr) &globalframe;
   word dd←v4260;
   /* GetDepthData: */ 
SOURCE(587, 121)
SOURCE(587, 121)
   dd←v4260 = 0;
SOURCE(661, 47)
   {
      word pd31;
      pd31 = (* (( (ptr) (* (( (ptr) gf←c42184)+81)/* var←c40136 */  ))+5) );
      dd←v4260 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd31 ))))((* (( (ptr) gf←c42184)+9)/* perDHandle←v2832 */  ), sd←v4216, pd31)
         , (* (( (ptr) gf←c42184)+25) ));
      };
SOURCE(587, 121)
   return(dd←v4260);
   }

static word InitDepthData←P120(sd←v13052, initData←v13080)
   word sd←v13052;
   word initData←v13080;
   {
   register ptr gf←c42216 =  (ptr) &globalframe;
   word var←c13124;
   word dd←v7072;
   word var←c40328;
   word c←v39384;
   /* InitDepthData: */ 
SOURCE(714, 2410)
SOURCE(753, 38)
   dd←v7072 = XR←NewObject(56, (* (( (ptr) gf←c42216)+25) ));
SOURCE(793, 2314)
   {
      word tc32;
      if ((sd←v13052 != 0)) {
         c←v39384 = (* (( (ptr) (* (( (ptr) sd←v13052)+1) ))+16) );
         if ((c←v39384 != 0)) {
            var←c40328 = (0 != (* (( (ptr) c←v39384)+15) ));
            }
         else {
            var←c40328 = 0;
            };
         tc32 =  (word) (0 != var←c40328);
         }
      else {
         tc32 =  (word) 0;
         };
      if (tc32) {
SOURCE(843, 2266)
         {
            word screen←v7128;
            word c←v7156;
            word rd←v7184;
            word stippleSpace1←v7212;
            word stippleSpace2←v7240;
            word stippleSpace3←v7268;
            word gc1←v7296;
            word gc2←v7324;
            word gc3←v7352;
SOURCE(845, 29)
            screen←v7128 = (* (( (ptr) sd←v13052)+1) );
SOURCE(876, 36)
            c←v7156 = (* (( (ptr) screen←v7128)+16) );
SOURCE(914, 38)
            rd←v7184 = (*  (ptr) screen←v7128 );
SOURCE(954, 115)
            stippleSpace1←v7212 = XR←NewObject(16, (* (( (ptr) gf←c42216)+26) ));
            (*  (ptr) stippleSpace1←v7212 ) = 2290649224;
            (* (( (ptr) stippleSpace1←v7212)+1) ) = 1145324612;
            (* (( (ptr) stippleSpace1←v7212)+2) ) = 572662306;
SOURCE(1071, 124)
            stippleSpace2←v7240 = XR←NewObject(16, (* (( (ptr) gf←c42216)+26) ));
            (*  (ptr) stippleSpace2←v7240 ) = 2863311530;
            (* (( (ptr) stippleSpace2←v7240)+1) ) = 1431655765;
            (* (( (ptr) stippleSpace2←v7240)+2) ) = 2863311530;
            (* (( (ptr) stippleSpace2←v7240)+3) ) = 1431655765;
SOURCE(1197, 115)
            stippleSpace3←v7268 = XR←NewObject(16, (* (( (ptr) gf←c42216)+26) ));
            (*  (ptr) stippleSpace3←v7268 ) = 572662306;
            (* (( (ptr) stippleSpace3←v7268)+1) ) = 1145324612;
            (* (( (ptr) stippleSpace3←v7268)+2) ) = 2290649224;
SOURCE(1314, 50)
            {
               word pd33;
               pd33 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+141) );
               gc1←v7296 = (word) ( *( (fPt) ((*  (ptr) pd33 ))))(c←v7156, rd←v7184, pd33);
               };
            (* (( (ptr) dd←v7072)+11) ) = gc1←v7296;
SOURCE(1366, 50)
            {
               word pd34;
               pd34 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+141) );
               gc2←v7324 = (word) ( *( (fPt) ((*  (ptr) pd34 ))))(c←v7156, rd←v7184, pd34);
               };
            (* (( (ptr) dd←v7072)+12) ) = gc2←v7324;
SOURCE(1418, 50)
            {
               word pd35;
               pd35 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+141) );
               gc3←v7352 = (word) ( *( (fPt) ((*  (ptr) pd35 ))))(c←v7156, rd←v7184, pd35);
               };
            (* (( (ptr) dd←v7072)+13) ) = gc3←v7352;
SOURCE(1470, 27)
            {
               word pd36;
               pd36 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+63) );
               (* (( (ptr) dd←v7072)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd36 ))))(0, 0, 0, pd36);
               };
SOURCE(1499, 57)
            {
               word pd37;
               pd37 = (* (( (ptr) (* (( (ptr) gf←c42216)+84)/* var←c40552 */  ))+5) );
               (*  (ptr) dd←v7072 ) = (word) ( *( (fPt) ((*  (ptr) pd37 ))))(c←v7156, 130, pd37);
               };
SOURCE(1558, 51)
            {
               word pd38;
               pd38 = (* (( (ptr) (* (( (ptr) gf←c42216)+84)/* var←c40552 */  ))+5) );
               (* (( (ptr) dd←v7072)+2) ) = (word) ( *( (fPt) ((*  (ptr) pd38 ))))(c←v7156, 114, pd38);
               };
SOURCE(1611, 55)
            {
               word pd39;
               pd39 = (* (( (ptr) (* (( (ptr) gf←c42216)+84)/* var←c40552 */  ))+5) );
               (* (( (ptr) dd←v7072)+3) ) = (word) ( *( (fPt) ((*  (ptr) pd39 ))))(c←v7156, 106, pd39);
               };
SOURCE(1668, 55)
            {
               word pd40;
               pd40 = (* (( (ptr) (* (( (ptr) gf←c42216)+84)/* var←c40552 */  ))+5) );
               (* (( (ptr) dd←v7072)+4) ) = (word) ( *( (fPt) ((*  (ptr) pd40 ))))(c←v7156, 110, pd40);
               };
SOURCE(1725, 57)
            {
               word pd41;
               pd41 = (* (( (ptr) (* (( (ptr) gf←c42216)+84)/* var←c40552 */  ))+5) );
               (* (( (ptr) dd←v7072)+5) ) = (word) ( *( (fPt) ((*  (ptr) pd41 ))))(c←v7156, 112, pd41);
               };
SOURCE(1784, 63)
            {
               word pd42;
               pd42 = (* (( (ptr) (* (( (ptr) gf←c42216)+84)/* var←c40552 */  ))+5) );
               (* (( (ptr) dd←v7072)+6) ) = (word) ( *( (fPt) ((*  (ptr) pd42 ))))(c←v7156, 108, pd42);
               };
SOURCE(1849, 60)
            {
               word pd43;
               pd43 = (* (( (ptr) (* (( (ptr) gf←c42216)+84)/* var←c40552 */  ))+5) );
               (* (( (ptr) dd←v7072)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd43 ))))(c←v7156, 116, pd43);
               };
SOURCE(1911, 86)
            {
               word pd44;
               pd44 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+146) );
               (void) ( *( (fPt) ((*  (ptr) pd44 ))))(gc1←v7296, (* (( (ptr) screen←v7128)+3) ), (* (( (ptr) screen←v7128)+2) ), pd44);
               };
SOURCE(1999, 86)
            {
               word pd45;
               pd45 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+146) );
               (void) ( *( (fPt) ((*  (ptr) pd45 ))))(gc2←v7324, (* (( (ptr) screen←v7128)+3) ), (* (( (ptr) screen←v7128)+2) ), pd45);
               };
SOURCE(2087, 86)
            {
               word pd46;
               pd46 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+146) );
               (void) ( *( (fPt) ((*  (ptr) pd46 ))))(gc3←v7352, (* (( (ptr) screen←v7128)+3) ), (* (( (ptr) screen←v7128)+2) ), pd46);
               };
SOURCE(2175, 51)
            {
               W2 var←c40584;
               var←c40584.f0 = 4;
               var←c40584.f1 = 4;
               {
                  word pd47;
                  pd47 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+96) );
                  (* (( (ptr) dd←v7072)+8) ) = (word) ( *( (fPt) ((*  (ptr) pd47 ))))(c←v7156, rd←v7184, var←c40584, (* (( (ptr) sd←v13052)+3)
                      ), 0, pd47);
                  };
               };
SOURCE(2228, 51)
            {
               W2 var←c40616;
               var←c40616.f0 = 4;
               var←c40616.f1 = 4;
               {
                  word pd48;
                  pd48 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+96) );
                  (* (( (ptr) dd←v7072)+9) ) = (word) ( *( (fPt) ((*  (ptr) pd48 ))))(c←v7156, rd←v7184, var←c40616, (* (( (ptr) sd←v13052)+3)
                      ), 0, pd48);
                  };
               };
SOURCE(2281, 51)
            {
               W2 var←c40648;
               var←c40648.f0 = 4;
               var←c40648.f1 = 4;
               {
                  word pd49;
                  pd49 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+96) );
                  (* (( (ptr) dd←v7072)+10) ) = (word) ( *( (fPt) ((*  (ptr) pd49 ))))(c←v7156, rd←v7184, var←c40648, (* (( (ptr) sd←v13052)+3)
                      ), 0, pd49);
                  };
               };
SOURCE(2342, 509)
SOURCE(2344, 167)
            {
               W2 var←c40680;
               W2 var←c40712;
               var←c40680.f0 = 4;
               var←c40680.f1 = 4;
               var←c40712.f0 = 0;
               var←c40712.f1 = 0;
               {
                  word pd50;
                  pd50 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+172) );
                  (void) ( *( (fPt) ((*  (ptr) pd50 ))))(c←v7156, (* (( (ptr) dd←v7072)+8) ), gc1←v7296, var←c40680, var←c40712, stippleSpace1←v7212
                     , 0, 0, 4, 1, 0, pd50);
                  };
               };
SOURCE(2513, 167)
            {
               W2 var←c40744;
               W2 var←c40776;
               var←c40744.f0 = 4;
               var←c40744.f1 = 4;
               var←c40776.f0 = 0;
               var←c40776.f1 = 0;
               {
                  word pd51;
                  pd51 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+172) );
                  (void) ( *( (fPt) ((*  (ptr) pd51 ))))(c←v7156, (* (( (ptr) dd←v7072)+9) ), gc2←v7324, var←c40744, var←c40776, stippleSpace2←v7240
                     , 0, 0, 4, 1, 0, pd51);
                  };
               };
SOURCE(2682, 167)
            {
               W2 var←c40808;
               W2 var←c40840;
               var←c40808.f0 = 4;
               var←c40808.f1 = 4;
               var←c40840.f0 = 0;
               var←c40840.f1 = 0;
               {
                  word pd52;
                  pd52 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+172) );
                  (void) ( *( (fPt) ((*  (ptr) pd52 ))))(c←v7156, (* (( (ptr) dd←v7072)+10) ), gc3←v7352, var←c40808, var←c40840, stippleSpace3←v7268
                     , 0, 0, 4, 1, 0, pd52);
                  };
               };
SOURCE(2854, 37)
            {
               word pd53;
               pd53 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+154) );
               (void) ( *( (fPt) ((*  (ptr) pd53 ))))(gc1←v7296, (* (( (ptr) dd←v7072)+8) ), pd53);
               };
SOURCE(2893, 37)
            {
               word pd54;
               pd54 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+154) );
               (void) ( *( (fPt) ((*  (ptr) pd54 ))))(gc2←v7324, (* (( (ptr) dd←v7072)+9) ), pd54);
               };
SOURCE(2932, 37)
            {
               word pd55;
               pd55 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+154) );
               (void) ( *( (fPt) ((*  (ptr) pd55 ))))(gc3←v7352, (* (( (ptr) dd←v7072)+10) ), pd55);
               };
SOURCE(2971, 44)
            {
               word pd56;
               pd56 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+151) );
               (void) ( *( (fPt) ((*  (ptr) pd56 ))))(gc1←v7296, 1, pd56);
               };
SOURCE(3017, 44)
            {
               word pd57;
               pd57 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+151) );
               (void) ( *( (fPt) ((*  (ptr) pd57 ))))(gc2←v7324, 1, pd57);
               };
SOURCE(3063, 44)
            {
               word pd58;
               pd58 = (* (( (ptr) (* (( (ptr) gf←c42216)+83)/* var←c40264 */  ))+151) );
               (void) ( *( (fPt) ((*  (ptr) pd58 ))))(gc3←v7352, 1, pd58);
               };
            };
         };
      };
SOURCE(3112, 12)
   return(dd←v7072);
   }

static void ParentalSetState←P240(scrollbar←v5280, state←v5308, event←v5336)
   word scrollbar←v5280;
   W2 state←v5308;
   word event←v5336;
   {
   register ptr gf←c42248 =  (ptr) &globalframe;
   word c←v7648;
   word sd←v7676;
   /* ParentalSetState: */ 
SOURCE(4614, 461)
SOURCE(4709, 39)
   c←v7648 = (* (( (ptr) scrollbar←v5280)+34) );
SOURCE(4751, 42)
   {
      word idx59;
      word limit60;
      sd←v7676 = XR←Narrow((* ((( (ptr) scrollbar←v5280)+49)+(
               idx59 = (* (( (ptr) (* (( (ptr) gf←c42248)+10)/* scrollbarClass←v2972 */  ))+4) ),
               limit60 = (* (( (ptr) scrollbar←v5280)+48) ),
               BCK(idx59, limit60)
               )) ), (* (( (ptr) gf←c42248)+29) ));
      };
SOURCE(4795, 24)
   (void) EntrySetState←P480(sd←v7676, state←v5308);
SOURCE(4821, 60)
   {
      word pd61;
      pd61 = (* (( (ptr) (* (( (ptr) gf←c42248)+82)/* var←c40200 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd61 ))))(scrollbar←v5280, (* (( (ptr) gf←c42248)+8)/* stateChanged←v2776 */  ), sd←v7676, event←v5336, pd61)
      ;
      };
SOURCE(4883, 192)
   if ( ( (c←v7648 != 0) ? (0 != (* (( (ptr) c←v7648)+15) )) : 0 ) ) {
SOURCE(4903, 174)
      {
         word dd←v7720;
         word tq←v7748;
SOURCE(4905, 57)
         dd←v7720 = (word) GetDepthData←P60((* ((( (ptr) scrollbar←v5280)+36)) ));
SOURCE(4964, 23)
         tq←v7748 = (* (( (ptr) dd←v7720)+1) );
SOURCE(4989, 86)
         if ((tq←v7748 != 0)) {
SOURCE(5004, 71)
            {
               word pd62;
               pd62 = (* (( (ptr) (* (( (ptr) gf←c42248)+83)/* var←c40264 */  ))+64) );
               (void) ( *( (fPt) ((*  (ptr) pd62 ))))(tq←v7748, (word) (( (bPt) gf←c42248)+180)/* var←c39560 */ , scrollbar←v5280, (* (( (ptr) gf←c42248)+11)
                  /* fakeExpose←v3140 */  ), pd62);
               };
            };
         };
      };
   }

static void PublicSetState←P300(scrollbar←v5396, action←v5424, value←v5452, event←v5480)
   word scrollbar←v5396;
   word action←v5424;
   word value←v5452;
   word event←v5480;
   {
   register ptr gf←c42280 =  (ptr) &globalframe;
   word sd←v7804;
   /* PublicSetState: */ 
SOURCE(5085, 200)
SOURCE(5193, 42)
   {
      word idx63;
      word limit64;
      sd←v7804 = XR←Narrow((* ((( (ptr) scrollbar←v5396)+49)+(
               idx63 = (* (( (ptr) (* (( (ptr) gf←c42280)+10)/* scrollbarClass←v2972 */  ))+4) ),
               limit64 = (* (( (ptr) scrollbar←v5396)+48) ),
               BCK(idx63, limit64)
               )) ), (* (( (ptr) gf←c42280)+29) ));
      };
SOURCE(5237, 48)
   (void) ForwardCallScrollProcs←P840(sd←v7804, action←v5424, value←v5452, event←v5480);
   }

static word GetDirection←P360(scrollbar←v5540)
   word scrollbar←v5540;
   {
   register ptr gf←c42312 =  (ptr) &globalframe;
   word direction←v5584;
   word sd←v7848;
   /* GetDirection: */ 
SOURCE(5292, 150)
SOURCE(5376, 42)
   {
      word idx65;
      word limit66;
      sd←v7848 = XR←Narrow((* ((( (ptr) scrollbar←v5540)+49)+(
               idx65 = (* (( (ptr) (* (( (ptr) gf←c42312)+10)/* scrollbarClass←v2972 */  ))+4) ),
               limit66 = (* (( (ptr) scrollbar←v5540)+48) ),
               BCK(idx65, limit66)
               )) ), (* (( (ptr) gf←c42312)+29) ));
      };
SOURCE(5420, 22)
   return((* (( (ptr) sd←v7848)+2) ));
   }

static void GetState←P420(formal←c089, scrollbar←v5644)
   word formal←c089;
   word scrollbar←v5644;
   {
   register ptr gf←c42344 =  (ptr) &globalframe;
   W2 state←v5688;
   word sd←v7892;
   /* GetState: */ 
SOURCE(5447, 141)
SOURCE(5519, 42)
   {
      word idx67;
      word limit68;
      sd←v7892 = XR←Narrow((* ((( (ptr) scrollbar←v5644)+49)+(
               idx67 = (* (( (ptr) (* (( (ptr) gf←c42344)+10)/* scrollbarClass←v2972 */  ))+4) ),
               limit68 = (* (( (ptr) scrollbar←v5644)+48) ),
               BCK(idx67, limit68)
               )) ), (* (( (ptr) gf←c42344)+29) ));
      };
SOURCE(5563, 25)
   (void) EntryGetState←P540((word) &state←v5688, sd←v7892);
   /* removed tail goto */ 
   (*  (W2Pt) formal←c089 ) = state←v5688;
   return;
   }

static void EntrySetState←P480(sd←v5748, state←v5776)
   word sd←v5748;
   W2 state←v5776;
   {
   register ptr gf←c42376 =  (ptr) &globalframe;
   /* EntrySetState: */ 
SOURCE(5595, 81)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c42376)+16)/* LOCK←v2748 */ ));
SOURCE(5659, 17)
   (*  (W2Pt) sd←v5748 ) = state←v5776;
SOURCE(5595, 81)
   (void) (XR←MonitorExit((word) (( (bPt) gf←c42376)+16)/* LOCK←v2748 */ ));
   return;
   }

static void EntryGetState←P540(formal←c094, sd←v5836)
   word formal←c094;
   word sd←v5836;
   {
   register ptr gf←c42408 =  (ptr) &globalframe;
   W2 state←v5880;
   /* EntryGetState: */ 
SOURCE(5681, 90)
   (void) (XR←MonitorEntry((word) (( (bPt) gf←c42408)+16)/* LOCK←v2748 */ ));
SOURCE(5754, 17)
   state←v5880 = (*  (W2Pt) sd←v5836 );
   /* removed tail goto */ 
   (void) (XR←MonitorExit((word) (( (bPt) gf←c42408)+16)/* LOCK←v2748 */ ));
   (*  (W2Pt) formal←c094 ) = state←v5880;
   return;
   }

static void ScrollbarConfigureLR←P600(widget←v17524, geometry←v17552, mapping←v17580, reConsiderChildren←v17608)
   word widget←v17524;
   W5 geometry←v17552;
   word mapping←v17580;
   word reConsiderChildren←v17608;
   {
   register ptr gf←c42440 =  (ptr) &globalframe;
   word existW←v7936;
   word createW←v7964;
   /* ScrollbarConfigureLR: */ 
SOURCE(5776, 1516)
SOURCE(5820, 48)
   existW←v7936 = ((* (( (ptr) widget←v17524)+44) ) < 2);
SOURCE(5870, 48)
   createW←v7964 =  ( (mapping←v17580 < 2) ? (0 == existW←v7936) : 0 ) ;
SOURCE(5920, 1223)
   if ((0 != createW←v7964)) {
SOURCE(5936, 1270)
      {
         word sd←v8008;
         word dd←v8036;
         word var←c40904;
         word c←v39336;
SOURCE(5938, 39)
         {
            word idx69;
            word limit70;
            sd←v8008 = XR←Narrow((* ((( (ptr) widget←v17524)+49)+(
                     idx69 = (* (( (ptr) (* (( (ptr) gf←c42440)+10)/* scrollbarClass←v2972 */  ))+4) ),
                     limit70 = (* (( (ptr) widget←v17524)+48) ),
                     BCK(idx69, limit70)
                     )) ), (* (( (ptr) gf←c42440)+29) ));
            };
SOURCE(5979, 54)
         dd←v8036 = (word) GetDepthData←P60((* ((( (ptr) widget←v17524)+36)) ));
SOURCE(6035, 35)
         if (((* (( (ptr) sd←v8008)+11) ) == 0)) {
SOURCE(6055, 15)
            (* (( (ptr) sd←v8008)+11) ) = (* (( (ptr) dd←v8036)+11) );
            };
SOURCE(6074, 35)
         if (((* (( (ptr) sd←v8008)+12) ) == 0)) {
SOURCE(6094, 15)
            (* (( (ptr) sd←v8008)+12) ) = (* (( (ptr) dd←v8036)+12) );
            };
SOURCE(6113, 35)
         if (((* (( (ptr) sd←v8008)+13) ) == 0)) {
SOURCE(6133, 15)
            (* (( (ptr) sd←v8008)+13) ) = (* (( (ptr) dd←v8036)+13) );
            };
SOURCE(6152, 642)
         {
            word var←c40872;
            var←c40872 = (* (( (ptr) sd←v8008)+2) );
            if ((var←c40872 == 1)) {
SOURCE(6191, 26)
               (* (( (ptr) sd←v8008)+7) ) = (* (( (ptr) dd←v8036)+2) );
SOURCE(6219, 32)
               (* (( (ptr) sd←v8008)+8) ) = (* (( (ptr) dd←v8036)+7) );
SOURCE(6253, 29)
               (* (( (ptr) sd←v8008)+9) ) = (* (( (ptr) dd←v8036)+3) );
               if (( (int)geometry←v17552.f3 >  (int)0)) {
SOURCE(6327, 40)
                  (* (( (ptr) sd←v8008)+14) ) = geometry←v17552.f3;
                  }
               else {
                  if (( (int)(* (( (ptr) widget←v17524)+42) ) >  (int)0)) {
SOURCE(6401, 45)
                     (* (( (ptr) sd←v8008)+14) ) = (* (( (ptr) widget←v17524)+42) );
                     }
                  else {
SOURCE(6460, 21)
                     (* (( (ptr) sd←v8008)+14) ) = 1;
                     };
                  };
               }
            else {
               if ((var←c40872 == 0)) {
SOURCE(6502, 28)
                  (* (( (ptr) sd←v8008)+7) ) = (* (( (ptr) dd←v8036)+4) );
SOURCE(6532, 35)
                  (* (( (ptr) sd←v8008)+8) ) = (* (( (ptr) dd←v8036)+6) );
SOURCE(6569, 30)
                  (* (( (ptr) sd←v8008)+9) ) = (* (( (ptr) dd←v8036)+5) );
                  if (( (int)geometry←v17552.f2 >  (int)0)) {
SOURCE(6643, 39)
                     (* (( (ptr) sd←v8008)+14) ) = geometry←v17552.f2;
                     }
                  else {
                     if (( (int)(* (( (ptr) widget←v17524)+41) ) >  (int)0)) {
SOURCE(6715, 44)
                        (* (( (ptr) sd←v8008)+14) ) = (* (( (ptr) widget←v17524)+41) );
                        }
                     else {
SOURCE(6773, 21)
                        (* (( (ptr) sd←v8008)+14) ) = 1;
                        };
                     };
                  };
               };
            };
SOURCE(6809, 157)
         c←v39336 = (* (( (ptr) widget←v17524)+29) );
         var←c40904 = (c←v39336 ==  (word) -1);
         if ((0 != var←c40904)) {
SOURCE(6861, 64)
            {
               word var←c40936;
               var←c40936 = (*  (ptr) dd←v8036 );
               (* (( (ptr) sd←v8008)+10) ) = var←c40936;
               (* (( (ptr) widget←v17524)+29) ) = var←c40936;
               };
            }
         else {
SOURCE(6925, 41)
            (* (( (ptr) sd←v8008)+10) ) = (* (( (ptr) widget←v17524)+29) );
            };
SOURCE(6968, 112)
         {
            W4 var←c40968;
            var←c40968.f0 = (word) (( (bPt) gf←c42440)+180)/* var←c39560 */ ;
            var←c40968.f1 = (* (( (ptr) gf←c42440)+12)/* eventFilter←v3560 */  );
            var←c40968.f2 = (* (( (ptr) dd←v8036)+1) );
            var←c40968.f3 = widget←v17524;
            {
               word pd71;
               pd71 = (* (( (ptr) (* (( (ptr) gf←c42440)+85)/* var←c41000 */  ))+31) );
               (void) ( *( (fPt) ((*  (ptr) pd71 ))))(widget←v17524, var←c40968, 172044, pd71);
               };
            };
SOURCE(7082, 61)
         {
            float tf72;
            (void) ForwardCallScrollProcs←P840(sd←v8008, 4, (
                  tf72 = (float)(int)(* (( (ptr) sd←v8008)+14) ),  *(word*)&tf72
                  ), 0);
            };
         };
      };
SOURCE(7209, 83)
   {
      word pd73;
      pd73 = (* (( (ptr) (* (( (ptr) gf←c42440)+82)/* var←c40200 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd73 ))))(widget←v17524, geometry←v17552, mapping←v17580, reConsiderChildren←v17608, pd73);
      };
   }

static word CreateScrollbar←P660(widgetSpec←v5940, direction←v5968, state←v5996)
   W9 widgetSpec←v5940;
   word direction←v5968;
   W2 state←v5996;
   {
   register ptr gf←c42472 =  (ptr) &globalframe;
   word scrollbar←v6040;
   word sd←v8092 = 0;
   /* CreateScrollbar: */ 
SOURCE(7298, 521)
SOURCE(7298, 521)
   scrollbar←v6040 = 0;
SOURCE(7451, 226)
   {
      word var←c41032;
      var←c41032 = direction←v5968;
      if ((var←c41032 == 1)) {
SOURCE(7485, 87)
         if (( (int)(* (( (ptr) &widgetSpec←v5940)+3) ) <=  (int)0)) {
SOURCE(7527, 45)
            (* (( (ptr) &widgetSpec←v5940)+3) ) = 12;
            };
         }
      else {
         if ((var←c41032 == 0)) {
SOURCE(7588, 89)
            if (( (int)(* (( (ptr) &widgetSpec←v5940)+4) ) <=  (int)0)) {
SOURCE(7631, 46)
               (* (( (ptr) &widgetSpec←v5940)+4) ) = 12;
               };
            };
         };
      };
SOURCE(7689, 56)
   {
      word pd74;
      pd74 = (* (( (ptr) (* (( (ptr) gf←c42472)+85)/* var←c41000 */  ))+4) );
      scrollbar←v6040 = (word) ( *( (fPt) ((*  (ptr) pd74 ))))(widgetSpec←v5940, (* (( (ptr) gf←c42472)+10)/* scrollbarClass←v2972 */  ), 0, pd74)
      ;
      };
SOURCE(7747, 27)
   {
      word idx75;
      word limit76;
      sd←v8092 = XR←Narrow((* ((( (ptr) scrollbar←v6040)+49)+(
               idx75 = (* (( (ptr) (* (( (ptr) gf←c42472)+10)/* scrollbarClass←v2972 */  ))+4) ),
               limit76 = (* (( (ptr) scrollbar←v6040)+48) ),
               BCK(idx75, limit76)
               )) ), (* (( (ptr) gf←c42472)+29) ));
      };
SOURCE(7776, 24)
   (* (( (ptr) sd←v8092)+2) ) = direction←v5968;
SOURCE(7803, 16)
   (*  (W2Pt) sd←v8092 ) = state←v5996;
SOURCE(7298, 521)
   return(scrollbar←v6040);
   }

static word IsScrollbar←P720(widget←v6100)
   word widget←v6100;
   {
   register ptr gf←c42504 =  (ptr) &globalframe;
   word var←c6144;
   /* IsScrollbar: */ 
SOURCE(7825, 111)
SOURCE(7890, 46)
   {
      word var←c41096;
      word widget←v39260;
      word class←v39288;
      widget←v39260 = widget←v6100;
      class←v39288 = (* (( (ptr) gf←c42504)+10)/* scrollbarClass←v2972 */  );
      {
         word pd77;
         if (((* (( (ptr) widget←v39260)+4) ) == class←v39288)) {
            var←c41096 = 1;
            }
         else {
            pd77 = (* (( (ptr) (* (( (ptr) gf←c42504)+85)/* var←c41000 */  ))+40) );
            var←c41096 = (word) ( *( (fPt) ((*  (ptr) pd77 ))))(widget←v39260, class←v39288, pd77);
            };
         };
      return(var←c41096);
      };
   }

static void SetScrollProc←P780(scrollbar←v6204, scrollProc←v6232, clientData←v6260, tq←v6288)
   word scrollbar←v6204;
   word scrollProc←v6232;
   word clientData←v6260;
   word tq←v6288;
   {
   register ptr gf←c42536 =  (ptr) &globalframe;
   word sd←v8136;
   W4 crr←v8164;
   /* SetScrollProc: */ 
SOURCE(7941, 315)
SOURCE(8059, 42)
   {
      word idx78;
      word limit79;
      sd←v8136 = XR←Narrow((* ((( (ptr) scrollbar←v6204)+49)+(
               idx78 = (* (( (ptr) (* (( (ptr) gf←c42536)+10)/* scrollbarClass←v2972 */  ))+4) ),
               limit79 = (* (( (ptr) scrollbar←v6204)+48) ),
               BCK(idx78, limit79)
               )) ), (* (( (ptr) gf←c42536)+29) ));
      };
SOURCE(8103, 89)
   crr←v8164.f0 = scrollbar←v6204;
   crr←v8164.f1 = XR←CheckProc(scrollProc←v6232);
   crr←v8164.f2 = clientData←v6260;
   crr←v8164.f3 = 0;
SOURCE(8194, 33)
   if ((sd←v8136 == 0) || (scrollProc←v6232 == 0)) {
SOURCE(8227, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(8234, 22)
   {
      word var←c41192;
      word var←c41224;
      var←c41192 = XR←NewObject(20, (* (( (ptr) gf←c42536)+30) ));
      var←c41224 = var←c41192;
      (*  (W4Pt) var←c41224 ) = crr←v8164;
      (* (( (ptr) sd←v8136)+15) ) = var←c41192;
      };
   }

static void ForwardCallScrollProcs←P840(sd←v6360, action←v6388, value←v6416, event←v6444)
   word sd←v6360;
   word action←v6388;
   word value←v6416;
   word event←v6444;
   {
   register ptr gf←c42568 =  (ptr) &globalframe;
   /* ForwardCallScrollProcs: */ 
SOURCE(8289, 428)
SOURCE(8407, 310)
   {
      register word rl←v8208;
      rl←v8208 = (* (( (ptr) sd←v6360)+15) );
      lab←L100009: ;
      if ((rl←v8208 != 0)) {
         }
      else {
         goto lab←L100006;
         };
      {
         word cd←v8336;
         word tq←v8364;
SOURCE(8472, 75)
         cd←v8336 = XR←NewObject(12, (* (( (ptr) gf←c42568)+32) ));
         (*  (ptr) cd←v8336 ) = rl←v8208;
         (* (( (ptr) cd←v8336)+1) ) = action←v6388;
         (* (( (ptr) cd←v8336)+2) ) = value←v6416;
SOURCE(8549, 23)
         tq←v8364 = (* (( (ptr) rl←v8208)+3) );
SOURCE(8574, 63)
         if ((tq←v8364 == 0)) {
SOURCE(8590, 30)
            tq←v8364 = (* (( (ptr) (*  (ptr) rl←v8208 ))+45) );
SOURCE(8622, 15)
            if ((tq←v8364 == 0)) {
SOURCE(8637, 4)
               goto lab←L100007;
               };
            };
SOURCE(8644, 73)
         {
            word pd80;
            pd80 = (* (( (ptr) (* (( (ptr) gf←c42568)+83)/* var←c40264 */  ))+64) );
            (void) ( *( (fPt) ((*  (ptr) pd80 ))))(tq←v8364, (word) (( (bPt) gf←c42568)+204)/* var←c39656 */ , cd←v8336, event←v6444, pd80)
            ;
            };
         };
      rl←v8208 = (* (( (ptr) rl←v8208)+4) );
      goto lab←L100009;
      lab←L100006: ;
      lab←L100007: ;
      };
   }

static void ForwardedCallScrollProc←P900(event←v28396, clientData←v28424, tq←v28452)
   word event←v28396;
   word clientData←v28424;
   word tq←v28452;
   {
   register ptr gf←c42600 =  (ptr) &globalframe;
   word cd←v8420;
   /* ForwardedCallScrollProc: */ 
SOURCE(8731, 233)
SOURCE(8777, 37)
   cd←v8420 = XR←Narrow(clientData←v28424, (* (( (ptr) gf←c42600)+32) ));
SOURCE(8816, 148)
   {
      word pd81;
      pd81 = (* (( (ptr) (*  (ptr) cd←v8420 ))+1) );
      (void) ( *( (fPt) ((*  (ptr) pd81 ))))((*  (ptr) (*  (ptr) cd←v8420 ) ), (* (( (ptr) cd←v8420)+1) ), (* (( (ptr) cd←v8420)+2)
          ), event←v28396, (* (( (ptr) (*  (ptr) cd←v8420 ))+2) ), pd81);
      };
   }

static void ScrollbarInitInstPart←P960(widget←v17756, arguments←v17784)
   word widget←v17756;
   word arguments←v17784;
   {
   register ptr gf←c42632 =  (ptr) &globalframe;
   /* ScrollbarInitInstPart: */ 
SOURCE(8970, 120)
SOURCE(9022, 68)
   {
      word val←v39212;
      val←v39212 = XR←NewObject(64, (* (( (ptr) gf←c42632)+29) ));
      (*  (ptr) val←v39212 ) = (*  (ptr) &fc82 );
      (* (( (ptr) val←v39212)+1) ) = (*  (ptr) &fc82 );
      (* (( (ptr) val←v39212)+2) ) = 1;
      (* (( (ptr) val←v39212)+7) ) =  (word) -1;
      (* (( (ptr) val←v39212)+8) ) =  (word) -1;
      (* (( (ptr) val←v39212)+9) ) =  (word) -1;
      (* (( (ptr) val←v39212)+10) ) =  (word) -1;
      (* (( (ptr) val←v39212)+14) ) = 99999;
      {
         word idx83;
         word limit84;
         (* ((( (ptr) widget←v17756)+49)+(
               idx83 = (* (( (ptr) (* (( (ptr) gf←c42632)+10)/* scrollbarClass←v2972 */  ))+4) ),
               limit84 = (* (( (ptr) widget←v17756)+48) ),
               BCK(idx83, limit84)
               )) ) = val←v39212;
         };
      };
   }

static void ScrollbarForgetScreenLR←P1020(widget←v17668, reason←v17696)
   word widget←v17668;
   word reason←v17696;
   {
   register ptr gf←c42664 =  (ptr) &globalframe;
   word sd←v8476;
   /* ScrollbarForgetScreenLR: */ 
SOURCE(9096, 270)
SOURCE(9143, 39)
   {
      word idx85;
      word limit86;
      sd←v8476 = XR←Narrow((* ((( (ptr) widget←v17668)+49)+(
               idx85 = (* (( (ptr) (* (( (ptr) gf←c42664)+10)/* scrollbarClass←v2972 */  ))+4) ),
               limit86 = (* (( (ptr) widget←v17668)+48) ),
               BCK(idx85, limit86)
               )) ), (* (( (ptr) gf←c42664)+29) ));
      };
SOURCE(9184, 30)
   (* (( (ptr) sd←v8476)+13) ) = 0;
   (* (( (ptr) sd←v8476)+12) ) = 0;
   (* (( (ptr) sd←v8476)+11) ) = 0;
SOURCE(9217, 99)
   (* (( (ptr) sd←v8476)+10) ) =  (word) -1;
   (* (( (ptr) sd←v8476)+9) ) =  (word) -1;
   (* (( (ptr) sd←v8476)+8) ) =  (word) -1;
   (* (( (ptr) sd←v8476)+7) ) =  (word) -1;
SOURCE(9318, 21)
   (* (( (ptr) sd←v8476)+3) ) = 0;
SOURCE(9341, 25)
   (* (( (ptr) sd←v8476)+4) ) = 0;
   }

static void EventProc←P1080(formal←c0239, formal←c0240, tq←v28948)
   word formal←c0239;
   word formal←c0240;
   word tq←v28948;
   {
   W6 var←c42696;
   /* declaration of event←v28892 skipped */ 
   /* declaration of clientData←v28920 skipped */ 
   var←c42696.f4/* event←v28892 */  = formal←c0239;
   var←c42696.f5/* clientData←v28920 */  = formal←c0240;
   /* EventProc: */ 
SOURCE(9477, 2365)
SOURCE(9507, 2335)
SOURCE(9509, 2295)
   {
      word var←c01;
      {
         word var←c0236;
         var←c0236 = (word) &var←c42696;
         var←c01 = (word) XR←Enable(( ((word)  (fPt) NoName←Q3048) ), ( ((word)  (fPt) NoName←Q3108) ), var←c0236);
         };
      if ((var←c01 == 2)) {
         goto lab←L100010;
         };
      };
   goto lab←L100019;
   lab←L100010: ;
   lab←L100019: ;
   }

static word NoName←Q3048(formal←c0232)
   word formal←c0232;
   {
   register ptr gf←c0231 =  (ptr) &globalframe;
SOURCE(9540, 41)
   {
      word scrollbar←v8520;
      word sd←v8548;
SOURCE(9540, 41)
      scrollbar←v8520 = XR←Narrow((* (( (ptr) formal←c0232)+5) ), (* (( (ptr) gf←c0231)+18) ));
SOURCE(9583, 42)
      {
         word idx87;
         word limit88;
         sd←v8548 = XR←Narrow((* ((( (ptr) scrollbar←v8520)+49)+(
                  idx87 = (* (( (ptr) (* (( (ptr) gf←c0231)+10)/* scrollbarClass←v2972 */  ))+4) ),
                  limit88 = (* (( (ptr) scrollbar←v8520)+48) ),
                  BCK(idx87, limit88)
                  )) ), (* (( (ptr) gf←c0231)+29) ));
         };
SOURCE(9627, 2177)
      {
         word var←c41320;
         var←c41320 = (* (( (ptr) (* (( (ptr) formal←c0232)+4) ))+4) );
         switch (var←c41320) {
            case 4: 
SOURCE(9678, 812)
               {
                  word bp←v8592;
SOURCE(9680, 39)
                  if (((* (( (ptr) formal←c0232)+4) ) == 0)) {
                     goto lab←L100013;
                     };
                  if (((* (( (ptr) (* (( (ptr) formal←c0232)+4) ))+4) ) == 4)) {
                     goto lab←L100013;
                     };
                  (void) XR←RaiseError(XR←NarrowFault, 0);
                  lab←L100013: ;
                  bp←v8592 = (* (( (ptr) formal←c0232)+4) );
SOURCE(9721, 749)
                  {
                     word tc89;
                     word pd90;
                     if ((0 == (* (( (ptr) sd←v8548)+3) ))) {
                        pd90 = (* (( (ptr) (* (( (ptr) gf←c0231)+83)/* var←c40264 */  ))+119) );
                        tc89 =  (word) ((word) ( *( (fPt) ((*  (ptr) pd90 ))))((* (( (ptr) bp←v8592)+2) ), (* (( (ptr) bp←v8592)+7) ), sd←v8548, pd90)
                         == 3);
                        }
                     else {
                        tc89 =  (word) 0;
                        };
                     if (tc89) {
SOURCE(9813, 674)
                        {
                           word pm←v8636;
                           word button←v8664;
SOURCE(9815, 59)
                           {
/*1*/   word pd91;
/*1*/   pd91 = (* (( (ptr) (* (( (ptr) gf←c0231)+83)/* var←c40264 */  ))+108) );
/*1*/   pm←v8636 = (word) ( *( (fPt) ((*  (ptr) pd91 ))))((* ((( (ptr) bp←v8592)+2)) ), pd91);
/*1*/   };
SOURCE(9876, 81)
                           {
/*1*/   word tc92;
/*1*/   word idx93;
/*1*/   word limit94;
/*1*/   if ( ( (pm←v8636 != 0) ? ((*  (ptr) pm←v8636 ) > (* (( (ptr) bp←v8592)+5) )) : 0 ) ) {
/*1*/      tc92 =  (word) (* ((( (ptr) pm←v8636)+1)+(
/*1*/            idx93 = (* (( (ptr) bp←v8592)+5) ),
/*1*/            limit94 = (*  (ptr) pm←v8636 ),
/*1*/            BCK(idx93, limit94)
/*1*/            )) );
/*1*/      }
/*1*/   else {
/*1*/      tc92 =  (word) (* (( (ptr) bp←v8592)+5) );
/*1*/      };
/*1*/   button←v8664 = tc92;
/*1*/   };
SOURCE(10266, 20)
                           (* (( (ptr) sd←v8548)+3) ) = 1;
SOURCE(10288, 24)
                           (*  (W2Pt) (( (ptr) sd←v8548)+5) ) = (*  (W2Pt) (( (ptr) bp←v8592)+13) );
SOURCE(10314, 156)
                           {
/*1*/   word var←c41352;
/*1*/   var←c41352 = button←v8664;
/*1*/   switch (var←c41352) {
/*1*/      case 1: 
/*1*/         if ((* (( (bPt) bp←v8592)+63) ) & 04) {
SOURCE(10377, 7)
SOURCE(10087, 26)
/*1*/            (* (( (ptr) sd←v8548)+4) ) = 3;
SOURCE(10115, 43)
/*1*/            (void) SetCursor←P1320(scrollbar←v8520, (* (( (ptr) sd←v8548)+8) ));
/*1*/            }
/*1*/         else {
/*1*/            if ((* (( (bPt) bp←v8592)+63) ) & 1) {
SOURCE(10404, 10)
SOURCE(10190, 29)
/*1*/               (* (( (ptr) sd←v8548)+4) ) = 1;
SOURCE(10221, 42)
/*1*/               (void) SetCursor←P1320(scrollbar←v8520, (* (( (ptr) sd←v8548)+9) ));
/*1*/               }
/*1*/            else {
SOURCE(10427, 9)
SOURCE(9987, 28)
/*1*/               (* (( (ptr) sd←v8548)+4) ) = 2;
SOURCE(10017, 41)
/*1*/               (void) SetCursor←P1320(scrollbar←v8520, (* (( (ptr) sd←v8548)+7) ));
/*1*/               };
/*1*/            };
/*1*/         break;
/*1*/      case 2: 
SOURCE(10446, 7)
SOURCE(10087, 26)
/*1*/         (* (( (ptr) sd←v8548)+4) ) = 3;
SOURCE(10115, 43)
/*1*/         (void) SetCursor←P1320(scrollbar←v8520, (* (( (ptr) sd←v8548)+8) ));
/*1*/         break;
/*1*/      case 3: 
SOURCE(10460, 10)
SOURCE(10190, 29)
/*1*/         (* (( (ptr) sd←v8548)+4) ) = 1;
SOURCE(10221, 42)
/*1*/         (void) SetCursor←P1320(scrollbar←v8520, (* (( (ptr) sd←v8548)+9) ));
/*1*/         break;
/*1*/      };
/*1*/   };
                           };
                        };
                     };
                  };
               break;
            case 5: 
SOURCE(10525, 724)
               if ((0 != (* (( (ptr) sd←v8548)+3) ))) {
SOURCE(10547, 704)
                  {
                     word br←v8840;
SOURCE(10549, 41)
                     if (((* (( (ptr) formal←c0232)+4) ) == 0)) {
                        goto lab←L100014;
                        };
                     if (((* (( (ptr) (* (( (ptr) formal←c0232)+4) ))+4) ) == 5)) {
                        goto lab←L100014;
                        };
                     (void) XR←RaiseError(XR←NarrowFault, 0);
                     lab←L100014: ;
                     br←v8840 = (* (( (ptr) formal←c0232)+4) );
SOURCE(10592, 593)
                     if ( ( (0 != (* (( (ptr) br←v8840)+16) )) ?  ( (0 != (word) Inside←P1200(scrollbar←v8520, (*  (W2Pt) (( (ptr) br←v8840)+13)
                         ))) ? 1 : (0 != (word) Extents←P1260(scrollbar←v8520, (*  (W2Pt) (( (ptr) br←v8840)+13) ), (* (( (ptr) sd←v8548)+2) ))) )  : 0 ) ) {
SOURCE(10690, 497)
                        {
                           word action←v8884;
                           word leng←v8912;
                           word value←v8940;
SOURCE(10692, 48)
                           action←v8884 = (* (( (ptr) sd←v8548)+4) );
SOURCE(10742, 38)
                           {
/*1*/   word x95;
/*1*/   float tf96;
/*1*/   leng←v8912 = (
/*1*/      tf96 = (float)(int)(x95 = (* (( (ptr) sd←v8548)+14) ),
/*1*/         MAX((int)(word), x95, 1)),  *(word*)&tf96
/*1*/      );
/*1*/   };
SOURCE(10795, 332)
                           {
/*1*/   word tc97;
/*1*/   word x98;
/*1*/   word x99;
/*1*/   if ((action←v8884 == 2)) {
/*1*/      tc97 =  (word) (((
/*1*/         x98 = ((* (( (ptr) sd←v8548)+5) ) - (* (( (ptr) br←v8840)+13) )),
/*1*/         IABS(x98)
/*1*/         ) + (
/*1*/         x99 = ((* (( (ptr) sd←v8548)+6) ) - (* (( (ptr) br←v8840)+14) )),
/*1*/         IABS(x99)
/*1*/         )) > 15);
/*1*/      }
/*1*/   else {
/*1*/      tc97 =  (word) 0;
/*1*/      };
/*1*/   if (tc97) {
SOURCE(10892, 194)
/*1*/      {
/*1*/         W2 distance←v8984;
SOURCE(10894, 77)
/*1*/         distance←v8984.f0 = ((* (( (ptr) br←v8840)+13) ) - (* (( (ptr) sd←v8548)+5) ));
/*1*/         distance←v8984.f1 = ((* (( (ptr) br←v8840)+14) ) - (* (( (ptr) sd←v8548)+6) ));
SOURCE(10973, 34)
/*1*/         {
/*1*/            word var←c41416;
/*1*/            word p←v39164;
SOURCE(11928, 76)
/*1*/            {
/*1*/               word var←c41448;
/*1*/               var←c41448 = (* (( (ptr) sd←v8548)+2) );
/*1*/               if ((var←c41448 == 0)) {
SOURCE(11969, 9)
/*1*/                  p←v39164 = distance←v8984.f0;
/*1*/                  }
/*1*/               else {
/*1*/                  if ((var←c41448 == 1)) {
SOURCE(11995, 9)
/*1*/                     p←v39164 = distance←v8984.f1;
/*1*/                     };
/*1*/                  };
/*1*/               };
SOURCE(11846, 158)
/*1*/            var←c41416 = p←v39164;
/*1*/            {
/*1*/               float tf100;
/*1*/               value←v8940 = (
/*1*/                  tf100 = (float)(int)var←c41416,  *(word*)&tf100
/*1*/                  );
/*1*/               };
/*1*/            };
SOURCE(11009, 75)
/*1*/         {
/*1*/            word x101;
/*1*/            word x102;
/*1*/            if (((
/*1*/               x101 = value←v8940,  *(float*)&x101
/*1*/               ) > (
/*1*/               x102 = (*  (ptr) &fc82 ),  *(float*)&x102
/*1*/               ))) {
SOURCE(11027, 17)
/*1*/               action←v8884 = 1;
/*1*/               }
/*1*/            else {
SOURCE(11052, 14)
/*1*/               {
/*1*/                  word x103;
/*1*/                  *(float*)&value←v8940 =  - (
/*1*/                     x103 = value←v8940,  *(float*)&x103
/*1*/                     );
/*1*/                  };
SOURCE(11068, 16)
/*1*/               action←v8884 = 2;
/*1*/               };
/*1*/            };
/*1*/         };
/*1*/      }
/*1*/   else {
SOURCE(11095, 32)
/*1*/      {
/*1*/         word var←c41480;
/*1*/         word p←v39084;
/*1*/         W2 pos←v39116;
/*1*/         pos←v39116 = (*  (W2Pt) (( (ptr) br←v8840)+13) );
SOURCE(11928, 76)
/*1*/         {
/*1*/            word var←c41512;
/*1*/            var←c41512 = (* (( (ptr) sd←v8548)+2) );
/*1*/            if ((var←c41512 == 0)) {
SOURCE(11969, 9)
/*1*/               p←v39084 = pos←v39116.f0;
/*1*/               }
/*1*/            else {
/*1*/               if ((var←c41512 == 1)) {
SOURCE(11995, 9)
/*1*/                  p←v39084 = pos←v39116.f1;
/*1*/                  };
/*1*/               };
/*1*/            };
SOURCE(11846, 158)
/*1*/         var←c41480 = p←v39084;
/*1*/         {
/*1*/            float tf104;
/*1*/            value←v8940 = (
/*1*/               tf104 = (float)(int)var←c41480,  *(word*)&tf104
/*1*/               );
/*1*/            };
/*1*/         };
/*1*/      };
/*1*/   };
SOURCE(11132, 53)
                           {
/*1*/   word x105;
/*1*/   word x106;
/*1*/   float tf107;
/*1*/   (void) ForwardCallScrollProcs←P840(sd←v8548, action←v8884, (
/*1*/         tf107 = (
/*1*/            x105 = value←v8940,  *(float*)&x105
/*1*/            ) / (
/*1*/            x106 = leng←v8912,  *(float*)&x106
/*1*/            ),  *(word*)&tf107
/*1*/         ), (* (( (ptr) formal←c0232)+4) ));
/*1*/   };
                           };
                        };
SOURCE(11190, 36)
                     (void) SetCursor←P1320(scrollbar←v8520, (* (( (ptr) sd←v8548)+10) ));
SOURCE(11228, 21)
                     (* (( (ptr) sd←v8548)+3) ) = 0;
                     };
                  };
               break;
            case 22: 
SOURCE(11289, 307)
               {
                  word cne←v9028;
                  word value←v9056;
SOURCE(11291, 44)
                  if (((* (( (ptr) formal←c0232)+4) ) == 0)) {
                     goto lab←L100017;
                     };
                  if (((* (( (ptr) (* (( (ptr) formal←c0232)+4) ))+4) ) == 22)) {
                     goto lab←L100017;
                     };
                  (void) XR←RaiseError(XR←NarrowFault, 0);
                  lab←L100017: ;
                  cne←v9028 = (* (( (ptr) formal←c0232)+4) );
SOURCE(11337, 133)
                  {
                     word var←c41544;
                     var←c41544 = (* (( (ptr) sd←v8548)+2) );
                     if ((var←c41544 == 0)) {
                        value←v9056 = (* (( (ptr) cne←v9028)+11) );
                        }
                     else {
                        if ((var←c41544 == 1)) {
                           value←v9056 = (* (( (ptr) cne←v9028)+12) );
                           }
                        else {
                           value←v9056 = (
/*1*/   XR←RaiseUnnamedError(), 0
/*1*/   );
                           };
                        };
                     };
SOURCE(11472, 120)
                  if (( (int)value←v9056 !=  (int)(* (( (ptr) sd←v8548)+14) ))) {
SOURCE(11506, 33)
                     (* (( (ptr) sd←v8548)+14) ) = (MAX((int)(word), value←v9056, 1));
SOURCE(11541, 51)
                     {
                        float tf108;
                        (void) ForwardCallScrollProcs←P840(sd←v8548, 4, (
/*1*/   tf108 = (float)(int)value←v9056,  *(word*)&tf108
/*1*/   ), (* (( (ptr) formal←c0232)+4) ));
                        };
                     };
                  };
               break;
            case 12: 
SOURCE(11622, 99)
               {
                  word expose←v9100;
SOURCE(11624, 38)
                  if (((* (( (ptr) formal←c0232)+4) ) == 0)) {
                     goto lab←L100018;
                     };
                  if (((* (( (ptr) (* (( (ptr) formal←c0232)+4) ))+4) ) == 12)) {
                     goto lab←L100018;
                     };
                  (void) XR←RaiseError(XR←NarrowFault, 0);
                  lab←L100018: ;
                  expose←v9100 = (* (( (ptr) formal←c0232)+4) );
SOURCE(11664, 55)
                  if (((* (( (ptr) expose←v9100)+11) ) <= 0)) {
SOURCE(11688, 31)
                     (void) ScrollbarRepaint←P1380(scrollbar←v8520, sd←v8548);
                     };
                  };
               break;
            case 0: 
SOURCE(11748, 56)
               if (((* (( (ptr) formal←c0232)+4) ) == (* (( (ptr) gf←c0231)+11)/* fakeExpose←v3140 */  ))) {
SOURCE(11773, 31)
                  (void) ScrollbarRepaint←P1380(scrollbar←v8520, sd←v8548);
                  };
               break;
            };
         };
      };
   return(0);
   }

static word Inside←P1200(w←v6636, p←v6664)
   word w←v6636;
   W2 p←v6664;
   {
   word var←c6708;
   /* Inside: */ 
SOURCE(12020, 147)
SOURCE(12081, 86)
   {
      word tc109;
      if ( (  ( ( (int)p←v6664.f0 >=  (int)0) ? ( (int)p←v6664.f0 <=  (int)(* (( (ptr) w←v6636)+41) )) : 0 )  ? ( (int)p←v6664.f1 >=  (int)0) : 0 ) ) {
         tc109 =  (word) ( (int)p←v6664.f1 <=  (int)(* (( (ptr) w←v6636)+42) ));
         }
      else {
         tc109 =  (word) 0;
         };
      return(tc109);
      };
   }

static word Extents←P1260(w←v6768, p←v6796, direction←v6824)
   word w←v6768;
   W2 p←v6796;
   word direction←v6824;
   {
   word var←c6868;
   /* Extents: */ 
SOURCE(12171, 221)
SOURCE(12255, 137)
   {
      word var←c41576;
      var←c41576 = direction←v6824;
      if ((var←c41576 == 0)) {
SOURCE(12292, 42)
         {
            word tc110;
            if (( (int)p←v6796.f0 <=  (int)0)) {
               tc110 =  (word) 1;
               }
            else {
               tc110 =  (word) ( (int)p←v6796.f0 >=  (int)(* (( (ptr) w←v6768)+41) ));
               };
            return(tc110);
            };
         }
      else {
         if ((var←c41576 == 1)) {
SOURCE(12349, 43)
            {
               word tc111;
               if (( (int)p←v6796.f1 <=  (int)0)) {
                  tc111 =  (word) 1;
                  }
               else {
                  tc111 =  (word) ( (int)p←v6796.f1 >=  (int)(* (( (ptr) w←v6768)+42) ));
                  };
               return(tc111);
               };
            }
         else {
SOURCE(12405, 5)
            (void) XR←RaiseUnnamedError();
            };
         };
      };
   }

static void SetCursor←P1320(widget←v6928, cursor←v6956)
   word widget←v6928;
   word cursor←v6956;
   {
   register ptr gf←c42728 =  (ptr) &globalframe;
   W15 attributes←v9144;
   /* SetCursor: */ 
SOURCE(12416, 215)
SOURCE(12476, 25)
   (*  (ptr) &attributes←v9144 ) =  (word) -1;
   (* (( (ptr) &attributes←v9144)+1) ) =  (word) -1;
   (* (( (ptr) &attributes←v9144)+2) ) =  (word) -1;
   (* (( (ptr) &attributes←v9144)+3) ) =  (word) -1;
   (* (( (ptr) &attributes←v9144)+4) ) = 11;
   (* (( (ptr) &attributes←v9144)+5) ) = 11;
   (* (( (ptr) &attributes←v9144)+6) ) = 3;
   (* (( (ptr) &attributes←v9144)+7) ) =  (word) -1;
   (* (( (ptr) &attributes←v9144)+8) ) =  (word) -1;
   (* (( (ptr) &attributes←v9144)+9) ) = 2;
   (* (( (ptr) &attributes←v9144)+10) ) = 2;
   (* (( (ptr) &attributes←v9144)+11) ) = 0;
   (* (( (ptr) &attributes←v9144)+12) ) = 0;
   (* (( (ptr) &attributes←v9144)+13) ) =  (word) -1;
   (* (( (ptr) &attributes←v9144)+14) ) =  (word) -1;
SOURCE(12503, 26)
   (* (( (ptr) &attributes←v9144)+14) ) = cursor←v6956;
SOURCE(12531, 71)
   {
      W18 var←c0181;
      (*  (ptr) (word) &var←c0181 ) = (* (( (ptr) widget←v6928)+34) );
      (* (( (ptr) (word) &var←c0181) + 1) ) = (* (( (ptr) widget←v6928)+35) );
      (*  (W15Pt) (( (ptr) (word) &var←c0181) + 2) ) = attributes←v9144;
      (* (( (ptr) (word) &var←c0181) + 17) ) = 0;
      {
         word pd112;
         pd112 = (* (( (ptr) (* (( (ptr) gf←c42728)+83)/* var←c40264 */  ))+75) );
         (void) ( *( (fPt) ((*  (ptr) pd112 ))))((word) (&var←c0181), pd112);
         };
      };
SOURCE(12604, 27)
   {
      word pd113;
      pd113 = (* (( (ptr) (* (( (ptr) gf←c42728)+83)/* var←c40264 */  ))+43) );
      (void) ( *( (fPt) ((*  (ptr) pd113 ))))((* (( (ptr) widget←v6928)+34) ), 0, pd113);
      };
   }

static void ScrollbarRepaint←P1380(scrollbar←v7016, sd←v7044)
   word scrollbar←v7016;
   word sd←v7044;
   {
   register ptr gf←c42760 =  (ptr) &globalframe;
   word c←v9216;
   word w←v9244;
   W2 sz←v9272;
   W2 state←v9300;
   /* ScrollbarRepaint: */ 
SOURCE(12638, 1521)
SOURCE(12723, 39)
   c←v9216 = (* (( (ptr) scrollbar←v7016)+34) );
SOURCE(12765, 31)
   w←v9244 = (* (( (ptr) scrollbar←v7016)+35) );
SOURCE(12798, 35)
   sz←v9272 = (*  (W2Pt) (( (ptr) scrollbar←v7016)+41) );
SOURCE(12835, 23)
   state←v9300 = (*  (W2Pt) sd←v7044 );
SOURCE(12860, 73)
   if (((* (( (ptr) scrollbar←v7016)+37) ) != 0) || ((* (( (ptr) scrollbar←v7016)+38) ) != 0)) {
SOURCE(12927, 6)
      return;
      };
SOURCE(12935, 42)
   if (( (int)sz←v9272.f1 <=  (int)0) || ( (int)sz←v9272.f0 <=  (int)0)) {
SOURCE(12971, 6)
      return;
      };
SOURCE(12979, 45)
   {
      word x114;
      float tf115;
      float tf116;
      word x117;
      float tf118;
      float tf119;
      word x121;
      float tf122;
      state←v9300.f0 = (
         tf122 = FMIN(FMAX((
                  x114 = state←v9300.f0,  *(float*)&x114
                  ), (
                  x117 = (*  (ptr) &fc82 ),  *(float*)&x117
                  ), tf115, tf116), (
               x121 = (*  (ptr) &fc120 ),  *(float*)&x121
               ), tf118, tf119),  *(word*)&tf122
         );
      };
SOURCE(13026, 51)
   {
      word x123;
      float tf124;
      float tf125;
      word x126;
      float tf127;
      float tf128;
      word x129;
      float tf130;
      state←v9300.f1 = (
         tf130 = FMIN(FMAX((
                  x123 = state←v9300.f0,  *(float*)&x123
                  ), (
                  x126 = state←v9300.f1,  *(float*)&x126
                  ), tf124, tf125), (
               x129 = (*  (ptr) &fc120 ),  *(float*)&x129
               ), tf127, tf128),  *(word*)&tf130
         );
      };
SOURCE(13079, 1049)
   {
      word var←c41640;
      var←c41640 = (* (( (ptr) sd←v7044)+2) );
      if ((var←c41640 == 0)) {
SOURCE(13118, 500)
         {
            word iLength←v9344;
            word iStart←v9372;
            word iNext←v9400;
SOURCE(13120, 42)
            iLength←v9344 = (* (( (ptr) scrollbar←v7016)+41) );
SOURCE(13164, 45)
            {
               word pd131;
               word x132;
               float tf133;
               pd131 = (* (( (ptr) (* (( (ptr) gf←c42760)+86)/* var←c41672 */  ))+6) );
               iStart←v9372 = (word) ( *( (fPt) ((*  (ptr) pd131 ))))((
                     tf133 = (float)(int)iLength←v9344 * (
                        x132 = state←v9300.f0,  *(float*)&x132
                        ),  *(word*)&tf133
                     ), pd131);
               };
SOURCE(13211, 43)
            {
               word pd134;
               word x135;
               float tf136;
               pd134 = (* (( (ptr) (* (( (ptr) gf←c42760)+86)/* var←c41672 */  ))+6) );
               iNext←v9400 = (word) ( *( (fPt) ((*  (ptr) pd134 ))))((
                     tf136 = (float)(int)iLength←v9344 * (
                        x135 = state←v9300.f1,  *(float*)&x135
                        ),  *(word*)&tf136
                     ), pd134);
               };
SOURCE(13256, 43)
            {
               word x137;
               iStart←v9372 = (x137 = (MIN((int)(word), iStart←v9372, (iLength←v9344 - 3))),
                  MAX((int)(word), x137, 0));
               };
SOURCE(13301, 46)
            {
               word x138;
               iNext←v9400 = (x138 = (MAX((int)(word), (iStart←v9372 + 3), iNext←v9400)),
                  MIN((int)(word), iLength←v9344, x138));
               };
SOURCE(13349, 78)
            if (( (int)iStart←v9372 >  (int)0)) {
SOURCE(13368, 59)
               {
                  W2 var←c41704;
                  W2 var←c41736;
                  var←c41704.f0 = 0;
                  var←c41704.f1 = 0;
                  var←c41736.f0 = iStart←v9372;
                  var←c41736.f1 = sz←v9272.f1;
                  {
                     word pd139;
                     pd139 = (* (( (ptr) (* (( (ptr) gf←c42760)+83)/* var←c40264 */  ))+169) );
                     (void) ( *( (fPt) ((*  (ptr) pd139 ))))(c←v9216, w←v9244, (* (( (ptr) sd←v7044)+11) ), var←c41704, var←c41736, 0, pd139);
                     };
                  };
               };
SOURCE(13429, 92)
            if (( (int)iNext←v9400 >  (int)iStart←v9372)) {
SOURCE(13451, 70)
               {
                  W2 var←c41768;
                  W2 var←c41800;
                  var←c41768.f0 = iStart←v9372;
                  var←c41768.f1 = 0;
                  var←c41800.f0 = (iNext←v9400 - iStart←v9372);
                  var←c41800.f1 = sz←v9272.f1;
                  {
                     word pd140;
                     pd140 = (* (( (ptr) (* (( (ptr) gf←c42760)+83)/* var←c40264 */  ))+169) );
                     (void) ( *( (fPt) ((*  (ptr) pd140 ))))(c←v9216, w←v9244, (* (( (ptr) sd←v7044)+12) ), var←c41768, var←c41800, 0, pd140);
                     };
                  };
               };
SOURCE(13523, 93)
            if (( (int)iLength←v9344 >  (int)iNext←v9400)) {
SOURCE(13546, 70)
               {
                  W2 var←c41832;
                  W2 var←c41864;
                  var←c41832.f0 = iNext←v9400;
                  var←c41832.f1 = 0;
                  var←c41864.f0 = (iLength←v9344 - iNext←v9400);
                  var←c41864.f1 = sz←v9272.f1;
                  {
                     word pd141;
                     pd141 = (* (( (ptr) (* (( (ptr) gf←c42760)+83)/* var←c40264 */  ))+169) );
                     (void) ( *( (fPt) ((*  (ptr) pd141 ))))(c←v9216, w←v9244, (* (( (ptr) sd←v7044)+13) ), var←c41832, var←c41864, 0, pd141);
                     };
                  };
               };
            };
         }
      else {
         if ((var←c41640 == 1)) {
SOURCE(13633, 497)
            {
               word iLength←v9444;
               word iStart←v9472;
               word iNext←v9500;
SOURCE(13635, 43)
               iLength←v9444 = (* (( (ptr) scrollbar←v7016)+42) );
SOURCE(13680, 45)
               {
                  word pd142;
                  word x143;
                  float tf144;
                  pd142 = (* (( (ptr) (* (( (ptr) gf←c42760)+86)/* var←c41672 */  ))+6) );
                  iStart←v9472 = (word) ( *( (fPt) ((*  (ptr) pd142 ))))((
                        tf144 = (float)(int)iLength←v9444 * (
                           x143 = state←v9300.f0,  *(float*)&x143
                           ),  *(word*)&tf144
                        ), pd142);
                  };
SOURCE(13727, 43)
               {
                  word pd145;
                  word x146;
                  float tf147;
                  pd145 = (* (( (ptr) (* (( (ptr) gf←c42760)+86)/* var←c41672 */  ))+6) );
                  iNext←v9500 = (word) ( *( (fPt) ((*  (ptr) pd145 ))))((
                        tf147 = (float)(int)iLength←v9444 * (
                           x146 = state←v9300.f1,  *(float*)&x146
                           ),  *(word*)&tf147
                        ), pd145);
                  };
SOURCE(13772, 43)
               {
                  word x148;
                  iStart←v9472 = (x148 = (MIN((int)(word), iStart←v9472, (iLength←v9444 - 3))),
                     MAX((int)(word), x148, 0));
                  };
SOURCE(13817, 46)
               {
                  word x149;
                  iNext←v9500 = (x149 = (MAX((int)(word), (iStart←v9472 + 3), iNext←v9500)),
                     MIN((int)(word), iLength←v9444, x149));
                  };
SOURCE(13865, 76)
               if (( (int)iStart←v9472 >  (int)0)) {
SOURCE(13883, 58)
                  {
                     W2 var←c41896;
                     W2 var←c41928;
                     var←c41896.f0 = 0;
                     var←c41896.f1 = 0;
                     var←c41928.f0 = sz←v9272.f0;
                     var←c41928.f1 = iStart←v9472;
                     {
                        word pd150;
                        pd150 = (* (( (ptr) (* (( (ptr) gf←c42760)+83)/* var←c40264 */  ))+169) );
                        (void) ( *( (fPt) ((*  (ptr) pd150 ))))(c←v9216, w←v9244, (* (( (ptr) sd←v7044)+11) ), var←c41896, var←c41928, 0, pd150);
                        };
                     };
                  };
SOURCE(13943, 91)
               if (( (int)iNext←v9500 >  (int)iStart←v9472)) {
SOURCE(13965, 69)
                  {
                     W2 var←c41960;
                     W2 var←c41992;
                     var←c41960.f0 = 0;
                     var←c41960.f1 = iStart←v9472;
                     var←c41992.f0 = sz←v9272.f0;
                     var←c41992.f1 = (iNext←v9500 - iStart←v9472);
                     {
                        word pd151;
                        pd151 = (* (( (ptr) (* (( (ptr) gf←c42760)+83)/* var←c40264 */  ))+169) );
                        (void) ( *( (fPt) ((*  (ptr) pd151 ))))(c←v9216, w←v9244, (* (( (ptr) sd←v7044)+12) ), var←c41960, var←c41992, 0, pd151);
                        };
                     };
                  };
SOURCE(14036, 92)
               if (( (int)iLength←v9444 >  (int)iNext←v9500)) {
SOURCE(14059, 69)
                  {
                     W2 var←c42024;
                     W2 var←c42056;
                     var←c42024.f0 = 0;
                     var←c42024.f1 = iNext←v9500;
                     var←c42056.f0 = sz←v9272.f0;
                     var←c42056.f1 = (iLength←v9444 - iNext←v9500);
                     {
                        word pd152;
                        pd152 = (* (( (ptr) (* (( (ptr) gf←c42760)+83)/* var←c40264 */  ))+169) );
                        (void) ( *( (fPt) ((*  (ptr) pd152 ))))(c←v9216, w←v9244, (* (( (ptr) sd←v7044)+13) ), var←c42024, var←c42056, 0, pd152);
                        };
                     };
                  };
               };
            };
         };
      };
SOURCE(14142, 17)
   {
      word pd153;
      pd153 = (* (( (ptr) (* (( (ptr) gf←c42760)+83)/* var←c40264 */  ))+43) );
      (void) ( *( (fPt) ((*  (ptr) pd153 ))))(c←v9216, 1, pd153);
      };
   }

static void NoName←Q3108(formal←c0212, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0212;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0235 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0235)+83)/* var←c40264 */  ))+4) ))) {
      {
         word err←v36168;
         err←v36168 = (*  (ptr) formal←c200003 );
SOURCE(9529, 9)
         (*  (ptr) formal←c0212 ) = 2;
         (* (( (ptr) formal←c0212)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0212 ) = 0;
   (* (( (ptr) formal←c0212)+1) ) = 0;
   return;
   }

/* file: XTkScrollbarImpl, module: XTkScrollbarImpl, compiled at: October 8, 1992 10:05:05 am PDT */ 
extern void XR←install←XTkScrollbarImpl() {
   NoName←Q2988();
   }
extern void XR←run←XTkScrollbarImpl() { XR←Start(&globalframe); }