|
|
1.1 ! root 1: .lg 0 ! 2: .ds sd /usr/lib/tmac ! 3: .\" RT - reset everything to normal state ! 4: .de RT ! 5: .if \\n(CS \{\ ! 6: .SR 1 ! 7: .BG\} ! 8: .if !\\n(1T .BG ! 9: .ce 0 ! 10: .if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .if !\\n(FT .di ! 11: .ul 0 ! 12: .if \\n(QP \{\ ! 13: . ll +\\n(QIu ! 14: . in -\\n(QIu ! 15: . nr QP -1\} ! 16: .if \\n(NX<=1 .if \\n(AJ=0 .if \\n(FT=0 .ll \\n(LLu ! 17: .if !\\n(IF \{\ ! 18: . ps \\n(PS ! 19: . ie \\n(VS>=41 .vs \\n(VSu ! 20: . el .vs \\n(VSp\} ! 21: .ie \\n(IP \{\ ! 22: . in \\n(I\\n(IRu ! 23: . nr IP -1\} ! 24: .el .if !\\n(IR \{\ ! 25: . nr I1 \\n(PIu ! 26: . nr I2 0 ! 27: . nr I3 0 ! 28: . nr I4 0 ! 29: . nr I5 0\} ! 30: .ft 1 ! 31: .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n ! 32: .hy \\n(HY ! 33: .fi ! 34: .. ! 35: . \"IZ - initialization ! 36: .de IZ ! 37: .so \\*(sd/tmac.sdisp ! 38: .nr TN 0 ! 39: .em EM ! 40: . \" ACCENTS say \*'e or \*`e to get e acute or e grave both were 4/10 ! 41: .ds ' \h'\w'e'u*1/10'\z\(aa\h'-\w'e'u*1/10' ! 42: .ds ` \h'\w'e'u*2/10'\z\(ga\h'-\w'e'u*2/10' ! 43: . \" UMLAUT \*:u, etc. ! 44: .if t .ds : \\v'-0.6m'\\h'(1u-(\\\\n(.fu%2u))*0.13m+0.00m'\\z.\\h'0.2m'\\z.\\h'-((1u-(\\\\n(.fu%2u))*0.13m+0.20m)'\\v'0.6m' ! 45: .if n .ds : \z" ! 46: . \" TILDE and CIRCUMFLEX ! 47: .ds ^ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z^\\h'|\\\\n:u' ! 48: .ds ~ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z~\\h'|\\\\n:u' ! 49: . \" czech v symbol ! 50: .ds v \\\\k:\\\\h'+\\\\w'e'u/4u'\\\\v'-0.6m'\\\\s6v\\\\s0\\\\v'0.6m'\\\\h'|\\\\n:u' ! 51: . \" cedilla ! 52: .ds , \\\\k:\\\\h'\\\\w'c'u*0.4u'\\\\z,\\\\h'|\\\\n:u' ! 53: .so \\*(sd/tmac.srefs ! 54: .ch FO \\n(YYu ! 55: .if !\\n(FM .nr FM 1.i \"changed from 1.25 ! 56: .nr YY -\\n(FMu ! 57: .nr XX 0 1 ! 58: .nr IP 0 ! 59: .nr PI 5n ! 60: .nr QI 5n ! 61: .nr I0 \\n(PIu ! 62: .nr PS 10 ! 63: .nr VS 12 ! 64: .nr HY 14 ! 65: .ie n \{\ ! 66: . if !\\n(PD .nr PD 1v ! 67: . nr DV 1v\} ! 68: .el \{\ ! 69: . if !\\n(PD .nr PD 0.3v ! 70: . nr DV .5v\} ! 71: .nr ML 3v ! 72: .ps \\n(PS ! 73: .ie \\n(VS>=41 .vs \\n(VSu ! 74: .el .vs \\n(VSp ! 75: .nr IR 0 ! 76: .nr I0 0 ! 77: .nr I1 \\n(PIu ! 78: .nr TB 0 ! 79: .nr SJ \\n(.j ! 80: .nr LL 6i ! 81: .ll \\n(LLu ! 82: .nr LT \\n(.l ! 83: .lt \\n(LTu ! 84: .ev 1 ! 85: .if !\\n(FL .nr FL \\n(LLu*11u/12u ! 86: .ll \\n(FLu ! 87: .ps 8 ! 88: .vs 10p ! 89: .ev ! 90: .if \\*(CH .ds CH "\(hy \\\\n(PN \(hy ! 91: .wh 0 NP ! 92: .wh -\\n(FMu FO ! 93: .ch FO 16i ! 94: .wh -\\n(FMu FX ! 95: .ch FO -\\n(FMu ! 96: .wh -.618i-6u BT ! 97: ........if t .wh -\\n(FMu/2u BT ! 98: .if n .wh -\\n(FMu/2u-1v BT ! 99: .nr CW 0-1 ! 100: .nr GW 0-1 ! 101: .. ! 102: .de TM ! 103: .if !\\n(IM .if !\\n(MN .pn 0 ! 104: .so \\*(sd/tmac.scover ! 105: .if !\\n(IM .if !\\n(MN .rm IM MF MR ! 106: .if n .if !\\n(.T .pi /usr/bin/col ! 107: .nr ST 1 ! 108: .ds QF TECHNICAL MEMORANDUM ! 109: .br ! 110: .ds MN \\$1 ! 111: .if !"\\$1"" .nr MM 1 ! 112: .if !"\\$2"" .nr MC 1 ! 113: .if !"\\$3"" .nr MG 1 ! 114: .nr TN 1 ! 115: .if \\n(.$-1 .ds CA \\$2 ! 116: .if \\n(.$-2 .ds CC \\$3 ! 117: .rm RP S0 S2 AX ! 118: .. ! 119: . \" IM - internal memorandum ! 120: .de IM ! 121: .nr IM 1 ! 122: .TM "\\$1" "\\$2" "\\$3" ! 123: .rm QF ! 124: .RA ! 125: .rm RA RP MF MR ! 126: .. ! 127: . \" MF - memorandum for file. ! 128: .de MF ! 129: .nr MN 1 ! 130: .TM "\\$1" "\\$2" "\\$3" ! 131: .rm MR ! 132: .rm IM ! 133: .RA ! 134: .rm RA RP TM ! 135: .. ! 136: . \" MR - memo for record ! 137: .de MR ! 138: .nr MN 2 ! 139: .TM "\\$1" "\\$2" "\\$3" ! 140: .ds QF MEMORANDUM FOR RECORD ! 141: .rm MF ! 142: .RA ! 143: .rm RA RP IM TM ! 144: .. ! 145: . \" LT - letter ! 146: .de LT ! 147: .if !\\n(PO .ie n .nr PO 1.1i ! 148: .el .nr PO 1.1i ! 149: .po \\n(POu ! 150: .LP ! 151: .rs ! 152: .if !"\\$1"" \{\ ! 153: . vs -2p ! 154: . ta 4.9i 5.45i ! 155: . sp .2i ! 156: . nf ! 157: \s36\(L1\s0 \s18\f(HB\v'-1'A\h'-.1'T\h'-.1'&\h'-.1'T\v'1'\s0 ! 158: . br ! 159: \s7\l'7i'\s0 ! 160: . br ! 161: \s8\f(HBAT&T Bell Laboratories\fP \fH600 Mountain Avenue ! 162: . br ! 163: Murray Hill, NJ 07974-2070 ! 164: . br ! 165: 201-582-3000\f1\s0 ! 166: . sp -.75i ! 167: . vs ! 168: . fi \} ! 169: .if n \{\ ! 170: . sp 1i ! 171: . in 4.55i\} ! 172: .if t \{\ ! 173: . sp 1.10i ! 174: . in 4.85i\} ! 175: .ll 8i ! 176: \\*(DY ! 177: .ll ! 178: .in 0 ! 179: .br ! 180: .if t .sp 3 ! 181: .if n \{\ ! 182: . sp ! 183: . na\} ! 184: .nf ! 185: .rm CF ! 186: .de SG \" nested defn ! 187: .sp 2 ! 188: .ta 3.5i ! 189: Sincerely, ! 190: .sp 3 ! 191: \\\\$1 ! 192: .ds CH ! 193: \\.. ! 194: .. ! 195: .de OK ! 196: .br ! 197: .di ! 198: .di OD ! 199: .. ! 200: .de RP \" released paper ! 201: .nr ST 2 ! 202: .pn 0 ! 203: .rm SG CS TM QF IM MR MF EG ! 204: .br ! 205: .. ! 206: .de TR \" Comp. Sci. Tech Rept series. ! 207: .nr ST 3 ! 208: .pn 0 ! 209: .ds MN \\$1 ! 210: .rm SG CS TM QF IM MR M EG ! 211: .br ! 212: .. ! 213: . \"FP - font position for a family ! 214: .de FP ! 215: .ds TF \\$1 ! 216: .if '\\$1'palatino'\{\ ! 217: . fp 1 PA ! 218: . fp 2 PI ! 219: . fp 3 PB ! 220: . fp 4 PX\} ! 221: .if '\\$1'century'\{\ ! 222: . ie '\\*(.T'202'\{\ ! 223: . fp 1 NR Centsb ! 224: . fp 2 NI CentI ! 225: . fp 3 NB CentB ! 226: . fp 4 NX CentBI\} ! 227: . el \{\ ! 228: . fp 1 NR ! 229: . fp 2 NI ! 230: . fp 3 NB ! 231: . fp 4 NX\}\} ! 232: .if '\\$1'helvetica'\{\ ! 233: . fp 1 H ! 234: . fp 2 HI ! 235: . fp 3 HB ! 236: . fp 4 HX\} ! 237: .if '\\$1'bembo'\{\ ! 238: . ie '\\*(.T'202'\{\ ! 239: . fp 1 B1 Bembo ! 240: . fp 2 B2 BemboI ! 241: . fp 3 B3 BemboB ! 242: . fp 4 B4 BemboBI\} ! 243: . el \{\ ! 244: . fp 1 B1 ! 245: . fp 2 B2 ! 246: . fp 3 B3 ! 247: . fp 4 B4\}\} ! 248: .if '\\$1'optima'\{\ ! 249: . fp 1 R Optima ! 250: . fp 2 I OptimaI ! 251: . fp 3 B OptimaB ! 252: . fp 4 BI OptimaBI\} ! 253: .if '\\$1'souvenir'\{\ ! 254: . fp 1 R Souvenir ! 255: . fp 2 I SouvenirI ! 256: . fp 3 B SouvenirB ! 257: . fp 4 BI SouvenirBI\} ! 258: .if '\\$1'melior'\{\ ! 259: . fp 1 R Melior ! 260: . fp 2 I MeliorI ! 261: . fp 3 B MeliorB ! 262: . fp 4 BI MeliorBI\} ! 263: .if '\\$1'times'\{\ ! 264: . fp 1 R ! 265: . fp 2 I ! 266: . fp 3 B ! 267: . fp 4 BI\} ! 268: .. ! 269: . \"TL - title and initialization ! 270: .de TL ! 271: .br ! 272: .nr TV 1 ! 273: .if \\n(IM .rm CS ! 274: .if \\n(MN .rm CS ! 275: .ME ! 276: .rm ME ! 277: .di WT ! 278: .na ! 279: .fi ! 280: .ll 5.0i ! 281: .if n .if \\n(TN .ll 29 ! 282: .if t .if \\n(TN .ll 3.5i ! 283: .ft 3 ! 284: .ps \\n(PS ! 285: .if !\\n(TN \{\ ! 286: . ps +2 ! 287: . vs \\n(.s+2 ! 288: . rm CS\} ! 289: .hy 0 ! 290: .. ! 291: .de TX ! 292: .rs ! 293: .sp .5i ! 294: .ce 1000 ! 295: .if n .ul 1000 ! 296: .ps 12 ! 297: .ft 3 ! 298: .vs 15p ! 299: .ne 4 ! 300: .hy 0 ! 301: .WT ! 302: .hy \\n(HY ! 303: .ce 0 ! 304: .ul 0 ! 305: .. ! 306: . \" AU - author(s) ! 307: .de AU ! 308: .nr AV 1 ! 309: .ad \\n(SJ ! 310: .br ! 311: .di ! 312: .br ! 313: .nf ! 314: .nr NA +1 ! 315: .ds R\\n(NA \\$1 ! 316: .ds E\\n(NA \\$2 ! 317: .di A\\n(NA ! 318: .ll \\n(LLu ! 319: .ie t \{\ ! 320: . ie !\\n(TN .ft 2 ! 321: . el \{\ ! 322: . ft 3 ! 323: . ll 1.4i\}\} ! 324: .el \{\ ! 325: . ie !\\n(TN .ft 1 ! 326: . el \{\ ! 327: . ft 3 ! 328: . ll 16\}\} ! 329: .ps \\n(PS ! 330: .. ! 331: .de AX ! 332: .ft 1 ! 333: .rs ! 334: .ce 1000 ! 335: .if n .ul 0 ! 336: .ps \\n(PS ! 337: .ie \\n(VS>=41 .vs \\n(VSu ! 338: .el .vs \\n(VSp ! 339: .if t \{\ ! 340: . sp ! 341: . A1 ! 342: . sp 0.5 ! 343: . ns ! 344: . I1 ! 345: . if \\n(NA-1 .sp ! 346: . A2 ! 347: . if \\n(NA-1 .sp 0.5 ! 348: . ns ! 349: . I2 ! 350: . if \\n(NA-2 .sp ! 351: . A3 ! 352: . if \\n(NA-2 .sp 0.5 ! 353: . ns ! 354: . I3 ! 355: . if \\n(NA-3 .sp ! 356: . A4 ! 357: . if \\n(NA-3 .sp 0.5 ! 358: . ns ! 359: . I4 ! 360: . if \\n(NA-4 .sp ! 361: . A5 ! 362: . if \\n(NA-4 .sp 0.5 ! 363: . ns ! 364: . I5 ! 365: . if \\n(NA-5 .sp ! 366: . A6 ! 367: . if \\n(NA-5 .sp 0.5 ! 368: . ns ! 369: . I6 ! 370: . if \\n(NA-6 .sp ! 371: . A7 ! 372: . if \\n(NA-6 .sp 0.5 ! 373: . ns ! 374: . I7 ! 375: . if \\n(NA-7 .sp ! 376: . A8 ! 377: . if \\n(NA-7 .sp 0.5 ! 378: . ns ! 379: . I8 ! 380: . if \\n(NA-8 .sp ! 381: . A9 ! 382: . if \\n(NA-8 .sp 0.5 ! 383: . ns ! 384: . I9\} ! 385: .if n \{\ ! 386: . sp 2 ! 387: . A1 ! 388: . sp ! 389: . ns ! 390: . I1 ! 391: . if \\n(NA-1 .sp 2 ! 392: . A2 ! 393: . if \\n(NA-1 .sp ! 394: . ns ! 395: . I2 ! 396: . if \\n(NA-2 .sp 2 ! 397: . A3 ! 398: . if \\n(NA-2 .sp ! 399: . ns ! 400: . I3 ! 401: . if \\n(NA-3 .sp 2 ! 402: . A4 ! 403: . if \\n(NA-3 .sp ! 404: . ns ! 405: . I4 ! 406: . if \\n(NA-4 .sp 2 ! 407: . A5 ! 408: . if \\n(NA-4 .sp ! 409: . ns ! 410: . I5 ! 411: . if \\n(NA-5 .sp 2 ! 412: . A6 ! 413: . if \\n(NA-5 .sp ! 414: . ns ! 415: . I6 ! 416: . if \\n(NA-6 .sp 2 ! 417: . A7 ! 418: . if \\n(NA-6 .sp ! 419: . ns ! 420: . I7 ! 421: . if \\n(NA-7 .sp 2 ! 422: . A8 ! 423: . if \\n(NA-7 .sp ! 424: . ns ! 425: . I8 ! 426: . if \\n(NA-8 .sp 2 ! 427: . A9 ! 428: . if \\n(NA-8 .sp ! 429: . ns ! 430: . I9\} ! 431: .. ! 432: . \"AI - authors institution ! 433: .de AI ! 434: .br ! 435: .ft 1 ! 436: .di ! 437: .di I\\n(NA ! 438: .nf ! 439: .. ! 440: . \"AB - begin an abstract ! 441: .de AB ! 442: .br ! 443: .di ! 444: .ul 0 ! 445: .ce 0 ! 446: .nr 1T 1 ! 447: .nr IK 1 ! 448: .nr KI 1 ! 449: .di WB ! 450: .rs ! 451: .nr AJ 1 ! 452: .ce 1 ! 453: .ft 2 ! 454: .if n .ul ! 455: .ll \\n(LLu ! 456: .ie \\n(.$ \{\ ! 457: . if !"\\$1"-" .if !"\\$1"no" \\$1 ! 458: . if !"\\$1"-" .if !"\\$1"no" .sp\} ! 459: .el \{\ ! 460: ABSTRACT ! 461: .sp\} ! 462: .hy \\n(HY ! 463: .ul 0 ! 464: .ce 0 ! 465: .fi ! 466: .ft 1 ! 467: .nr OJ \\n(.i ! 468: .in +\\n(.lu/12u ! 469: .ll -\\n(.lu/12u ! 470: .br ! 471: .ps \\n(PS ! 472: .ie \\n(VS>=41 .vs \\n(VSu ! 473: .el .vs \\n(VSp ! 474: .ti +\\n(PIu ! 475: .. ! 476: . \"AE - end of an abstract ! 477: .de AE ! 478: .br ! 479: .di ! 480: .ll \\n(LLu ! 481: .ps \\n(PS ! 482: .ie \\n(VS>=41 .vs \\n(VSu ! 483: .el .vs \\n(VSp ! 484: .nr 1T 0 ! 485: .nr IK 0 ! 486: .in \\n(OJu ! 487: .nr AJ 0 ! 488: .di ! 489: .ce 0 ! 490: .if \\n(ST=2 .SY ! 491: .if \\n(ST<3 .rm SY ! 492: .. ! 493: . \"S2 - release paper style ! 494: . \"SY - cover sheet of released paper ! 495: .de SY ! 496: .ll \\n(LLu ! 497: .ns ! 498: .if \\n(TV .TX ! 499: .if \\n(AV .AX ! 500: .rs ! 501: .ce 0 ! 502: .nf ! 503: .sp 3 ! 504: .ls 1 ! 505: .pn 2 ! 506: .WB ! 507: .ls ! 508: .sp 3v ! 509: \\*(DY ! 510: .sp |9i ! 511: .if \\n(FP .FA ! 512: .FG ! 513: .if \\n(GA=1 .nr GA 2 ! 514: .fi ! 515: .. ! 516: . \"S2 - first text page, released paper format ! 517: .de S2 ! 518: .ce 0 ! 519: .br ! 520: .SY ! 521: .rm SY ! 522: .bp 1 ! 523: .if \\n(TV .TX ! 524: .if \\n(AV .AX ! 525: .rs ! 526: .ce 0 ! 527: .ft 1 ! 528: .ad \\n(SJ ! 529: .. ! 530: . \"S0- mike lesk conserve paper style ! 531: .de S0 ! 532: .ce 0 ! 533: .br ! 534: .ll \\n(LLu ! 535: .if \\n(TV+\\n(AV .ns ! 536: .if \\n(TV .TX ! 537: .if \\n(AV .AX ! 538: .if \\n(TV+\\n(AV .rs ! 539: .ce 0 ! 540: .if \\n(TV .sp 2 ! 541: .ls 1 ! 542: .if \\n(FP \{\ ! 543: . FJ ! 544: . nf ! 545: . FG ! 546: . fi ! 547: . FK ! 548: . nr FP 0\} ! 549: .nf ! 550: .WB ! 551: .ls ! 552: .fi ! 553: .ad \\n(SJ ! 554: .. ! 555: . \"S3 - CSTR style ! 556: .de S3 ! 557: .rs ! 558: .sp |2.25i ! 559: .ce 1000 ! 560: .I1 ! 561: .if \\n(NA>1 \{\ ! 562: . sp .5 ! 563: . I2\} ! 564: .if \\n(NA>2 \{\ ! 565: . sp .5 ! 566: . I3\} ! 567: .if \\n(NA>3 \{\ ! 568: . sp .5 ! 569: . I4\} ! 570: .if \\n(NA>4 \{\ ! 571: . sp .5 ! 572: . I5\} ! 573: .if \\n(NA>5 \{\ ! 574: . sp .5 ! 575: . I6\} ! 576: .if \\n(NA>6 \{\ ! 577: . sp .5 ! 578: . I7\} ! 579: .if \\n(NA>7 \{\ ! 580: . sp .5 ! 581: . I8\} ! 582: .if \\n(NA>8 \{\ ! 583: . sp .5 ! 584: . I9\} ! 585: .sp |4i ! 586: . \"check how long title is: can space extra .25 inch if short ! 587: .di EZ ! 588: .WT ! 589: .di ! 590: .if \\n(dn<1.5v .if \\n(NA=1 .sp .25i ! 591: .ft 1 ! 592: Computing Science Technical Report No. \\*(MN ! 593: .sp ! 594: .if t .ft 3 ! 595: .if n .ul 100 ! 596: .ps 12 ! 597: .vs 15p ! 598: .hy 0 ! 599: .WT ! 600: .hy \\n(HY ! 601: .ft 1 ! 602: .if n .ul 0 ! 603: .ps 10 ! 604: .vs 12p ! 605: .sp ! 606: .ft 1 ! 607: .A1 ! 608: .A2 ! 609: .A3 ! 610: .A4 ! 611: .A5 ! 612: .A6 ! 613: .A7 ! 614: .A8 ! 615: .A9 ! 616: .ce 0 ! 617: .sp |8.5i ! 618: .ce 0 ! 619: \\*(DY ! 620: .DZ ! 621: .bp 0 ! 622: .ft 1 ! 623: .S2 ! 624: .. ! 625: . \"SG - signature ! 626: .de SG ! 627: .br ! 628: .KS ! 629: .in +2u*\\n(.lu/3u ! 630: .sp 4 ! 631: .A1 ! 632: .if \\n(NA-1 .sp 4 ! 633: .A2 ! 634: .if \\n(NA-2 .sp 4 ! 635: .A3 ! 636: .if \\n(NA-3 .sp 4 ! 637: .A4 ! 638: .if \\n(NA-4 .sp 4 ! 639: .A5 ! 640: .if \\n(NA>5 .sp 4 ! 641: .A6 ! 642: .if \\n(NA>6 .sp 4 ! 643: .A7 ! 644: .if \\n(NA>7 .sp 4 ! 645: .A8 ! 646: .if \\n(NA>8 .sp 4 ! 647: .A9 ! 648: .in ! 649: .nf ! 650: .if \\n(.$<1 .G9 ! 651: .sp -1 ! 652: .if \\n(.$>=1 \\$1 ! 653: .if \\n(.$>=2 \\$2 ! 654: .if \\n(.$>=3 \\$3 ! 655: .if \\n(.$>=4 \\$4 ! 656: .if \\n(.$>=5 \\$5 ! 657: .if \\n(.$>=6 \\$6 ! 658: .if \\n(.$>=7 \\$7 ! 659: .if \\n(.$>=8 \\$8 ! 660: .if \\n(.$>=9 \\$9 ! 661: .fi ! 662: .br ! 663: .KE ! 664: .. ! 665: . \"Tables. TS - table start, TE - table end ! 666: .de TS ! 667: .br ! 668: .if !\\n(1T .RT ! 669: .ul 0 ! 670: .ti \\n(.iu ! 671: .if t .sp 0.5 ! 672: .if n .sp ! 673: .if \\$1H .TQ ! 674: .nr IX 1 ! 675: .. ! 676: .de TQ ! 677: .di TT ! 678: .nr IT 1 ! 679: .. ! 680: .de TH ! 681: .if \\n(.d>0.5v \{\ ! 682: . nr T. 0 ! 683: . T# 0\} ! 684: .di ! 685: .nr TQ \\n(.i ! 686: .nr HT 1 ! 687: .in 0 ! 688: .mk #a ! 689: .mk #b ! 690: .mk #c ! 691: .mk #d ! 692: .mk #e ! 693: .mk #f ! 694: .TT ! 695: .in \\n(TQu ! 696: .mk #T ! 697: .. ! 698: .de TE ! 699: .nr IX 0 ! 700: .if \\n(IT .if !\\n(HT \{\ ! 701: . di ! 702: . nr EF \\n(.u ! 703: . nf ! 704: . TT ! 705: . if \\n(EF .fi\} ! 706: .nr IT 0 ! 707: .nr HT 0 ! 708: .if n .sp 1 ! 709: .if t .sp 0.5 ! 710: .rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+ ! 711: .rr 32 33 34 35 36 37 38 40 79 80 81 82 ! 712: .rr a| b| c| d| e| f| g| h| i| j| k| l| m| ! 713: .rr a- b- c- d- e- f- g- h- i- j- k- l- m- ! 714: .. ! 715: .so \*(sd/tmac.skeep ! 716: .de EQ \"equation, breakout and display ! 717: .nr EF \\n(.u ! 718: .rm EE ! 719: .nr LE 1 \" 1 is center ! 720: .ds EL \\$1 ! 721: .if "\\$1"L" \{\ ! 722: . ds EL \\$2 ! 723: . nr LE 0\} ! 724: .if "\\$1"C" .ds EL \\$2 ! 725: .if "\\$1"R" \{\ ! 726: . ds EL \\$2 \" 2 is right adjust ! 727: . nr LE 2\} ! 728: .if "\\$1"I" \{\ ! 729: . nr LE 0 ! 730: . if "\\$3"" .ds EE \\h'|10n' ! 731: . el .ds EE \\h'\\$3' ! 732: . ds EL \\$2\} ! 733: .if \\n(YE .nf ! 734: .di EZ ! 735: .. ! 736: .de EN \" end of a displayed equation ! 737: .br ! 738: .di ! 739: .rm EZ ! 740: .nr ZN \\n(dn ! 741: .if \\n(ZN .if !\\n(YE .LP ! 742: .if !\\n(ZN .if !"\\*(EL"" .nr ZN 1 ! 743: .if \\n(ZN \{\ ! 744: . ie "\\n(.z"" \{\ ! 745: . if t .if !\\n(nl=\\n(PE .sp .5 ! 746: . if n .if !\\n(nl=\\n(PE .sp 1\} ! 747: . el \{\ ! 748: . if t .if !\\n(.d=\\n(PE .sp .5 ! 749: . if n .if !\\n(.d=\\n(PE .sp 1\}\} ! 750: 'pc ! 751: .if \\n(BD .nr LE 0 \" don't center if block display or mark/lineup ! 752: .if \\n(MK \{\ ! 753: . if \\n(LE=1 .ds EE \\h'|10n' ! 754: . nr LE 0\} ! 755: 'lt \\n(.lu ! 756: .if !\\n(EP .if \\n(ZN \{\ ! 757: . if \\n(LE=1 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts ! 758: . if \\n(LE=2 .tl \(ts\(ts\(ts\\*(10\\*(EL\(ts ! 759: . if !\\n(LE \{\ ! 760: . if !\\n(BD .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts ! 761: . if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts ! 762: . if \\n(BD \!\\*(10\\t\\*(EL\}\} ! 763: .if \\n(EP .if \\n(ZN \{\ ! 764: . if \\n(LE=1 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts ! 765: . if \\n(LE=2 .tl \(ts\\*(EL\(ts\(ts\\*(10\(ts ! 766: . if !\\n(LE \{\ ! 767: . if !\\n(BD .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts ! 768: . if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts ! 769: . if \\n(BD \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10\}\} ! 770: 'lt \\n(LLu ! 771: 'pc % ! 772: .if \\n(YE .if \\n(EF .fi ! 773: .if t .if \\n(ZN .sp .5 ! 774: .if n .if \\n(ZN .sp ! 775: .ie "\\n(.z"" .nr PE \\n(nl ! 776: .el .nr PE \\n(.d ! 777: .. ! 778: .de PS \" start picture ! 779: . \" $1 is height, $2 is width, both in inches ! 780: .if \\$1>0 .sp .35 ! 781: .ie \\$1>0 .nr $1 \\$1 ! 782: .el .nr $1 0 ! 783: .in (\\n(.lu-\\$2)/2u ! 784: .ne \\$1 ! 785: .. ! 786: .de PE \" end of picture ! 787: .in ! 788: .if \\n($1>0 .sp .65 ! 789: .. ! 790: . \" .P1/.P2 macros for programs ! 791: . ! 792: .nr XP 1 \" delta point size for program ! 793: .nr XV 1p \" delta vertical for programs ! 794: .nr XT 8 \" delta tab stop for programs ! 795: .nr DV .5v \" space before start of program ! 796: . ! 797: .de P1 ! 798: .nr P1 .4i \" program indent in .P1 ! 799: .nr OI .4i ! 800: .if \\n(.$ .nr P1 \\$1 ! 801: .br ! 802: .nr v \\n(.v ! 803: .di p1 ! 804: .in \\n(P1u ! 805: .nf ! 806: .ps -\\n(XP ! 807: .vs -\\n(XVu ! 808: .ft CW ! 809: .nr t \\n(XT*\\w'x'u ! 810: .ta 1u*\\ntu 2u*\\ntu 3u*\\ntu 4u*\\ntu 5u*\\ntu 6u*\\ntu 7u*\\ntu 8u*\\ntu 9u*\\ntu 10u*\\ntu 11u*\\ntu 12u*\\ntu 13u*\\ntu 14u*\\ntu ! 811: .. ! 812: . ! 813: .de P2 ! 814: .br ! 815: .ps \\n(PS ! 816: .vs \\n(VSp ! 817: .vs \\nvu ! 818: .ft 1 ! 819: .in ! 820: .di ! 821: .br ! 822: .sp \\n(DVu ! 823: .br ! 824: .if \\n(.$=0 .ne \\n(dnu \" -\\n(DVu ! 825: .nf ! 826: .p1 ! 827: .sp \\n(DVu ! 828: .br ! 829: .fi ! 830: .. ! 831: . ! 832: .de ME ! 833: .nr SJ \\n(.j ! 834: .if \\n(LL .nr LT \\n(LL ! 835: .nr YE 1 ! 836: .if !\\n(PO .nr PO \\n(.o ! 837: .if \\n(mo-0 .ds MO January ! 838: .if \\n(mo-1 .ds MO February ! 839: .if \\n(mo-2 .ds MO March ! 840: .if \\n(mo-3 .ds MO April ! 841: .if \\n(mo-4 .ds MO May ! 842: .if \\n(mo-5 .ds MO June ! 843: .if \\n(mo-6 .ds MO July ! 844: .if \\n(mo-7 .ds MO August ! 845: .if \\n(mo-8 .ds MO September ! 846: .if \\n(mo-9 .ds MO October ! 847: .if \\n(mo-10 .ds MO November ! 848: .if \\n(mo-11 .ds MO December ! 849: .if \\n(dw-0 .ds DW Sunday ! 850: .if \\n(dw-1 .ds DW Monday ! 851: .if \\n(dw-2 .ds DW Tuesday ! 852: .if \\n(dw-3 .ds DW Wednesday ! 853: .if \\n(dw-4 .ds DW Thursday ! 854: .if \\n(dw-5 .ds DW Friday ! 855: .if \\n(dw-6 .ds DW Saturday ! 856: .if "\\*(DY"" .ds DY \\*(MO \\n(dy, 19\\n(yr ! 857: .if "\\*(CF"" .if n .ds CF "\\*(DY ! 858: .. ! 859: . \"EM end up macro - process left over keep-release ! 860: .de EM ! 861: .br ! 862: .if \\n(AJ .tm Syntax error: no .AE ! 863: .if \\n(IF .ab Missing .FE somewhere ! 864: .if t .if \\n(TB=0 .wh -1p CM ! 865: .if \\n(TB \{\&\c ! 866: ' bp ! 867: . NP ! 868: . ch CM 160\} ! 869: .. ! 870: . \"NP new page ! 871: .de NP ! 872: .rr PE ! 873: .if \\n(FM+\\n(HM>=\\n(.p \{\ ! 874: . tm Margins bigger than page length. ! 875: . ab ! 876: . ex\} ! 877: .if t .CM ! 878: .if !\\n(HM .nr HM 1.i ! 879: 'sp 20u+\\n(HMu/2u ! 880: .ev 1 ! 881: .nr PX \\n(.s ! 882: .nr PF \\n(.f ! 883: .nr PV \\n(.v ! 884: .lt \\n(LTu ! 885: .ps \\n(PS ! 886: .vs \\n(PS+2 ! 887: .ft 1 ! 888: .if \\n(PO .po \\n(POu ! 889: .PT ! 890: .ps \\n(PX ! 891: .vs \\n(PVu ! 892: .ft \\n(PF ! 893: .ev ! 894: 'sp |\\n(HMu ! 895: .nr XX 0 1 ! 896: .nr YY 0-\\n(FMu ! 897: .ch FO 16i ! 898: .ch FX 17i ! 899: .ch FO \\n(.pu-\\n(FMu ! 900: .ch FX \\n(.pu-\\n(FMu ! 901: .if \\n(MF .FV ! 902: .nr MF 0 ! 903: .mk ! 904: .os ! 905: .ev 1 ! 906: .if !\\n(TD .if \\n(TC<5 .XK ! 907: .nr TC 0 ! 908: .ns ! 909: .ev ! 910: .nr TQ \\n(.i ! 911: .nr TK \\n(.u ! 912: .if \\n(IT \{\ ! 913: . in 0 ! 914: . nf ! 915: . TT ! 916: . in \\n(TQu ! 917: . if \\n(TK .fi\ ! 918: \} ! 919: .mk #T ! 920: ....if t .if \\n(.o+\\n(LL>7.75i .tm Offset + line length exceeds 7.75 inches, too wide ! 921: .. ! 922: .de XK ! 923: .nr TD 1 ! 924: .nf ! 925: .ls 1 ! 926: .in 0 ! 927: .rn KJ KL ! 928: .KL ! 929: .rm KL ! 930: .if "\\n(.z"KJ" .di ! 931: .nr TB 0 ! 932: .if "\\n(.z"KJ" .nr TB 1 ! 933: .br ! 934: .in ! 935: .ls ! 936: .fi ! 937: .if (\\n(nl+1v)>(\\n(.p-\\n(FM) \{\ ! 938: . if \\n(NX>1 .RC ! 939: . if \\n(NX<1 .bp\} ! 940: .nr TD 0 ! 941: .. ! 942: .de KD ! 943: .nr KM 0 ! 944: .if "\\n(.z"" .if \\$2>0 .if \\n(nl>\\n(HM \{\ ! 945: . if (\\n(nl+1v)<(\\n(.p-\\n(FM) .di KJ \" full page figure must have new page ! 946: . sp 15i\} ! 947: .if "\\n(.z"" .if \\n(nl>\\n(HM .if \\$2=0 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) .sp 15i ! 948: .if "\\n(.z"KJ" .nr KM 1 \" KM is 1 if in a rediversion of keeps ! 949: .if \\n(KM>0 \!.KD \\$1 \\$2 ! 950: .nr KR \\n(.t ! 951: .if \\n(nl<=\\n(HM .nr KR 32767 ! 952: .if \\n(KM=0 \{\ ! 953: . if \\n(KR<\\$1 \{\ ! 954: . di KJ ! 955: . nr KM 1\} ! 956: . if \\$2>0 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) .sp 15i\} ! 957: .rs ! 958: .if \\n(KM=0 .if \\$2>0 .sp \\n(.tu-\\$1u ! 959: .. ! 960: .de PT ! 961: .lt \\n(LLu ! 962: .pc % ! 963: .nr PN \\n% ! 964: .if \\n%-1 .tl '\\*(LH'\\*(CH'\\*(RH' ! 965: .lt \\n(.lu ! 966: .. ! 967: . \"FO - footer of page ! 968: .de FO ! 969: .rn FO FZ ! 970: .if \\n(IT>0 \{\ ! 971: . nr T. 1 ! 972: . if \\n(FC=0 .T# 1 ! 973: . br\} ! 974: .nr FC +1 ! 975: .if \\n(NX<2 .nr WF 0 ! 976: .nr dn 0 ! 977: .if \\n(FC<=1 .if \\n(XX .XF ! 978: .rn FZ FO ! 979: .nr MF 0 ! 980: .if \\n(dn .nr MF 1 ! 981: .if !\\n(WF \{\ ! 982: . nr YY 0-\\n(FMu ! 983: . ch FO \\n(YYu\} ! 984: .if !\\n(dn .nr WF 0 ! 985: .if \\n(FC<=1 .if \\n(XX=0 \{\ ! 986: . if \\n(NX>1 .RC ! 987: . if \\n(NX<1 'bp\} ! 988: .nr FC -1 ! 989: .if \\n(ML>0 .ne \\n(MLu ! 990: .. ! 991: . \"2C - begin double column ! 992: .de 2C ! 993: .MC \" default MC is double column ! 994: .. ! 995: .de MC \" multiple columns- arg is line length ! 996: .nr L1 \\n(LL*7/15 ! 997: .if \\n(CW>=0 .nr L1 \\n(CWu ! 998: .if \\n(.$ .nr L1 \\$1n ! 999: .if \\n(GW>=0 .nr GW \\n(GWu ! 1000: .if \\n(.$>1 .nr GW \\$2n ! 1001: .nr NQ \\n(LL/\\n(L1 ! 1002: .if \\n(NQ<1 .nr NQ 1 ! 1003: .if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1 ! 1004: .if !\\n(1T \{\ ! 1005: . BG ! 1006: . if n .sp 4 ! 1007: . if t .sp 2\} ! 1008: .if \\n(NX=0 .nr NX 1 ! 1009: .if !\\n(NX=\\n(NQ \{\ ! 1010: . RT ! 1011: . if \\n(NX>1 .bp ! 1012: . mk ! 1013: . nr NC 1 ! 1014: . po \\n(POu\} ! 1015: .if \\n(NQ>1 .hy \\n(HY ! 1016: .nr NX \\n(NQ ! 1017: .if \\n(NX>1 .nr CW \\n(L1 ! 1018: .ll \\n(L1u ! 1019: .nr FL \\n(L1u*11u/12u ! 1020: .if \\n(NX>1 .if \\n(GW<0 .nr GW (\\n(LL-(\\n(NX*\\n(L1))/(\\n(NX-1) ! 1021: .nr RO \\n(L1+\\n(GW ! 1022: .ns ! 1023: .. ! 1024: .de RC ! 1025: .ie \\n(NC>=\\n(NX .C2 ! 1026: .el .C1 ! 1027: .. ! 1028: .de C1 ! 1029: .rt ! 1030: .po +\\n(ROu ! 1031: .nr NC +1 ! 1032: .if \\n(NC>\\n(NX .nr NC 1 ! 1033: .nr XX 0 1 ! 1034: .nr YY 0-\\n(FMu ! 1035: .if \\n(MF .FV ! 1036: .ch FX \\n(.pu-\\n(FMu ! 1037: .ev 1 ! 1038: .if \\n(TB .XK ! 1039: .nr TC 0 ! 1040: .ev ! 1041: .nr TQ \\n(.i ! 1042: .if \\n(IT \{\ ! 1043: . in 0 ! 1044: . TT ! 1045: . in \\n(TQu\} ! 1046: .mk #T ! 1047: .ns ! 1048: .. ! 1049: .de C2 ! 1050: .po \\n(POu ! 1051: .nr NC +1 ! 1052: .if \\n(NC>\\n(NX .nr NC 1 ! 1053: 'bp ! 1054: .. ! 1055: . \"1C - return to single column format ! 1056: .de 1C ! 1057: .MC \\n(LLu ! 1058: .hy \\n(HY ! 1059: .. ! 1060: .de MH ! 1061: AT&T Bell Laboratories ! 1062: Murray Hill, New Jersey 07974 ! 1063: .. ! 1064: .de PY ! 1065: AT&T Bell Laboratories ! 1066: Piscataway, New Jersey 08854 ! 1067: .. ! 1068: .de BT ! 1069: .nr PX \\n(.s ! 1070: .nr PF \\n(.f ! 1071: .ft 1 ! 1072: .ps \\n(PS ! 1073: 'lt \\n(LTu ! 1074: .po \\n(POu ! 1075: .if \\n%>0 .tl \(ts\\*(LF\(ts\\*(CF\(ts\\*(RF\(ts ! 1076: .ft \\n(PF ! 1077: .ps \\n(PX ! 1078: .. ! 1079: . \"PP - paragraph ! 1080: .de PP ! 1081: .RT ! 1082: .if \\n(1T .sp \\n(PDu ! 1083: .ti +\\n(PIu ! 1084: .. ! 1085: . \"SH - (unnumbered) section heading ! 1086: .de SH ! 1087: .ti \\n(.iu ! 1088: .RT ! 1089: .ie \\n(1T .sp 1 ! 1090: .el .BG ! 1091: .RT ! 1092: .ne 4 ! 1093: .ft 3 ! 1094: .if n .ul 1000 ! 1095: .. ! 1096: . \"NH - numbered heading ! 1097: .de NH ! 1098: .RT ! 1099: .ie \\n(1T .sp 1 ! 1100: .el .BG ! 1101: .RT ! 1102: .ne 4 ! 1103: .ft 3 ! 1104: .if n .ul 1000 ! 1105: .nr NS \\$1 ! 1106: .if !\\n(.$ .nr NS 1 ! 1107: .if !\\n(NS .nr NS 1 ! 1108: .nr H\\n(NS +1 ! 1109: .if !\\n(NS-4 .nr H5 0 ! 1110: .if !\\n(NS-3 .nr H4 0 ! 1111: .if !\\n(NS-2 .nr H3 0 ! 1112: .if !\\n(NS-1 .nr H2 0 ! 1113: .if !\\$1 .if \\n(.$ .nr H1 1 ! 1114: .ds SN \\n(H1. ! 1115: .ti \\n(.iu ! 1116: .if \\n(NS-1 .as SN \\n(H2. ! 1117: .if \\n(NS-2 .as SN \\n(H3. ! 1118: .if \\n(NS-3 .as SN \\n(H4. ! 1119: .if \\n(NS-4 .as SN \\n(H5. ! 1120: \\*(SN ! 1121: .. ! 1122: . \"BG - begin, execute at first PP ! 1123: .de BG ! 1124: .br ! 1125: .ME ! 1126: .rm ME ! 1127: .di ! 1128: .ce 0 ! 1129: .nr KI 0 ! 1130: .hy \\n(HY ! 1131: .nr 1T 1 ! 1132: .nr CS 0 ! 1133: .S\\n(ST ! 1134: .rm S0 S1 S2 S3 OD OK TX AX WT CS TM IM MF MR RP I1 I2 I3 I4 I5 CB E1 E2 ! 1135: .de TL ! 1136: .ft 3 ! 1137: .sp ! 1138: .if n .ul 100 ! 1139: .ce 100 ! 1140: .ps +2 ! 1141: \\.. ! 1142: .de AU ! 1143: .ft 2 ! 1144: .if n .ul 0 ! 1145: .ce 100 ! 1146: .sp ! 1147: .NL ! 1148: \\.. ! 1149: .de AI ! 1150: .ft 1 ! 1151: .ce 100 ! 1152: .if n .ul 0 ! 1153: .if n .sp ! 1154: .if t .sp .5 ! 1155: .NL ! 1156: \\.. ! 1157: .RA ! 1158: .rm RA ! 1159: .rn FJ FS ! 1160: .rn FK FE ! 1161: .nf ! 1162: .ev 1 ! 1163: .ps \\n(PS-2 ! 1164: .vs \\n(.s+2p ! 1165: .ev ! 1166: .if !\\n(KG .nr FP 0 ! 1167: .if \\n(GA>1 .if \\n(KG=0 .nr GA 0 \" next UNIX must be flagged. ! 1168: .nr KG 0 ! 1169: .if \\n(FP \{\ ! 1170: . FS ! 1171: . FG ! 1172: . FE\} ! 1173: .br ! 1174: .if n .if \\n(TV .sp 2 ! 1175: .if t .if \\n(TV .sp 1 ! 1176: .fi ! 1177: .ll \\n(LLu ! 1178: .ev 1 ! 1179: .if !\\n(FL .nr FL \\n(LLu*11u/12u ! 1180: .ll \\n(FLu ! 1181: .ev ! 1182: .. ! 1183: .de RA \"redefine abstract macros ! 1184: .de AB ! 1185: .br ! 1186: .if !\\n(1T .BG ! 1187: .ce 1 ! 1188: .sp 1 ! 1189: .ie \\n(.$ \{\ ! 1190: . if !"\\$1"-" .if !"\\$1"no" \{\ ! 1191: \\$1 ! 1192: .sp\}\} ! 1193: .el \{\ ! 1194: ABSTRACT ! 1195: .sp\} ! 1196: .sp 1 ! 1197: .nr AJ 1 ! 1198: .in +\\n(.lu/12u ! 1199: .ll -\\n(.lu/12u ! 1200: .RT ! 1201: \\.. ! 1202: .de AE ! 1203: .nr AJ 0 ! 1204: .br ! 1205: .in 0 ! 1206: .ll \\n(LLu ! 1207: .ie \\n(VS>=41 .vs \\n(VSu ! 1208: .el .vs \\n(VSp ! 1209: \\.. ! 1210: .. ! 1211: . \"IP - indented paragraph ! 1212: .de IP ! 1213: .RT ! 1214: .if !\\n(IP .nr IP +1 ! 1215: .ie \\n(ID>0 .sp \\n(IDu ! 1216: .el .sp \\n(PDu ! 1217: .nr IU \\n(IR+1 ! 1218: .if \\n(.$>1 .nr I\\n(IU \\$2n+\\n(I\\n(IRu ! 1219: .if \\n(I\\n(IU=0 .nr I\\n(IU \\n(PIu+\\n(I\\n(IRu ! 1220: .in \\n(I\\n(IUu ! 1221: .nr TY \\n(TZ-\\n(.i ! 1222: .nr JQ \\n(I\\n(IU-\\n(I\\n(IR ! 1223: .ta \\n(JQu \\n(TYuR ! 1224: .if \\n(.$ \{\ ! 1225: .ti \\n(I\\n(IRu ! 1226: \&\\$1\t\c\} ! 1227: .. ! 1228: . \"LP - left aligned (block) paragraph ! 1229: .de LP ! 1230: .ti \\n(.iu ! 1231: .RT ! 1232: .if \\n(1T .sp \\n(PDu ! 1233: .. ! 1234: .de QP ! 1235: .ti \\n(.iu ! 1236: .RT ! 1237: .if \\n(1T .sp \\n(PDu ! 1238: .ne 1.1 ! 1239: .nr QP 1 ! 1240: .in +\\n(QIu ! 1241: .ll -\\n(QIu ! 1242: .ti \\n(.iu ! 1243: .. ! 1244: . \"IE - synonym for .LP ! 1245: .de IE ! 1246: .LP ! 1247: .. ! 1248: . \"RS - prepare for double indenting ! 1249: .de RS ! 1250: .nr IS \\n(IP ! 1251: .RT ! 1252: .nr IP \\n(IS ! 1253: .nr IU \\n(IR ! 1254: .nr IR +1 ! 1255: .if !\\n(I\\n(IR .nr I\\n(IR \\n(I\\n(IU+\\n(PIu ! 1256: .in \\n(I\\n(IRu ! 1257: .nr TY \\n(TZ-\\n(.i ! 1258: .ta \\n(TYuR ! 1259: .. ! 1260: . \"RE - retreat to the left ! 1261: .de RE ! 1262: .nr IS \\n(IP ! 1263: .RT ! 1264: .nr IP \\n(IS ! 1265: .if \\n(IR>0 .nr IR -1 ! 1266: .in \\n(I\\n(IRu ! 1267: .. ! 1268: .de TC ! 1269: .nr TZ \\n(.lu ! 1270: .if \\n(.$ .nr TZ \\$1n ! 1271: .ta \\n(TZuR ! 1272: .. ! 1273: .de TD ! 1274: .LP ! 1275: .nr TZ 0 ! 1276: .. ! 1277: . \"CM - cut mark ! 1278: .de CM ! 1279: .po 0 ! 1280: .lt 7.6i ! 1281: .ft 1 ! 1282: .ps 10 ! 1283: .vs 4p ! 1284: .if "\\*(.T"aps" .tl '--''--' ! 1285: .po ! 1286: .vs ! 1287: .lt ! 1288: .ps ! 1289: .ft ! 1290: .. ! 1291: . \" fontname(CW) fontstr(\f(CW) first_arg goes_after goes_before ! 1292: .de OF ! 1293: .nr PQ \\n(.f ! 1294: .hy 0 ! 1295: .if t .if "\\$3"" .ft \\$1 ! 1296: .if t .if !"\\$3"" \{\ ! 1297: \&\\$5\\$2\\$3\\f\\n(PQ\\$4 ! 1298: .hy \\n(HY\} ! 1299: .if n \{\ ! 1300: . if \\n(.=5 \&\\$5 ! 1301: . ie "\\$3"" .ul 1000 ! 1302: . el .ul 1 ! 1303: . if \\n(.$=3 \&\\$3 ! 1304: . if \\n(.$>3 \&\\$3\\c ! 1305: . if \\n(.$>3 \&\\$4 ! 1306: . hy \\n(HY\} ! 1307: .. ! 1308: . \"B - bold font ! 1309: .de B ! 1310: .OF 3 \\f3 "\\$1" "\\$2" "\\$3" ! 1311: .. ! 1312: .de BI \" bold italic -- only on 202 ! 1313: .OF 4 \\f4 "\\$1" "\\$2" "\\$3" ! 1314: .. ! 1315: . \"R - Roman font ! 1316: .de R ! 1317: .nr PQ \\n(.f ! 1318: .ft 1 ! 1319: .ie \\n(.$>0 \&\\$1\f\\n(PQ\\$2 ! 1320: .el .if n .ul 0 ! 1321: .. ! 1322: . \"I - italic font ! 1323: .de I ! 1324: .OF 2 \\f2 "\\$1" "\\$2" "\\$3" ! 1325: .. ! 1326: . \"CW - constant width font ! 1327: .de CW ! 1328: .OF CW \\f(CW "\\$1" "\\$2" "\\$3" ! 1329: .. ! 1330: . \"TA - tabs set in ens or chars ! 1331: .de TA ! 1332: .ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n ! 1333: .. ! 1334: . \"SM - make smaller size ! 1335: .de SM ! 1336: .ie \\n(.$ \&\\$3\s-2\\$1\s0\\$2 ! 1337: .el .ps -2 ! 1338: .. ! 1339: . \"LG - make larger size ! 1340: .de LG ! 1341: .ps +2 ! 1342: .. ! 1343: . \"NL - return to normal size ! 1344: .de NL ! 1345: .ps \\n(PS ! 1346: .. ! 1347: . \"DA - force date; ND - no date or new date. ! 1348: .de DA ! 1349: .if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4 ! 1350: .ds CF \\*(DY ! 1351: .. ! 1352: .de ND ! 1353: .ME ! 1354: .rm ME ! 1355: .ds DY \\$1 \\$2 \\$3 \\$4 ! 1356: .rm CF ! 1357: .. ! 1358: .de FN ! 1359: .FS ! 1360: .. ! 1361: . \"FS - begin footnote ! 1362: .de FJ ! 1363: 'ce 0 ! 1364: .nr IA \\n(IP ! 1365: .nr IB \\n(.i ! 1366: .ev1 ! 1367: .ll \\n(FLu ! 1368: .da FF ! 1369: .br ! 1370: .if \\n(IF \{\ ! 1371: . tm Footnote within footnote-illegal. ! 1372: . ab\} ! 1373: .nr IF 1 ! 1374: .if !\\n+(XX-1 .FA ! 1375: .. ! 1376: . \"FE - footnote end ! 1377: .de FK ! 1378: .br ! 1379: .in 0 ! 1380: .nr IF 0 ! 1381: .di ! 1382: .ev ! 1383: .if !\\n(XX-1 .nr dn +\\n(.v ! 1384: .nr YY -\\n(dn ! 1385: .if !\\n(NX .nr WF 1 ! 1386: .if \\n(dl>\\n(CW .nr WF 1 ! 1387: .ie (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu ! 1388: .el \{\ ! 1389: . if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu ! 1390: . if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v ! 1391: . if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)\} ! 1392: .nr IP \\n(IA ! 1393: 'in \\n(IBu ! 1394: .. ! 1395: .\" First page footer. ! 1396: .de FS ! 1397: .ev1 ! 1398: .br ! 1399: .ll \\n(FLu ! 1400: .da FG ! 1401: .. ! 1402: .de FE ! 1403: .br ! 1404: .di ! 1405: .nr FP \\n(dn ! 1406: .if !\\n(1T .nr KG 1 \"not in abstract repeat next page. ! 1407: .if "\\n(.z"OD" .nr KG 0 \" if in OK, don't repeat. ! 1408: .ev ! 1409: .. ! 1410: .de FA ! 1411: .if n __________________________ ! 1412: .if t \l'1i' ! 1413: .br ! 1414: .. ! 1415: .de FV ! 1416: .FS ! 1417: .nf ! 1418: .ls 1 ! 1419: .FY ! 1420: .ls ! 1421: .fi ! 1422: .FE ! 1423: .. ! 1424: .de FX ! 1425: .if \\n(XX \{\ ! 1426: . di FY ! 1427: . ns\} ! 1428: .. ! 1429: .de XF ! 1430: .if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v ! 1431: .ev1 ! 1432: .nf ! 1433: .ls 1 ! 1434: .FF ! 1435: .rm FF ! 1436: .nr XX 0 1 ! 1437: .br ! 1438: .ls ! 1439: .di ! 1440: .fi ! 1441: .ev ! 1442: .. ! 1443: .de FL ! 1444: .ev1 ! 1445: .nr FL \\$1n ! 1446: .ll \\$1 ! 1447: .ev ! 1448: .. ! 1449: .de HO ! 1450: AT&T Bell Laboratories ! 1451: Holmdel, New Jersey 07733 ! 1452: .. ! 1453: .de WH ! 1454: AT&T Bell Laboratories ! 1455: Whippany, New Jersey 07981 ! 1456: .. ! 1457: .de IH ! 1458: AT&T Bell Laboratories ! 1459: Naperville, Illinois 60540 ! 1460: .. ! 1461: .de UL \" underline argument, don't italicize ! 1462: .ie t \\$1\l'|0\(ul'\\$2 ! 1463: .el .I "\\$1" "\\$2" ! 1464: .. ! 1465: .de UX ! 1466: .ie \\n(GA \\$2\s-1UNIX\s0\\$1 ! 1467: .el \{\ ! 1468: .ie n \{\\$2UNIX\\$1* ! 1469: .FS ! 1470: * UNIX is a ! 1471: .ie \\$3=1 Footnote ! 1472: .el registered trademark ! 1473: of AT&T. ! 1474: .FE\} ! 1475: .el \\$2\s-1UNIX\\s0\\$1\\f1\(rg\\fP ! 1476: .nr GA 1\} ! 1477: .. ! 1478: .de US ! 1479: the ! 1480: .UX ! 1481: operating system\\$1 ! 1482: .. ! 1483: .de QS ! 1484: .br ! 1485: .LP ! 1486: .in +\\n(QIu ! 1487: .ll -\\n(QIu ! 1488: .. ! 1489: .de QE ! 1490: .br ! 1491: .ll +\\n(QIu ! 1492: .in -\\n(QIu ! 1493: .LP ! 1494: .. ! 1495: .de B1 \" begin boxed stuff ! 1496: .br ! 1497: .di BB ! 1498: .nr BC 0 ! 1499: .if "\\$1"C" .nr BC 1 ! 1500: .nr BE 1 ! 1501: .. ! 1502: .de B2 \" end boxed stuff ! 1503: .br ! 1504: .nr BI 1n ! 1505: .if \\n(.$>0 .nr BI \\$1n ! 1506: .di ! 1507: .nr BE 0 ! 1508: .nr BW \\n(dl ! 1509: .nr BH \\n(dn ! 1510: .ne \\n(BHu+\\n(.Vu ! 1511: .nr BQ \\n(.j ! 1512: .nf ! 1513: .ti 0 ! 1514: .if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u ! 1515: .in +\\n(BIu ! 1516: .ls 1 ! 1517: .BB ! 1518: .ls ! 1519: .in -\\n(BIu ! 1520: .nr BW +2*\\n(BI ! 1521: .sp -1 ! 1522: \l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu' ! 1523: .nr BW -2*\\n(BI ! 1524: .if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u ! 1525: .if \\n(BQ .fi ! 1526: .br ! 1527: .. ! 1528: .de AT ! 1529: .nf ! 1530: .sp ! 1531: .ne 2 ! 1532: Attached: ! 1533: .. ! 1534: .de CT ! 1535: .nf ! 1536: .sp ! 1537: .ne 2 ! 1538: .ie \\n(.$ Copy to \\$1: ! 1539: .el Copy to: ! 1540: .. ! 1541: .de BX ! 1542: .ie t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul' ! 1543: .el \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu' ! 1544: .. ! 1545: .IZ ! 1546: .rm IZ ! 1547: .de [ ! 1548: [ ! 1549: .. ! 1550: .de ] ! 1551: ] ! 1552: ..
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.