/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: June 7, 1992 11:38:24 am PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: VoiceMarkersImpl, module: VoiceMarkersImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [146065664,1499761696] VoiceMarkersImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {W8 f; W4 r;} W12;
typedef W4 *W4Pt;
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W3 *W3Pt;
#define SOURCE(p, l) /* source p, l */
static float fc72 = 12.0;
static float fc74 = 9.0;
static float fc76 = 2.0;
static float fc82 = 1.0;
static float fc87 = 4.0;
static float fc91 = 3.0;
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
static float fc163 = 8.0;
static float fc166 = 0.0;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc265 = 2.5;
static float fc266 = -1.5;
static float fc273 = 20.0;
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q5244();
static void VoiceMarkersImpl←P0();
static void AddCharMark←P60();
static void AddMarkAtPlayBackLocation←P120();
static void AddMarksAtSelection←P180();
static void MarkChar←P240();
static void LockedAddCharMark←P300();
static void DeleteCharMarks←P360();
static void RemoveMarkChars←P2544();
static word DisplayCharMarks←P420();
static void ExtractCharMarks←P480();
static void EditCharMarks←P540();
static void TextInput←P600();
static void AddArtwork←P2940();
static void LimitText←P660();
static void BackSpace←P720();
static void BackWord←P780();
static word BackSpaceProc←P840();
static word BackWordProc←P900();
static void Back←P960();
static void AddArtwork←P3144();
static void CopyTextViewerToTextMarker←P1020();
static void ToXeroxStringEncoding←P3300();
static void CopyTextMarkerToTextViewer←P1080();
static void InsertMarks←P3360();
static void TiogaXCharProc←P3420();
static void ApplyToChars←P1200();
static word GetTextMarksFromSelection←P1260();
static void RemoveTextMarkers←P1320();
static void AddArtwork←P3720();
static void RedrawTextMarkers←P1380();
static void AddArtwork←P3876();
static void ExtractTextMarks←P1440();
static void EditTextMarks←P1500();
static word RopeFromTextList←P1560();
static word TextListFromRope←P1620();
static void VoiceMarkerPaint←P1680();
static void DrawArrow←P4368();
static word VoiceMarkerFormat←P1740();
static void ReColorViewer←P1800();
static void AgeAllViewers←P1860();
static void EditAges←P1920();
static word FindEnd←P1980();
static word StillInVoiceViewerList←P2040();
static void PlayFromSelection←P2100();
static void ResumeFromSelection←P2160();
static void ResumeFromEnd←P2220();
static void SetCriticalSilenceLength←P2280();
static word NoName←Q5304();
static void AdjustSilences←P2340();
static void NoName←Q5364();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\104\304\000\000"};
static struct {unsigned f; char r[24];} string2 = {1376277, "\007\000\001\002\007\020\001\002\000\007\036\002\004\003\002\004\014\016\015\003\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[4];} string4 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\312\131\110\115\300\370\314\351\125\100\310\000\000"};
static struct {unsigned f; char r[4];} string6 = {131074, "\004'\000"};
static struct {unsigned f; char r[44];} string7 = {2752556, "\260\006\005\146\151\162\163\164\257\300\312\131\110\115\300\370\314\351\125\100\274\005\004\162\145\163\164\214\257\300\312\131\110\115\300\370\314\351\125\100\274\261\000"};
static struct {unsigned f; char r[4];} string8 = {131074, "\003\002\000"};
static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\101\254\000\000"};
static struct {unsigned f; char r[4];} string10 = {131074, "\004\005\000"};
static struct {unsigned f; char r[4];} string11 = {131076, "\216\251\000"};
static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\101\174\000\000"};
static struct {unsigned f; char r[4];} string13 = {131074, "\003\010\000"};
static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\010\264\311\000\300\131\144\214\040\102\014\000\000"};
static struct {unsigned f; char r[4];} string15 = {131074, "\003\001\000"};
static struct {unsigned f; char r[48];} string16 = {2883632, "\260\006\005\146\151\162\163\164\216\257\300\312\131\110\115\300\370\314\351\125\100\260\005\004\162\145\163\164\214\216\257\300\312\131\110\115\300\370\314\351\125\100\260\261\000\000\000"};
static struct {unsigned f; char r[4];} string17 = {131074, "\004\003\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\312\131\110\115\300\370\314\351\125\100\260\000\000"};
static struct {unsigned f; char r[20];} string19 = {1179668, "\260\006\005\146\151\162\163\164\242\005\004\162\145\163\164\214\242\261\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\312\131\110\115\300\370\314\351\125\100\200\000\000"};
static struct {unsigned f; char r[24];} string21 = {1507351, "\006\012\000\001\010\001\024\001\034\001\040\001\044\001\064\001\070\001\074\001\100\100\001"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\312\131\110\115\300\370\314\351\125\101\064\000\000"};
static struct {unsigned f; char r[16];} string23 = {786448, "ButtonParams\000\000\000"};
static struct {unsigned f; char r[180];} string24 = {11731124, "SetCriticalSilenceLength lengthInMilliseconds - when the AdjustSilences button is bugged for any voice viewer, all silences of more than this length will be reduced to this length"};
static struct {unsigned f; char r[60];} string25 = {3670076, "No current playback to mark (possibly abort in progress)\000\000\000"};
static struct {unsigned f; char r[16];} string26 = {983056, "voiceViewerInfo"};
static struct {unsigned f; char r[28];} string27 = {1572892, "SetCriticalSilenceLength\000\000\000"};
static struct {unsigned f; char r[48];} string28 = {2883632, "No voice viewer to mark for current playback\000\000\000"};
static struct {unsigned f; char r[44];} string29 = {2818092, "Make a selection in this voice viewer first"};
static struct {unsigned f; char r[28];} string30 = {1638428, "0.000 1.00 0.00 textColor\000\000"};
static struct {unsigned f; char r[4];} string31 = {65540, "@\000\000"};
static struct {unsigned f; char r[68];} string32 = {4194372, "Select a character in a voice viewer before entering text marker\000\000\000"};
static struct {unsigned f; char r[28];} string33 = {1638428, "0.000 1.00 0.50 textColor\000\000"};
static struct {unsigned f; char r[28];} string34 = {1638428, "0.000 1.00 1.00 textColor\000\000"};
static struct {unsigned f; char r[8];} string35 = {458760, "Artwork"};
static struct {unsigned f; char r[12];} string36 = {720908, "VoiceMarker"};
static struct {unsigned f; char r[28];} string37 = {1638428, "0.060 0.90 1.00 textColor\000\000"};
static struct {unsigned f; char r[12];} string38 = {589836, "VoiceMark\000\000"};
static struct {unsigned f; char r[44];} string39 = {2818092, "No textual annotation at point of selection"};
static struct {unsigned f; char r[4];} string40 = {65540, ":\000\000"};
static struct {unsigned f; char r[28];} string41 = {1638428, "0.130 1.00 1.00 textColor\000\000"};
static struct {unsigned f; char r[8];} string42 = {458760, "Postfix"};
static struct {unsigned f; char r[28];} string43 = {1703964, "Xerox/XC1/Tioga-Classic-12\000"};
static struct {unsigned f; char r[84];} string44 = {5439572, "Voice viewer has been deleted (contents NIL): dictation operation therefore invalid"};
static struct {unsigned f; char r[56];} string45 = {3604536, "Make a selection before the end of the most recent edit"};
static struct {unsigned f; char r[4];} string46 = {131076, "\377\000\000"};
static struct {unsigned f; char r[4];} string47 = {196612, "\377\377\000"};
static struct {unsigned f; char r[56];} string48 = {3407928, "Usage: SetCriticalSilenceLength lengthInMilliseconds\000\000\000"};
static struct {unsigned f; char r[8];} string49 = {458760, "Failure"};
static struct {unsigned f; char r[80];} string50 = {4980816, "Unable to examine silences in viewer - editing operation already in progress\000\000\000"};
static struct {unsigned f; char r[16];} string51 = {851984, "\257\300\010\264\311\000\300\131\144\214\040\100\164\000\000"};
static struct {unsigned f; char r[24];} string52 = {1441814, "\006\006\020\001\024\001\030\001\100\100\001\100\114\004\077\100\260\010\000\004\035\001\000"};
static struct {unsigned f; char r[16];} string53 = {851984, "\257\300\314\212\213\004\300\112\342\014\072\100\164\000\000"};
static struct {unsigned f; char r[16];} string54 = {851984, "\257\300\373\225\000\071\300\362\156\307\320\100\150\000\000"};
static struct {unsigned f; char r[16];} string55 = {851984, "\257\300\311\235\133\064\300\165\175\234\175\100\150\000\000"};
static struct {unsigned f; char r[16];} string56 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string57 = {851984, "\257\300\074\177\166\242\300\203\113\217\044\100\150\000\000"};
static struct {unsigned f; char r[16];} string58 = {851984, "\257\300\046\300\267\143\300\022\215\240\122\100\150\000\000"};
static struct {unsigned f; char r[16];} string59 = {851984, "\257\300\074\270\063\045\300\023\342\016\224\100\150\000\000"};
static struct {unsigned f; char r[16];} string60 = {851984, "\257\300\167\317\044\003\300\277\140\004\026\100\150\000\000"};
static struct {unsigned f; char r[16];} string61 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string62 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string63 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\100\150\000\000"};
static struct {unsigned f; char r[16];} string64 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"};
static struct {unsigned f; char r[16];} string65 = {851984, "\257\300\136\253\306\024\300\100\114\357\174\100\150\000\000"};
static struct {unsigned f; char r[16];} string66 = {1416195943, "aVoicePrivate"};
static struct {unsigned f; char r[16];} string67 = {851984, "\257\300\312\131\110\115\300\370\314\351\125\100\150\000\000"};
static struct {unsigned f; char r[16];} string68 = {851984, "\257\300\312\253\314\243\300\267\126\271\104\100\150\000\000"};
static struct {unsigned f; char r[16];} string69 = {851984, "\257\300\354\332\367\333\300\361\203\205\173\100\150\000\000"};
static struct {unsigned f; char r[16];} string70 = {851984, "\257\300\244\340\135\243\300\261\211\021\257\100\150\000\000"};
static struct {
   word f0[73]; word f73; word f74; word f75; 
   word f76; word f77; word f78; word f79; 
   word f80; word f81; word f82; word f83; 
   word f84; word f85; word f86; word f87; 
   word f88; word f89; word f90; word f91; 
   word f92; word f93; word f94; word f95; 
   word f96; word f97; word f98; word f99; 
   word f100; word f101; word f102; word f103; 
   word f104; word f105; word f106; word f107; 
   word f108; word f109; word f110; word f111; 
   word f112; word f113; word f114; word f115; 
   word f116; word f117; word f118; word f119; 
   word f120; word f121; word f122; word f123; 
   word f124; word f125; word f126; word f127; 
   word f128; word f129; word f130; word f131; 
   word f132; word f133; word f134; word f135; 
   word f136; word f137; word f138; word f139; 
   word f140; word f141; word f142; word f143; 
   word f144; word f145; word f146; word f147; 
   word f148; word f149; word f150[19]; 
   } globalframe = {
   {0}, (word) AdjustSilences←P2340, 0, (word) SetCriticalSilenceLength←P2280, 
   0, (word) ResumeFromEnd←P2220, 0, (word) ResumeFromSelection←P2160, 
   0, (word) PlayFromSelection←P2100, 0, (word) StillInVoiceViewerList←P2040, 
   0, (word) FindEnd←P1980, 0, (word) EditAges←P1920, 
   0, (word) AgeAllViewers←P1860, 0, (word) ReColorViewer←P1800, 
   0, (word) VoiceMarkerFormat←P1740, 0, (word) VoiceMarkerPaint←P1680, 
   0, (word) TextListFromRope←P1620, 0, (word) RopeFromTextList←P1560, 
   0, (word) EditTextMarks←P1500, 0, (word) ExtractTextMarks←P1440, 
   0, (word) RedrawTextMarkers←P1380, 0, (word) RemoveTextMarkers←P1320, 
   0, (word) GetTextMarksFromSelection←P1260, 0, (word) ApplyToChars←P1200, 
   0, (word) CopyTextMarkerToTextViewer←P1080, 0, (word) CopyTextViewerToTextMarker←P1020, 
   0, (word) Back←P960, 0, (word) BackWordProc←P900, 
   0, (word) BackSpaceProc←P840, 0, (word) BackWord←P780, 
   0, (word) BackSpace←P720, 0, (word) LimitText←P660, 
   0, (word) TextInput←P600, 0, (word) EditCharMarks←P540, 
   0, (word) ExtractCharMarks←P480, 0, (word) DisplayCharMarks←P420, 
   0, (word) DeleteCharMarks←P360, 0, (word) LockedAddCharMark←P300, 
   0, (word) MarkChar←P240, 0, (word) AddMarksAtSelection←P180, 
   0, (word) AddMarkAtPlayBackLocation←P120, 0, (word) AddCharMark←P60, 
   0, (word) VoiceMarkersImpl←P0, {0}
   };

static void NoName←Q5244()
   {
   register ptr gf←c0517 =  (ptr) &globalframe;
   word var←c48540;
   (* (( (ptr) gf←c0517)+26) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c0517)+27) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4);
   (* (( (ptr) gf←c0517)+29) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6);
   (* (( (ptr) gf←c0517)+30) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8);
   (* (( (ptr) gf←c0517)+31) ) = (word) XR←GetTypeIndex((word) &string9, 0, (word) &string10);
   (* (( (ptr) gf←c0517)+32) ) = (word) XR←GetTypeIndex((word) &string11, 0, (word) &string4);
   (* (( (ptr) gf←c0517)+33) ) = (word) XR←GetTypeIndex((word) &string12, 0, (word) &string13);
   (* (( (ptr) gf←c0517)+37) ) = (word) XR←GetTypeIndex((word) &string14, 0, (word) &string15);
   (* (( (ptr) gf←c0517)+39) ) = (word) XR←GetTypeIndex((word) &string16, 0, (word) &string17);
   (* (( (ptr) gf←c0517)+40) ) = (word) XR←GetTypeIndex((word) &string18, 0, (word) &string15);
   (* (( (ptr) gf←c0517)+41) ) = (word) XR←GetTypeIndex((word) &string19, 0, (word) &string15);
   (* (( (ptr) gf←c0517)+42) ) = (word) XR←GetTypeIndex((word) &string20, 0, (word) &string21);
   (* (( (ptr) gf←c0517)+43) ) = (word) XR←GetTypeIndexS((word) (&string22));
   (*  (ptr) (( (bPt) gf←c0517)+176) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+32) ), (word) &string23);
   (*  (ptr) (( (bPt) gf←c0517)+180) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string24);
   (*  (ptr) (( (bPt) gf←c0517)+184) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string25);
   (*  (ptr) (( (bPt) gf←c0517)+188) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+32) ), (word) &string26);
   (*  (ptr) (( (bPt) gf←c0517)+192) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string27);
   (*  (ptr) (( (bPt) gf←c0517)+196) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string28);
   (*  (ptr) (( (bPt) gf←c0517)+200) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string29);
   (*  (ptr) (( (bPt) gf←c0517)+204) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string30);
   (*  (ptr) (( (bPt) gf←c0517)+208) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string31);
   (*  (ptr) (( (bPt) gf←c0517)+212) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string32);
   (*  (ptr) (( (bPt) gf←c0517)+216) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string33);
   (*  (ptr) (( (bPt) gf←c0517)+220) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string34);
   (*  (ptr) (( (bPt) gf←c0517)+224) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+32) ), (word) &string35);
   (*  (ptr) (( (bPt) gf←c0517)+228) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0517)+232) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string37);
   (*  (ptr) (( (bPt) gf←c0517)+236) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+32) ), (word) &string38);
   (*  (ptr) (( (bPt) gf←c0517)+240) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string39);
   (*  (ptr) (( (bPt) gf←c0517)+244) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string40);
   (*  (ptr) (( (bPt) gf←c0517)+248) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string41);
   (*  (ptr) (( (bPt) gf←c0517)+252) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+32) ), (word) &string36);
   (*  (ptr) (( (bPt) gf←c0517)+256) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+32) ), (word) &string42);
   (*  (ptr) (( (bPt) gf←c0517)+260) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string43);
   (*  (ptr) (( (bPt) gf←c0517)+264) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string44);
   (*  (ptr) (( (bPt) gf←c0517)+268) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string45);
   (*  (ptr) (( (bPt) gf←c0517)+272) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string46);
   (*  (ptr) (( (bPt) gf←c0517)+276) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string47);
   (*  (ptr) (( (bPt) gf←c0517)+280) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string48);
   (*  (ptr) (( (bPt) gf←c0517)+284) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+32) ), (word) &string49);
   (*  (ptr) (( (bPt) gf←c0517)+288) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0517)+27) ), (word) &string50);
   (void) XR←DeclareGlobalFrame((word) "VoiceMarkersImpl", &globalframe, (word) XR←GetTypeIndex((word) &string51, 0, (word) &string52)
      , (word) (( (bPt) gf←c0517)+596)/* var←c43548 */ );
   var←c48540 = (word) XR←ImportInterface((word) "CharOps", (word) XR←GetTypeIndexS((word) (&string53)), 14);
   (* (( (ptr) gf←c0517)+161)/* var←c45148 */  ) = var←c48540;
   var←c48540 = (word) XR←ImportInterface((word) "Commander", (word) XR←GetTypeIndexS((word) (&string54)), 3);
   (* (( (ptr) gf←c0517)+153)/* var←c43708 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 1310725);
   var←c48540 = (word) XR←ImportInterface((word) "CommanderOps", (word) XR←GetTypeIndexS((word) (&string55)), 14);
   (* (( (ptr) gf←c0517)+167)/* var←c48316 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 67633666);
   var←c48540 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string56)), 73);
   (* (( (ptr) gf←c0517)+162)/* var←c46780 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 67634690);
   (void) XR←ImportProcS(var←c48540, 67901187);
   var←c48540 = (word) XR←ImportInterface((word) "Imager", (word) XR←GetTypeIndexS((word) (&string57)), 84);
   (* (( (ptr) gf←c0517)+163)/* var←c47100 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 1319429);
   (void) XR←ImportProcS(var←c48540, 530946);
   (void) XR←ImportProcS(var←c48540, 790786);
   (void) XR←ImportProcS(var←c48540, 803587);
   (void) XR←ImportProcS(var←c48540, 541186);
   (void) XR←ImportProcS(var←c48540, 540674);
   (void) XR←ImportProcS(var←c48540, 536578);
   (void) XR←ImportProcS(var←c48540, 532226);
   (void) XR←ImportProcS(var←c48540, 265985);
   var←c48540 = (word) XR←ImportInterface((word) "ImagerFont", (word) XR←GetTypeIndexS((word) (&string58)), 26);
   (* (( (ptr) gf←c0517)+151)/* var←c43580 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 134744578);
   (void) XR←ImportProcS(var←c48540, 1048580);
   (void) XR←ImportProcS(var←c48540, 135533829);
   (void) XR←ImportProcS(var←c48540, 268701185);
   (void) XR←ImportProcS(var←c48540, 67634690);
   var←c48540 = (word) XR←ImportInterface((word) "MessageWindow", (word) XR←GetTypeIndexS((word) (&string59)), 7);
   (* (( (ptr) gf←c0517)+156)/* var←c43868 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 512);
   (void) XR←ImportProcS(var←c48540, 524546);
   var←c48540 = (word) XR←ImportInterface((word) "NodeStyle", (word) XR←GetTypeIndexS((word) (&string60)), 41);
   (* (( (ptr) gf←c0517)+164)/* var←c47420 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 67380481);
   var←c48540 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string61)), 11);
   (* (( (ptr) gf←c0517)+160)/* var←c45084 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 67371265);
   var←c48540 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string62)), 43);
   (* (( (ptr) gf←c0517)+158)/* var←c44508 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 68159236);
   (void) XR←ImportProcS(var←c48540, 68419845);
   (void) XR←ImportProcS(var←c48540, 67379457);
   (void) XR←ImportProcS(var←c48540, 67634434);
   (void) XR←ImportProcS(var←c48540, 67898627);
   (void) XR←ImportProcS(var←c48540, 67633666);
   (void) XR←ImportProcS(var←c48540, 67373569);
   var←c48540 = (word) XR←ImportInterface((word) "TEditFormat", (word) XR←GetTypeIndexS((word) (&string63)), 17);
   (* (( (ptr) gf←c0517)+152)/* var←c43644 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 264961);
   var←c48540 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string64)), 39);
   (* (( (ptr) gf←c0517)+159)/* var←c44860 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 67898371);
   (void) XR←ImportProcS(var←c48540, 136585481);
   (void) XR←ImportProcS(var←c48540, 67633154);
   (void) XR←ImportProcS(var←c48540, 1838343);
   (void) XR←ImportProcS(var←c48540, 67371521);
   var←c48540 = (word) XR←ImportInterface((word) "TiogaOps", (word) XR←GetTypeIndexS((word) (&string65)), 128);
   (* (( (ptr) gf←c0517)+157)/* var←c43964 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 17664);
   (void) XR←ImportProcS(var←c48540, 17408);
   (void) XR←ImportProcS(var←c48540, 67390721);
   (void) XR←ImportProcS(var←c48540, 67392001);
   (void) XR←ImportProcS(var←c48540, 279297);
   (void) XR←ImportProcS(var←c48540, 553474);
   (void) XR←ImportProcS(var←c48540, 67393793);
   (void) XR←ImportProcS(var←c48540, 67393281);
   (void) XR←ImportProcS(var←c48540, 537148161);
   var←c48540 = (word) XR←ImportInterface((word) &string66, (word) XR←GetTypeIndexS((word) (&string67)), 84);
   (* (( (ptr) gf←c0517)+155)/* var←c43804 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 202386436);
   (void) XR←ImportProcS(var←c48540, 134752514);
   (void) XR←ImportProcS(var←c48540, 271361);
   (void) XR←ImportProcS(var←c48540, 1054212);
   (void) XR←ImportProcS(var←c48540, 8960);
   (void) XR←ImportProcS(var←c48540, 6656);
   (void) XR←ImportProcS(var←c48540, 67113472);
   (void) XR←ImportProcS(var←c48540, 265217);
   (void) XR←ImportProcS(var←c48540, 265473);
   (void) XR←ImportProcS(var←c48540, 69213704);
   (void) XR←ImportProcS(var←c48540, 134752258);
   (void) XR←ImportProcS(var←c48540, 67375873);
   (void) XR←ImportProcS(var←c48540, 201333504);
   (void) XR←ImportProcS(var←c48540, 67115264);
   var←c48540 = (word) XR←ImportInterface((word) "ViewerForkers", (word) XR←GetTypeIndexS((word) (&string68)), 2);
   (* (( (ptr) gf←c0517)+165)/* var←c47644 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 1310725);
   var←c48540 = (word) XR←ImportInterface((word) "ViewerOps", (word) XR←GetTypeIndexS((word) (&string69)), 43);
   (* (( (ptr) gf←c0517)+154)/* var←c43740 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 67639554);
   var←c48540 = (word) XR←ImportInterface((word) "VoiceRope", (word) XR←GetTypeIndexS((word) (&string70)), 20);
   (* (( (ptr) gf←c0517)+166)/* var←c47932 */  ) = var←c48540;
   (void) XR←ImportProcS(var←c48540, 262913);
   var←c48540 = (word) XR←ExportInterface((word) &string66, (word) XR←GetTypeIndexS((word) (&string67)), 84);
   (* (( (ptr) gf←c0517)+168)/* var←c48572 */  ) = var←c48540;
   (void) XR←ExportVar(var←c48540, 1, (word) (( (bPt) gf←c0517)+24)/* voiceMarkerFont←v4372 */ );
   (void) XR←ExportVar(var←c48540, 4, (word) (( (bPt) gf←c0517)+68)/* oldest←v4680 */ );
   (void) XR←ExportVar(var←c48540, 5, (word) (( (bPt) gf←c0517)+72)/* youngest←v4708 */ );
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+292)/* var←c42332 */ , 134492161);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+308)/* var←c42396 */ , 134492417);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+316)/* var←c42428 */ , 134492673);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+324)/* var←c42460 */ , 134492929);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+364)/* var←c42620 */ , 799747);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+356)/* var←c42588 */ , 275713);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+348)/* var←c42556 */ , 1062404);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+588)/* var←c43516 */ , 134494465);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+548)/* var←c43356 */ , 134494721);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+556)/* var←c43388 */ , 539394);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+540)/* var←c43324 */ , 67910659);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+532)/* var←c43292 */ , 539906);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+524)/* var←c43260 */ , 1326597);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+516)/* var←c43228 */ , 802563);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+500)/* var←c43164 */ , 278529);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+492)/* var←c43132 */ , 278785);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+460)/* var←c43004 */ , 279041);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+452)/* var←c42972 */ , 279297);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+420)/* var←c42844 */ , 541698);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+412)/* var←c42812 */ , 541954);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+404)/* var←c42780 */ , 1328645);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+396)/* var←c42748 */ , 67389185);
   (void) XR←ExportProcS(var←c48540, (word) (( (bPt) gf←c0517)+388)/* var←c42716 */ , 67389441);
   }

static void VoiceMarkersImpl←P0(formal←c082, formal←c078)
   word formal←c082;
   word formal←c078;
   {
   register ptr gf←c48604 =  (ptr) &globalframe;
   /* VoiceMarkersImpl: */ 
SOURCE(1829, 43228)
SOURCE(18793, 30)
   (* (( (ptr) gf←c48604)+4)/* start16Bits←v4008 */  ) = (* (( (ptr) gf←c48604)+69) );
SOURCE(18842, 28)
   (* (( (ptr) gf←c48604)+5)/* stop16Bits←v4036 */  ) = (* (( (ptr) gf←c48604)+68) );
SOURCE(31243, 98)
   {
      word pd71;
      pd71 = (* (( (ptr) (* (( (ptr) gf←c48604)+151)/* var←c43580 */  ))+10) );
      (* (( (ptr) gf←c48604)+6)/* voiceMarkerFont←v4372 */  ) = (word) ( *( (fPt) ((*  (ptr) pd71 ))))((* (( (ptr) gf←c48604)+65)
          ), (*  (ptr) &fc72 ), pd71);
      };
SOURCE(31344, 84)
   {
      word pd73;
      pd73 = (* (( (ptr) (* (( (ptr) gf←c48604)+151)/* var←c43580 */  ))+18) );
      (void) ( *( (fPt) ((*  (ptr) pd73 ))))((word) (( (bPt) gf←c48604)+28)/* voiceMarkerExtents←v4400 */ , (* (( (ptr) gf←c48604)+6)
         /* voiceMarkerFont←v4372 */  ), pd73);
      };
SOURCE(31430, 96)
   {
      word x75;
      word x77;
      word x78;
      *(float*)(( (ptr) gf←c48604)+11)/* voiceMarkerBaseline←v4428 */  = ((
         x75 = (*  (ptr) &fc74 ),  *(float*)&x75
         ) + (
         x77 = (*  (ptr) &fc76 ),  *(float*)&x77
         )) + (
         x78 = (* (( (ptr) gf←c48604)+9) ),  *(float*)&x78
         );
      };
SOURCE(31537, 67)
   {
      word x79;
      word x80;
      *(float*)(( (ptr) gf←c48604)+12)/* totalAscent←v4456 */  = (
         x79 = (* (( (ptr) gf←c48604)+11)/* voiceMarkerBaseline←v4428 */  ),  *(float*)&x79
         ) + (
         x80 = (* (( (ptr) gf←c48604)+10) ),  *(float*)&x80
         );
      };
SOURCE(31615, 52)
   {
      word x81;
      word x83;
      word x84;
      *(float*)(( (ptr) gf←c48604)+13)/* arrowTop←v4484 */  = ((
         x81 = (*  (ptr) &fc74 ),  *(float*)&x81
         ) + (
         x83 = (*  (ptr) &fc82 ),  *(float*)&x83
         )) * (
         x84 = (*  (ptr) &fc76 ),  *(float*)&x84
         );
      };
SOURCE(31669, 53)
   {
      word x85;
      word x86;
      *(float*)(( (ptr) gf←c48604)+14)/* arrowBottom←v4512 */  = (
         x85 = (*  (ptr) &fc74 ),  *(float*)&x85
         ) + (
         x86 = (*  (ptr) &fc82 ),  *(float*)&x86
         );
      };
SOURCE(31724, 64)
   {
      word x88;
      word x89;
      word x90;
      word x92;
      *(float*)(( (ptr) gf←c48604)+15)/* arrowTipHeight←v4540 */  = ((
         x88 = (*  (ptr) &fc87 ),  *(float*)&x88
         ) * ((
         x89 = (*  (ptr) &fc74 ),  *(float*)&x89
         ) + (
         x90 = (*  (ptr) &fc82 ),  *(float*)&x90
         ))) / (
         x92 = (*  (ptr) &fc91 ),  *(float*)&x92
         );
      };
SOURCE(33526, 158)
   {
      word var←c43612;
      var←c43612 = XR←NewObject(12, (* (( (ptr) gf←c48604)+31) ));
      (*  (ptr) var←c43612 ) = (* (( (ptr) gf←c48604)+63) );
      (* (( (ptr) var←c43612)+1) ) = (word) (( (bPt) gf←c48604)+372)/* var←c42652 */ ;
      (* (( (ptr) gf←c48604)+16)/* voiceMarkerClass←v4652 */  ) = var←c43612;
      };
SOURCE(33686, 22)
   (* (( (ptr) gf←c48604)+17)/* oldest←v4680 */  ) = 5;
SOURCE(33710, 24)
   (* (( (ptr) gf←c48604)+18)/* youngest←v4708 */  ) = 1;
SOURCE(42623, 62)
   (* (( (ptr) gf←c48604)+25)/* criticalSilenceLength←v4988 */  ) = 4000;
SOURCE(44342, 54)
   {
      word pd93;
      pd93 = (* (( (ptr) (* (( (ptr) gf←c48604)+152)/* var←c43644 */  ))+15) );
      (void) ( *( (fPt) ((*  (ptr) pd93 ))))((* ((( (ptr) gf←c48604)+16)/* voiceMarkerClass←v4652 */ ) ), pd93);
      };
SOURCE(44398, 42)
   (* (( (ptr) gf←c48604)+19) ) = (* (( (ptr) gf←c48604)+62) );
SOURCE(44506, 42)
   (* (( (ptr) gf←c48604)+20) ) = (* (( (ptr) gf←c48604)+58) );
SOURCE(44583, 42)
   (* (( (ptr) gf←c48604)+21) ) = (* (( (ptr) gf←c48604)+55) );
SOURCE(44641, 42)
   (* (( (ptr) gf←c48604)+22) ) = (* (( (ptr) gf←c48604)+54) );
SOURCE(44707, 57)
   {
      word var←c43676;
      var←c43676 = (* (( (ptr) gf←c48604)+51) );
      (* (( (ptr) gf←c48604)+24) ) = var←c43676;
      (* (( (ptr) gf←c48604)+23) ) = var←c43676;
      };
SOURCE(44802, 255)
   {
      word pd94;
      pd94 = (* (( (ptr) (* (( (ptr) gf←c48604)+153)/* var←c43708 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd94 ))))((* (( (ptr) gf←c48604)+48) ), (word) (( (bPt) gf←c48604)+300)/* var←c42364 */ , (* (
            ( (ptr) gf←c48604)+45) ), 0, 1, pd94);
      };
   }

static void AddCharMark←P60(formal←c089, viewer←v35120)
   word formal←c089;
   word viewer←v35120;
   {
   register ptr gf←c48636 =  (ptr) &globalframe;
   word recordAtom←v35164;
   word quit←v35192;
   word buttonParams←v8592;
   word mouseButton←v8620;
   /* AddCharMark: */ 
SOURCE(2096, 40742)
SOURCE(2096, 40742)
   recordAtom←v35164 = 1;
SOURCE(2096, 40742)
   quit←v35192 = 0;
SOURCE(2141, 97)
   {
      word pd95;
      pd95 = (* (( (ptr) (* (( (ptr) gf←c48636)+154)/* var←c43740 */  ))+29) );
      buttonParams←v8592 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd95 ))))(viewer←v35120, (* (( (ptr) gf←c48636)+44) ), pd95), (* (
            ( (ptr) gf←c48636)+43) ));
      };
SOURCE(2240, 100)
   mouseButton←v8620 =  ( (buttonParams←v8592 != 0) ? (*  (ptr) buttonParams←v8592 ) : 0 ) ;
SOURCE(2342, 106)
   {
      word var←c43772;
      var←c43772 = mouseButton←v8620;
      switch (var←c43772) {
         case 0: case 2: 
SOURCE(2381, 27)
            (void) AddMarksAtSelection←P180(viewer←v35120);
            break;
         case 1: 
SOURCE(2421, 27)
            (void) AddMarkAtPlayBackLocation←P120();
            break;
         };
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c089 ) = recordAtom←v35164;
   (* (( (ptr) formal←c089)+1) ) = quit←v35192;
   return;
   }

static void AddMarkAtPlayBackLocation←P120()
   {
   register ptr gf←c48668 =  (ptr) &globalframe;
   word viewer←v8664 = 0;
   word viewerInfo←v8692 = 0;
   word display←v8720 = 0;
   word currentPos←v8748 =  (word) -1;
   /* AddMarkAtPlayBackLocation: */ 
SOURCE(2463, 40375)
SOURCE(2631, 40207)
   {
      word pd96;
      pd96 = (* (( (ptr) (* (( (ptr) gf←c48668)+155)/* var←c43804 */  ))+29) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd96 ))))(pd96))) {
SOURCE(2680, 40158)
         {
            W3 var←c43836;
            {
               word pd97;
               pd97 = (* (( (ptr) (* (( (ptr) gf←c48668)+155)/* var←c43804 */  ))+31) );
               (void) ( *( (fPt) ((*  (ptr) pd97 ))))((word) (&var←c43836), pd97);
               };
            currentPos←v8748 = var←c43836.f2;
            viewer←v8664 = var←c43836.f1;
            display←v8720 = var←c43836.f0;
            };
         };
      };
SOURCE(2758, 143)
   if (( (int)currentPos←v8748 ==  (int) (word) -1)) {
SOURCE(2784, 86)
      {
         word pd98;
         pd98 = (* (( (ptr) (* (( (ptr) gf←c48668)+156)/* var←c43868 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd98 ))))((* (( (ptr) gf←c48668)+46) ), 1, pd98);
         };
SOURCE(2872, 21)
      {
         word pd99;
         pd99 = (* (( (ptr) (* (( (ptr) gf←c48668)+156)/* var←c43868 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd99 ))))(pd99);
         };
SOURCE(2895, 6)
      return;
      };
SOURCE(2906, 39932)
   {
      word pd100;
      pd100 = (* (( (ptr) (* (( (ptr) gf←c48668)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v8692 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd100 ))))(viewer←v8664, (* (( (ptr) gf←c48668)+47) ), pd100), (* (
            ( (ptr) gf←c48668)+42) ));
      };
SOURCE(3009, 151)
   if ((0 == display←v8720) || (viewerInfo←v8692 == 0)) {
SOURCE(3055, 74)
      {
         word pd101;
         pd101 = (* (( (ptr) (* (( (ptr) gf←c48668)+156)/* var←c43868 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd101 ))))((* (( (ptr) gf←c48668)+49) ), 1, pd101);
         };
SOURCE(3131, 21)
      {
         word pd102;
         pd102 = (* (( (ptr) (* (( (ptr) gf←c48668)+156)/* var←c43868 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd102 ))))(pd102);
         };
SOURCE(3154, 6)
      return;
      };
SOURCE(3165, 39673)
   {
      word pd103;
      pd103 = (* (( (ptr) (* (( (ptr) gf←c48668)+155)/* var←c43804 */  ))+23) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd103 ))))(viewerInfo←v8692, pd103))) {
SOURCE(3218, 32)
         (void) MarkChar←P240(viewerInfo←v8692, currentPos←v8748);
SOURCE(3252, 273)
         {
            word trueContents←v8792;
            W2 var←c097;
SOURCE(3255, 76)
            {
               word pd104;
               pd104 = (* (( (ptr) (* (( (ptr) gf←c48668)+155)/* var←c43804 */  ))+44) );
               (void) ( *( (fPt) ((*  (ptr) pd104 ))))((word) &var←c097, viewerInfo←v8692, 0, pd104);
               };
            trueContents←v8792 = var←c097.f0;
SOURCE(3333, 39505)
            {
               word var←c43900;
               word pd105;
               pd105 = (* (( (ptr) (* (( (ptr) gf←c48668)+155)/* var←c43804 */  ))+34) );
               var←c43900 = (word) ( *( (fPt) ((*  (ptr) pd105 ))))(viewer←v8664, trueContents←v8792, 0, 0, 0, (* (( (ptr) viewerInfo←v8692)+6)
                   )
                  , 0, 0, pd105);
               };
SOURCE(3439, 50)
            {
               word pd106;
               pd106 = (* (( (ptr) (* (( (ptr) gf←c48668)+155)/* var←c43804 */  ))+17) );
               (void) ( *( (fPt) ((*  (ptr) pd106 ))))(viewer←v8664, pd106);
               };
SOURCE(3491, 34)
            (* (( (ptr) viewerInfo←v8692)+12) ) = 0;
            };
         };
      };
   }

static void AddMarksAtSelection←P180(parent←v5140)
   word parent←v5140;
   {
   register ptr gf←c48700 =  (ptr) &globalframe;
   word viewer←v8836 = 0;
   W2 start←v8864;
   W2 end←v8892;
   word pendingDelete←v8920;
   word caretBefore←v8948;
   word viewerInfo←v8976 = 0;
   /* AddMarksAtSelection: */ 
SOURCE(3534, 39304)
SOURCE(3625, 33)
   start←v8864.f0 = 0;
   start←v8864.f1 = 0;
   end←v8892 = start←v8864;
SOURCE(3745, 39093)
   {
      W8 var←c43996;
      {
         word pd107;
         pd107 = (* (( (ptr) (* (( (ptr) gf←c48700)+157)/* var←c43964 */  ))+63) );
         (void) ( *( (fPt) ((*  (ptr) pd107 ))))((word) &var←c43996, 0, pd107);
         };
      pendingDelete←v8920 = var←c43996.f7;
      caretBefore←v8948 = var←c43996.f6;
      end←v8892 = (*  (W2Pt) (( (ptr) &var←c43996)+3) );
      start←v8864 = (*  (W2Pt) (( (ptr) &var←c43996)+1) );
      viewer←v8836 = var←c43996.f0;
      };
SOURCE(3869, 38969)
   {
      word pd108;
      pd108 = (* (( (ptr) (* (( (ptr) gf←c48700)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v8976 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd108 ))))(viewer←v8836, (* (( (ptr) gf←c48700)+47) ), pd108), (* (
            ( (ptr) gf←c48700)+42) ));
      };
SOURCE(3972, 167)
   if (((viewer←v8836 == 0) || (viewer←v8836 != parent←v5140)) || (viewerInfo←v8976 == 0)) {
SOURCE(4034, 73)
      {
         word pd109;
         pd109 = (* (( (ptr) (* (( (ptr) gf←c48700)+156)/* var←c43868 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd109 ))))((* (( (ptr) gf←c48700)+50) ), 1, pd109);
         };
SOURCE(4109, 21)
      {
         word pd110;
         pd110 = (* (( (ptr) (* (( (ptr) gf←c48700)+156)/* var←c43868 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd110 ))))(pd110);
         };
SOURCE(4132, 7)
      return;
      };
SOURCE(4143, 38695)
   {
      word pd111;
      pd111 = (* (( (ptr) (* (( (ptr) gf←c48700)+155)/* var←c43804 */  ))+23) );
      if ((0 != (word) ( *( (fPt) ((*  (ptr) pd111 ))))(viewerInfo←v8976, pd111))) {
         {
            word var←c44028;
            word var←c0576;
SOURCE(4197, 38641)
            if ((start←v8864.f0 != end←v8892.f0)) { goto then0112;};
            {
               word pd113;
               pd113 = (* (( (ptr) (* (( (ptr) gf←c48700)+157)/* var←c43964 */  ))+93) );
               var←c44028 = (word) ( *( (fPt) ((*  (ptr) pd113 ))))(viewer←v8836, pd113);
               };
            {
               word pd114;
               pd114 = (* (( (ptr) (* (( (ptr) gf←c48700)+157)/* var←c43964 */  ))+91) );
               var←c0576 = (word) ( *( (fPt) ((*  (ptr) pd114 ))))(var←c44028, pd114);
               };
            if ((start←v8864.f0 != var←c0576)) {
               then0112: ;
SOURCE(4302, 5)
               (void) XR←RaiseUnnamedError();
               };
SOURCE(4309, 70)
            if (((0 != pendingDelete←v8920) || (0 != caretBefore←v8948))) {
SOURCE(4346, 33)
               (void) MarkChar←P240(viewerInfo←v8976, start←v8864.f1);
               };
SOURCE(4381, 69)
            if ((0 != pendingDelete←v8920) || (0 == caretBefore←v8948)) {
SOURCE(4419, 31)
               (void) MarkChar←P240(viewerInfo←v8976, end←v8892.f1);
               };
SOURCE(4452, 273)
            {
               word trueContents←v9020;
               W2 var←c0110;
SOURCE(4455, 76)
               {
                  word pd115;
                  pd115 = (* (( (ptr) (* (( (ptr) gf←c48700)+155)/* var←c43804 */  ))+44) );
                  (void) ( *( (fPt) ((*  (ptr) pd115 ))))((word) &var←c0110, viewerInfo←v8976, 0, pd115);
                  };
               trueContents←v9020 = var←c0110.f0;
SOURCE(4533, 38305)
               {
                  word var←c44060;
                  word pd116;
                  pd116 = (* (( (ptr) (* (( (ptr) gf←c48700)+155)/* var←c43804 */  ))+34) );
                  var←c44060 = (word) ( *( (fPt) ((*  (ptr) pd116 ))))(viewer←v8836, trueContents←v9020, 0, 0, 0, (* (( (ptr) viewerInfo←v8976)+6)
                      )
                     , 0, 0, pd116);
                  };
SOURCE(4639, 50)
               {
                  word pd117;
                  pd117 = (* (( (ptr) (* (( (ptr) gf←c48700)+155)/* var←c43804 */  ))+17) );
                  (void) ( *( (fPt) ((*  (ptr) pd117 ))))(viewer←v8836, pd117);
                  };
SOURCE(4691, 34)
               (* (( (ptr) viewerInfo←v8976)+12) ) = 0;
               };
            };
         };
      };
   }

static void MarkChar←P240(viewerInfo←v5200, position←v5228)
   word viewerInfo←v5200;
   word position←v5228;
   {
   register ptr gf←c48732 =  (ptr) &globalframe;
   register word restOfList←v9064 = 0;
   /* MarkChar: */ 
SOURCE(4733, 667)
SOURCE(4841, 559)
   if (((* (( (ptr) viewerInfo←v5200)+7) ) == 0)) {
SOURCE(4879, 52)
      {
         word var←c44092;
         var←c44092 = XR←NewObject(8, (* (( (ptr) gf←c48732)+41) ));
         (*  (ptr) var←c44092 ) = position←v5228;
         (* (( (ptr) viewerInfo←v5200)+7) ) = var←c44092;
         };
      }
   else {
SOURCE(4934, 466)
      if (( (int)(*  (ptr) (* (( (ptr) viewerInfo←v5200)+7) ) ) >=  (int)position←v5228)) {
SOURCE(4987, 116)
         if (( (int)(*  (ptr) (* (( (ptr) viewerInfo←v5200)+7) ) ) >  (int)position←v5228)) {
SOURCE(5036, 67)
            {
               word var←c44124;
               var←c44124 = XR←NewObject(8, (* (( (ptr) gf←c48732)+41) ));
               (*  (ptr) var←c44124 ) = position←v5228;
               (* (( (ptr) var←c44124)+1) ) = (* (( (ptr) viewerInfo←v5200)+7) );
               (* (( (ptr) viewerInfo←v5200)+7) ) = var←c44124;
               };
            };
         }
      else {
SOURCE(5114, 235)
         restOfList←v9064 = (* (( (ptr) viewerInfo←v5200)+7) );
         lab←L100004: ;
         if (((* (( (ptr) restOfList←v9064)+1) ) != 0)) {
            }
         else {
            goto lab←L100001;
            };
SOURCE(5203, 146)
         if (( (int)(*  (ptr) (* (( (ptr) restOfList←v9064)+1) ) ) >=  (int)position←v5228)) {
SOURCE(5248, 91)
            if (( (int)(*  (ptr) (* (( (ptr) restOfList←v9064)+1) ) ) >  (int)position←v5228)) {
SOURCE(5289, 50)
               {
                  word var←c44156;
                  var←c44156 = XR←NewObject(8, (* (( (ptr) gf←c48732)+41) ));
                  (*  (ptr) var←c44156 ) = position←v5228;
                  (* (( (ptr) var←c44156)+1) ) = (* (( (ptr) restOfList←v9064)+1) );
                  (* (( (ptr) restOfList←v9064)+1) ) = var←c44156;
                  };
               };
SOURCE(5342, 7)
            return;
            };
         restOfList←v9064 = (* (( (ptr) restOfList←v9064)+1) );
         goto lab←L100004;
         lab←L100001: ;
SOURCE(5361, 39)
         {
            word var←c44188;
            var←c44188 = XR←NewObject(8, (* (( (ptr) gf←c48732)+41) ));
            (*  (ptr) var←c44188 ) = position←v5228;
            (* (( (ptr) restOfList←v9064)+1) ) = var←c44188;
            };
         };
      };
   }

static void LockedAddCharMark←P300(viewer←v5288, position←v5316)
   word viewer←v5288;
   word position←v5316;
   {
   register ptr gf←c48764 =  (ptr) &globalframe;
   word viewerInfo←v9192;
   /* LockedAddCharMark: */ 
SOURCE(5408, 37430)
SOURCE(5489, 136)
   {
      word pd118;
      pd118 = (* (( (ptr) (* (( (ptr) gf←c48764)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v9192 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd118 ))))(viewer←v5288, (* (( (ptr) gf←c48764)+47) ), pd118), (* (
            ( (ptr) gf←c48764)+42) ));
      };
SOURCE(5627, 25)
   if ((viewerInfo←v9192 == 0)) {
SOURCE(5652, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(5659, 30)
   (void) MarkChar←P240(viewerInfo←v9192, position←v5316);
SOURCE(5691, 239)
   {
      word trueContents←v9236;
      W2 var←c0123;
SOURCE(5694, 76)
      {
         word pd119;
         pd119 = (* (( (ptr) (* (( (ptr) gf←c48764)+155)/* var←c43804 */  ))+44) );
         (void) ( *( (fPt) ((*  (ptr) pd119 ))))((word) &var←c0123, viewerInfo←v9192, 0, pd119);
         };
      trueContents←v9236 = var←c0123.f0;
SOURCE(5772, 37066)
      {
         word var←c44220;
         word pd120;
         pd120 = (* (( (ptr) (* (( (ptr) gf←c48764)+155)/* var←c43804 */  ))+34) );
         var←c44220 = (word) ( *( (fPt) ((*  (ptr) pd120 ))))(viewer←v5288, trueContents←v9236, 0, 0, 0, (* (( (ptr) viewerInfo←v9192)+6)
             )
            , 0, 0, pd120);
         };
SOURCE(5878, 50)
      {
         word pd121;
         pd121 = (* (( (ptr) (* (( (ptr) gf←c48764)+155)/* var←c43804 */  ))+17) );
         (void) ( *( (fPt) ((*  (ptr) pd121 ))))(viewer←v5288, pd121);
         };
      };
   }

static void DeleteCharMarks←P360(formal←c0144, viewer←v35252)
   word formal←c0144;
   word viewer←v35252;
   {
   W7 var←c48796;
   register ptr gf←c48828 =  (ptr) &globalframe;
   word recordAtom←v35296;
   word quit←v35324;
   /* declaration of var←c44252 skipped */ 
   W2 start←v9280;
   W2 end←v9308;
   /* declaration of viewerInfo←v9336 skipped */ 
   word buttonParams←v9392;
   word mouseButton←v9420;
   /* DeleteCharMarks: */ 
SOURCE(5935, 36903)
   {
      word tmpAddr122;
      tmpAddr122 = (word) (( (ptr) &var←c48796)+4)/* var←c44252 */ ;
      (*  (ptr) tmpAddr122 ) = ( ((word)  (fPt) RemoveMarkChars←P2544) );
      (* (( (ptr) tmpAddr122) + 1) ) = 1;
      };
SOURCE(5935, 36903)
   recordAtom←v35296 = 1;
SOURCE(5935, 36903)
   quit←v35324 = 0;
SOURCE(5984, 33)
   start←v9280.f0 = 0;
   start←v9280.f1 = 0;
   end←v9308 = start←v9280;
SOURCE(6019, 45)
   var←c48796.f6/* viewerInfo←v9336 */  = 0;
SOURCE(6569, 97)
   {
      word pd123;
      pd123 = (* (( (ptr) (* (( (ptr) gf←c48828)+154)/* var←c43740 */  ))+29) );
      buttonParams←v9392 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd123 ))))(viewer←v35252, (* (( (ptr) gf←c48828)+44) ), pd123)
         , (* (( (ptr) gf←c48828)+43) ));
      };
SOURCE(6668, 100)
   mouseButton←v9420 =  ( (buttonParams←v9392 != 0) ? (*  (ptr) buttonParams←v9392 ) : 0 ) ;
SOURCE(6770, 36068)
   if ((mouseButton←v9420 == 2)) {
SOURCE(6852, 35986)
      {
         word pd124;
         pd124 = (* (( (ptr) (* (( (ptr) gf←c48828)+154)/* var←c43740 */  ))+29) );
         var←c48796.f6/* viewerInfo←v9336 */  = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd124 ))))(viewer←v35252, (* (( (ptr) gf←c48828)+47)
                ), pd124), (* (( (ptr) gf←c48828)+42) ));
         };
SOURCE(6955, 35883)
      {
         word pd125;
         pd125 = (* (( (ptr) (* (( (ptr) gf←c48828)+155)/* var←c43804 */  ))+23) );
         if ((0 != (word) ( *( (fPt) ((*  (ptr) pd125 ))))(var←c48796.f6/* viewerInfo←v9336 */ , pd125))) {
SOURCE(7009, 29)
            (* (( (ptr) var←c48796.f6/* viewerInfo←v9336 */ )+7) ) = 0;
SOURCE(7040, 273)
            {
               word trueContents←v9552;
               W2 var←c0135;
SOURCE(7043, 76)
               {
                  word pd126;
                  pd126 = (* (( (ptr) (* (( (ptr) gf←c48828)+155)/* var←c43804 */  ))+44) );
                  (void) ( *( (fPt) ((*  (ptr) pd126 ))))((word) &var←c0135, var←c48796.f6/* viewerInfo←v9336 */ , 0, pd126);
                  };
               trueContents←v9552 = var←c0135.f0;
SOURCE(7121, 35717)
               {
                  word var←c44316;
                  word pd127;
                  pd127 = (* (( (ptr) (* (( (ptr) gf←c48828)+155)/* var←c43804 */  ))+34) );
                  var←c44316 = (word) ( *( (fPt) ((*  (ptr) pd127 ))))(viewer←v35252, trueContents←v9552, 0, 0, 0, (* (( (ptr) var←c48796.f6/* viewerInfo←v9336 */ )+6)
                      )
                     , 0, 0, pd127);
                  };
SOURCE(7227, 50)
               {
                  word pd128;
                  pd128 = (* (( (ptr) (* (( (ptr) gf←c48828)+155)/* var←c43804 */  ))+17) );
                  (void) ( *( (fPt) ((*  (ptr) pd128 ))))(viewer←v35252, pd128);
                  };
SOURCE(7279, 34)
               (* (( (ptr) var←c48796.f6/* viewerInfo←v9336 */ )+12) ) = 0;
               };
            };
         };
      }
   else {
SOURCE(7382, 828)
      {
         word v←v9596 = 0;
SOURCE(7410, 35428)
         {
            W8 var←c44348;
            {
               word pd129;
               pd129 = (* (( (ptr) (* (( (ptr) gf←c48828)+157)/* var←c43964 */  ))+63) );
               (void) ( *( (fPt) ((*  (ptr) pd129 ))))((word) &var←c44348, 0, pd129);
               };
            end←v9308 = (*  (W2Pt) (( (ptr) &var←c44348)+3) );
            start←v9280 = (*  (W2Pt) (( (ptr) &var←c44348)+1) );
            v←v9596 = var←c44348.f0;
            };
SOURCE(7473, 35365)
         {
            word pd130;
            pd130 = (* (( (ptr) (* (( (ptr) gf←c48828)+154)/* var←c43740 */  ))+29) );
            var←c48796.f6/* viewerInfo←v9336 */  = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd130 ))))(v←v9596, (* (( (ptr) gf←c48828)+47)
                   ), pd130), (* (( (ptr) gf←c48828)+42) ));
            };
SOURCE(7571, 157)
         if (((v←v9596 == 0) || (v←v9596 != viewer←v35252)) || (var←c48796.f6/* viewerInfo←v9336 */  == 0)) {
SOURCE(7623, 73)
            {
               word pd131;
               pd131 = (* (( (ptr) (* (( (ptr) gf←c48828)+156)/* var←c43868 */  ))+5) );
               (void) ( *( (fPt) ((*  (ptr) pd131 ))))((* (( (ptr) gf←c48828)+50) ), 1, pd131);
               };
SOURCE(7698, 21)
            {
               word pd132;
               pd132 = (* (( (ptr) (* (( (ptr) gf←c48828)+156)/* var←c43868 */  ))+6) );
               (void) ( *( (fPt) ((*  (ptr) pd132 ))))(pd132);
               };
SOURCE(7721, 7)
            goto lab←L100005;
            };
SOURCE(7732, 35106)
         {
            word pd133;
            pd133 = (* (( (ptr) (* (( (ptr) gf←c48828)+155)/* var←c43804 */  ))+23) );
            if ((0 != (word) ( *( (fPt) ((*  (ptr) pd133 ))))(var←c48796.f6/* viewerInfo←v9336 */ , pd133))) {
               {
                  word var←c44380;
                  word var←c0577;
SOURCE(7786, 35052)
                  if ((start←v9280.f0 != end←v9308.f0)) { goto then0134;};
                  {
                     word pd135;
                     pd135 = (* (( (ptr) (* (( (ptr) gf←c48828)+157)/* var←c43964 */  ))+93) );
                     var←c44380 = (word) ( *( (fPt) ((*  (ptr) pd135 ))))(viewer←v35252, pd135);
                     };
                  {
                     word pd136;
                     pd136 = (* (( (ptr) (* (( (ptr) gf←c48828)+157)/* var←c43964 */  ))+91) );
                     var←c0577 = (word) ( *( (fPt) ((*  (ptr) pd136 ))))(var←c44380, pd136);
                     };
                  if ((start←v9280.f0 != var←c0577)) {
                     then0134: ;
SOURCE(7885, 5)
                     (void) XR←RaiseUnnamedError();
                     };
SOURCE(7892, 39)
                  (void) RemoveMarkChars←P2544(start←v9280.f1, end←v9308.f1, (word) (( (bPt) &var←c48796)+16)/* var←c44252 */ );
SOURCE(7933, 273)
                  {
                     word trueContents←v9640;
                     W2 var←c0142;
SOURCE(7936, 76)
                     {
                        word pd137;
                        pd137 = (* (( (ptr) (* (( (ptr) gf←c48828)+155)/* var←c43804 */  ))+44) );
                        (void) ( *( (fPt) ((*  (ptr) pd137 ))))((word) &var←c0142, var←c48796.f6/* viewerInfo←v9336 */ , 0, pd137);
                        };
                     trueContents←v9640 = var←c0142.f0;
SOURCE(8014, 34824)
                     {
                        word var←c44412;
                        word pd138;
                        pd138 = (* (( (ptr) (* (( (ptr) gf←c48828)+155)/* var←c43804 */  ))+34) );
                        var←c44412 = (word) ( *( (fPt) ((*  (ptr) pd138 ))))(viewer←v35252, trueContents←v9640, 0, 0, 0, (* (( (ptr) var←c48796.f6/* viewerInfo←v9336 */ )+6)
                            )
                           , 0, 0, pd138);
                        };
SOURCE(8120, 50)
                     {
                        word pd139;
                        pd139 = (* (( (ptr) (* (( (ptr) gf←c48828)+155)/* var←c43804 */  ))+17) );
                        (void) ( *( (fPt) ((*  (ptr) pd139 ))))(viewer←v35252, pd139);
                        };
SOURCE(8172, 34)
                     (* (( (ptr) var←c48796.f6/* viewerInfo←v9336 */ )+12) ) = 0;
                     };
                  };
               };
            };
         };
      };
   /* removed tail goto */ 
   lab←L100005: ;
   (*  (ptr) formal←c0144 ) = recordAtom←v35296;
   (* (( (ptr) formal←c0144)+1) ) = quit←v35324;
   return;
   }

static void RemoveMarkChars←P2544(from←v9496, to←v9524, formal←c48860)
   word from←v9496;
   word to←v9524;
   word formal←c48860;
   {
   formal←c48860 = (formal←c48860 - 16);
   /* RemoveMarkChars: */ 
SOURCE(6067, 377)
SOURCE(6109, 149)
   {
      word var←c44444;
      lab←L100008: ;
      {
         word tc140;
         if (((* (( (ptr) (* (( (ptr) formal←c48860)+6) ))+7) ) != 0)) {
            var←c44444 = (*  (ptr) (* (( (ptr) (* (( (ptr) formal←c48860)+6) ))+7) ) );
            if (( (int)var←c44444 >=  (int)from←v9496)) {
               tc140 =  (word) ( (int)var←c44444 <=  (int)to←v9524);
               }
            else {
               tc140 =  (word) 0;
               };
            }
         else {
            tc140 =  (word) 0;
            };
         if (tc140) {
            }
         else {
            goto lab←L100006;
            };
         };
SOURCE(6196, 62)
      (* (( (ptr) (* (( (ptr) formal←c48860)+6) ))+7) ) = (* (( (ptr) (* (( (ptr) (* (( (ptr) formal←c48860)+6) ))+7) ))+1) );
      goto lab←L100008;
      lab←L100006: ;
      };
SOURCE(6260, 184)
   if (((* (( (ptr) (* (( (ptr) formal←c48860)+6) ))+7) ) != 0)) {
SOURCE(6298, 146)
      {
         register word l←v9684;
         word var←c44476;
         l←v9684 = (* (( (ptr) (* (( (ptr) formal←c48860)+6) ))+7) );
         lab←L100012: ;
         if ( ( (l←v9684 != 0) ? ((* (( (ptr) l←v9684)+1) ) != 0) : 0 ) ) {
            }
         else {
            goto lab←L100009;
            };
SOURCE(6381, 63)
         var←c44476 = (*  (ptr) (* (( (ptr) l←v9684)+1) ) );
         if ( ( ( (int)var←c44476 >=  (int)from←v9496) ? ( (int)var←c44476 <=  (int)to←v9524) : 0 ) ) {
SOURCE(6416, 28)
            (* (( (ptr) l←v9684)+1) ) = (* (( (ptr) (* (( (ptr) l←v9684)+1) ))+1) );
            };
         l←v9684 = (* (( (ptr) l←v9684)+1) );
         goto lab←L100012;
         lab←L100009: ;
         };
      };
   }

static word DisplayCharMarks←P420(unMarkedRope←v5376, charMarkList←v5404, skipChars←v5432)
   word unMarkedRope←v5376;
   word charMarkList←v5404;
   word skipChars←v5432;
   {
   register ptr gf←c48892 =  (ptr) &globalframe;
   word markedRope←v5560;
   word endChar←v9812;
   word lastMark←v9840 =  (word) -1;
   word nextMark←v9868;
   /* DisplayCharMarks: */ 
SOURCE(8216, 34622)
SOURCE(8216, 34622)
   markedRope←v5560 = 0;
SOURCE(8352, 38)
   {
      word pd141;
      pd141 = (* (( (ptr) (* (( (ptr) gf←c48892)+158)/* var←c44508 */  ))+14) );
      endChar←v9812 = ((word) ( *( (fPt) ((*  (ptr) pd141 ))))(unMarkedRope←v5376, pd141) - 1);
      };
SOURCE(8427, 16)
   markedRope←v5560 = 0;
SOURCE(8445, 103)
   lab←L100015: ;
   if ( ( (charMarkList←v5404 != 0) ? ( (int)(*  (ptr) charMarkList←v5404 ) <  (int)skipChars←v5432) : 0 ) ) {
      }
   else {
      goto lab←L100013;
      };
SOURCE(8508, 40)
   charMarkList←v5404 = (* (( (ptr) charMarkList←v5404)+1) );
   goto lab←L100015;
   lab←L100013: ;
SOURCE(8551, 34287)
   lab←L100018: ;
SOURCE(8554, 85)
   if ((charMarkList←v5404 == 0)) {
      nextMark←v9868 = (endChar←v9812 + 1);
      }
   else {
      nextMark←v9868 = ((*  (ptr) charMarkList←v5404 ) - skipChars←v5432);
      };
SOURCE(8641, 34197)
   {
      word var←c44540;
      {
         word pd142;
         pd142 = (* (( (ptr) (* (( (ptr) gf←c48892)+158)/* var←c44508 */  ))+17) );
         var←c44540 = (word) ( *( (fPt) ((*  (ptr) pd142 ))))(unMarkedRope←v5376, (lastMark←v9840 + 1), ((nextMark←v9868 - lastMark←v9840) - 1), pd142)
         ;
         };
      {
         word pd143;
         pd143 = (* (( (ptr) (* (( (ptr) gf←c48892)+158)/* var←c44508 */  ))+6) );
         markedRope←v5560 = (word) ( *( (fPt) ((*  (ptr) pd143 ))))(markedRope←v5560, var←c44540, pd143);
         };
      };
SOURCE(8727, 37)
   if (( (int)nextMark←v9868 ==  (int)(endChar←v9812 + 1))) {
SOURCE(8758, 6)
      return(markedRope←v5560);
      };
SOURCE(8766, 34072)
   {
      word pd144;
      pd144 = (* (( (ptr) (* (( (ptr) gf←c48892)+158)/* var←c44508 */  ))+6) );
      markedRope←v5560 = (word) ( *( (fPt) ((*  (ptr) pd144 ))))(markedRope←v5560, (* (( (ptr) gf←c48892)+52) ), pd144);
      };
SOURCE(8827, 19)
   lastMark←v9840 = nextMark←v9868;
SOURCE(8848, 41)
   charMarkList←v5404 = (* (( (ptr) charMarkList←v5404)+1) );
   goto lab←L100018;
   }

static void ExtractCharMarks←P480(viewerInfo←v5620, soundInterval←v5648)
   word viewerInfo←v5620;
   word soundInterval←v5648;
   {
   register ptr gf←c48924 =  (ptr) &globalframe;
   word currLastInList←v9912 = 0;
   word soughtStart←v9940;
   word soughtEnd←v9968;
   /* ExtractCharMarks: */ 
SOURCE(8892, 837)
SOURCE(9053, 89)
   soughtStart←v9940 = IOP2( / ,  (int)(* (( (ptr) soundInterval←v5648)+1) ),  (int)2000);
SOURCE(9144, 125)
   soughtEnd←v9968 = IOP2( / ,  (int)((* (( (ptr) soundInterval←v5648)+1) ) + (* (( (ptr) soundInterval←v5648)+2) )),  (int)2000)
   ;
SOURCE(9272, 32)
   (* (( (ptr) soundInterval←v5648)+4) ) = 0;
SOURCE(9342, 387)
   {
      register word l←v10096;
      l←v10096 = (* (( (ptr) viewerInfo←v5620)+7) );
      lab←L100022: ;
      if ( ( (l←v10096 != 0) ? ( (int)(*  (ptr) l←v10096 ) <  (int)soughtEnd←v9968) : 0 ) ) {
         }
      else {
         goto lab←L100019;
         };
SOURCE(9437, 292)
      if (( (int)(*  (ptr) l←v10096 ) >=  (int)soughtStart←v9940)) {
SOURCE(9471, 258)
         if (((* (( (ptr) soundInterval←v5648)+4) ) == 0)) {
SOURCE(9516, 62)
            {
               word var←c44572;
               var←c44572 = XR←NewObject(8, (* (( (ptr) gf←c48924)+41) ));
               (*  (ptr) var←c44572 ) = ((*  (ptr) l←v10096 ) - soughtStart←v9940);
               (* (( (ptr) soundInterval←v5648)+4) ) = var←c44572;
               };
SOURCE(9580, 43)
            currLastInList←v9912 = (* (( (ptr) soundInterval←v5648)+4) );
            }
         else {
SOURCE(9635, 55)
            {
               word var←c44604;
               var←c44604 = XR←NewObject(8, (* (( (ptr) gf←c48924)+41) ));
               (*  (ptr) var←c44604 ) = ((*  (ptr) l←v10096 ) - soughtStart←v9940);
               (* (( (ptr) currLastInList←v9912)+1) ) = var←c44604;
               };
SOURCE(9692, 37)
            currLastInList←v9912 = (* (( (ptr) currLastInList←v9912)+1) );
            };
         };
      l←v10096 = (* (( (ptr) l←v10096)+1) );
      goto lab←L100022;
      lab←L100019: ;
      };
   }

static void EditCharMarks←P540(viewerInfo←v5708, unchangedHead←v5736, deleteChars←v5764, insertChars←v5792, soundInterval←v5820)
   word viewerInfo←v5708;
   word unchangedHead←v5736;
   word deleteChars←v5764;
   word insertChars←v5792;
   word soundInterval←v5820;
   {
   register ptr gf←c48956 =  (ptr) &globalframe;
   word atHead←v10224 = 1;
   word l←v10252 = 0;
   /* EditCharMarks: */ 
SOURCE(9744, 1994)
SOURCE(9958, 335)
   lab←L100025: ;
   if ( ( (0 != atHead←v10224) ? ((* (( (ptr) viewerInfo←v5708)+7) ) != 0) : 0 ) ) {
      }
   else {
      goto lab←L100023;
      };
SOURCE(10008, 285)
   {
      word var←c44636;
      var←c44636 = (*  (ptr) (* (( (ptr) viewerInfo←v5708)+7) ) );
      if (( (int)var←c44636 >=  (int)(unchangedHead←v5736 + deleteChars←v5764))) {
SOURCE(10084, 89)
         (*  (ptr) (* (( (ptr) viewerInfo←v5708)+7) ) ) = (((*  (ptr) (* (( (ptr) viewerInfo←v5708)+7) ) ) + insertChars←v5792) - deleteChars←v5764);
SOURCE(10175, 14)
         atHead←v10224 = 0;
         }
      else {
         if (( (int)var←c44636 >=  (int)unchangedHead←v5736)) {
SOURCE(10212, 54)
            (* (( (ptr) viewerInfo←v5708)+7) ) = (* (( (ptr) (* (( (ptr) viewerInfo←v5708)+7) ))+1) );
            }
         else {
SOURCE(10279, 14)
            atHead←v10224 = 0;
            };
         };
      };
   goto lab←L100025;
   lab←L100023: ;
SOURCE(10305, 400)
   if (((* (( (ptr) viewerInfo←v5708)+7) ) != 0)) {
SOURCE(10347, 27)
      l←v10252 = (* (( (ptr) viewerInfo←v5708)+7) );
SOURCE(10376, 329)
      lab←L100028: ;
      if ( ( (l←v10252 != 0) ? ((* (( (ptr) l←v10252)+1) ) != 0) : 0 ) ) {
         }
      else {
         goto lab←L100026;
         };
SOURCE(10502, 203)
      {
         word var←c44668;
         var←c44668 = (*  (ptr) (* (( (ptr) l←v10252)+1) ) );
         if (( (int)var←c44668 >=  (int)(unchangedHead←v5736 + deleteChars←v5764))) {
SOURCE(10562, 55)
            (*  (ptr) (* (( (ptr) l←v10252)+1) ) ) = (((*  (ptr) (* (( (ptr) l←v10252)+1) ) ) + insertChars←v5792) - deleteChars←v5764);
SOURCE(10619, 10)
            l←v10252 = (* (( (ptr) l←v10252)+1) );
            }
         else {
            if (( (int)var←c44668 >=  (int)unchangedHead←v5736)) {
SOURCE(10652, 20)
               (* (( (ptr) l←v10252)+1) ) = (* (( (ptr) (* (( (ptr) l←v10252)+1) ))+1) );
               }
            else {
SOURCE(10685, 20)
               l←v10252 = (* (( (ptr) l←v10252)+1) );
               };
            };
         };
      goto lab←L100028;
      lab←L100026: ;
      };
SOURCE(10709, 1029)
   if ( ( (soundInterval←v5820 != 0) ? ((* (( (ptr) soundInterval←v5820)+4) ) != 0) : 0 ) ) {
SOURCE(10868, 870)
      {
         word beforeInsert←v10380 = 0;
         word afterInsert←v10408 = 0;
         word newSection←v10436 = 0;
         word endNewSection←v10464 = 0;
SOURCE(10958, 286)
         if (((* (( (ptr) viewerInfo←v5708)+7) ) != 0)) {
SOURCE(10999, 245)
            if (( (int)(*  (ptr) (* (( (ptr) viewerInfo←v5708)+7) ) ) >=  (int)unchangedHead←v5736)) {
SOURCE(11055, 43)
               afterInsert←v10408 = (* (( (ptr) viewerInfo←v5708)+7) );
               }
            else {
SOURCE(11101, 27)
               l←v10252 = (* (( (ptr) viewerInfo←v5708)+7) );
SOURCE(11130, 73)
               lab←L100031: ;
               if ( ( ((* (( (ptr) l←v10252)+1) ) != 0) ? ( (int)(*  (ptr) (* (( (ptr) l←v10252)+1) ) ) <  (int)unchangedHead←v5736) : 0 ) ) {
                  }
               else {
                  goto lab←L100029;
                  };
SOURCE(11185, 18)
               l←v10252 = (* (( (ptr) l←v10252)+1) );
               goto lab←L100031;
               lab←L100029: ;
SOURCE(11205, 16)
               beforeInsert←v10380 = l←v10252;
SOURCE(11223, 21)
               afterInsert←v10408 = (* (( (ptr) l←v10252)+1) );
               };
            };
SOURCE(11250, 350)
         {
            word insertMarks←v10676;
SOURCE(11252, 13)
            insertMarks←v10676 = (* (( (ptr) (* (( (ptr) soundInterval←v5820)+4) ))+1) );
SOURCE(11312, 73)
            {
               word var←c44700;
               var←c44700 = XR←NewObject(8, (* (( (ptr) gf←c48956)+41) ));
               (*  (ptr) var←c44700 ) = ((*  (ptr) (* (( (ptr) soundInterval←v5820)+4) ) ) + unchangedHead←v5736);
               newSection←v10436 = var←c44700;
               };
SOURCE(11387, 26)
            endNewSection←v10464 = newSection←v10436;
SOURCE(11415, 185)
            lab←L100034: ;
            if ((insertMarks←v10676 != 0)) {
               }
            else {
               goto lab←L100032;
               };
SOURCE(11442, 81)
            {
               word var←c44732;
               var←c44732 = XR←NewObject(8, (* (( (ptr) gf←c48956)+41) ));
               (*  (ptr) var←c44732 ) = ((*  (ptr) (* (( (ptr) soundInterval←v5820)+4) ) ) + unchangedHead←v5736);
               (* (( (ptr) endNewSection←v10464)+1) ) = var←c44732;
               };
SOURCE(11525, 34)
            endNewSection←v10464 = (* (( (ptr) endNewSection←v10464)+1) );
SOURCE(11561, 39)
            insertMarks←v10676 = (* (( (ptr) insertMarks←v10676)+1) );
            goto lab←L100034;
            lab←L100032: ;
            };
SOURCE(11604, 32)
         (* (( (ptr) endNewSection←v10464)+1) ) = afterInsert←v10408;
SOURCE(11638, 100)
         if ((beforeInsert←v10380 == 0)) {
SOURCE(11665, 42)
            (* (( (ptr) viewerInfo←v5708)+7) ) = newSection←v10436;
            }
         else {
SOURCE(11707, 31)
            (* (( (ptr) beforeInsert←v10380)+1) ) = newSection←v10436;
            };
         };
      };
   }

static void TextInput←P600(viewer←v5880, input←v5908, target←v5936)
   word viewer←v5880;
   word input←v5908;
   word target←v5936;
   {
   W8 var←c48988;
   register ptr gf←c49020 =  (ptr) &globalframe;
   /* declaration of var←c44764 skipped */ 
   /* declaration of node←v10804 skipped */ 
   /* declaration of textEntry←v10832 skipped */ 
   word voiceViewer←v10888 = 0;
   word voiceRoot←v10916 = 0;
   W2 start←v10944;
   W2 end←v10972;
   W2 char←v11000;
   word insertPosition←v11028;
   word caretBefore←v11056;
   word viewerInfo←v11084 = 0;
   word charsAlreadyDisplayed←v11112 = 0;
   word redraw←v11140 = 0;
   /* TextInput: */ 
SOURCE(11745, 31093)
   {
      word tmpAddr145;
      tmpAddr145 = (word) (( (ptr) &var←c48988)+4)/* var←c44764 */ ;
      (*  (ptr) tmpAddr145 ) = ( ((word)  (fPt) AddArtwork←P2940) );
      (* (( (ptr) tmpAddr145) + 1) ) = 1;
      };
SOURCE(11866, 18)
   var←c48988.f6/* node←v10804 */  = 0;
SOURCE(11886, 42)
   var←c48988.f7/* textEntry←v10832 */  = 0;
SOURCE(12295, 39)
   start←v10944.f0 = 0;
   start←v10944.f1 = 0;
   end←v10972 = start←v10944;
   char←v11000 = end←v10972;
SOURCE(12483, 30355)
   {
      W8 var←c44828;
      {
         word pd146;
         pd146 = (* (( (ptr) (* (( (ptr) gf←c49020)+157)/* var←c43964 */  ))+63) );
         (void) ( *( (fPt) ((*  (ptr) pd146 ))))((word) &var←c44828, target←v5936, pd146);
         };
      caretBefore←v11056 = var←c44828.f6;
      end←v10972 = (*  (W2Pt) (( (ptr) &var←c44828)+3) );
      start←v10944 = (*  (W2Pt) (( (ptr) &var←c44828)+1) );
      voiceViewer←v10888 = var←c44828.f0;
      };
SOURCE(12588, 29)
   if ((voiceViewer←v10888 != viewer←v5880)) {
SOURCE(12617, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(12624, 30214)
   {
      word pd147;
      pd147 = (* (( (ptr) (* (( (ptr) gf←c49020)+157)/* var←c43964 */  ))+93) );
      voiceRoot←v10916 = (word) ( *( (fPt) ((*  (ptr) pd147 ))))(voiceViewer←v10888, pd147);
      };
SOURCE(12669, 41)
   if ((0 != caretBefore←v11056)) {
      char←v11000 = start←v10944;
      }
   else {
      char←v11000 = end←v10972;
      };
SOURCE(12712, 16)
   var←c48988.f6/* node←v10804 */  = char←v11000.f0;
SOURCE(12730, 27)
   insertPosition←v11028 = char←v11000.f1;
SOURCE(12759, 30079)
   {
      word pd148;
      pd148 = (* (( (ptr) (* (( (ptr) gf←c49020)+159)/* var←c44860 */  ))+6) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd148 ))))(var←c48988.f6/* node←v10804 */ , pd148) <=  (int)insertPosition←v11028)) {
SOURCE(12807, 94)
         {
            word pd149;
            pd149 = (* (( (ptr) (* (( (ptr) gf←c49020)+156)/* var←c43868 */  ))+5) );
            (void) ( *( (fPt) ((*  (ptr) pd149 ))))((* (( (ptr) gf←c49020)+53) ), 1, pd149);
            };
SOURCE(12903, 21)
         {
            word pd150;
            pd150 = (* (( (ptr) (* (( (ptr) gf←c49020)+156)/* var←c43868 */  ))+6) );
            (void) ( *( (fPt) ((*  (ptr) pd150 ))))(pd150);
            };
SOURCE(12926, 6)
         return;
         };
      };
SOURCE(12937, 29901)
   {
      word pd151;
      pd151 = (* (( (ptr) (* (( (ptr) gf←c49020)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v11084 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd151 ))))(viewer←v5880, (* (( (ptr) gf←c49020)+47) ), pd151), (* (
            ( (ptr) gf←c49020)+42) ));
      };
SOURCE(13040, 29798)
   {
      word pd152;
      pd152 = (* (( (ptr) (* (( (ptr) gf←c49020)+155)/* var←c43804 */  ))+23) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd152 ))))(viewerInfo←v11084, pd152))) {
SOURCE(13095, 6)
         return;
         };
      };
SOURCE(13104, 29734)
   if (((* (( (ptr) viewerInfo←v11084)+8) ) == 0) || ( (int)(*  (ptr) (*  (ptr) (* (( (ptr) viewerInfo←v11084)+8) ) ) ) >  (int)insertPosition←v11028)) {
SOURCE(13205, 29633)
      {
         word var←c44892;
         var←c44892 = XR←NewObject(16, (* (( (ptr) gf←c49020)+40) ));
         (*  (ptr) var←c44892 ) = insertPosition←v11028;
         (* (( (ptr) var←c44892)+1) ) = input←v5908;
         var←c48988.f7/* textEntry←v10832 */  = var←c44892;
         };
SOURCE(13286, 67)
      {
         word var←c44924;
         var←c44924 = XR←NewObject(8, (* (( (ptr) gf←c49020)+39) ));
         (*  (ptr) var←c44924 ) = var←c48988.f7/* textEntry←v10832 */ ;
         (* (( (ptr) var←c44924)+1) ) = (* (( (ptr) viewerInfo←v11084)+8) );
         (* (( (ptr) viewerInfo←v11084)+8) ) = var←c44924;
         };
SOURCE(13355, 140)
      (void) LimitText←P660(var←c48988.f7/* textEntry←v10832 */ ,  ( ((* (( (ptr) (* (( (ptr) viewerInfo←v11084)+8) ))+1) ) == 0) ? 2147483647 : ((*  (ptr) (*  (ptr) (* (
            ( (ptr) (* (( (ptr) viewerInfo←v11084)+8) ))+1) ) ) ) - insertPosition←v11028) ) );
SOURCE(13497, 45)
      {
         word pd153;
         pd153 = (* (( (ptr) (* (( (ptr) gf←c49020)+157)/* var←c43964 */  ))+118) );
         (void) ( *( (fPt) ((*  (ptr) pd153 ))))((word) (( (bPt) &var←c48988)+16)/* var←c44764 */ , voiceRoot←v10916, pd153);
         };
SOURCE(13544, 14)
      redraw←v11140 = 1;
      }
   else {
SOURCE(13568, 29270)
      if (( (int)(*  (ptr) (*  (ptr) (* (( (ptr) viewerInfo←v11084)+8) ) ) ) ==  (int)insertPosition←v11028)) {
SOURCE(13636, 41)
         var←c48988.f7/* textEntry←v10832 */  = (*  (ptr) (* (( (ptr) viewerInfo←v11084)+8) ) );
SOURCE(13679, 46)
         charsAlreadyDisplayed←v11112 = (* (( (ptr) var←c48988.f7/* textEntry←v10832 */ )+2) );
SOURCE(13727, 29111)
         {
            word pd154;
            pd154 = (* (( (ptr) (* (( (ptr) gf←c49020)+158)/* var←c44508 */  ))+6) );
            (* (( (ptr) var←c48988.f7/* textEntry←v10832 */ )+1) ) = (word) ( *( (fPt) ((*  (ptr) pd154 ))))((* (( (ptr) var←c48988.f7/* textEntry←v10832 */ )+1)
                ), input←v5908, pd154);
            };
SOURCE(13774, 140)
         (void) LimitText←P660(var←c48988.f7/* textEntry←v10832 */ ,  ( ((* (( (ptr) (* (( (ptr) viewerInfo←v11084)+8) ))+1) ) == 0) ? 2147483647 : ((*  (ptr) (*  (ptr) (* (
               ( (ptr) (* (( (ptr) viewerInfo←v11084)+8) ))+1) ) ) ) - insertPosition←v11028) ) );
SOURCE(13916, 116)
         if (( (int)(* (( (ptr) var←c48988.f7/* textEntry←v10832 */ )+2) ) !=  (int)charsAlreadyDisplayed←v11112)) {
SOURCE(13972, 45)
            {
               word pd155;
               pd155 = (* (( (ptr) (* (( (ptr) gf←c49020)+157)/* var←c43964 */  ))+118) );
               (void) ( *( (fPt) ((*  (ptr) pd155 ))))((word) (( (bPt) &var←c48988)+16)/* var←c44764 */ , voiceRoot←v10916, pd155);
               };
SOURCE(14019, 13)
            redraw←v11140 = 1;
            };
         }
      else {
SOURCE(14042, 1047)
         {
            word l←v11244;
SOURCE(14045, 3)
            l←v11244 = (* (( (ptr) viewerInfo←v11084)+8) );
SOURCE(14115, 83)
            lab←L100037: ;
            if ( ( ((* (( (ptr) l←v11244)+1) ) != 0) ? ( (int)(*  (ptr) (*  (ptr) (* (( (ptr) l←v11244)+1) ) ) ) <  (int)insertPosition←v11028) : 0 ) ) {
               }
            else {
               goto lab←L100035;
               };
SOURCE(14180, 18)
            l←v11244 = (* (( (ptr) l←v11244)+1) );
            goto lab←L100037;
            lab←L100035: ;
SOURCE(14201, 28637)
            if (((* (( (ptr) l←v11244)+1) ) == 0) || ( (int)(*  (ptr) (*  (ptr) (* (( (ptr) l←v11244)+1) ) ) ) >  (int)insertPosition←v11028)) {
SOURCE(14320, 328)
               {
                  word oldWidth←v11372;
SOURCE(14323, 29)
                  oldWidth←v11372 = (* (( (ptr) (*  (ptr) l←v11244 ))+3) );
SOURCE(14354, 19)
                  var←c48988.f7/* textEntry←v10832 */  = (*  (ptr) l←v11244 );
SOURCE(14375, 57)
                  (void) LimitText←P660(var←c48988.f7/* textEntry←v10832 */ , (insertPosition←v11028 - (*  (ptr) var←c48988.f7/* textEntry←v10832 */  )))
                  ;
SOURCE(14434, 96)
                  if (( (int)(* (( (ptr) var←c48988.f7/* textEntry←v10832 */ )+3) ) !=  (int)oldWidth←v11372)) {
SOURCE(14470, 45)
                     {
                        word pd156;
                        pd156 = (* (( (ptr) (* (( (ptr) gf←c49020)+157)/* var←c43964 */  ))+118) );
                        (void) ( *( (fPt) ((*  (ptr) pd156 ))))((word) (( (bPt) &var←c48988)+16)/* var←c44764 */ , voiceRoot←v10916, pd156);
                        };
SOURCE(14517, 13)
                     redraw←v11140 = 1;
                     };
SOURCE(14533, 28305)
                  {
                     word var←c44956;
                     var←c44956 = XR←NewObject(16, (* (( (ptr) gf←c49020)+40) ));
                     (*  (ptr) var←c44956 ) = insertPosition←v11028;
                     (* (( (ptr) var←c44956)+1) ) = input←v5908;
                     var←c48988.f7/* textEntry←v10832 */  = var←c44956;
                     };
SOURCE(14614, 34)
                  {
                     word var←c44988;
                     var←c44988 = XR←NewObject(8, (* (( (ptr) gf←c49020)+39) ));
                     (*  (ptr) var←c44988 ) = var←c48988.f7/* textEntry←v10832 */ ;
                     (* (( (ptr) var←c44988)+1) ) = (* (( (ptr) l←v11244)+1) );
                     (* (( (ptr) l←v11244)+1) ) = var←c44988;
                     };
                  };
               }
            else {
SOURCE(14702, 24)
               var←c48988.f7/* textEntry←v10832 */  = (*  (ptr) (* (( (ptr) l←v11244)+1) ) );
SOURCE(14728, 28110)
               {
                  word pd157;
                  pd157 = (* (( (ptr) (* (( (ptr) gf←c49020)+158)/* var←c44508 */  ))+6) );
                  (* (( (ptr) var←c48988.f7/* textEntry←v10832 */ )+1) ) = (word) ( *( (fPt) ((*  (ptr) pd157 ))))((* (( (ptr) var←c48988.f7/* textEntry←v10832 */ )+1)
                      ), input←v5908, pd157);
                  };
SOURCE(14775, 47)
               charsAlreadyDisplayed←v11112 = (* (( (ptr) var←c48988.f7/* textEntry←v10832 */ )+2) );
               };
SOURCE(14826, 10)
            l←v11244 = (* (( (ptr) l←v11244)+1) );
SOURCE(14873, 96)
            (void) LimitText←P660(var←c48988.f7/* textEntry←v10832 */ ,  ( ((* (( (ptr) l←v11244)+1) ) == 0) ? 2147483647 : ((*  (ptr) (*  (ptr) (* (
                  ( (ptr) l←v11244)+1) ) ) ) - insertPosition←v11028) ) );
SOURCE(14971, 116)
            if (( (int)(* (( (ptr) var←c48988.f7/* textEntry←v10832 */ )+2) ) !=  (int)charsAlreadyDisplayed←v11112)) {
SOURCE(15027, 45)
               {
                  word pd158;
                  pd158 = (* (( (ptr) (* (( (ptr) gf←c49020)+157)/* var←c43964 */  ))+118) );
                  (void) ( *( (fPt) ((*  (ptr) pd158 ))))((word) (( (bPt) &var←c48988)+16)/* var←c44764 */ , voiceRoot←v10916, pd158);
                  };
SOURCE(15074, 13)
               redraw←v11140 = 1;
               };
            };
         };
      };
SOURCE(15096, 41)
   {
      word pd159;
      pd159 = (* (( (ptr) (* (( (ptr) gf←c49020)+155)/* var←c43804 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd159 ))))(viewer←v5880, pd159);
      };
SOURCE(15139, 35)
   (* (( (ptr) viewerInfo←v11084)+12) ) = 0;
   }

static void AddArtwork←P2940(root←v11216, formal←c49084)
   word root←v11216;
   word formal←c49084;
   {
   register ptr gf←c49052 =  (ptr) &globalframe;
   formal←c49084 = (formal←c49084 - 16);
   /* AddArtwork: */ 
SOURCE(11931, 30907)
SOURCE(11977, 90)
   {
      word pd160;
      pd160 = (* (( (ptr) (* (( (ptr) gf←c49052)+159)/* var←c44860 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd160 ))))((* (( (ptr) formal←c49084)+6) ), (*  (ptr) (* (( (ptr) formal←c49084)+7) ) ), (* (
            ( (ptr) gf←c49052)+56) ), (* (( (ptr) gf←c49052)+57) ), 1, 0
         , 0, pd160);
      };
SOURCE(12117, 30721)
   {
      word var←c45020;
      {
         word pd161;
         pd161 = (* (( (ptr) (* (( (ptr) gf←c49052)+158)/* var←c44508 */  ))+17) );
         var←c45020 = (word) ( *( (fPt) ((*  (ptr) pd161 ))))((* (( (ptr) (* (( (ptr) formal←c49084)+7) ))+1) ), 0, (* (( (ptr) (* (
                  ( (ptr) formal←c49084)+7) ))+2) ), pd161);
         };
      {
         word pd162;
         pd162 = (* (( (ptr) (* (( (ptr) gf←c49052)+159)/* var←c44860 */  ))+17) );
         (void) ( *( (fPt) ((*  (ptr) pd162 ))))((* (( (ptr) formal←c49084)+6) ), (*  (ptr) (* (( (ptr) formal←c49084)+7) ) ), (* (
               ( (ptr) gf←c49052)+59) ), var←c45020, 1, 0
            , 0, pd162);
         };
      };
   }

static void LimitText←P660(entry←v5996, maxLength←v6024)
   word entry←v5996;
   word maxLength←v6024;
   {
   register ptr gf←c49116 =  (ptr) &globalframe;
   word maxEscapement←v11416;
   word textLength←v11444;
   word currPos←v11472 = 0;
   word currEscapement←v11500;
   /* LimitText: */ 
SOURCE(15178, 27660)
SOURCE(15255, 70)
   {
      word x164;
      *(float*)&maxEscapement←v11416 = (float)(int)maxLength←v6024 * (
         x164 = (*  (ptr) &fc163 ),  *(float*)&x164
         );
      };
SOURCE(15327, 37)
   {
      word pd165;
      pd165 = (* (( (ptr) (* (( (ptr) gf←c49116)+158)/* var←c44508 */  ))+14) );
      textLength←v11444 = (word) ( *( (fPt) ((*  (ptr) pd165 ))))((* ((( (ptr) entry←v5996)+1)) ), pd165);
      };
SOURCE(15384, 26)
   currEscapement←v11500 = (*  (ptr) &fc166 );
SOURCE(15412, 27426)
   lab←L100040: ;
   if (( (int)currPos←v11472 <  (int)textLength←v11444)) {
      }
   else {
      goto lab←L100038;
      };
   {
      word newEscapement←v11544;
      word var←c45052;
      W2 var←c0216;
SOURCE(15442, 101)
      {
         word pd167;
         pd167 = (* (( (ptr) (* (( (ptr) gf←c49116)+158)/* var←c44508 */  ))+17) );
         var←c45052 = (word) ( *( (fPt) ((*  (ptr) pd167 ))))((* (( (ptr) entry←v5996)+1) ), 0, (currPos←v11472 + 1), pd167);
         };
      {
         word pd168;
         pd168 = (* (( (ptr) (* (( (ptr) gf←c49116)+151)/* var←c43580 */  ))+25) );
         (void) ( *( (fPt) ((*  (ptr) pd168 ))))((word) &var←c0216, (* (( (ptr) gf←c49116)+6)/* voiceMarkerFont←v4372 */  ), var←c45052, 0, 2147483647, (*  (ptr) &fc82 ), pd168)
         ;
         };
      newEscapement←v11544 = var←c0216.f0;
SOURCE(15545, 38)
      {
         word x169;
         word x170;
         if (((
            x169 = newEscapement←v11544,  *(float*)&x169
            ) > (
            x170 = maxEscapement←v11416,  *(float*)&x170
            ))) {
SOURCE(15583, 4)
            goto lab←L100039;
            };
         };
SOURCE(15589, 21)
      currPos←v11472 = (currPos←v11472 + 1);
SOURCE(15612, 38)
      currEscapement←v11500 = newEscapement←v11544;
      };
   goto lab←L100040;
   lab←L100038: ;
   lab←L100039: ;
SOURCE(15653, 27185)
   {
      word pd171;
      word x172;
      word x173;
      word x174;
      word x175;
      float tf176;
      pd171 = (* (( (ptr) (* (( (ptr) gf←c49116)+160)/* var←c45084 */  ))+5) );
      (* (( (ptr) entry←v5996)+3) ) = (word) ( *( (fPt) ((*  (ptr) pd171 ))))((
            tf176 = (((
               x172 = currEscapement←v11500,  *(float*)&x172
               ) + (
               x173 = (*  (ptr) &fc163 ),  *(float*)&x173
               )) - (
               x174 = (*  (ptr) &fc82 ),  *(float*)&x174
               )) / (
               x175 = (*  (ptr) &fc163 ),  *(float*)&x175
               ),  *(word*)&tf176
            ), pd171);
      };
SOURCE(15766, 28)
   (* (( (ptr) entry←v5996)+2) ) = currPos←v11472;
   }

static void BackSpace←P720(viewer←v6084)
   word viewer←v6084;
   {
   register ptr gf←c49148 =  (ptr) &globalframe;
   /* BackSpace: */ 
SOURCE(15799, 85)
SOURCE(15857, 27)
   (void) Back←P960(viewer←v6084, (word) (( (bPt) gf←c49148)+484)/* var←c43100 */ );
   }

static void BackWord←P780(viewer←v6144)
   word viewer←v6144;
   {
   register ptr gf←c49180 =  (ptr) &globalframe;
   /* BackWord: */ 
SOURCE(15890, 83)
SOURCE(15947, 26)
   (void) Back←P960(viewer←v6144, (word) (( (bPt) gf←c49180)+476)/* var←c43068 */ );
   }

static word BackSpaceProc←P840(textEntry←v35384)
   word textEntry←v35384;
   {
   register ptr gf←c49212 =  (ptr) &globalframe;
   word len←v35428;
   /* BackSpaceProc: */ 
SOURCE(16067, 26771)
SOURCE(16095, 26743)
   {
      word pd177;
      pd177 = (* (( (ptr) (* (( (ptr) gf←c49212)+158)/* var←c44508 */  ))+14) );
      len←v35428 = ((word) ( *( (fPt) ((*  (ptr) pd177 ))))((* ((( (ptr) textEntry←v35384)+1)) ), pd177) - 1);
      };
SOURCE(16067, 26771)
   return(len←v35428);
   }

static word BackWordProc←P900(textEntry←v35488)
   word textEntry←v35488;
   {
   register ptr gf←c49244 =  (ptr) &globalframe;
   word len←v35532;
   /* BackWordProc: */ 
SOURCE(16134, 26704)
   {
      word var←c45116;
      word c←v42236;
      word var←c45180;
      word c←v42188;
SOURCE(16161, 26677)
      {
         word pd178;
         pd178 = (* (( (ptr) (* (( (ptr) gf←c49244)+158)/* var←c44508 */  ))+14) );
         len←v35532 = (word) ( *( (fPt) ((*  (ptr) pd178 ))))((* ((( (ptr) textEntry←v35488)+1)) ), pd178);
         };
SOURCE(16192, 26646)
      lab←L100043: ;
      {
         word tc179;
         if (( (int)len←v35532 >  (int)0)) {
            {
               word pd180;
               pd180 = (* (( (ptr) (* (( (ptr) gf←c49244)+158)/* var←c44508 */  ))+9) );
               c←v42236 = (word) ( *( (fPt) ((*  (ptr) pd180 ))))((* (( (ptr) textEntry←v35488)+1) ), (len←v35532 - 1), pd180);
               };
            var←c45116 = ((word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49244)+161)/* var←c45148 */  ))+4) ) ))+c←v42236) ) == 2);
            tc179 =  (word) (0 == var←c45116);
            }
         else {
            tc179 =  (word) 0;
            };
         if (tc179) {
            }
         else {
            goto lab←L100041;
            };
         };
SOURCE(16265, 11)
      len←v35532 = (len←v35532 - 1);
      goto lab←L100043;
      lab←L100041: ;
SOURCE(16287, 26551)
      lab←L100047: ;
      {
         word tc181;
         if (( (int)len←v35532 >  (int)0)) {
            {
               word pd182;
               pd182 = (* (( (ptr) (* (( (ptr) gf←c49244)+158)/* var←c44508 */  ))+9) );
               c←v42188 = (word) ( *( (fPt) ((*  (ptr) pd182 ))))((* (( (ptr) textEntry←v35488)+1) ), (len←v35532 - 1), pd182);
               };
            var←c45180 = ((word) (* (( (bPt) (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c49244)+161)/* var←c45148 */  ))+4) ) ))+c←v42188) ) == 2);
            tc181 =  (word) (0 != var←c45180);
            }
         else {
            tc181 =  (word) 0;
            };
         if (tc181) {
            }
         else {
            goto lab←L100045;
            };
         };
SOURCE(16356, 11)
      len←v35532 = (len←v35532 - 1);
      goto lab←L100047;
      lab←L100045: ;
      };
SOURCE(16134, 26704)
   return(len←v35532);
   }

static void Back←P960(viewer←v6308, findNewLen←v6336)
   word viewer←v6308;
   word findNewLen←v6336;
   {
   W8 var←c49276;
   register ptr gf←c49308 =  (ptr) &globalframe;
   /* declaration of var←c45212 skipped */ 
   /* declaration of node←v11588 skipped */ 
   /* declaration of textEntry←v11616 skipped */ 
   word selectionViewer←v11672 = 0;
   W2 start←v11700;
   W2 end←v11728;
   W2 char←v11756;
   word deletePosition←v11784;
   word charsToNextPosition←v11812;
   word prevptr←v11840 = 0;
   word caretBefore←v11868;
   word viewerInfo←v11896 = 0;
   /* Back: */ 
SOURCE(16382, 26456)
   {
      word tmpAddr183;
      tmpAddr183 = (word) (( (ptr) &var←c49276)+4)/* var←c45212 */ ;
      (*  (ptr) tmpAddr183 ) = ( ((word)  (fPt) AddArtwork←P3144) );
      (* (( (ptr) tmpAddr183) + 1) ) = 1;
      };
SOURCE(16450, 18)
   var←c49276.f6/* node←v11588 */  = 0;
SOURCE(16470, 42)
   var←c49276.f7/* textEntry←v11616 */  = 0;
SOURCE(16930, 39)
   start←v11700.f0 = 0;
   start←v11700.f1 = 0;
   end←v11728 = start←v11700;
   char←v11756 = end←v11728;
SOURCE(17138, 25700)
   {
      W8 var←c45276;
      {
         word pd184;
         pd184 = (* (( (ptr) (* (( (ptr) gf←c49308)+157)/* var←c43964 */  ))+63) );
         (void) ( *( (fPt) ((*  (ptr) pd184 ))))((word) &var←c45276, 0, pd184);
         };
      caretBefore←v11868 = var←c45276.f6;
      end←v11728 = (*  (W2Pt) (( (ptr) &var←c45276)+3) );
      start←v11700 = (*  (W2Pt) (( (ptr) &var←c45276)+1) );
      selectionViewer←v11672 = var←c45276.f0;
      };
SOURCE(17241, 33)
   if ((selectionViewer←v11672 != viewer←v6308)) {
SOURCE(17274, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(17281, 25557)
   {
      word pd185;
      pd185 = (* (( (ptr) (* (( (ptr) gf←c49308)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v11896 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd185 ))))(viewer←v6308, (* (( (ptr) gf←c49308)+47) ), pd185), (* (
            ( (ptr) gf←c49308)+42) ));
      };
SOURCE(17384, 25454)
   {
      word pd186;
      pd186 = (* (( (ptr) (* (( (ptr) gf←c49308)+155)/* var←c43804 */  ))+23) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd186 ))))(viewerInfo←v11896, pd186))) {
SOURCE(17436, 6)
         return;
         };
      };
SOURCE(17445, 41)
   if ((0 != caretBefore←v11868)) {
      char←v11756 = start←v11700;
      }
   else {
      char←v11756 = end←v11728;
      };
SOURCE(17488, 16)
   var←c49276.f6/* node←v11588 */  = char←v11756.f0;
SOURCE(17506, 27)
   deletePosition←v11784 = char←v11756.f1;
SOURCE(17536, 15)
   var←c49276.f7/* textEntry←v11616 */  = 0;
SOURCE(17553, 330)
   {
      register word l←v12084;
      l←v12084 = (* (( (ptr) viewerInfo←v11896)+8) );
      lab←L100052: ;
      if ((l←v12084 != 0)) {
         }
      else {
         goto lab←L100049;
         };
SOURCE(17652, 209)
      if (( (int)(*  (ptr) (*  (ptr) l←v12084 ) ) >=  (int)deletePosition←v11784)) {
SOURCE(17698, 163)
         if (( (int)(*  (ptr) (*  (ptr) l←v12084 ) ) ==  (int)deletePosition←v11784)) {
SOURCE(17743, 19)
            var←c49276.f7/* textEntry←v11616 */  = (*  (ptr) l←v12084 );
SOURCE(17764, 97)
            if (((* (( (ptr) l←v12084)+1) ) == 0)) {
               charsToNextPosition←v11812 = 2147483647;
               }
            else {
               charsToNextPosition←v11812 = ((*  (ptr) (*  (ptr) (* (( (ptr) l←v12084)+1) ) ) ) - deletePosition←v11784);
               };
            };
SOURCE(17864, 5)
         goto lab←L100050;
         };
SOURCE(17872, 11)
      prevptr←v11840 = l←v12084;
      l←v12084 = (* (( (ptr) l←v12084)+1) );
      goto lab←L100052;
      lab←L100049: ;
      lab←L100050: ;
      };
SOURCE(17895, 24943)
   if ((var←c49276.f7/* textEntry←v11616 */  == 0)) {
SOURCE(17920, 79)
      {
         word pd187;
         pd187 = (* (( (ptr) (* (( (ptr) gf←c49308)+156)/* var←c43868 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd187 ))))((* (( (ptr) gf←c49308)+60) ), 1, pd187);
         };
      }
   else {
SOURCE(17999, 751)
      {
         word charsOnDisplay←v12212;
         word len←v12240;
SOURCE(18001, 44)
         charsOnDisplay←v12212 = (* (( (ptr) var←c49276.f7/* textEntry←v11616 */ )+2) );
SOURCE(18047, 32)
         len←v12240 = (word) ( *( (fPt) ((*  (ptr) findNewLen←v6336 ))))(var←c49276.f7/* textEntry←v11616 */ , findNewLen←v6336);
SOURCE(18081, 24757)
         {
            word var←c45308;
            {
               word pd188;
               if (( (int)len←v12240 <=  (int)0)) {
                  var←c45308 = 0;
                  }
               else {
                  pd188 = (* (( (ptr) (* (( (ptr) gf←c49308)+158)/* var←c44508 */  ))+17) );
                  var←c45308 = (word) ( *( (fPt) ((*  (ptr) pd188 ))))((* (( (ptr) var←c49276.f7/* textEntry←v11616 */ )+1) ), 0, len←v12240, pd188)
                  ;
                  };
               };
            (* (( (ptr) var←c49276.f7/* textEntry←v11616 */ )+1) ) = var←c45308;
            };
SOURCE(18153, 519)
         lab←L100055: ;
SOURCE(18156, 41)
         (void) LimitText←P660(var←c49276.f7/* textEntry←v11616 */ , charsToNextPosition←v11812);
SOURCE(18199, 84)
         if (( (int)charsOnDisplay←v12212 !=  (int)(* (( (ptr) var←c49276.f7/* textEntry←v11616 */ )+2) ))) {
SOURCE(18249, 34)
            {
               word pd189;
               pd189 = (* (( (ptr) (* (( (ptr) gf←c49308)+157)/* var←c43964 */  ))+118) );
               (void) ( *( (fPt) ((*  (ptr) pd189 ))))((word) (( (bPt) &var←c49276)+16)/* var←c45212 */ , 0, pd189);
               };
            };
SOURCE(18288, 384)
         if (((* (( (ptr) var←c49276.f7/* textEntry←v11616 */ )+1) ) == 0)) {
SOURCE(18356, 316)
            if ((prevptr←v11840 == 0)) {
SOURCE(18376, 60)
               (* (( (ptr) viewerInfo←v11896)+8) ) = (* (( (ptr) (* (( (ptr) viewerInfo←v11896)+8) ))+1) );
               }
            else {
SOURCE(18484, 32)
               (* (( (ptr) prevptr←v11840)+1) ) = (* (( (ptr) (* (( (ptr) prevptr←v11840)+1) ))+1) );
SOURCE(18518, 127)
               if (( (int)charsToNextPosition←v11812 !=  (int)2147483647)) {
SOURCE(18558, 87)
                  charsToNextPosition←v11812 = ((charsToNextPosition←v11812 + (*  (ptr) var←c49276.f7/* textEntry←v11616 */  )) - (*  (ptr) (*  (ptr) prevptr←v11840 ) ));
                  };
SOURCE(18647, 25)
               var←c49276.f7/* textEntry←v11616 */  = (*  (ptr) prevptr←v11840 );
SOURCE(18674, 4)
               goto lab←L100055;
               };
            };
SOURCE(18683, 4)
         goto lab←L100054;
         /* c2c skipped dead code */ 
         lab←L100054: ;
SOURCE(18698, 50)
         {
            word pd190;
            pd190 = (* (( (ptr) (* (( (ptr) gf←c49308)+155)/* var←c43804 */  ))+16) );
            (void) ( *( (fPt) ((*  (ptr) pd190 ))))(selectionViewer←v11672, pd190);
            };
         };
      };
SOURCE(18754, 35)
   (* (( (ptr) viewerInfo←v11896)+12) ) = 0;
   }

static void AddArtwork←P3144(root←v11972, formal←c49372)
   word root←v11972;
   word formal←c49372;
   {
   register ptr gf←c49340 =  (ptr) &globalframe;
   formal←c49372 = (formal←c49372 - 16);
   /* AddArtwork: */ 
SOURCE(16515, 26323)
SOURCE(16561, 128)
   {
      word pd191;
      pd191 = (* (( (ptr) (* (( (ptr) gf←c49340)+159)/* var←c44860 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd191 ))))((* (( (ptr) formal←c49372)+6) ), (*  (ptr) (* (( (ptr) formal←c49372)+7) ) ), (* (
            ( (ptr) gf←c49340)+56) ),  ( ((* (( (ptr) (* (( (ptr) formal←c49372)+7) ))+1) ) == 0) ? 0 : (* (( (ptr) gf←c49340)+57) ) ) , 1, 0
         , 0, pd191);
      };
SOURCE(16739, 26099)
   {
      word var←c45340;
      {
         word pd192;
         if (((* (( (ptr) (* (( (ptr) formal←c49372)+7) ))+1) ) == 0)) {
            var←c45340 = 0;
            }
         else {
            pd192 = (* (( (ptr) (* (( (ptr) gf←c49340)+158)/* var←c44508 */  ))+17) );
            var←c45340 = (word) ( *( (fPt) ((*  (ptr) pd192 ))))((* (( (ptr) (* (( (ptr) formal←c49372)+7) ))+1) ), 0, (* (( (ptr) (* (
                     ( (ptr) formal←c49372)+7) ))+2) ), pd192);
            };
         };
      {
         word pd193;
         pd193 = (* (( (ptr) (* (( (ptr) gf←c49340)+159)/* var←c44860 */  ))+17) );
         (void) ( *( (fPt) ((*  (ptr) pd193 ))))((* (( (ptr) formal←c49372)+6) ), (*  (ptr) (* (( (ptr) formal←c49372)+7) ) ), (* (
               ( (ptr) gf←c49340)+59) ), var←c45340, 1, 0
            , 0, pd193);
         };
      };
   }

static void CopyTextViewerToTextMarker←P1020(target←v6396)
   word target←v6396;
   {
   W8 var←c49404;
   register ptr gf←c49436 =  (ptr) &globalframe;
   /* declaration of var←c45372 skipped */ 
   /* declaration of use16Bits←v12284 skipped */ 
   /* declaration of text←v12312 skipped */ 
   W2 start←v12368;
   W2 end←v12396;
   word voiceViewer←v12424;
   W8 var←c0256;
   /* CopyTextViewerToTextMarker: */ 
SOURCE(18882, 23956)
   {
      word tmpAddr194;
      tmpAddr194 = (word) (( (ptr) &var←c49404)+4)/* var←c45372 */ ;
      (*  (ptr) tmpAddr194 ) = ( ((word)  (fPt) ToXeroxStringEncoding←P3300) );
      (* (( (ptr) tmpAddr194) + 1) ) = 1;
      };
SOURCE(18972, 23)
   var←c49404.f6/* use16Bits←v12284 */  = 0;
SOURCE(18997, 21)
   var←c49404.f7/* text←v12312 */  = 0;
SOURCE(19536, 33)
   start←v12368.f0 = 0;
   start←v12368.f1 = 0;
   end←v12396 = start←v12368;
SOURCE(19571, 72)
   {
      word pd195;
      pd195 = (* (( (ptr) (* (( (ptr) gf←c49436)+157)/* var←c43964 */  ))+63) );
      (void) ( *( (fPt) ((*  (ptr) pd195 ))))((word) &var←c0256, target←v6396, pd195);
      };
   voiceViewer←v12424 = var←c0256.f0;
SOURCE(19645, 23193)
   {
      W8 var←c45500;
      {
         word var←c45436;
         {
            word source←v42140;
SOURCE(21103, 54)
            if ((target←v6396 == 0)) {
               source←v42140 = 1;
               }
            else {
               source←v42140 = 0;
               };
SOURCE(20992, 165)
            var←c45436 = source←v42140;
            };
         {
            W8 var←c0260;
            {
               word pd196;
               pd196 = (* (( (ptr) (* (( (ptr) gf←c49436)+157)/* var←c43964 */  ))+63) );
               (void) ( *( (fPt) ((*  (ptr) pd196 ))))((word) &var←c0260, var←c45436, pd196);
               };
            var←c45500 = var←c0260;
            };
         };
      end←v12396 = (*  (W2Pt) (( (ptr) &var←c45500)+3) );
      start←v12368 = (*  (W2Pt) (( (ptr) &var←c45500)+1) );
      };
SOURCE(19733, 47)
   (void) ApplyToChars←P1200(start←v12368, end←v12396, (word) (( (bPt) &var←c49404)+16)/* var←c45372 */ );
SOURCE(19782, 23056)
   if ((0 != var←c49404.f6/* use16Bits←v12284 */ )) {
SOURCE(19800, 23038)
      {
         word pd197;
         pd197 = (* (( (ptr) (* (( (ptr) gf←c49436)+158)/* var←c44508 */  ))+6) );
         var←c49404.f7/* text←v12312 */  = (word) ( *( (fPt) ((*  (ptr) pd197 ))))(var←c49404.f7/* text←v12312 */ , (* (( (ptr) gf←c49436)+5)
            /* stop16Bits←v4036 */  ), pd197);
         };
      };
SOURCE(19838, 36)
   (void) TextInput←P600(voiceViewer←v12424, var←c49404.f7/* text←v12312 */ , target←v6396);
SOURCE(19876, 35)
   {
      word pd198;
      pd198 = (* (( (ptr) (* (( (ptr) gf←c49436)+157)/* var←c43964 */  ))+71) );
      (void) ( *( (fPt) ((*  (ptr) pd198 ))))(1, pd198);
      };
   }

static void ToXeroxStringEncoding←P3300(loc←v12500, formal←c49500)
   W2 loc←v12500;
   word formal←c49500;
   {
   register ptr gf←c49468 =  (ptr) &globalframe;
   word charSet←v12528 = 0;
   word char←v12556;
   word xc←v12584;
   formal←c49500 = (formal←c49500 - 16);
   /* ToXeroxStringEncoding: */ 
SOURCE(19021, 23817)
SOURCE(19119, 56)
   {
      word pd199;
      pd199 = (* (( (ptr) (* (( (ptr) gf←c49468)+159)/* var←c44860 */  ))+4) );
      xc←v12584 = (word) ( *( (fPt) ((*  (ptr) pd199 ))))(loc←v12500.f0, loc←v12500.f1, pd199);
      };
SOURCE(19177, 16)
   charSet←v12528 = (xc←v12584 >> 8);
SOURCE(19195, 19)
   char←v12556 = (xc←v12584 & 0377);
SOURCE(19216, 23622)
   if ((charSet←v12528 != 0)) {
SOURCE(19238, 23600)
      if ((0 == (* (( (ptr) formal←c49500)+6) ))) {
SOURCE(19262, 16)
         (* (( (ptr) formal←c49500)+6) ) = 1;
SOURCE(19280, 23558)
         {
            word pd200;
            pd200 = (* (( (ptr) (* (( (ptr) gf←c49468)+158)/* var←c44508 */  ))+6) );
            (* (( (ptr) formal←c49500)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd200 ))))((* (( (ptr) formal←c49500)+7) ), (* (( (ptr) gf←c49468)+4)
               /* start16Bits←v4008 */  ), pd200);
            };
         };
SOURCE(19322, 23516)
      {
         word var←c45532;
         {
            word pd201;
            pd201 = (* (( (ptr) (* (( (ptr) gf←c49468)+158)/* var←c44508 */  ))+37) );
            var←c45532 = (word) ( *( (fPt) ((*  (ptr) pd201 ))))(BCK(charSet←v12528, 256), pd201);
            };
         {
            word pd202;
            pd202 = (* (( (ptr) (* (( (ptr) gf←c49468)+158)/* var←c44508 */  ))+6) );
            (* (( (ptr) formal←c49500)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd202 ))))((* (( (ptr) formal←c49500)+7) ), var←c45532, pd202)
            ;
            };
         };
      }
   else {
SOURCE(19384, 23454)
      if ((0 != (* (( (ptr) formal←c49500)+6) ))) {
SOURCE(19425, 17)
         (* (( (ptr) formal←c49500)+6) ) = 0;
SOURCE(19444, 23394)
         {
            word pd203;
            pd203 = (* (( (ptr) (* (( (ptr) gf←c49468)+158)/* var←c44508 */  ))+6) );
            (* (( (ptr) formal←c49500)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd203 ))))((* (( (ptr) formal←c49500)+7) ), (* (( (ptr) gf←c49468)+5)
               /* stop16Bits←v4036 */  ), pd203);
            };
         };
      };
SOURCE(19485, 23353)
   {
      word var←c45564;
      {
         word pd204;
         pd204 = (* (( (ptr) (* (( (ptr) gf←c49468)+158)/* var←c44508 */  ))+37) );
         var←c45564 = (word) ( *( (fPt) ((*  (ptr) pd204 ))))(char←v12556, pd204);
         };
      {
         word pd205;
         pd205 = (* (( (ptr) (* (( (ptr) gf←c49468)+158)/* var←c44508 */  ))+6) );
         (* (( (ptr) formal←c49500)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd205 ))))((* (( (ptr) formal←c49500)+7) ), var←c45564, pd205)
         ;
         };
      };
   }

static void CopyTextMarkerToTextViewer←P1080(target←v6456)
   word target←v6456;
   {
   W12 var←c49532;
   register ptr gf←c49564 =  (ptr) &globalframe;
   /* declaration of var←c45596 skipped */ 
   /* declaration of var←c45628 skipped */ 
   /* declaration of textRoot←v12628 skipped */ 
   /* declaration of insertNode←v12656 skipped */ 
   /* declaration of insertPosition←v12684 skipped */ 
   /* declaration of text←v12768 skipped */ 
   W2 start←v12796;
   W2 end←v12824;
   word caretBefore←v12852;
   word textViewer←v12880 = 0;
   /* CopyTextMarkerToTextViewer: */ 
SOURCE(19917, 22921)
   {
      word tmpAddr206;
      tmpAddr206 = (word) (( (ptr) &var←c49532)+4)/* var←c45596 */ ;
      (*  (ptr) tmpAddr206 ) = ( ((word)  (fPt) TiogaXCharProc←P3420) );
      (* (( (ptr) tmpAddr206) + 1) ) = 1;
      };
   {
      word tmpAddr207;
      tmpAddr207 = (word) (( (ptr) &var←c49532)+6)/* var←c45628 */ ;
      (*  (ptr) tmpAddr207 ) = ( ((word)  (fPt) InsertMarks←P3360) );
      (* (( (ptr) tmpAddr207) + 1) ) = 1;
      };
SOURCE(20007, 34)
   (* (( (ptr) &var←c49532)+8)/* textRoot←v12628 */  ) = 0;
   (* (( (ptr) &var←c49532)+9)/* insertNode←v12656 */  ) = 0;
SOURCE(20406, 15)
   (* (( (ptr) &var←c49532)+11)/* text←v12768 */  ) = 0;
SOURCE(20423, 33)
   start←v12796.f0 = 0;
   start←v12796.f1 = 0;
   end←v12824 = start←v12796;
SOURCE(20511, 22327)
   {
      W8 var←c45692;
      {
         word pd208;
         pd208 = (* (( (ptr) (* (( (ptr) gf←c49564)+157)/* var←c43964 */  ))+63) );
         (void) ( *( (fPt) ((*  (ptr) pd208 ))))((word) &var←c45692, target←v6456, pd208);
         };
      caretBefore←v12852 = var←c45692.f6;
      end←v12824 = (*  (W2Pt) (( (ptr) &var←c45692)+3) );
      start←v12796 = (*  (W2Pt) (( (ptr) &var←c45692)+1) );
      textViewer←v12880 = var←c45692.f0;
      };
SOURCE(20615, 49)
   if ((start←v12796.f0 == 0) || (end←v12824.f0 == 0)) {
SOURCE(20658, 6)
      return;
      };
SOURCE(20666, 22172)
   {
      word pd209;
      pd209 = (* (( (ptr) (* (( (ptr) gf←c49564)+157)/* var←c43964 */  ))+93) );
      (* (( (ptr) &var←c49532)+8)/* textRoot←v12628 */  ) = (word) ( *( (fPt) ((*  (ptr) pd209 ))))(textViewer←v12880, pd209);
      };
SOURCE(20709, 137)
   if ((0 != caretBefore←v12852)) {
SOURCE(20731, 23)
      (* (( (ptr) &var←c49532)+9)/* insertNode←v12656 */  ) = start←v12796.f0;
SOURCE(20756, 28)
      (* (( (ptr) &var←c49532)+10)/* insertPosition←v12684 */  ) = start←v12796.f1;
      }
   else {
SOURCE(20795, 21)
      (* (( (ptr) &var←c49532)+9)/* insertNode←v12656 */  ) = end←v12824.f0;
SOURCE(20818, 28)
      (* (( (ptr) &var←c49532)+10)/* insertPosition←v12684 */  ) = (end←v12824.f1 + 1);
      };
SOURCE(20851, 21987)
   {
      word var←c45724;
      {
         word source←v42092;
SOURCE(21103, 54)
         if ((target←v6456 == 0)) {
            source←v42092 = 1;
            }
         else {
            source←v42092 = 0;
            };
SOURCE(20992, 165)
         var←c45724 = source←v42092;
         };
      (* (( (ptr) &var←c49532)+11)/* text←v12768 */  ) = (word) GetTextMarksFromSelection←P1260(var←c45724);
      };
SOURCE(20904, 45)
   {
      word pd210;
      pd210 = (* (( (ptr) (* (( (ptr) gf←c49564)+157)/* var←c43964 */  ))+118) );
      (void) ( *( (fPt) ((*  (ptr) pd210 ))))((word) (( (bPt) &var←c49532)+24)/* var←c45628 */ , (* (( (ptr) &var←c49532)+8)/* textRoot←v12628 */  ), pd210)
      ;
      };
SOURCE(20951, 35)
   {
      word pd211;
      pd211 = (* (( (ptr) (* (( (ptr) gf←c49564)+157)/* var←c43964 */  ))+71) );
      (void) ( *( (fPt) ((*  (ptr) pd211 ))))(1, pd211);
      };
   }

static void InsertMarks←P3360(root←v12956, formal←c49628)
   word root←v12956;
   word formal←c49628;
   {
   register ptr gf←c49596 =  (ptr) &globalframe;
   formal←c49628 = (formal←c49628 - 24);
   /* InsertMarks: */ 
SOURCE(20065, 105)
SOURCE(20112, 58)
   {
      word pd212;
      pd212 = (* (( (ptr) (* (( (ptr) gf←c49596)+151)/* var←c43580 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd212 ))))((* (( (ptr) formal←c49628)+11) ), 0, 2147483647, (word) (( (bPt) formal←c49628)+16)
         , pd212);
      };
   }

static void TiogaXCharProc←P3420(char←v40608, formal←c49692)
   word char←v40608;
   word formal←c49692;
   {
   register ptr gf←c49660 =  (ptr) &globalframe;
   formal←c49692 = (formal←c49692 - 16);
   /* TiogaXCharProc: */ 
SOURCE(20176, 22662)
SOURCE(20217, 22621)
   {
      W2 var←c45820;
      {
         word var←c45788;
         {
            word pd213;
            pd213 = (* (( (ptr) (* (( (ptr) gf←c49660)+158)/* var←c44508 */  ))+37) );
            var←c45788 = (word) ( *( (fPt) ((*  (ptr) pd213 ))))((char←v40608 & 0377), pd213);
            };
         {
            word pd214;
            pd214 = (* (( (ptr) (* (( (ptr) gf←c49660)+159)/* var←c44860 */  ))+37) );
            (void) ( *( (fPt) ((*  (ptr) pd214 ))))((word) &var←c45820, (* (( (ptr) formal←c49692)+8) ), (* (( (ptr) formal←c49692)+9)
                ), (* (( (ptr) formal←c49692)+10) ), 0, var←c45788
               , 0, (char←v40608 >> 8), 0, 0, pd214);
            };
         };
      };
SOURCE(20367, 33)
   (* (( (ptr) formal←c49692)+10) ) = ((* (( (ptr) formal←c49692)+10) ) + 1);
   }

static void ApplyToChars←P1200(start←v6620, end←v6648, actionProc←v6676)
   W2 start←v6620;
   W2 end←v6648;
   word actionProc←v6676;
   {
   register ptr gf←c49724 =  (ptr) &globalframe;
   W2 current←v12984;
   word nodeSize←v13012;
   /* ApplyToChars: */ 
SOURCE(21163, 21675)
SOURCE(21269, 38)
   current←v12984 = start←v6620;
SOURCE(21309, 43)
   {
      word pd215;
      pd215 = (* (( (ptr) (* (( (ptr) gf←c49724)+159)/* var←c44860 */  ))+6) );
      nodeSize←v13012 = (word) ( *( (fPt) ((*  (ptr) pd215 ))))(current←v12984.f0, pd215);
      };
SOURCE(21354, 49)
   if ((start←v6620.f0 == 0) || (end←v6648.f0 == 0)) {
SOURCE(21397, 6)
      return;
      };
SOURCE(21405, 21433)
   if ((current←v12984.f0 == end←v6648.f0)) {
SOURCE(21437, 21401)
      {
         register word i←v13056;
         register word noName←c45852;
         i←v13056 = current←v12984.f1;
         noName←c45852 = end←v6648.f1;
         if (( (int)i←v13056 >  (int)noName←c45852)) {
            goto lab←L100058;
            };
         lab←L100061: ;
         if (( (int)i←v13056 <  (int)nodeSize←v13012)) {
            }
         else {
            goto lab←L100058;
            };
SOURCE(21500, 21338)
         {
            W2 var←c45884;
            var←c45884.f0 = current←v12984.f0;
            var←c45884.f1 = i←v13056;
            (void) ( *( (fPt) ((*  (ptr) actionProc←v6676 ))))(var←c45884, actionProc←v6676);
            };
         if (( (int)i←v13056 >=  (int)noName←c45852)) {
            goto lab←L100058;
            };
         i←v13056 = (i←v13056 + 1);
         goto lab←L100061;
         lab←L100058: ;
         };
      }
   else {
SOURCE(21545, 21293)
      {
         register word i←v13100;
         register word noName←c45916;
         i←v13100 = current←v12984.f1;
         noName←c45916 = nodeSize←v13012;
         if (( (int)i←v13100 >=  (int)noName←c45916)) {
            goto lab←L100062;
            };
         lab←L100065: ;
SOURCE(21588, 21250)
         {
            W2 var←c45948;
            var←c45948.f0 = current←v12984.f0;
            var←c45948.f1 = i←v13100;
            (void) ( *( (fPt) ((*  (ptr) actionProc←v6676 ))))(var←c45948, actionProc←v6676);
            };
         i←v13100 = (i←v13100 + 1);
         if (( (int)i←v13100 <  (int)noName←c45916)) {
            goto lab←L100065;
            };
         lab←L100062: ;
         };
SOURCE(21627, 21211)
      lab←L100068: ;
SOURCE(21630, 21208)
      {
         word pd216;
         pd216 = (* (( (ptr) (* (( (ptr) gf←c49724)+157)/* var←c43964 */  ))+86) );
         current←v12984.f0 = (word) ( *( (fPt) ((*  (ptr) pd216 ))))(current←v12984.f0, pd216);
         };
SOURCE(21681, 21157)
      {
         word pd217;
         pd217 = (* (( (ptr) (* (( (ptr) gf←c49724)+159)/* var←c44860 */  ))+6) );
         nodeSize←v13012 = (word) ( *( (fPt) ((*  (ptr) pd217 ))))(current←v12984.f0, pd217);
         };
SOURCE(21721, 21117)
      if ((current←v12984.f0 == end←v6648.f0)) {
SOURCE(21755, 21083)
         {
            register word i←v13144 = 0;
            register word noName←c45980;
            noName←c45980 = end←v6648.f1;
            if (( (int)i←v13144 >  (int)noName←c45980)) {
               goto lab←L100069;
               };
            lab←L100072: ;
            if (( (int)i←v13144 <  (int)nodeSize←v13012)) {
               }
            else {
               goto lab←L100069;
               };
SOURCE(21806, 21032)
            {
               W2 var←c46012;
               var←c46012.f0 = current←v12984.f0;
               var←c46012.f1 = i←v13144;
               (void) ( *( (fPt) ((*  (ptr) actionProc←v6676 ))))(var←c46012, actionProc←v6676);
               };
            if (( (int)i←v13144 >=  (int)noName←c45980)) {
               goto lab←L100069;
               };
            i←v13144 = (i←v13144 + 1);
            goto lab←L100072;
            lab←L100069: ;
            };
SOURCE(21845, 7)
         return;
         }
      else {
SOURCE(21859, 20979)
         {
            register word i←v13188 = 0;
            register word noName←c46044;
            noName←c46044 = nodeSize←v13012;
            if (( (int)i←v13188 >=  (int)noName←c46044)) {
               goto lab←L100073;
               };
            lab←L100076: ;
SOURCE(21890, 20948)
            {
               W2 var←c46076;
               var←c46076.f0 = current←v12984.f0;
               var←c46076.f1 = i←v13188;
               (void) ( *( (fPt) ((*  (ptr) actionProc←v6676 ))))(var←c46076, actionProc←v6676);
               };
            i←v13188 = (i←v13188 + 1);
            if (( (int)i←v13188 <  (int)noName←c46044)) {
               goto lab←L100076;
               };
            lab←L100073: ;
            };
         };
      goto lab←L100068;
      };
   }

static word GetTextMarksFromSelection←P1260(source←v6796)
   word source←v6796;
   {
   register ptr gf←c49756 =  (ptr) &globalframe;
   word textMarks←v6840;
   word voiceViewer←v13232 = 0;
   W2 start←v13260;
   W2 end←v13288;
   word viewerInfo←v13316 = 0;
   /* GetTextMarksFromSelection: */ 
SOURCE(21945, 20893)
SOURCE(21945, 20893)
   textMarks←v6840 = 0;
SOURCE(22099, 33)
   start←v13260.f0 = 0;
   start←v13260.f1 = 0;
   end←v13288 = start←v13260;
SOURCE(22181, 20657)
   {
      W8 var←c46140;
      {
         word pd218;
         pd218 = (* (( (ptr) (* (( (ptr) gf←c49756)+157)/* var←c43964 */  ))+63) );
         (void) ( *( (fPt) ((*  (ptr) pd218 ))))((word) &var←c46140, source←v6796, pd218);
         };
      end←v13288 = (*  (W2Pt) (( (ptr) &var←c46140)+3) );
      start←v13260 = (*  (W2Pt) (( (ptr) &var←c46140)+1) );
      voiceViewer←v13232 = var←c46140.f0;
      };
SOURCE(22260, 64)
   if (((voiceViewer←v13232 == 0) || (start←v13260.f0 == 0)) || (end←v13288.f0 == 0)) {
SOURCE(22318, 6)
      return(textMarks←v6840);
      };
SOURCE(22326, 30)
   if ((start←v13260.f0 != end←v13288.f0)) {
SOURCE(22356, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(22389, 20449)
   {
      word pd219;
      pd219 = (* (( (ptr) (* (( (ptr) gf←c49756)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v13316 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd219 ))))(voiceViewer←v13232, (* (( (ptr) gf←c49756)+47) ), pd219)
         , (* (( (ptr) gf←c49756)+42) ));
      };
SOURCE(22497, 29)
   if ((viewerInfo←v13316 == 0)) {
SOURCE(22520, 6)
      return(textMarks←v6840);
      };
SOURCE(22572, 20266)
   {
      register word l←v13360;
      l←v13360 = (* (( (ptr) viewerInfo←v13316)+8) );
      lab←L100080: ;
      if ( ( (l←v13360 != 0) ? ( (int)(*  (ptr) (*  (ptr) l←v13360 ) ) <=  (int)end←v13288.f1) : 0 ) ) {
         }
      else {
         goto lab←L100077;
         };
SOURCE(22704, 20134)
      if (( (int)(*  (ptr) (*  (ptr) l←v13360 ) ) >=  (int)start←v13260.f1)) {
SOURCE(22744, 20094)
         {
            word pd220;
            pd220 = (* (( (ptr) (* (( (ptr) gf←c49756)+158)/* var←c44508 */  ))+6) );
            textMarks←v6840 = (word) ( *( (fPt) ((*  (ptr) pd220 ))))(textMarks←v6840, (* (( (ptr) (*  (ptr) l←v13360 ))+1) ), pd220)
            ;
            };
         };
      l←v13360 = (* (( (ptr) l←v13360)+1) );
      goto lab←L100080;
      lab←L100077: ;
      };
SOURCE(21945, 20893)
   return(textMarks←v6840);
   }

static void RemoveTextMarkers←P1320(viewer←v6900)
   word viewer←v6900;
   {
   W8 var←c49788;
   register ptr gf←c49820 =  (ptr) &globalframe;
   /* declaration of var←c46172 skipped */ 
   /* declaration of node←v13488 skipped */ 
   /* declaration of textEntry←v13516 skipped */ 
   word selectionViewer←v13572 = 0;
   W2 start←v13600;
   W2 end←v13628;
   word textRemoved←v13656 = 0;
   word viewerInfo←v13684 = 0;
   /* RemoveTextMarkers: */ 
SOURCE(22807, 20031)
   {
      word tmpAddr221;
      tmpAddr221 = (word) (( (ptr) &var←c49788)+4)/* var←c46172 */ ;
      (*  (ptr) tmpAddr221 ) = ( ((word)  (fPt) AddArtwork←P3720) );
      (* (( (ptr) tmpAddr221) + 1) ) = 1;
      };
SOURCE(22873, 18)
   var←c49788.f6/* node←v13488 */  = 0;
SOURCE(22893, 42)
   var←c49788.f7/* textEntry←v13516 */  = 0;
SOURCE(23353, 33)
   start←v13600.f0 = 0;
   start←v13600.f1 = 0;
   end←v13628 = start←v13600;
SOURCE(23465, 19373)
   {
      W8 var←c46236;
      {
         word pd222;
         pd222 = (* (( (ptr) (* (( (ptr) gf←c49820)+157)/* var←c43964 */  ))+63) );
         (void) ( *( (fPt) ((*  (ptr) pd222 ))))((word) &var←c46236, 0, pd222);
         };
      end←v13628 = (*  (W2Pt) (( (ptr) &var←c46236)+3) );
      start←v13600 = (*  (W2Pt) (( (ptr) &var←c46236)+1) );
      selectionViewer←v13572 = var←c46236.f0;
      };
SOURCE(23542, 33)
   if ((selectionViewer←v13572 != viewer←v6900)) {
SOURCE(23575, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(23582, 30)
   if ((start←v13600.f0 != end←v13628.f0)) {
SOURCE(23612, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(23619, 19219)
   {
      word pd223;
      pd223 = (* (( (ptr) (* (( (ptr) gf←c49820)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v13684 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd223 ))))(viewer←v6900, (* (( (ptr) gf←c49820)+47) ), pd223), (* (
            ( (ptr) gf←c49820)+42) ));
      };
SOURCE(23722, 17)
   var←c49788.f6/* node←v13488 */  = start←v13600.f0;
SOURCE(23742, 19096)
   {
      word pd224;
      pd224 = (* (( (ptr) (* (( (ptr) gf←c49820)+155)/* var←c43804 */  ))+23) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd224 ))))(viewerInfo←v13684, pd224))) {
SOURCE(23794, 6)
         return;
         };
      };
SOURCE(23802, 83)
   if (((* (( (ptr) viewerInfo←v13684)+8) ) == 0)) {
SOURCE(23843, 33)
      (* (( (ptr) viewerInfo←v13684)+12) ) = 0;
SOURCE(23878, 7)
      return;
      };
SOURCE(23889, 1023)
   if (( (int)(*  (ptr) (*  (ptr) (* (( (ptr) viewerInfo←v13684)+8) ) ) ) >=  (int)start←v13600.f1)) {
SOURCE(24001, 284)
      lab←L100083: ;
      if ( ( ((* (( (ptr) viewerInfo←v13684)+8) ) != 0) ? ( (int)(*  (ptr) (*  (ptr) (* (( (ptr) viewerInfo←v13684)+8) ) ) ) <=  (int)end←v13628.f1) : 0 ) ) {
         }
      else {
         goto lab←L100081;
         };
SOURCE(24096, 41)
      var←c49788.f7/* textEntry←v13516 */  = (*  (ptr) (* (( (ptr) viewerInfo←v13684)+8) ) );
SOURCE(24139, 20)
      (* (( (ptr) var←c49788.f7/* textEntry←v13516 */ )+1) ) = 0;
SOURCE(24161, 34)
      {
         word pd225;
         pd225 = (* (( (ptr) (* (( (ptr) gf←c49820)+157)/* var←c43964 */  ))+118) );
         (void) ( *( (fPt) ((*  (ptr) pd225 ))))((word) (( (bPt) &var←c49788)+16)/* var←c46172 */ , 0, pd225);
         };
SOURCE(24197, 18)
      textRemoved←v13656 = 1;
SOURCE(24217, 68)
      (* (( (ptr) viewerInfo←v13684)+8) ) = (* (( (ptr) (* (( (ptr) viewerInfo←v13684)+8) ))+1) );
      goto lab←L100083;
      lab←L100081: ;
      }
   else {
SOURCE(24285, 629)
      {
         word l←v13788;
SOURCE(24288, 3)
         l←v13788 = (* (( (ptr) viewerInfo←v13684)+8) );
SOURCE(24358, 80)
         lab←L100086: ;
         if ( ( ((* (( (ptr) l←v13788)+1) ) != 0) ? ( (int)(*  (ptr) (*  (ptr) (* (( (ptr) l←v13788)+1) ) ) ) <  (int)start←v13600.f1) : 0 ) ) {
            }
         else {
            goto lab←L100084;
            };
SOURCE(24420, 18)
         l←v13788 = (* (( (ptr) l←v13788)+1) );
         goto lab←L100086;
         lab←L100084: ;
SOURCE(24440, 194)
         lab←L100089: ;
         if ( ( ((* (( (ptr) l←v13788)+1) ) != 0) ? ( (int)(*  (ptr) (*  (ptr) (* (( (ptr) l←v13788)+1) ) ) ) <=  (int)end←v13628.f1) : 0 ) ) {
            }
         else {
            goto lab←L100087;
            };
SOURCE(24501, 24)
         var←c49788.f7/* textEntry←v13516 */  = (*  (ptr) (* (( (ptr) l←v13788)+1) ) );
SOURCE(24527, 20)
         (* (( (ptr) var←c49788.f7/* textEntry←v13516 */ )+1) ) = 0;
SOURCE(24549, 34)
         {
            word pd226;
            pd226 = (* (( (ptr) (* (( (ptr) gf←c49820)+157)/* var←c43964 */  ))+118) );
            (void) ( *( (fPt) ((*  (ptr) pd226 ))))((word) (( (bPt) &var←c49788)+16)/* var←c46172 */ , 0, pd226);
            };
SOURCE(24585, 18)
         textRemoved←v13656 = 1;
SOURCE(24606, 28)
         (* (( (ptr) l←v13788)+1) ) = (* (( (ptr) (* (( (ptr) l←v13788)+1) ))+1) );
         goto lab←L100089;
         lab←L100087: ;
SOURCE(24636, 276)
         if ((0 != textRemoved←v13656)) {
SOURCE(24656, 256)
            {
               word currChars←v13916;
SOURCE(24675, 19)
               var←c49788.f7/* textEntry←v13516 */  = (*  (ptr) l←v13788 );
SOURCE(24696, 34)
               currChars←v13916 = (* (( (ptr) var←c49788.f7/* textEntry←v13516 */ )+2) );
SOURCE(24732, 100)
               (void) LimitText←P660(var←c49788.f7/* textEntry←v13516 */ ,  ( ((* (( (ptr) l←v13788)+1) ) == 0) ? 2147483647 : ((*  (ptr) (*  (ptr) (* (
                     ( (ptr) l←v13788)+1) ) ) ) - (*  (ptr) var←c49788.f7/* textEntry←v13516 */  )) ) );
SOURCE(24834, 78)
               if (( (int)currChars←v13916 !=  (int)(* (( (ptr) var←c49788.f7/* textEntry←v13516 */ )+2) ))) {
SOURCE(24877, 35)
                  {
                     word pd227;
                     pd227 = (* (( (ptr) (* (( (ptr) gf←c49820)+157)/* var←c43964 */  ))+118) );
                     (void) ( *( (fPt) ((*  (ptr) pd227 ))))((word) (( (bPt) &var←c49788)+16)/* var←c46172 */ , 0, pd227);
                     };
                  };
               };
            };
         };
      };
SOURCE(24918, 74)
   if ((0 != textRemoved←v13656)) {
SOURCE(24942, 50)
      {
         word pd228;
         pd228 = (* (( (ptr) (* (( (ptr) gf←c49820)+155)/* var←c43804 */  ))+16) );
         (void) ( *( (fPt) ((*  (ptr) pd228 ))))(selectionViewer←v13572, pd228);
         };
      };
SOURCE(24998, 35)
   (* (( (ptr) viewerInfo←v13684)+12) ) = 0;
   }

static void AddArtwork←P3720(root←v13760, formal←c49884)
   word root←v13760;
   word formal←c49884;
   {
   register ptr gf←c49852 =  (ptr) &globalframe;
   formal←c49884 = (formal←c49884 - 16);
   /* AddArtwork: */ 
SOURCE(22938, 19900)
SOURCE(22984, 128)
   {
      word pd229;
      pd229 = (* (( (ptr) (* (( (ptr) gf←c49852)+159)/* var←c44860 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd229 ))))((* (( (ptr) formal←c49884)+6) ), (*  (ptr) (* (( (ptr) formal←c49884)+7) ) ), (* (
            ( (ptr) gf←c49852)+56) ),  ( ((* (( (ptr) (* (( (ptr) formal←c49884)+7) ))+1) ) == 0) ? 0 : (* (( (ptr) gf←c49852)+57) ) ) , 1, 0
         , 0, pd229);
      };
SOURCE(23162, 19676)
   {
      word var←c46268;
      {
         word pd230;
         if (((* (( (ptr) (* (( (ptr) formal←c49884)+7) ))+1) ) == 0)) {
            var←c46268 = 0;
            }
         else {
            pd230 = (* (( (ptr) (* (( (ptr) gf←c49852)+158)/* var←c44508 */  ))+17) );
            var←c46268 = (word) ( *( (fPt) ((*  (ptr) pd230 ))))((* (( (ptr) (* (( (ptr) formal←c49884)+7) ))+1) ), 0, (* (( (ptr) (* (
                     ( (ptr) formal←c49884)+7) ))+2) ), pd230);
            };
         };
      {
         word pd231;
         pd231 = (* (( (ptr) (* (( (ptr) gf←c49852)+159)/* var←c44860 */  ))+17) );
         (void) ( *( (fPt) ((*  (ptr) pd231 ))))((* (( (ptr) formal←c49884)+6) ), (*  (ptr) (* (( (ptr) formal←c49884)+7) ) ), (* (
               ( (ptr) gf←c49852)+59) ), var←c46268, 1, 0
            , 0, pd231);
         };
      };
   }

static void RedrawTextMarkers←P1380(viewer←v6960, voiceCharNode←v6988)
   word viewer←v6960;
   word voiceCharNode←v6988;
   {
   W8 var←c49916;
   register ptr gf←c49948 =  (ptr) &globalframe;
   /* declaration of var←c46300 skipped */ 
   /* declaration of node←v13960 skipped */ 
   /* declaration of viewerInfo←v13988 skipped */ 
   /* RedrawTextMarkers: */ 
SOURCE(25037, 17801)
   {
      word tmpAddr232;
      tmpAddr232 = (word) (( (ptr) &var←c49916)+4)/* var←c46300 */ ;
      (*  (ptr) tmpAddr232 ) = ( ((word)  (fPt) AddArtwork←P3876) );
      (* (( (ptr) tmpAddr232) + 1) ) = 1;
      };
SOURCE(25137, 34)
   var←c49916.f6/* node←v13960 */  = voiceCharNode←v6988;
SOURCE(25173, 136)
   {
      word pd233;
      pd233 = (* (( (ptr) (* (( (ptr) gf←c49948)+154)/* var←c43740 */  ))+29) );
      var←c49916.f7/* viewerInfo←v13988 */  = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd233 ))))(viewer←v6960, (* (( (ptr) gf←c49948)+47)
             ), pd233), (* (( (ptr) gf←c49948)+42) ));
      };
SOURCE(25776, 17062)
   {
      word var←c46332;
      {
         word pd234;
         pd234 = (* (( (ptr) (* (( (ptr) gf←c49948)+157)/* var←c43964 */  ))+93) );
         var←c46332 = (word) ( *( (fPt) ((*  (ptr) pd234 ))))(viewer←v6960, pd234);
         };
      {
         word pd235;
         pd235 = (* (( (ptr) (* (( (ptr) gf←c49948)+157)/* var←c43964 */  ))+118) );
         (void) ( *( (fPt) ((*  (ptr) pd235 ))))((word) (( (bPt) &var←c49916)+16)/* var←c46300 */ , var←c46332, pd235);
         };
      };
   }

static void AddArtwork←P3876(root←v14092, formal←c50012)
   word root←v14092;
   word formal←c50012;
   {
   register ptr gf←c49980 =  (ptr) &globalframe;
   register word l←v14120 = 0;
   formal←c50012 = (formal←c50012 - 16);
   /* AddArtwork: */ 
SOURCE(25311, 17527)
SOURCE(25401, 17437)
   l←v14120 = (* (( (ptr) (* (( (ptr) formal←c50012)+7) ))+8) );
   lab←L100093: ;
   if ((l←v14120 != 0)) {
      }
   else {
      goto lab←L100090;
      };
   {
      word textEntry←v14248;
SOURCE(25459, 52)
      textEntry←v14248 = (*  (ptr) l←v14120 );
SOURCE(25513, 90)
      {
         word pd236;
         pd236 = (* (( (ptr) (* (( (ptr) gf←c49980)+159)/* var←c44860 */  ))+17) );
         (void) ( *( (fPt) ((*  (ptr) pd236 ))))((* (( (ptr) formal←c50012)+6) ), (*  (ptr) textEntry←v14248 ), (* (( (ptr) gf←c49980)+56)
             ), (* (( (ptr) gf←c49980)+57) ), 1, 0
            , 0, pd236);
         };
SOURCE(25653, 17185)
      {
         word var←c46364;
         {
            word pd237;
            pd237 = (* (( (ptr) (* (( (ptr) gf←c49980)+158)/* var←c44508 */  ))+17) );
            var←c46364 = (word) ( *( (fPt) ((*  (ptr) pd237 ))))((* (( (ptr) textEntry←v14248)+1) ), 0, (* (( (ptr) textEntry←v14248)+2)
                ), pd237);
            };
         {
            word pd238;
            pd238 = (* (( (ptr) (* (( (ptr) gf←c49980)+159)/* var←c44860 */  ))+17) );
            (void) ( *( (fPt) ((*  (ptr) pd238 ))))((* (( (ptr) formal←c50012)+6) ), (*  (ptr) textEntry←v14248 ), (* (( (ptr) gf←c49980)+59)
                ), var←c46364, 1, 0
               , 0, pd238);
            };
         };
      };
   l←v14120 = (* (( (ptr) l←v14120)+1) );
   goto lab←L100093;
   lab←L100090: ;
   }

static void ExtractTextMarks←P1440(viewerInfo←v7048, soundInterval←v7076)
   word viewerInfo←v7048;
   word soundInterval←v7076;
   {
   register ptr gf←c50044 =  (ptr) &globalframe;
   word currLastInList←v14292 = 0;
   word soughtStart←v14320;
   word soughtEnd←v14348;
   /* ExtractTextMarks: */ 
SOURCE(25844, 1030)
SOURCE(26033, 89)
   soughtStart←v14320 = IOP2( / ,  (int)(* (( (ptr) soundInterval←v7076)+1) ),  (int)2000);
SOURCE(26124, 125)
   soughtEnd←v14348 = IOP2( / ,  (int)((* (( (ptr) soundInterval←v7076)+1) ) + (* (( (ptr) soundInterval←v7076)+2) )),  (int)2000)
   ;
SOURCE(26252, 32)
   (* (( (ptr) soundInterval←v7076)+5) ) = 0;
SOURCE(26322, 552)
   {
      register word l←v14476;
      l←v14476 = (* (( (ptr) viewerInfo←v7048)+8) );
      lab←L100097: ;
      if ( ( (l←v14476 != 0) ? ( (int)(*  (ptr) (*  (ptr) l←v14476 ) ) <  (int)soughtEnd←v14348) : 0 ) ) {
         }
      else {
         goto lab←L100094;
         };
SOURCE(26453, 421)
      if (( (int)(*  (ptr) (*  (ptr) l←v14476 ) ) >=  (int)soughtStart←v14320)) {
SOURCE(26493, 383)
         {
            word newEntry←v14604;
SOURCE(26496, 90)
            newEntry←v14604 = XR←NewObject(16, (* (( (ptr) gf←c50044)+40) ));
            (*  (W4Pt) newEntry←v14604 ) = (*  (W4Pt) (*  (ptr) l←v14476 ) );
SOURCE(26588, 51)
            (*  (ptr) newEntry←v14604 ) = ((*  (ptr) newEntry←v14604 ) - soughtStart←v14320);
SOURCE(26642, 232)
            if (((* (( (ptr) soundInterval←v7076)+5) ) == 0)) {
SOURCE(26687, 49)
               {
                  word var←c46428;
                  var←c46428 = XR←NewObject(8, (* (( (ptr) gf←c50044)+39) ));
                  (*  (ptr) var←c46428 ) = newEntry←v14604;
                  (* (( (ptr) soundInterval←v7076)+5) ) = var←c46428;
                  };
SOURCE(26738, 43)
               currLastInList←v14292 = (* (( (ptr) soundInterval←v7076)+5) );
               }
            else {
SOURCE(26793, 42)
               {
                  word var←c46460;
                  var←c46460 = XR←NewObject(8, (* (( (ptr) gf←c50044)+39) ));
                  (*  (ptr) var←c46460 ) = newEntry←v14604;
                  (* (( (ptr) currLastInList←v14292)+1) ) = var←c46460;
                  };
SOURCE(26837, 37)
               currLastInList←v14292 = (* (( (ptr) currLastInList←v14292)+1) );
               };
            };
         };
      l←v14476 = (* (( (ptr) l←v14476)+1) );
      goto lab←L100097;
      lab←L100094: ;
      };
   }

static void EditTextMarks←P1500(viewerInfo←v7136, unchangedHead←v7164, deleteChars←v7192, insertChars←v7220, soundInterval←v7248)
   word viewerInfo←v7136;
   word unchangedHead←v7164;
   word deleteChars←v7192;
   word insertChars←v7220;
   word soundInterval←v7248;
   {
   register ptr gf←c50076 =  (ptr) &globalframe;
   word atHead←v14648 = 1;
   word l←v14676 = 0;
   /* EditTextMarks: */ 
SOURCE(26890, 2988)
SOURCE(27133, 363)
   lab←L100100: ;
   if ( ( (0 != atHead←v14648) ? ((* (( (ptr) viewerInfo←v7136)+8) ) != 0) : 0 ) ) {
      }
   else {
      goto lab←L100098;
      };
SOURCE(27183, 313)
   {
      word var←c46492;
      var←c46492 = (*  (ptr) (*  (ptr) (* (( (ptr) viewerInfo←v7136)+8) ) ) );
      if (( (int)var←c46492 >=  (int)(unchangedHead←v7164 + deleteChars←v7192))) {
SOURCE(27269, 107)
         (*  (ptr) (*  (ptr) (* (( (ptr) viewerInfo←v7136)+8) ) ) ) = (((*  (ptr) (*  (ptr) (* (( (ptr) viewerInfo←v7136)+8) ) ) ) + 
         insertChars←v7220) - deleteChars←v7192);
SOURCE(27378, 14)
         atHead←v14648 = 0;
         }
      else {
         if (( (int)var←c46492 >=  (int)unchangedHead←v7164)) {
SOURCE(27415, 54)
            (* (( (ptr) viewerInfo←v7136)+8) ) = (* (( (ptr) (* (( (ptr) viewerInfo←v7136)+8) ))+1) );
            }
         else {
SOURCE(27482, 14)
            atHead←v14648 = 0;
            };
         };
      };
   goto lab←L100100;
   lab←L100098: ;
SOURCE(27508, 425)
   if (((* (( (ptr) viewerInfo←v7136)+8) ) != 0)) {
SOURCE(27548, 27)
      l←v14676 = (* (( (ptr) viewerInfo←v7136)+8) );
SOURCE(27577, 356)
      lab←L100103: ;
      if ( ( (l←v14676 != 0) ? ((* (( (ptr) l←v14676)+1) ) != 0) : 0 ) ) {
         }
      else {
         goto lab←L100101;
         };
SOURCE(27703, 230)
      {
         word var←c46524;
         var←c46524 = (*  (ptr) (*  (ptr) (* (( (ptr) l←v14676)+1) ) ) );
         if (( (int)var←c46524 >=  (int)(unchangedHead←v7164 + deleteChars←v7192))) {
SOURCE(27772, 73)
            (*  (ptr) (*  (ptr) (* (( (ptr) l←v14676)+1) ) ) ) = (((*  (ptr) (*  (ptr) (* (( (ptr) l←v14676)+1) ) ) ) + insertChars←v7220) - deleteChars←v7192);
SOURCE(27847, 10)
            l←v14676 = (* (( (ptr) l←v14676)+1) );
            }
         else {
            if (( (int)var←c46524 >=  (int)unchangedHead←v7164)) {
SOURCE(27880, 20)
               (* (( (ptr) l←v14676)+1) ) = (* (( (ptr) (* (( (ptr) l←v14676)+1) ))+1) );
               }
            else {
SOURCE(27913, 20)
               l←v14676 = (* (( (ptr) l←v14676)+1) );
               };
            };
         };
      goto lab←L100103;
      lab←L100101: ;
      };
SOURCE(27937, 1941)
   if ( ( (soundInterval←v7248 != 0) ? ((* (( (ptr) soundInterval←v7248)+5) ) != 0) : 0 ) ) {
SOURCE(28002, 1445)
      {
         word beforeInsert←v14804 = 0;
         word afterInsert←v14832 = 0;
         word newSection←v14860 = 0;
         word endNewSectionPtr←v14888 = 0;
SOURCE(28149, 304)
         if (((* (( (ptr) viewerInfo←v7136)+8) ) != 0)) {
SOURCE(28190, 263)
            if (( (int)(*  (ptr) (*  (ptr) (* (( (ptr) viewerInfo←v7136)+8) ) ) ) >=  (int)unchangedHead←v7164)) {
SOURCE(28255, 43)
               afterInsert←v14832 = (* (( (ptr) viewerInfo←v7136)+8) );
               }
            else {
SOURCE(28301, 27)
               l←v14676 = (* (( (ptr) viewerInfo←v7136)+8) );
SOURCE(28330, 82)
               lab←L100106: ;
               if ( ( ((* (( (ptr) l←v14676)+1) ) != 0) ? ( (int)(*  (ptr) (*  (ptr) (* (( (ptr) l←v14676)+1) ) ) ) <  (int)unchangedHead←v7164) : 0 ) ) {
                  }
               else {
                  goto lab←L100104;
                  };
SOURCE(28394, 18)
               l←v14676 = (* (( (ptr) l←v14676)+1) );
               goto lab←L100106;
               lab←L100104: ;
SOURCE(28414, 16)
               beforeInsert←v14804 = l←v14676;
SOURCE(28432, 21)
               afterInsert←v14832 = (* (( (ptr) l←v14676)+1) );
               };
            };
SOURCE(28459, 605)
         {
            word insertMarkPtr←v15100;
SOURCE(28461, 15)
            insertMarkPtr←v15100 = (* (( (ptr) soundInterval←v7248)+5) );
SOURCE(28546, 83)
            {
               word var←c46556;
               word var←c46620;
               {
                  word var←c46588;
                  var←c46588 = XR←NewObject(16, (* (( (ptr) gf←c50076)+40) ));
                  (*  (W4Pt) var←c46588 ) = (*  (W4Pt) (*  (ptr) insertMarkPtr←v15100 ) );
                  var←c46556 = var←c46588;
                  };
               var←c46620 = XR←NewObject(8, (* (( (ptr) gf←c50076)+39) ));
               (*  (ptr) var←c46620 ) = var←c46556;
               newSection←v14860 = var←c46620;
               };
SOURCE(28631, 69)
            (*  (ptr) (*  (ptr) newSection←v14860 ) ) = ((*  (ptr) (*  (ptr) newSection←v14860 ) ) + unchangedHead←v7164);
SOURCE(28702, 29)
            endNewSectionPtr←v14888 = newSection←v14860;
SOURCE(28733, 34)
            insertMarkPtr←v15100 = (* (( (ptr) insertMarkPtr←v15100)+1) );
SOURCE(28769, 284)
            lab←L100109: ;
            if ((insertMarkPtr←v15100 != 0)) {
               }
            else {
               goto lab←L100107;
               };
SOURCE(28798, 94)
            {
               word var←c46652;
               word var←c46716;
               {
                  word var←c46684;
                  var←c46684 = XR←NewObject(16, (* (( (ptr) gf←c50076)+40) ));
                  (*  (W4Pt) var←c46684 ) = (*  (W4Pt) (*  (ptr) insertMarkPtr←v15100 ) );
                  var←c46652 = var←c46684;
                  };
               var←c46716 = XR←NewObject(8, (* (( (ptr) gf←c50076)+39) ));
               (*  (ptr) var←c46716 ) = var←c46652;
               (* (( (ptr) endNewSectionPtr←v14888)+1) ) = var←c46716;
               };
SOURCE(28894, 40)
            endNewSectionPtr←v14888 = (* (( (ptr) endNewSectionPtr←v14888)+1) );
SOURCE(28936, 81)
            (*  (ptr) (*  (ptr) endNewSectionPtr←v14888 ) ) = ((*  (ptr) (*  (ptr) endNewSectionPtr←v14888 ) ) + unchangedHead←v7164);
SOURCE(29019, 34)
            insertMarkPtr←v15100 = (* (( (ptr) insertMarkPtr←v15100)+1) );
            goto lab←L100109;
            lab←L100107: ;
            };
SOURCE(29068, 35)
         (* (( (ptr) endNewSectionPtr←v14888)+1) ) = afterInsert←v14832;
SOURCE(29105, 146)
         (void) LimitText←P660((*  (ptr) endNewSectionPtr←v14888 ),  ( ((* (( (ptr) endNewSectionPtr←v14888)+1) ) == 0) ? 2147483647 : ((*  (ptr) (*  (ptr) afterInsert←v14832 ) ) - (*  (ptr) (*  (ptr) endNewSectionPtr←v14888 ) )) ) )
         ;
SOURCE(29254, 190)
         if ((beforeInsert←v14804 == 0)) {
SOURCE(29281, 42)
            (* (( (ptr) viewerInfo←v7136)+8) ) = newSection←v14860;
            }
         else {
SOURCE(29325, 30)
            (* (( (ptr) beforeInsert←v14804)+1) ) = newSection←v14860;
SOURCE(29357, 87)
            (void) LimitText←P660((*  (ptr) beforeInsert←v14804 ), ((*  (ptr) (*  (ptr) newSection←v14860 ) ) - (*  (ptr) (*  (ptr) beforeInsert←v14804 ) )))
            ;
            };
         };
      }
   else {
SOURCE(29456, 422)
      if ( ( ((* (( (ptr) viewerInfo←v7136)+8) ) != 0) ? ( (int)(*  (ptr) (*  (ptr) (* (( (ptr) viewerInfo←v7136)+8) ) ) ) <  (int)unchangedHead←v7164) : 0 ) ) {
SOURCE(29553, 325)
         {
            word beforeCut←v15228;
SOURCE(29555, 11)
            beforeCut←v15228 = (* (( (ptr) viewerInfo←v7136)+8) );
SOURCE(29633, 114)
            lab←L100112: ;
            if ( ( ((* (( (ptr) beforeCut←v15228)+1) ) != 0) ? ( (int)(*  (ptr) (*  (ptr) (* (( (ptr) beforeCut←v15228)+1) ) ) ) <  (int)unchangedHead←v7164) : 0 ) ) {
               }
            else {
               goto lab←L100110;
               };
SOURCE(29713, 34)
            beforeCut←v15228 = (* (( (ptr) beforeCut←v15228)+1) );
            goto lab←L100112;
            lab←L100110: ;
SOURCE(29749, 129)
            (void) LimitText←P660((*  (ptr) beforeCut←v15228 ),  ( ((* (( (ptr) beforeCut←v15228)+1) ) == 0) ? 2147483647 : ((*  (ptr) (*  (ptr) (* (
                  ( (ptr) beforeCut←v15228)+1) ) ) ) - (*  (ptr) (*  (ptr) beforeCut←v15228 ) )) ) );
            };
         };
      };
   }

static word RopeFromTextList←P1560(l←v7308)
   word l←v7308;
   {
   register ptr gf←c50108 =  (ptr) &globalframe;
   word r←v7436;
   /* RopeFromTextList: */ 
SOURCE(29887, 12951)
SOURCE(29887, 12951)
   r←v7436 = 0;
SOURCE(29996, 12842)
   lab←L100115: ;
   if ((l←v7308 != 0)) {
      }
   else {
      goto lab←L100113;
      };
   {
      word textEntry←v15356;
      word positionInSamples←v15384;
SOURCE(30013, 35)
      textEntry←v15356 = (* (( (ptr) (*  (ptr) l←v7308 ))+1) );
SOURCE(30050, 79)
      positionInSamples←v15384 = IOP2( * ,  (int)(*  (ptr) (*  (ptr) l←v7308 ) ),  (int)2000);
SOURCE(30131, 12707)
      {
         word var←c46748;
         word var←c46812;
         {
            word pd239;
            pd239 = (* (( (ptr) (* (( (ptr) gf←c50108)+162)/* var←c46780 */  ))+27) );
            var←c46748 = (word) ( *( (fPt) ((*  (ptr) pd239 ))))(positionInSamples←v15384, 8, 1, pd239);
            };
         {
            word var←c46844;
            {
               word pd240;
               pd240 = (* (( (ptr) (* (( (ptr) gf←c50108)+158)/* var←c44508 */  ))+14) );
               var←c46844 = (word) ( *( (fPt) ((*  (ptr) pd240 ))))(textEntry←v15356, pd240);
               };
            {
               word pd241;
               pd241 = (* (( (ptr) (* (( (ptr) gf←c50108)+162)/* var←c46780 */  ))+27) );
               var←c46812 = (word) ( *( (fPt) ((*  (ptr) pd241 ))))(var←c46844, 8, 1, pd241);
               };
            };
         {
            word pd242;
            pd242 = (* (( (ptr) (* (( (ptr) gf←c50108)+158)/* var←c44508 */  ))+5) );
            r←v7436 = (word) ( *( (fPt) ((*  (ptr) pd242 ))))(r←v7436, var←c46748, (* (( (ptr) gf←c50108)+61) ), var←c46812, (* (( (ptr) gf←c50108)+61)
                ), pd242);
            };
         };
SOURCE(30231, 12607)
      {
         word pd243;
         pd243 = (* (( (ptr) (* (( (ptr) gf←c50108)+158)/* var←c44508 */  ))+6) );
         r←v7436 = (word) ( *( (fPt) ((*  (ptr) pd243 ))))(r←v7436, textEntry←v15356, pd243);
         };
SOURCE(30256, 19)
      l←v7308 = (* (( (ptr) l←v7308)+1) );
      };
   goto lab←L100115;
   lab←L100113: ;
SOURCE(29887, 12951)
   return(r←v7436);
   }

static word TextListFromRope←P1620(r←v7496)
   word r←v7496;
   {
   register ptr gf←c50140 =  (ptr) &globalframe;
   word l←v7540;
   word endOfList←v15428 = 0;
   /* TextListFromRope: */ 
SOURCE(30279, 12559)
SOURCE(30279, 12559)
   l←v7540 = 0;
SOURCE(30440, 12398)
   lab←L100118: ;
   {
      word pd244;
      pd244 = (* (( (ptr) (* (( (ptr) gf←c50140)+158)/* var←c44508 */  ))+14) );
      if (( (int)(word) ( *( (fPt) ((*  (ptr) pd244 ))))(r←v7496, pd244) >  (int)0)) {
         }
      else {
         goto lab←L100116;
         };
      };
   {
      word nextColon←v15556;
      word newEntry←v15584;
      word textLength←v15612;
SOURCE(30462, 28)
      {
         word pd245;
         pd245 = (* (( (ptr) (* (( (ptr) gf←c50140)+158)/* var←c44508 */  ))+11) );
         nextColon←v15556 = (word) ( *( (fPt) ((*  (ptr) pd245 ))))(r←v7496, (* (( (ptr) gf←c50140)+61) ), 0, 1, pd245);
         };
SOURCE(30492, 176)
      {
         word var←c46876;
         word var←c46940;
         {
            word var←c46908;
            {
               word pd246;
               pd246 = (* (( (ptr) (* (( (ptr) gf←c50140)+158)/* var←c44508 */  ))+17) );
               var←c46908 = (word) ( *( (fPt) ((*  (ptr) pd246 ))))(r←v7496, 0, nextColon←v15556, pd246);
               };
            {
               word pd247;
               pd247 = (* (( (ptr) (* (( (ptr) gf←c50140)+162)/* var←c46780 */  ))+10) );
               var←c46876 = IOP2( / ,  (int)(word) ( *( (fPt) ((*  (ptr) pd247 ))))(var←c46908, 8, pd247),  (int)2000);
               };
            };
         var←c46940 = XR←NewObject(16, (* (( (ptr) gf←c50140)+40) ));
         (*  (ptr) var←c46940 ) = var←c46876;
         newEntry←v15584 = var←c46940;
         };
SOURCE(30687, 12151)
      {
         word pd248;
         pd248 = (* (( (ptr) (* (( (ptr) gf←c50140)+158)/* var←c44508 */  ))+17) );
         r←v7496 = (word) ( *( (fPt) ((*  (ptr) pd248 ))))(r←v7496, (nextColon←v15556 + 1), 2147483647, pd248);
         };
SOURCE(30714, 12124)
      {
         word pd249;
         pd249 = (* (( (ptr) (* (( (ptr) gf←c50140)+158)/* var←c44508 */  ))+11) );
         nextColon←v15556 = (word) ( *( (fPt) ((*  (ptr) pd249 ))))(r←v7496, (* (( (ptr) gf←c50140)+61) ), 0, 1, pd249);
         };
SOURCE(30739, 12099)
      {
         word var←c46972;
         {
            word pd250;
            pd250 = (* (( (ptr) (* (( (ptr) gf←c50140)+158)/* var←c44508 */  ))+17) );
            var←c46972 = (word) ( *( (fPt) ((*  (ptr) pd250 ))))(r←v7496, 0, nextColon←v15556, pd250);
            };
         {
            word pd251;
            pd251 = (* (( (ptr) (* (( (ptr) gf←c50140)+162)/* var←c46780 */  ))+10) );
            textLength←v15612 = (word) ( *( (fPt) ((*  (ptr) pd251 ))))(var←c46972, 8, pd251);
            };
         };
SOURCE(30797, 12041)
      {
         word pd252;
         pd252 = (* (( (ptr) (* (( (ptr) gf←c50140)+158)/* var←c44508 */  ))+17) );
         r←v7496 = (word) ( *( (fPt) ((*  (ptr) pd252 ))))(r←v7496, (nextColon←v15556 + 1), 2147483647, pd252);
         };
SOURCE(30824, 12014)
      {
         word pd253;
         pd253 = (* (( (ptr) (* (( (ptr) gf←c50140)+158)/* var←c44508 */  ))+17) );
         (* (( (ptr) newEntry←v15584)+1) ) = (word) ( *( (fPt) ((*  (ptr) pd253 ))))(r←v7496, 0, textLength←v15612, pd253);
         };
SOURCE(30865, 11973)
      {
         word pd254;
         pd254 = (* (( (ptr) (* (( (ptr) gf←c50140)+158)/* var←c44508 */  ))+17) );
         r←v7496 = (word) ( *( (fPt) ((*  (ptr) pd254 ))))(r←v7496, textLength←v15612, 2147483647, pd254);
         };
SOURCE(30892, 133)
      if ((l←v7540 == 0)) {
SOURCE(30910, 24)
         {
            word var←c47004;
            var←c47004 = XR←NewObject(8, (* (( (ptr) gf←c50140)+39) ));
            (*  (ptr) var←c47004 ) = newEntry←v15584;
            l←v7540 = var←c47004;
            };
SOURCE(30936, 14)
         endOfList←v15428 = l←v7540;
         }
      else {
SOURCE(30959, 37)
         {
            word var←c47036;
            var←c47036 = XR←NewObject(8, (* (( (ptr) gf←c50140)+39) ));
            (*  (ptr) var←c47036 ) = newEntry←v15584;
            (* (( (ptr) endOfList←v15428)+1) ) = var←c47036;
            };
SOURCE(30998, 27)
         endOfList←v15428 = (* (( (ptr) endOfList←v15428)+1) );
         };
      };
   goto lab←L100118;
   lab←L100116: ;
SOURCE(31037, 202)
   {
      register word list←v15656;
      list←v15656 = l←v7540;
      lab←L100122: ;
      if ((list←v15656 != 0)) {
         }
      else {
         goto lab←L100119;
         };
SOURCE(31122, 117)
      (void) LimitText←P660((*  (ptr) list←v15656 ),  ( ((* (( (ptr) list←v15656)+1) ) == 0) ? 2147483647 : ((*  (ptr) (*  (ptr) (* (
            ( (ptr) list←v15656)+1) ) ) ) - (*  (ptr) (*  (ptr) list←v15656 ) )) ) );
      list←v15656 = (* (( (ptr) list←v15656)+1) );
      goto lab←L100122;
      lab←L100119: ;
      };
SOURCE(30279, 12559)
   return(l←v7540);
   }

static void VoiceMarkerPaint←P1680(self←v7812, context←v7840)
   word self←v7812;
   word context←v7840;
   {
   W6 var←c50172;
   register ptr gf←c50204 =  (ptr) &globalframe;
   /* declaration of var←c47068 skipped */ 
   word data←v15784;
   /* VoiceMarkerPaint: */ 
SOURCE(31897, 10941)
   {
      word tmpAddr255;
      tmpAddr255 = (word) (( (ptr) &var←c50172)+4)/* var←c47068 */ ;
      (*  (ptr) tmpAddr255 ) = ( ((word)  (fPt) DrawArrow←P4368) );
      (* (( (ptr) tmpAddr255) + 1) ) = 1;
      };
SOURCE(31987, 48)
   data←v15784 = XR←Narrow((* (( (ptr) self←v7812)+8) ), (* (( (ptr) gf←c50204)+37) ));
SOURCE(32220, 20)
   {
      word pd256;
      pd256 = (* (( (ptr) (* (( (ptr) gf←c50204)+163)/* var←c47100 */  ))+19) );
      (void) ( *( (fPt) ((*  (ptr) pd256 ))))(context←v7840, pd256);
      };
SOURCE(32242, 37)
   {
      word pd257;
      pd257 = (* (( (ptr) (* (( (ptr) gf←c50204)+163)/* var←c47100 */  ))+35) );
      (void) ( *( (fPt) ((*  (ptr) pd257 ))))(context←v7840, (*  (ptr) data←v15784 ), pd257);
      };
SOURCE(32281, 38)
   {
      word pd258;
      pd258 = (* (( (ptr) (* (( (ptr) gf←c50204)+163)/* var←c47100 */  ))+52) );
      (void) ( *( (fPt) ((*  (ptr) pd258 ))))(context←v7840, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c50204)+163)/* var←c47100 */  ))+54)
          ) ), pd258);
      };
SOURCE(32321, 35)
   {
      word pd259;
      pd259 = (* (( (ptr) (* (( (ptr) gf←c50204)+163)/* var←c47100 */  ))+68) );
      (void) ( *( (fPt) ((*  (ptr) pd259 ))))(context←v7840, (*  (ptr) &fc82 ), pd259);
      };
SOURCE(32358, 37)
   {
      word pd260;
      pd260 = (* (( (ptr) (* (( (ptr) gf←c50204)+163)/* var←c47100 */  ))+70) );
      (void) ( *( (fPt) ((*  (ptr) pd260 ))))(context←v7840, 2, pd260);
      };
SOURCE(32397, 43)
   {
      word pd261;
      pd261 = (* (( (ptr) (* (( (ptr) gf←c50204)+163)/* var←c47100 */  ))+71) );
      (void) ( *( (fPt) ((*  (ptr) pd261 ))))(context←v7840, (word) (( (bPt) &var←c50172)+16)/* var←c47068 */ , 1, pd261);
      };
SOURCE(32442, 10396)
   {
      W2 var←c47132;
      var←c47132.f0 = (*  (ptr) &fc76 );
      var←c47132.f1 = (* (( (ptr) gf←c50204)+11)/* voiceMarkerBaseline←v4428 */  );
      {
         word pd262;
         pd262 = (* (( (ptr) (* (( (ptr) gf←c50204)+163)/* var←c47100 */  ))+21) );
         (void) ( *( (fPt) ((*  (ptr) pd262 ))))(context←v7840, var←c47132, pd262);
         };
      };
SOURCE(32493, 40)
   {
      word pd263;
      pd263 = (* (( (ptr) (* (( (ptr) gf←c50204)+163)/* var←c47100 */  ))+30) );
      (void) ( *( (fPt) ((*  (ptr) pd263 ))))(context←v7840, (* (( (ptr) gf←c50204)+6)/* voiceMarkerFont←v4372 */  ), pd263);
      };
SOURCE(32535, 36)
   {
      word pd264;
      pd264 = (* (( (ptr) (* (( (ptr) gf←c50204)+163)/* var←c47100 */  ))+38) );
      (void) ( *( (fPt) ((*  (ptr) pd264 ))))(context←v7840, (* (( (ptr) data←v15784)+1) ), 0, 2147483647, 0, pd264);
      };
   }

static void DrawArrow←P4368(moveTo←v40836, lineTo←v40864, curveTo←v40892, conicTo←v40920, arcTo←v40948, formal←c50268)
   word moveTo←v40836;
   word lineTo←v40864;
   word curveTo←v40892;
   word conicTo←v40920;
   word arcTo←v40948;
   word formal←c50268;
   {
   register ptr gf←c50236 =  (ptr) &globalframe;
   formal←c50268 = (formal←c50268 - 16);
   /* DrawArrow: */ 
SOURCE(32038, 10800)
SOURCE(32073, 10765)
   {
      W2 var←c47164;
      var←c47164.f0 = (*  (ptr) &fc166 );
      var←c47164.f1 = (* (( (ptr) gf←c50236)+13)/* arrowTop←v4484 */  );
      (void) ( *( (fPt) ((*  (ptr) moveTo←v40836 ))))(var←c47164, moveTo←v40836);
      };
SOURCE(32098, 10740)
   {
      W2 var←c47196;
      var←c47196.f0 = (*  (ptr) &fc166 );
      var←c47196.f1 = (* (( (ptr) gf←c50236)+14)/* arrowBottom←v4512 */  );
      (void) ( *( (fPt) ((*  (ptr) lineTo←v40864 ))))(var←c47196, lineTo←v40864);
      };
SOURCE(32126, 10712)
   {
      W2 var←c47228;
      var←c47228.f0 = (*  (ptr) &fc265 );
      var←c47228.f1 = (* (( (ptr) gf←c50236)+15)/* arrowTipHeight←v4540 */  );
      (void) ( *( (fPt) ((*  (ptr) lineTo←v40864 ))))(var←c47228, lineTo←v40864);
      };
SOURCE(32157, 10681)
   {
      W2 var←c47260;
      var←c47260.f0 = (*  (ptr) &fc266 );
      var←c47260.f1 = (* (( (ptr) gf←c50236)+15)/* arrowTipHeight←v4540 */  );
      (void) ( *( (fPt) ((*  (ptr) lineTo←v40864 ))))(var←c47260, lineTo←v40864);
      };
SOURCE(32189, 10649)
   {
      W2 var←c47292;
      var←c47292.f0 = (*  (ptr) &fc166 );
      var←c47292.f1 = (* (( (ptr) gf←c50236)+14)/* arrowBottom←v4512 */  );
      (void) ( *( (fPt) ((*  (ptr) lineTo←v40864 ))))(var←c47292, lineTo←v40864);
      };
   }

static word VoiceMarkerFormat←P1740(class←v7900, loc←v7928, style←v7956)
   word class←v7900;
   W2 loc←v7928;
   word style←v7956;
   {
   register ptr gf←c50300 =  (ptr) &globalframe;
   word var←c8000;
   word letterX←v15868;
   word letterE←v15896;
   word label←v15924;
   W2 escapement←v15952;
   word charWidth←v15980;
   word data←v16008;
   W4 extents←v16036;
   /* VoiceMarkerFormat: */ 
SOURCE(32577, 10261)
SOURCE(32736, 61)
   {
      word pd267;
      pd267 = (* (( (ptr) (* (( (ptr) gf←c50300)+159)/* var←c44860 */  ))+4) );
      letterX←v15868 = (word) ( *( (fPt) ((*  (ptr) pd267 ))))(loc←v7928.f0, loc←v7928.f1, pd267);
      };
SOURCE(32799, 77)
   {
      word set←v42284;
      set←v42284 = (letterX←v15868 & 0377);
      letterE←v15896 = (set←v42284 << 8);
      };
SOURCE(32878, 91)
   {
      word pd268;
      pd268 = (* (( (ptr) (* (( (ptr) gf←c50300)+159)/* var←c44860 */  ))+16) );
      label←v15924 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd268 ))))(loc←v7928.f0, loc←v7928.f1, (* (( (ptr) gf←c50300)+59) ), pd268)
         , (* (( (ptr) gf←c50300)+26) ));
      };
   if ((label←v15924 == 0)) {
      goto lab←L100124;
      };
   if (((*(int*)label←v15924<0) == 0)) {
      goto lab←L100124;
      };
   (void) XR←RaiseError(XR←NarrowFault, 0);
   lab←L100124: ;
SOURCE(32971, 83)
   {
      word var←c47388;
      {
         word pd269;
         pd269 = (* (( (ptr) (* (( (ptr) gf←c50300)+164)/* var←c47420 */  ))+41) );
         var←c47388 = (word) ( *( (fPt) ((*  (ptr) pd269 ))))(style←v7956, pd269);
         };
      {
         word pd270;
         pd270 = (* (( (ptr) (* (( (ptr) gf←c50300)+151)/* var←c43580 */  ))+14) );
         (void) ( *( (fPt) ((*  (ptr) pd270 ))))((word) &escapement←v15952, var←c47388, letterE←v15896, pd270);
         };
      };
SOURCE(33056, 30)
   charWidth←v15980 = escapement←v15952.f0;
SOURCE(33089, 169)
   data←v16008 = XR←NewObject(16, (* (( (ptr) gf←c50300)+37) ));
   (*  (ptr) data←v16008 ) = (letterX←v15868 & 0377);
   (* (( (ptr) data←v16008)+1) ) = label←v15924;
   {
      word x271;
      word x272;
      *(float*)(( (ptr) data←v16008)+2) = (
         x271 = (*  (ptr) &fc74 ),  *(float*)&x271
         ) + (
         x272 = (*  (ptr) &fc82 ),  *(float*)&x272
         );
      };
   (* (( (ptr) data←v16008)+3) ) = charWidth←v15980;
SOURCE(33260, 132)
   extents←v16036.f0 = (*  (ptr) &fc166 );
   extents←v16036.f1 = (*  (ptr) &fc273 );
   extents←v16036.f2 = (*  (ptr) &fc82 );
   extents←v16036.f3 = (* (( (ptr) gf←c50300)+12)/* totalAscent←v4456 */  );
SOURCE(33394, 9444)
   {
      word var←c47548;
      var←c47548 = XR←NewObject(36, (* (( (ptr) gf←c50300)+33) ));
      (*  (ptr) var←c47548 ) = (word) (( (bPt) gf←c50300)+380)/* var←c42684 */ ;
      (*  (W4Pt) (( (ptr) var←c47548)+1) ) = extents←v16036;
      (*  (W2Pt) (( (ptr) var←c47548)+5) ) = escapement←v15952;
      (* (( (ptr) var←c47548)+8) ) = data←v16008;
      return(var←c47548);
      };
   }

static void ReColorViewer←P1800(viewer←v8096, voiceViewerInfo←v8124, repaint←v8152)
   word viewer←v8096;
   word voiceViewerInfo←v8124;
   word repaint←v8152;
   {
   register ptr gf←c50332 =  (ptr) &globalframe;
   word node←v16092 = 0;
   word nodeLength←v16120;
   /* ReColorViewer: */ 
SOURCE(33775, 9063)
SOURCE(33959, 8879)
   if ((voiceViewerInfo←v8124 == 0)) {
SOURCE(33989, 8849)
      {
         word pd274;
         pd274 = (* (( (ptr) (* (( (ptr) gf←c50332)+154)/* var←c43740 */  ))+29) );
         voiceViewerInfo←v8124 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd274 ))))(viewer←v8096, (* (( (ptr) gf←c50332)+47) ), pd274)
            , (* (( (ptr) gf←c50332)+42) ));
         };
      };
SOURCE(34097, 36)
   if ((voiceViewerInfo←v8124 == 0)) {
SOURCE(34127, 6)
      return;
      };
SOURCE(34166, 8672)
   {
      word var←c47580;
      {
         word pd275;
         pd275 = (* (( (ptr) (* (( (ptr) gf←c50332)+157)/* var←c43964 */  ))+93) );
         var←c47580 = (word) ( *( (fPt) ((*  (ptr) pd275 ))))(viewer←v8096, pd275);
         };
      {
         word pd276;
         pd276 = (* (( (ptr) (* (( (ptr) gf←c50332)+157)/* var←c43964 */  ))+91) );
         node←v16092 = (word) ( *( (fPt) ((*  (ptr) pd276 ))))(var←c47580, pd276);
         };
      };
SOURCE(34222, 8616)
   {
      word var←c47612;
      {
         word pd277;
         pd277 = (* (( (ptr) (* (( (ptr) gf←c50332)+157)/* var←c43964 */  ))+81) );
         var←c47612 = (word) ( *( (fPt) ((*  (ptr) pd277 ))))(node←v16092, pd277);
         };
      {
         word pd278;
         pd278 = (* (( (ptr) (* (( (ptr) gf←c50332)+158)/* var←c44508 */  ))+14) );
         nodeLength←v16120 = (word) ( *( (fPt) ((*  (ptr) pd278 ))))(var←c47612, pd278);
         };
      };
SOURCE(34267, 45)
   (* (( (ptr) voiceViewerInfo←v8124)+10) ) = ((* (( (ptr) viewer←v8096)+18) ) == 3);
SOURCE(34314, 70)
   if (((* (( (ptr) voiceViewerInfo←v8124)+9) ) == 0) || (0 == (* (( (ptr) voiceViewerInfo←v8124)+10) ))) {
SOURCE(34378, 6)
      return;
      };
SOURCE(34387, 56)
   {
      word pd279;
      pd279 = (* (( (ptr) (* (( (ptr) gf←c50332)+159)/* var←c44860 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd279 ))))(node←v16092, 0, (* (( (ptr) gf←c50332)+64) ), 0, nodeLength←v16120, 0
         , 0, pd279);
      };
SOURCE(34469, 8369)
   {
      register word l←v16164;
      l←v16164 = (* (( (ptr) voiceViewerInfo←v8124)+9) );
      lab←L100128: ;
      if ((l←v16164 != 0)) {
         }
      else {
         goto lab←L100125;
         };
SOURCE(34561, 8277)
      {
         word pd280;
         word idx281;
         word tc282;
         word x283;
         pd280 = (* (( (ptr) (* (( (ptr) gf←c50332)+159)/* var←c44860 */  ))+17) );
         if (((* (( (ptr) l←v16164)+2) ) != 0)) {
            tc282 =  (word) ((x283 = (*  (ptr) (* (( (ptr) l←v16164)+2) ) ),
               MIN((int)(word), x283, nodeLength←v16120)) - (*  (ptr) l←v16164 ));
            }
         else {
            tc282 =  (word) (nodeLength←v16120 - (*  (ptr) l←v16164 ));
            };
         (void) ( *( (fPt) ((*  (ptr) pd280 ))))(node←v16092, (*  (ptr) l←v16164 ), (* (( (ptr) gf←c50332)+64) ), (* ((( (ptr) gf←c50332)+19)
               /* ageColors←v4736 */ +(
                  idx281 = (word) ((* (( (ptr) l←v16164)+1) ) - 1),
                  BCK(idx281, 6)
                  )) ), tc282, 0
            , 0, pd280);
         };
      l←v16164 = (* (( (ptr) l←v16164)+2) );
      goto lab←L100128;
      lab←L100125: ;
      };
SOURCE(34763, 50)
   {
      word pd284;
      pd284 = (* (( (ptr) (* (( (ptr) gf←c50332)+155)/* var←c43804 */  ))+17) );
      (void) ( *( (fPt) ((*  (ptr) pd284 ))))(viewer←v8096, pd284);
      };
SOURCE(34816, 111)
   if ( ! ((* (( (bPt) (* (( (ptr) viewer←v8096)+22) ))+76) ) & 020)) {
SOURCE(34850, 77)
      {
         word pd285;
         pd285 = (* (( (ptr) (* (( (ptr) gf←c50332)+165)/* var←c47644 */  ))+4) );
         (void) ( *( (fPt) ((*  (ptr) pd285 ))))((* (( (ptr) viewer←v8096)+22) ), 0, 1, 0, 1, pd285);
         };
      };
   }

static void AgeAllViewers←P1860(youngestViewer←v8212)
   word youngestViewer←v8212;
   {
   register ptr gf←c50364 =  (ptr) &globalframe;
   /* AgeAllViewers: */ 
SOURCE(34934, 7904)
SOURCE(35004, 7834)
   {
      register word vList←v16292;
      {
         word pd286;
         pd286 = (* (( (ptr) (* (( (ptr) gf←c50364)+155)/* var←c43804 */  ))+22) );
         vList←v16292 = (word) ( *( (fPt) ((*  (ptr) pd286 ))))(pd286);
         };
      lab←L100132: ;
      if ((vList←v16292 != 0)) {
         }
      else {
         goto lab←L100129;
         };
      {
         word currInfo←v16336;
         word l←v16364;
SOURCE(35131, 57)
         currInfo←v16336 = (*  (ptr) vList←v16292 );
SOURCE(35190, 3)
         l←v16364 = (* (( (ptr) currInfo←v16336)+9) );
SOURCE(35247, 822)
         if ((l←v16364 != 0)) {
SOURCE(35263, 806)
            if (((* (( (ptr) l←v16364)+2) ) != 0) || ( (int)(* (( (ptr) l←v16364)+1) ) !=  (int)((* (( (ptr) gf←c50364)+17)/* oldest←v4680 */  ) + 
            1))) {
SOURCE(35319, 750)
               if ( ( ((* (( (ptr) l←v16364)+2) ) == 0) ? ( (int)(* (( (ptr) l←v16364)+1) ) ==  (int)(* (( (ptr) gf←c50364)+17)/* oldest←v4680 */  )) : 0 ) ) {
SOURCE(35372, 74)
                  (void) ReColorViewer←P1800((*  (ptr) currInfo←v16336 ), currInfo←v16336, ((*  (ptr) currInfo←v16336 ) != youngestViewer←v8212))
                  ;
SOURCE(35448, 180)
                  (* (( (ptr) l←v16364)+1) ) = ((* (( (ptr) gf←c50364)+17)/* oldest←v4680 */  ) + 1);
                  }
               else {
SOURCE(35715, 77)
                  lab←L100135: ;
                  if ((l←v16364 != 0)) {
                     }
                  else {
                     goto lab←L100133;
                     };
SOURCE(35732, 40)
                  {
                     word x287;
                     word x288;
                     (* (( (ptr) l←v16364)+1) ) = (x287 = ((* (( (ptr) l←v16364)+1) ) + 1),
                        x288 = (* (( (ptr) gf←c50364)+17)/* oldest←v4680 */  ),
                        MIN((int)(word), x287, x288));
                     };
SOURCE(35774, 18)
                  l←v16364 = (* (( (ptr) l←v16364)+2) );
                  goto lab←L100135;
                  lab←L100133: ;
SOURCE(35795, 20)
                  l←v16364 = (* (( (ptr) currInfo←v16336)+9) );
SOURCE(35817, 209)
                  lab←L100138: ;
                  if ( ( (l←v16364 != 0) ? ((* (( (ptr) l←v16364)+2) ) != 0) : 0 ) ) {
                     }
                  else {
                     goto lab←L100136;
                     };
SOURCE(35943, 83)
                  if (( (int)(* (( (ptr) l←v16364)+1) ) ==  (int)(* (( (ptr) (* (( (ptr) l←v16364)+2) ))+1) ))) {
SOURCE(35982, 26)
                     (* (( (ptr) l←v16364)+2) ) = (* (( (ptr) (* (( (ptr) l←v16364)+2) ))+2) );
                     }
                  else {
SOURCE(36008, 18)
                     l←v16364 = (* (( (ptr) l←v16364)+2) );
                     };
                  goto lab←L100138;
                  lab←L100136: ;
SOURCE(36028, 41)
                  (void) ReColorViewer←P1800((*  (ptr) currInfo←v16336 ), currInfo←v16336, 0);
                  };
               };
            };
         };
      vList←v16292 = (* (( (ptr) vList←v16292)+1) );
      goto lab←L100132;
      lab←L100129: ;
      };
   }

static void EditAges←P1920(viewerInfo←v8272, unchangedHead←v8300, deleteChars←v8328, insertChars←v8356)
   word viewerInfo←v8272;
   word unchangedHead←v8300;
   word deleteChars←v8328;
   word insertChars←v8356;
   {
   register ptr gf←c50396 =  (ptr) &globalframe;
   word ageAtEndOfCut←v16492;
   word atHead←v16520 = 1;
   register word l←v16548;
   /* EditAges: */ 
SOURCE(36086, 6752)
SOURCE(36251, 3)
   l←v16548 = (* (( (ptr) viewerInfo←v8272)+9) );
SOURCE(36310, 16)
   if ((l←v16548 == 0)) {
SOURCE(36326, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(36335, 96)
   lab←L100141: ;
   if ( ( ((* (( (ptr) l←v16548)+2) ) != 0) ? ( (int)(*  (ptr) (* (( (ptr) l←v16548)+2) ) ) <  (int)(unchangedHead←v8300 + deleteChars←v8328)) : 0 ) ) {
      }
   else {
      goto lab←L100139;
      };
SOURCE(36413, 18)
   l←v16548 = (* (( (ptr) l←v16548)+2) );
   goto lab←L100141;
   lab←L100139: ;
SOURCE(36434, 27)
   ageAtEndOfCut←v16492 = (* (( (ptr) l←v16548)+1) );
SOURCE(36464, 332)
   lab←L100144: ;
   if ( ( (0 != atHead←v16520) ? ((* (( (ptr) viewerInfo←v8272)+9) ) != 0) : 0 ) ) {
      }
   else {
      goto lab←L100142;
      };
SOURCE(36509, 287)
   {
      word var←c47676;
      var←c47676 = (*  (ptr) (* (( (ptr) viewerInfo←v8272)+9) ) );
      if (( (int)var←c47676 >=  (int)(unchangedHead←v8300 + deleteChars←v8328))) {
SOURCE(36589, 97)
         (*  (ptr) (* (( (ptr) viewerInfo←v8272)+9) ) ) = (((*  (ptr) (* (( (ptr) viewerInfo←v8272)+9) ) ) + insertChars←v8356) - deleteChars←v8328);
SOURCE(36688, 14)
         atHead←v16520 = 0;
         }
      else {
         if (( (int)var←c47676 >=  (int)unchangedHead←v8300)) {
SOURCE(36725, 44)
            (* (( (ptr) viewerInfo←v8272)+9) ) = (* (( (ptr) (* (( (ptr) viewerInfo←v8272)+9) ))+2) );
            }
         else {
SOURCE(36782, 14)
            atHead←v16520 = 0;
            };
         };
      };
   goto lab←L100144;
   lab←L100142: ;
SOURCE(36808, 417)
   if (((* (( (ptr) viewerInfo←v8272)+9) ) != 0)) {
SOURCE(36845, 22)
      l←v16548 = (* (( (ptr) viewerInfo←v8272)+9) );
SOURCE(36869, 356)
      lab←L100147: ;
      if ( ( (l←v16548 != 0) ? ((* (( (ptr) l←v16548)+2) ) != 0) : 0 ) ) {
         }
      else {
         goto lab←L100145;
         };
SOURCE(36995, 230)
      {
         word var←c47708;
         var←c47708 = (*  (ptr) (* (( (ptr) l←v16548)+2) ) );
         if (( (int)var←c47708 >=  (int)(unchangedHead←v8300 + deleteChars←v8328))) {
SOURCE(37064, 73)
            (*  (ptr) (* (( (ptr) l←v16548)+2) ) ) = (((*  (ptr) (* (( (ptr) l←v16548)+2) ) ) + insertChars←v8356) - deleteChars←v8328);
SOURCE(37139, 10)
            l←v16548 = (* (( (ptr) l←v16548)+2) );
            }
         else {
            if (( (int)var←c47708 >=  (int)unchangedHead←v8300)) {
SOURCE(37172, 20)
               (* (( (ptr) l←v16548)+2) ) = (* (( (ptr) (* (( (ptr) l←v16548)+2) ))+2) );
               }
            else {
SOURCE(37205, 20)
               l←v16548 = (* (( (ptr) l←v16548)+2) );
               };
            };
         };
      goto lab←L100147;
      lab←L100145: ;
      };
SOURCE(37230, 5608)
   if (((* (( (ptr) viewerInfo←v8272)+9) ) == 0) || ( (int)(*  (ptr) (* (( (ptr) viewerInfo←v8272)+9) ) ) >=  (int)(unchangedHead←v8300 + 
   insertChars←v8356))) {
SOURCE(37335, 5503)
      if (((* (( (ptr) viewerInfo←v8272)+9) ) == 0) || ( (int)(*  (ptr) (* (( (ptr) viewerInfo←v8272)+9) ) ) !=  (int)(unchangedHead←v8300 + 
      insertChars←v8356))) {
SOURCE(37435, 5403)
         {
            word var←c47740;
            var←c47740 = XR←NewObject(12, (* (( (ptr) gf←c50396)+30) ));
            (*  (ptr) var←c47740 ) = (unchangedHead←v8300 + insertChars←v8356);
            (* (( (ptr) var←c47740)+1) ) = ageAtEndOfCut←v16492;
            (* (( (ptr) var←c47740)+2) ) = (* (( (ptr) viewerInfo←v8272)+9) );
            (* (( (ptr) viewerInfo←v8272)+9) ) = var←c47740;
            };
         };
SOURCE(37529, 5309)
      if (( (int)insertChars←v8356 !=  (int)0)) {
SOURCE(37553, 5285)
         {
            word var←c47772;
            var←c47772 = XR←NewObject(12, (* (( (ptr) gf←c50396)+30) ));
            (*  (ptr) var←c47772 ) = unchangedHead←v8300;
            (* (( (ptr) var←c47772)+1) ) = ((* (( (ptr) gf←c50396)+18)/* youngest←v4708 */  ) - 1);
            (* (( (ptr) var←c47772)+2) ) = (* (( (ptr) viewerInfo←v8272)+9) );
            (* (( (ptr) viewerInfo←v8272)+9) ) = var←c47772;
            };
         };
      }
   else {
SOURCE(37639, 22)
      l←v16548 = (* (( (ptr) viewerInfo←v8272)+9) );
SOURCE(37663, 96)
      lab←L100150: ;
      if ( ( ((* (( (ptr) l←v16548)+2) ) != 0) ? ( (int)(*  (ptr) (* (( (ptr) l←v16548)+2) ) ) <  (int)(unchangedHead←v8300 + insertChars←v8356)) : 0 ) ) {
         }
      else {
         goto lab←L100148;
         };
SOURCE(37741, 18)
      l←v16548 = (* (( (ptr) l←v16548)+2) );
      goto lab←L100150;
      lab←L100148: ;
SOURCE(37761, 5077)
      if (((* (( (ptr) l←v16548)+2) ) == 0) || ( (int)(*  (ptr) (* (( (ptr) l←v16548)+2) ) ) !=  (int)(unchangedHead←v8300 + insertChars←v8356))) {
SOURCE(37837, 5001)
         {
            word var←c47804;
            var←c47804 = XR←NewObject(12, (* (( (ptr) gf←c50396)+30) ));
            (*  (ptr) var←c47804 ) = (unchangedHead←v8300 + insertChars←v8356);
            (* (( (ptr) var←c47804)+1) ) = ageAtEndOfCut←v16492;
            (* (( (ptr) var←c47804)+2) ) = (* (( (ptr) l←v16548)+2) );
            (* (( (ptr) l←v16548)+2) ) = var←c47804;
            };
         };
SOURCE(37907, 4931)
      if (( (int)insertChars←v8356 !=  (int)0)) {
SOURCE(37931, 4907)
         {
            word var←c47836;
            var←c47836 = XR←NewObject(12, (* (( (ptr) gf←c50396)+30) ));
            (*  (ptr) var←c47836 ) = unchangedHead←v8300;
            (* (( (ptr) var←c47836)+1) ) = ((* (( (ptr) gf←c50396)+18)/* youngest←v4708 */  ) - 1);
            (* (( (ptr) var←c47836)+2) ) = (* (( (ptr) l←v16548)+2) );
            (* (( (ptr) l←v16548)+2) ) = var←c47836;
            };
         };
      };
SOURCE(37987, 109)
   l←v16548 = (* (( (ptr) viewerInfo←v8272)+9) );
   lab←L100154: ;
   if ((l←v16548 != 0)) {
      }
   else {
      goto lab←L100151;
      };
SOURCE(38039, 57)
   if (( (int)(* (( (ptr) l←v16548)+1) ) >  (int)(* (( (ptr) gf←c50396)+17)/* oldest←v4680 */  ))) {
SOURCE(38068, 28)
      (* (( (ptr) l←v16548)+1) ) = (* (( (ptr) gf←c50396)+17)/* oldest←v4680 */  );
      };
   l←v16548 = (* (( (ptr) l←v16548)+2) );
   goto lab←L100154;
   lab←L100151: ;
SOURCE(38099, 22)
   l←v16548 = (* (( (ptr) viewerInfo←v8272)+9) );
SOURCE(38123, 210)
   lab←L100157: ;
   if ( ( (l←v16548 != 0) ? ((* (( (ptr) l←v16548)+2) ) != 0) : 0 ) ) {
      }
   else {
      goto lab←L100155;
      };
SOURCE(38249, 84)
   if (( (int)(* (( (ptr) l←v16548)+1) ) ==  (int)(* (( (ptr) (* (( (ptr) l←v16548)+2) ))+1) ))) {
SOURCE(38288, 26)
      (* (( (ptr) l←v16548)+2) ) = (* (( (ptr) (* (( (ptr) l←v16548)+2) ))+2) );
      }
   else {
SOURCE(38314, 19)
      l←v16548 = (* (( (ptr) l←v16548)+2) );
      };
   goto lab←L100157;
   lab←L100155: ;
   }

static word FindEnd←P1980(viewerInfo←v8416)
   word viewerInfo←v8416;
   {
   register ptr gf←c50428 =  (ptr) &globalframe;
   word sample←v8460;
   /* FindEnd: */ 
SOURCE(38341, 533)
SOURCE(38429, 42)
   if (( (int)(* (( (ptr) viewerInfo←v8416)+3) ) !=  (int)0)) {
SOURCE(38471, 5)
      (void) XR←RaiseUnnamedError();
      };
SOURCE(38478, 396)
   {
      word minAge←v16676;
      word endOfAge←v16704 = 2147483647;
SOURCE(38481, 22)
      minAge←v16676 = ((* (( (ptr) gf←c50428)+17)/* oldest←v4680 */  ) + 2);
SOURCE(38532, 210)
      {
         register word l←v16748;
         l←v16748 = (* (( (ptr) viewerInfo←v8416)+9) );
         lab←L100161: ;
         if ((l←v16748 != 0)) {
            }
         else {
            goto lab←L100158;
            };
SOURCE(38619, 123)
         if (( (int)(* (( (ptr) l←v16748)+1) ) <=  (int)minAge←v16676)) {
SOURCE(38653, 66)
            if (((* (( (ptr) l←v16748)+2) ) == 0)) {
               endOfAge←v16704 = 2147483647;
               }
            else {
               endOfAge←v16704 = (*  (ptr) (* (( (ptr) l←v16748)+2) ) );
               };
SOURCE(38721, 21)
            minAge←v16676 = (* (( (ptr) l←v16748)+1) );
            };
         l←v16748 = (* (( (ptr) l←v16748)+2) );
         goto lab←L100161;
         lab←L100158: ;
         };
SOURCE(38753, 121)
      if (( (int)endOfAge←v16704 ==  (int)2147483647)) {
         return((* (( (ptr) viewerInfo←v8416)+4) ));
         }
      else {
         return(IOP2( * ,  (int)endOfAge←v16704,  (int)2000));
         };
      };
   }

static word StillInVoiceViewerList←P2040(viewerInfo←v8520)
   word viewerInfo←v8520;
   {
   register ptr gf←c50460 =  (ptr) &globalframe;
   word var←c8564;
   /* StillInVoiceViewerList: */ 
SOURCE(38880, 3958)
SOURCE(38979, 3859)
   {
      register word vList←v16876;
      {
         word pd289;
         pd289 = (* (( (ptr) (* (( (ptr) gf←c50460)+155)/* var←c43804 */  ))+22) );
         vList←v16876 = (word) ( *( (fPt) ((*  (ptr) pd289 ))))(pd289);
         };
      lab←L100165: ;
      if ((vList←v16876 != 0)) {
         }
      else {
         goto lab←L100162;
         };
SOURCE(39106, 45)
      if (((*  (ptr) vList←v16876 ) == viewerInfo←v8520)) {
SOURCE(39139, 12)
         return(1);
         };
      vList←v16876 = (* (( (ptr) vList←v16876)+1) );
      goto lab←L100165;
      lab←L100162: ;
      };
SOURCE(39162, 113)
   {
      word pd290;
      pd290 = (* (( (ptr) (* (( (ptr) gf←c50460)+156)/* var←c43868 */  ))+5) );
      (void) ( *( (fPt) ((*  (ptr) pd290 ))))((* (( (ptr) gf←c50460)+66) ), 1, pd290);
      };
SOURCE(39277, 21)
   {
      word pd291;
      pd291 = (* (( (ptr) (* (( (ptr) gf←c50460)+156)/* var←c43868 */  ))+6) );
      (void) ( *( (fPt) ((*  (ptr) pd291 ))))(pd291);
      };
SOURCE(39300, 13)
   return(0);
   }

static void PlayFromSelection←P2100(formal←c0463, viewer←v38432)
   word formal←c0463;
   word viewer←v38432;
   {
   register ptr gf←c50492 =  (ptr) &globalframe;
   word recordAtom←v38476;
   word quit←v38504;
   word v←v16920 = 0;
   W2 start←v16948;
   word viewerInfo←v16976 = 0;
   word node←v17004 = 0;
   word from←v17032;
   word to←v17060;
   /* PlayFromSelection: */ 
SOURCE(39319, 3519)
SOURCE(39319, 3519)
   recordAtom←v38476 = 1;
SOURCE(39319, 3519)
   quit←v38504 = 0;
SOURCE(39396, 28)
   start←v16948.f0 = 0;
   start←v16948.f1 = 0;
SOURCE(39513, 3325)
   {
      W8 var←c47900;
      {
         word pd292;
         pd292 = (* (( (ptr) (* (( (ptr) gf←c50492)+157)/* var←c43964 */  ))+63) );
         (void) ( *( (fPt) ((*  (ptr) pd292 ))))((word) &var←c47900, 0, pd292);
         };
      start←v16948 = (*  (W2Pt) (( (ptr) &var←c47900)+1) );
      v←v16920 = var←c47900.f0;
      };
SOURCE(39566, 3272)
   if ((v←v16920 == 0)) { goto then0293;};
   if ((v←v16920 != viewer←v38432)) { goto then0293;};
   {
      word pd294;
      pd294 = (* (( (ptr) (* (( (ptr) gf←c50492)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v16976 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd294 ))))(viewer←v38432, (* (( (ptr) gf←c50492)+47) ), pd294)
         , (* (( (ptr) gf←c50492)+42) ));
      };
   if ((viewerInfo←v16976 == 0)) {
      then0293: ;
SOURCE(39711, 73)
      {
         word pd295;
         pd295 = (* (( (ptr) (* (( (ptr) gf←c50492)+156)/* var←c43868 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd295 ))))((* (( (ptr) gf←c50492)+50) ), 1, pd295);
         };
SOURCE(39786, 21)
      {
         word pd296;
         pd296 = (* (( (ptr) (* (( (ptr) gf←c50492)+156)/* var←c43868 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd296 ))))(pd296);
         };
SOURCE(39809, 6)
      goto lab←L100166;
      };
SOURCE(39821, 46)
   {
      word pd297;
      pd297 = (* (( (ptr) (* (( (ptr) gf←c50492)+166)/* var←c47932 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd297 ))))((*  (ptr) ((* (( (ptr) (* (( (ptr) gf←c50492)+155)/* var←c43804 */  ))+6) )) ), pd297)
      ;
      };
SOURCE(39869, 34)
   {
      word pd298;
      pd298 = (* (( (ptr) (* (( (ptr) gf←c50492)+155)/* var←c43804 */  ))+30) );
      (void) ( *( (fPt) ((*  (ptr) pd298 ))))(pd298);
      };
SOURCE(39905, 33)
   {
      word pd299;
      pd299 = (* (( (ptr) (* (( (ptr) gf←c50492)+155)/* var←c43804 */  ))+39) );
      (void) ( *( (fPt) ((*  (ptr) pd299 ))))(pd299);
      };
SOURCE(39940, 2898)
   if ((0 == (word) StillInVoiceViewerList←P2040(viewerInfo←v16976))) {
SOURCE(39984, 6)
      goto lab←L100166;
      };
SOURCE(39993, 2845)
   {
      word var←c47964;
      {
         word pd300;
         pd300 = (* (( (ptr) (* (( (ptr) gf←c50492)+157)/* var←c43964 */  ))+93) );
         var←c47964 = (word) ( *( (fPt) ((*  (ptr) pd300 ))))(viewer←v38432, pd300);
         };
      {
         word pd301;
         pd301 = (* (( (ptr) (* (( (ptr) gf←c50492)+157)/* var←c43964 */  ))+91) );
         node←v17004 = (word) ( *( (fPt) ((*  (ptr) pd301 ))))(var←c47964, pd301);
         };
      };
SOURCE(40049, 18)
   from←v17032 = start←v16948.f1;
SOURCE(40069, 2769)
   to←v17060 = IOP2( / ,  (int)(word) FindEnd←P1980(viewerInfo←v16976),  (int)2000);
SOURCE(40133, 195)
   if (( (int)to←v17060 >=  (int)from←v17032)) {
SOURCE(40153, 63)
      {
         word pd302;
         pd302 = (* (( (ptr) (* (( (ptr) gf←c50492)+155)/* var←c43804 */  ))+26) );
         (void) ( *( (fPt) ((*  (ptr) pd302 ))))(viewer←v38432, node←v17004, from←v17032, to←v17060, pd302);
         };
      }
   else {
SOURCE(40219, 85)
      {
         word pd303;
         pd303 = (* (( (ptr) (* (( (ptr) gf←c50492)+156)/* var←c43868 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd303 ))))((* (( (ptr) gf←c50492)+67) ), 1, pd303);
         };
SOURCE(40306, 22)
      {
         word pd304;
         pd304 = (* (( (ptr) (* (( (ptr) gf←c50492)+156)/* var←c43868 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd304 ))))(pd304);
         };
      };
   /* removed tail goto */ 
   lab←L100166: ;
   (*  (ptr) formal←c0463 ) = recordAtom←v38476;
   (* (( (ptr) formal←c0463)+1) ) = quit←v38504;
   return;
   }

static void ResumeFromSelection←P2160(formal←c0479, viewer←v38564)
   word formal←c0479;
   word viewer←v38564;
   {
   register ptr gf←c50524 =  (ptr) &globalframe;
   word recordAtom←v38608;
   word quit←v38636;
   word v←v17104 = 0;
   W2 start←v17132;
   word viewerInfo←v17160 = 0;
   word node←v17188 = 0;
   W3 replaceRopeInterval←v17216;
   word startDelete←v17244;
   word endDelete←v17272;
   /* ResumeFromSelection: */ 
SOURCE(40337, 2501)
SOURCE(40337, 2501)
   recordAtom←v38608 = 1;
SOURCE(40337, 2501)
   quit←v38636 = 0;
SOURCE(40416, 28)
   start←v17132.f0 = 0;
   start←v17132.f1 = 0;
SOURCE(40517, 48)
   replaceRopeInterval←v17216.f0 = 0;
   replaceRopeInterval←v17216.f1 = 0;
   replaceRopeInterval←v17216.f2 = 0;
SOURCE(40597, 2241)
   {
      W8 var←c48060;
      {
         word pd305;
         pd305 = (* (( (ptr) (* (( (ptr) gf←c50524)+157)/* var←c43964 */  ))+63) );
         (void) ( *( (fPt) ((*  (ptr) pd305 ))))((word) &var←c48060, 0, pd305);
         };
      start←v17132 = (*  (W2Pt) (( (ptr) &var←c48060)+1) );
      v←v17104 = var←c48060.f0;
      };
SOURCE(40650, 2188)
   if ((v←v17104 == 0)) { goto then0306;};
   if ((v←v17104 != viewer←v38564)) { goto then0306;};
   {
      word pd307;
      pd307 = (* (( (ptr) (* (( (ptr) gf←c50524)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v17160 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd307 ))))(viewer←v38564, (* (( (ptr) gf←c50524)+47) ), pd307)
         , (* (( (ptr) gf←c50524)+42) ));
      };
   if ((viewerInfo←v17160 == 0)) {
      then0306: ;
SOURCE(40795, 73)
      {
         word pd308;
         pd308 = (* (( (ptr) (* (( (ptr) gf←c50524)+156)/* var←c43868 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd308 ))))((* (( (ptr) gf←c50524)+50) ), 1, pd308);
         };
SOURCE(40870, 21)
      {
         word pd309;
         pd309 = (* (( (ptr) (* (( (ptr) gf←c50524)+156)/* var←c43868 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd309 ))))(pd309);
         };
SOURCE(40893, 6)
      goto lab←L100167;
      };
SOURCE(40905, 46)
   {
      word pd310;
      pd310 = (* (( (ptr) (* (( (ptr) gf←c50524)+166)/* var←c47932 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd310 ))))((*  (ptr) ((* (( (ptr) (* (( (ptr) gf←c50524)+155)/* var←c43804 */  ))+6) )) ), pd310)
      ;
      };
SOURCE(40953, 34)
   {
      word pd311;
      pd311 = (* (( (ptr) (* (( (ptr) gf←c50524)+155)/* var←c43804 */  ))+30) );
      (void) ( *( (fPt) ((*  (ptr) pd311 ))))(pd311);
      };
SOURCE(40989, 33)
   {
      word pd312;
      pd312 = (* (( (ptr) (* (( (ptr) gf←c50524)+155)/* var←c43804 */  ))+39) );
      (void) ( *( (fPt) ((*  (ptr) pd312 ))))(pd312);
      };
SOURCE(41024, 1814)
   if ((0 == (word) StillInVoiceViewerList←P2040(viewerInfo←v17160))) {
SOURCE(41068, 6)
      goto lab←L100167;
      };
SOURCE(41076, 1762)
   {
      word pd313;
      pd313 = (* (( (ptr) (* (( (ptr) gf←c50524)+155)/* var←c43804 */  ))+23) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd313 ))))(viewerInfo←v17160, pd313))) {
SOURCE(41128, 6)
         goto lab←L100167;
         };
      };
SOURCE(41137, 1701)
   {
      word var←c48092;
      {
         word pd314;
         pd314 = (* (( (ptr) (* (( (ptr) gf←c50524)+157)/* var←c43964 */  ))+93) );
         var←c48092 = (word) ( *( (fPt) ((*  (ptr) pd314 ))))(viewer←v38564, pd314);
         };
      {
         word pd315;
         pd315 = (* (( (ptr) (* (( (ptr) gf←c50524)+157)/* var←c43964 */  ))+91) );
         node←v17188 = (word) ( *( (fPt) ((*  (ptr) pd315 ))))(var←c48092, pd315);
         };
      };
SOURCE(41193, 63)
   startDelete←v17244 = IOP2( * ,  (int)start←v17132.f1,  (int)2000);
SOURCE(41258, 1580)
   endDelete←v17272 = (word) FindEnd←P1980(viewerInfo←v17160);
SOURCE(41291, 185)
   if (( (int)startDelete←v17244 >  (int)endDelete←v17272)) {
SOURCE(41324, 85)
      {
         word pd316;
         pd316 = (* (( (ptr) (* (( (ptr) gf←c50524)+156)/* var←c43868 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd316 ))))((* (( (ptr) gf←c50524)+67) ), 1, pd316);
         };
SOURCE(41411, 21)
      {
         word pd317;
         pd317 = (* (( (ptr) (* (( (ptr) gf←c50524)+156)/* var←c43868 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd317 ))))(pd317);
         };
SOURCE(41434, 33)
      (* (( (ptr) viewerInfo←v17160)+12) ) = 0;
SOURCE(41469, 7)
      goto lab←L100167;
      };
SOURCE(41480, 1358)
   replaceRopeInterval←v17216.f0 = (* (( (ptr) viewerInfo←v17160)+2) );
   replaceRopeInterval←v17216.f1 = startDelete←v17244;
   replaceRopeInterval←v17216.f2 = (endDelete←v17272 - startDelete←v17244);
SOURCE(41598, 1240)
   {
      word var←c48124;
      {
         word var←c48156;
         var←c48156 = XR←NewObject(24, (* (( (ptr) gf←c50524)+29) ));
         (*  (ptr) var←c48156 ) = viewer←v38564;
         (* (( (ptr) var←c48156)+1) ) = viewerInfo←v17160;
         (*  (W3Pt) (( (ptr) var←c48156)+2) ) = replaceRopeInterval←v17216;
         (* (( (ptr) var←c48156)+5) ) = node←v17188;
         var←c48124 = var←c48156;
         };
      {
         word pd318;
         pd318 = (* (( (ptr) (* (( (ptr) gf←c50524)+155)/* var←c43804 */  ))+40) );
         (void) ( *( (fPt) ((*  (ptr) pd318 ))))(var←c48124, pd318);
         };
      };
   /* removed tail goto */ 
   lab←L100167: ;
   (*  (ptr) formal←c0479 ) = recordAtom←v38608;
   (* (( (ptr) formal←c0479)+1) ) = quit←v38636;
   return;
   }

static void ResumeFromEnd←P2220(formal←c0489, viewer←v38696)
   word formal←c0489;
   word viewer←v38696;
   {
   register ptr gf←c50556 =  (ptr) &globalframe;
   word recordAtom←v38740;
   word quit←v38768;
   word viewerInfo←v17316;
   word node←v17344 = 0;
   W3 replaceRopeInterval←v17372;
   /* ResumeFromEnd: */ 
SOURCE(41784, 1054)
SOURCE(41784, 1054)
   recordAtom←v38740 = 1;
SOURCE(41784, 1054)
   quit←v38768 = 0;
SOURCE(41831, 136)
   {
      word pd319;
      pd319 = (* (( (ptr) (* (( (ptr) gf←c50556)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v17316 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd319 ))))(viewer←v38696, (* (( (ptr) gf←c50556)+47) ), pd319)
         , (* (( (ptr) gf←c50556)+42) ));
      };
SOURCE(41993, 48)
   replaceRopeInterval←v17372.f0 = 0;
   replaceRopeInterval←v17372.f1 = 0;
   replaceRopeInterval←v17372.f2 = 0;
SOURCE(42044, 46)
   {
      word pd320;
      pd320 = (* (( (ptr) (* (( (ptr) gf←c50556)+166)/* var←c47932 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd320 ))))((*  (ptr) ((* (( (ptr) (* (( (ptr) gf←c50556)+155)/* var←c43804 */  ))+6) )) ), pd320)
      ;
      };
SOURCE(42092, 34)
   {
      word pd321;
      pd321 = (* (( (ptr) (* (( (ptr) gf←c50556)+155)/* var←c43804 */  ))+30) );
      (void) ( *( (fPt) ((*  (ptr) pd321 ))))(pd321);
      };
SOURCE(42128, 33)
   {
      word pd322;
      pd322 = (* (( (ptr) (* (( (ptr) gf←c50556)+155)/* var←c43804 */  ))+39) );
      (void) ( *( (fPt) ((*  (ptr) pd322 ))))(pd322);
      };
SOURCE(42163, 675)
   if ((0 == (word) StillInVoiceViewerList←P2040(viewerInfo←v17316))) {
SOURCE(42207, 6)
      goto lab←L100168;
      };
SOURCE(42216, 622)
   {
      word pd323;
      pd323 = (* (( (ptr) (* (( (ptr) gf←c50556)+155)/* var←c43804 */  ))+23) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd323 ))))(viewerInfo←v17316, pd323))) {
SOURCE(42268, 6)
         goto lab←L100168;
         };
      };
SOURCE(42277, 561)
   {
      word var←c48220;
      {
         word pd324;
         pd324 = (* (( (ptr) (* (( (ptr) gf←c50556)+157)/* var←c43964 */  ))+93) );
         var←c48220 = (word) ( *( (fPt) ((*  (ptr) pd324 ))))(viewer←v38696, pd324);
         };
      {
         word pd325;
         pd325 = (* (( (ptr) (* (( (ptr) gf←c50556)+157)/* var←c43964 */  ))+91) );
         node←v17344 = (word) ( *( (fPt) ((*  (ptr) pd325 ))))(var←c48220, pd325);
         };
      };
SOURCE(42333, 505)
   replaceRopeInterval←v17372.f0 = (* (( (ptr) viewerInfo←v17316)+2) );
   replaceRopeInterval←v17372.f1 = (word) FindEnd←P1980(viewerInfo←v17316);
   replaceRopeInterval←v17372.f2 = 0;
SOURCE(42437, 401)
   {
      word var←c48252;
      {
         word var←c48284;
         var←c48284 = XR←NewObject(24, (* (( (ptr) gf←c50556)+29) ));
         (*  (ptr) var←c48284 ) = viewer←v38696;
         (* (( (ptr) var←c48284)+1) ) = viewerInfo←v17316;
         (*  (W3Pt) (( (ptr) var←c48284)+2) ) = replaceRopeInterval←v17372;
         (* (( (ptr) var←c48284)+5) ) = node←v17344;
         var←c48252 = var←c48284;
         };
      {
         word pd326;
         pd326 = (* (( (ptr) (* (( (ptr) gf←c50556)+155)/* var←c43804 */  ))+40) );
         (void) ( *( (fPt) ((*  (ptr) pd326 ))))(var←c48252, pd326);
         };
      };
   /* removed tail goto */ 
   lab←L100168: ;
   (*  (ptr) formal←c0489 ) = recordAtom←v38740;
   (* (( (ptr) formal←c0489)+1) ) = quit←v38768;
   return;
   }

static void SetCriticalSilenceLength←P2280(formal←c0495, formal←c0597)
   word formal←c0495;
   word formal←c0597;
   {
   W8 var←c50588;
   /* declaration of cmd←v38828 skipped */ 
   register ptr gf←c50620 =  (ptr) &globalframe;
   word result←v38872;
   /* declaration of msg←v38900 skipped */ 
   var←c50588.f4/* cmd←v38828 */  = formal←c0597;
   /* SetCriticalSilenceLength: */ 
SOURCE(42687, 367)
SOURCE(42687, 367)
   result←v38872 = 0;
SOURCE(42687, 367)
   var←c50588.f5/* msg←v38900 */  = 0;
SOURCE(42737, 317)
SOURCE(42739, 84)
   {
      word argv←v17416;
SOURCE(42739, 84)
      {
         /* declaration of var←c01 skipped */ 
         var←c50588.f6/* var←c01 */  = (* (( (ptr) (* (( (ptr) gf←c50620)+167)/* var←c48316 */  ))+6) );
         {
            /* declaration of var←c02 skipped */ 
            {
               word var←c03;
               {
                  word var←c0578;
                  var←c0578 = (word) &var←c50588;
                  var←c03 = (word) XR←Enable(( ((word)  (fPt) NoName←Q5304) ), ( ((word)  (fPt) NoName←Q5364) ), var←c0578);
                  };
               if ((var←c03 == 2)) {
                  goto lab←L100170;
                  };
               };
            argv←v17416 = var←c50588.f7/* var←c02 */ ;
            };
         };
SOURCE(42853, 84)
      if (((*  (ptr) argv←v17416 ) != 2)) {
SOURCE(42877, 60)
         var←c50588.f5/* msg←v38900 */  = (* (( (ptr) gf←c50620)+70) );
SOURCE(42939, 10)
         goto lab←L100170;
         };
SOURCE(42953, 54)
      {
         word pd327;
         word limit328;
         pd327 = (* (( (ptr) (* (( (ptr) gf←c50620)+162)/* var←c46780 */  ))+10) );
         (* (( (ptr) gf←c50620)+25)/* criticalSilenceLength←v4988 */  ) = IOP2( * ,  (int)(word) ( *( (fPt) ((*  (ptr) pd327 ))))(
               (* ((( (ptr) argv←v17416)+1)+(
                     limit328 = (*  (ptr) argv←v17416 ),
                     BCK(1, limit328)
                     )) ), 8, pd327),  (int)8);
         };
SOURCE(43009, 14)
      goto lab←L100169;
      };
   /* c2c skipped dead code */ 
   lab←L100170: ;
SOURCE(43031, 23)
   result←v38872 = (* (( (ptr) gf←c50620)+71) );
   /* removed bogus assignment */ 
   goto lab←L100169;
   lab←L100169: ;
   (*  (ptr) formal←c0495 ) = result←v38872;
   (* (( (ptr) formal←c0495)+1) ) = var←c50588.f5/* msg←v38900 */ ;
   return;
   }

static word NoName←Q5304(formal←c0573)
   word formal←c0573;
   {
SOURCE(42739, 84)
   {
      word pd329;
      pd329 = (* (( (ptr) formal←c0573)+6) );
      (* (( (ptr) formal←c0573)+7) ) = (word) ( *( (fPt) ((*  (ptr) pd329 ))))((* (( (ptr) formal←c0573)+4) ), 0, pd329);
      };
   return(0);
   }

static void AdjustSilences←P2340(formal←c0510, viewer←v38960)
   word formal←c0510;
   word viewer←v38960;
   {
   register ptr gf←c50652 =  (ptr) &globalframe;
   word recordAtom←v39004;
   word quit←v39032;
   word viewerInfo←v17460 = 0;
   word selectionToRemove←v17488 = 0;
   word startOfSilence←v17516;
   word lengthOfSilence←v17544;
   /* AdjustSilences: */ 
SOURCE(43058, 1270)
SOURCE(43058, 1270)
   recordAtom←v39004 = 1;
SOURCE(43058, 1270)
   quit←v39032 = 0;
SOURCE(43240, 101)
   {
      word pd330;
      pd330 = (* (( (ptr) (* (( (ptr) gf←c50652)+154)/* var←c43740 */  ))+29) );
      viewerInfo←v17460 = XR←Narrow((word) ( *( (fPt) ((*  (ptr) pd330 ))))(viewer←v38960, (* (( (ptr) gf←c50652)+47) ), pd330)
         , (* (( (ptr) gf←c50652)+42) ));
      };
SOURCE(43343, 194)
   {
      word pd331;
      pd331 = (* (( (ptr) (* (( (ptr) gf←c50652)+155)/* var←c43804 */  ))+23) );
      if ((0 == (word) ( *( (fPt) ((*  (ptr) pd331 ))))(viewerInfo←v17460, pd331))) {
SOURCE(43399, 106)
         {
            word pd332;
            pd332 = (* (( (ptr) (* (( (ptr) gf←c50652)+156)/* var←c43868 */  ))+5) );
            (void) ( *( (fPt) ((*  (ptr) pd332 ))))((* (( (ptr) gf←c50652)+72) ), 1, pd332);
            };
SOURCE(43507, 21)
         {
            word pd333;
            pd333 = (* (( (ptr) (* (( (ptr) gf←c50652)+156)/* var←c43868 */  ))+6) );
            (void) ( *( (fPt) ((*  (ptr) pd333 ))))(pd333);
            };
SOURCE(43530, 7)
         goto lab←L100174;
         };
      };
SOURCE(43540, 19)
   {
      word pd334;
      pd334 = (* (( (ptr) (* (( (ptr) gf←c50652)+157)/* var←c43964 */  ))+72) );
      (void) ( *( (fPt) ((*  (ptr) pd334 ))))(pd334);
      };
SOURCE(43562, 766)
   lab←L100177: ;
SOURCE(43565, 168)
   {
      W2 var←c48380;
      {
         word pd335;
         pd335 = (* (( (ptr) (* (( (ptr) gf←c50652)+155)/* var←c43804 */  ))+45) );
         (void) ( *( (fPt) ((*  (ptr) pd335 ))))((word) &var←c48380, (* (( (ptr) viewerInfo←v17460)+5) ), (* (( (ptr) gf←c50652)+25)
            /* criticalSilenceLength←v4988 */  ), pd335);
         };
      lengthOfSilence←v17544 = var←c48380.f1;
      startOfSilence←v17516 = var←c48380.f0;
      };
SOURCE(43735, 99)
   if (( (int)lengthOfSilence←v17544 ==  (int) (word) -1)) {
SOURCE(43768, 33)
      (* (( (ptr) viewerInfo←v17460)+12) ) = 0;
SOURCE(43803, 22)
      {
         word pd336;
         pd336 = (* (( (ptr) (* (( (ptr) gf←c50652)+157)/* var←c43964 */  ))+73) );
         (void) ( *( (fPt) ((*  (ptr) pd336 ))))(pd336);
         };
SOURCE(43827, 7)
      goto lab←L100174;
      };
SOURCE(43838, 314)
   {
      word var←c48412;
      word var←c48476;
      {
         word var←c48444;
         {
            word pd337;
            pd337 = (* (( (ptr) (* (( (ptr) gf←c50652)+157)/* var←c43964 */  ))+93) );
            var←c48444 = (word) ( *( (fPt) ((*  (ptr) pd337 ))))(viewer←v38960, pd337);
            };
         {
            word pd338;
            pd338 = (* (( (ptr) (* (( (ptr) gf←c50652)+157)/* var←c43964 */  ))+91) );
            var←c48412 = (word) ( *( (fPt) ((*  (ptr) pd338 ))))(var←c48444, pd338);
            };
         };
      var←c48476 = XR←NewObject(24, (* (( (ptr) gf←c50652)+29) ));
      (*  (ptr) var←c48476 ) = viewer←v38960;
      (* (( (ptr) var←c48476)+1) ) = viewerInfo←v17460;
      (* (( (ptr) var←c48476)+2) ) = (* (( (ptr) viewerInfo←v17460)+2) );
      (* (( (ptr) var←c48476)+3) ) = (startOfSilence←v17516 + (* (( (ptr) gf←c50652)+25)/* criticalSilenceLength←v4988 */  ));
      (* (( (ptr) var←c48476)+4) ) = (lengthOfSilence←v17544 - (* (( (ptr) gf←c50652)+25)/* criticalSilenceLength←v4988 */  ));
      (* (( (ptr) var←c48476)+5) ) = var←c48412;
      selectionToRemove←v17488 = var←c48476;
      };
SOURCE(44157, 128)
   {
      W3 var←c48508;
      {
         word pd339;
         pd339 = (* (( (ptr) (* (( (ptr) gf←c50652)+155)/* var←c43804 */  ))+48) );
         (void) ( *( (fPt) ((*  (ptr) pd339 ))))((word) &var←c48508, selectionToRemove←v17488, 0, 0, 1, pd339);
         };
      };
SOURCE(44287, 41)
   {
      word pd340;
      pd340 = (* (( (ptr) (* (( (ptr) gf←c50652)+155)/* var←c43804 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd340 ))))(viewer←v38960, pd340);
      };
   goto lab←L100177;
   lab←L100174: ;
   (*  (ptr) formal←c0510 ) = recordAtom←v39004;
   (* (( (ptr) formal←c0510)+1) ) = quit←v39032;
   return;
   }

static void NoName←Q5364(formal←c0516, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
   word formal←c0516;
   word formal←c200000;
   word formal←c200001;
   word formal←c200002;
   word formal←c200003;
   {
   register ptr gf←c0575 =  (ptr) &globalframe;
   if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0575)+167)/* var←c48316 */  ))+4) ))) {
      {
         word errorMsg←v41828;
         errorMsg←v41828 = (*  (ptr) formal←c200003 );
SOURCE(42824, 14)
         (* (( (ptr) formal←c200000)+5) ) = errorMsg←v41828;
SOURCE(42840, 9)
         (*  (ptr) formal←c0516 ) = 2;
         (* (( (ptr) formal←c0516)+1) ) = 2;
         return;
         };
      };
   (*  (ptr) formal←c0516 ) = 0;
   (* (( (ptr) formal←c0516)+1) ) = 0;
   return;
   }

/* file: VoiceMarkersImpl, module: VoiceMarkersImpl, compiled at: June 7, 1992 11:38:21 am PDT */ 
extern void XR←install←VoiceMarkersImpl() {
   NoName←Q5244();
   }
extern void XR←run←VoiceMarkersImpl() { XR←Start(&globalframe); }