|
|
1.1 ! root 1: C***********************************************************************00010905 ! 2: C DATE***82/08/02*18.33.46 ! 3: C OWNER PRE/850703/TC-85- -410/ /FSTC/278FCVS*F78UBP20/ ! 4: C AUDIT FCVS78 V2.0 ! 5: C***** FORTRAN 77 00020905 ! 6: C***** FM905 00030905 ! 7: C***** LSTDO1 - (371) 00040905 ! 8: C***** 00050905 ! 9: C***********************************************************************00060905 ! 10: C***** GENERAL PURPOSE ANS REF 00070905 ! 11: C***** TEST LIST DIRECTED OUTPUT ON 13.6 00080905 ! 12: C***** INTEGER, REAL, LOGICAL, AND CHARACTER DATA TYPES 12.4 00090905 ! 13: C***** 00100905 ! 14: CBB** ********************** BBCCOMNT **********************************00110905 ! 15: C**** 00120905 ! 16: C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00130905 ! 17: C**** VERSION 2.0 00140905 ! 18: C**** 00150905 ! 19: C**** 00160905 ! 20: C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00170905 ! 21: C**** GENERAL SERVICES ADMINISTRATION 00180905 ! 22: C**** FEDERAL SOFTWARE TESTING CENTER 00190905 ! 23: C**** 5203 LEESBURG PIKE, SUITE 1100 00200905 ! 24: C**** FALLS CHURCH, VA. 22041 00210905 ! 25: C**** 00220905 ! 26: C**** (703) 756-6153 00230905 ! 27: C**** 00240905 ! 28: CBE** ********************** BBCCOMNT **********************************00250905 ! 29: C***** 00260905 ! 30: C***** S P E C I F I C A T I O N S SEGMENT 371 00270905 ! 31: LOGICAL B1B(3), AVB 00280905 ! 32: CHARACTER A5VK*5, A9VK*9, A33VK*33, A82VK*82 00290905 ! 33: CHARACTER A51K(4)*5 00300905 ! 34: C***** 00310905 ! 35: CBB** ********************** BBCINITA **********************************00320905 ! 36: C**** SPECIFICATION STATEMENTS 00330905 ! 37: C**** 00340905 ! 38: CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00350905 ! 39: 1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00360905 ! 40: CBE** ********************** BBCINITA **********************************00370905 ! 41: CBB** ********************** BBCINITB **********************************00380905 ! 42: C**** INITIALIZE SECTION 00390905 ! 43: DATA ZVERS, ZVERSD, ZDATE 00400905 ! 44: 1 /'VERSION 2.0 ', '82/08/02*18.33.46', '*NO DATE*TIME'/ 00410905 ! 45: DATA ZCOMPL, ZNAME, ZTAPE 00420905 ! 46: 1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00430905 ! 47: DATA ZPROJ, ZTAPED, ZPROG 00440905 ! 48: 1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00450905 ! 49: DATA REMRKS /' '/ 00460905 ! 50: C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00470905 ! 51: C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00480905 ! 52: C**** 00490905 ! 53: CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00500905 ! 54: CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00510905 ! 55: CZ03 ZPROG = 'PROGRAM NAME' 00520905 ! 56: ZDATE = '07-Nov-85 ' *RP ! 57: ZCOMPL = 'CCI 5.2 ' *RP ! 58: ZPROJ = 'TC-85- -410' *RP ! 59: ZNAME = ' ' *RP ! 60: ZTAPE = ' ' *RP ! 61: ZTAPED = '850703 ' *RP ! 62: C 00590905 ! 63: IVPASS = 0 00600905 ! 64: IVFAIL = 0 00610905 ! 65: IVDELE = 0 00620905 ! 66: IVINSP = 0 00630905 ! 67: IVTOTL = 0 00640905 ! 68: IVTOTN = 0 00650905 ! 69: ICZERO = 0 00660905 ! 70: C 00670905 ! 71: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00680905 ! 72: I01 = 05 00690905 ! 73: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00700905 ! 74: I02 = 06 00710905 ! 75: C 00720905 ! 76: I01 = 5 00730905 ! 77: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00740905 ! 78: CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00750905 ! 79: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00760905 ! 80: C 00770905 ! 81: I02 = 6 00780905 ! 82: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00790905 ! 83: CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00800905 ! 84: C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00810905 ! 85: C 00820905 ! 86: CBE** ********************** BBCINITB **********************************00830905 ! 87: NUVI = I02 00840905 ! 88: IVTOTL = 10 00850905 ! 89: ZPROG = 'FM905' 00860905 ! 90: CBB** ********************** BBCHED0A **********************************00870905 ! 91: C**** 00880905 ! 92: C**** WRITE REPORT TITLE 00890905 ! 93: C**** 00900905 ! 94: WRITE (I02, 90002) 00910905 ! 95: WRITE (I02, 90006) 00920905 ! 96: WRITE (I02, 90007) 00930905 ! 97: WRITE (I02, 90008) ZVERS, ZVERSD 00940905 ! 98: WRITE (I02, 90009) ZPROG, ZPROG 00950905 ! 99: WRITE (I02, 90010) ZDATE, ZCOMPL 00960905 ! 100: CBE** ********************** BBCHED0A **********************************00970905 ! 101: C***** 00980905 ! 102: C***** HEADING FOR SEGMENT 371 00990905 ! 103: WRITE(NUVI,37100) 01000905 ! 104: 37100 FORMAT(1H , /16H LSTDO1 - (371) , 01010905 ! 105: 1 43H LIST DIRECTED OUTPUT FOR SUBSET DATA TYPES// 01020905 ! 106: 2 22H ANS REF. - 13.6 12.4) 01030905 ! 107: CBB** ********************** BBCHED0B **********************************01040905 ! 108: C**** WRITE DETAIL REPORT HEADERS 01050905 ! 109: C**** 01060905 ! 110: WRITE (I02,90004) 01070905 ! 111: WRITE (I02,90004) 01080905 ! 112: WRITE (I02,90013) 01090905 ! 113: WRITE (I02,90014) 01100905 ! 114: WRITE (I02,90015) IVTOTL 01110905 ! 115: CBE** ********************** BBCHED0B **********************************01120905 ! 116: WRITE (NUVI, 70000) 01130905 ! 117: 70000 FORMAT (1H ,48X,31HTHE CORRECT LINE OF EACH TEST / 01140905 ! 118: 1 1H ,48X,31HIS HOLLERITH INFORMATION. / 01150905 ! 119: 2 1H ,48X,31HCOLUMN SPACING, LINE BREAKS, / 01160905 ! 120: 3 1H ,48X,31HAND THE NUMBER OF DECIMAL / 01170905 ! 121: 4 1H ,48X,31HPLACES FOR REAL NUMBERS ARE / 01180905 ! 122: 5 1H ,48X,31HPROCESSOR DEPENDENT. / 01190905 ! 123: 6 1H ,48X,31HEITHER E OR F FORMAT MAY BE / 01200905 ! 124: 7 1H ,48X,31HUSED FOR REAL NUMBERS. /) 01210905 ! 125: CT001* TEST 1 - INTEGER 01220905 ! 126: IVTNUM = 1 01230905 ! 127: WRITE (NUVI, 80004) IVTNUM 01240905 ! 128: WRITE (NUVI, 80020) 01250905 ! 129: IVI = 2 01260905 ! 130: WRITE(NUVI, *) IVI 01270905 ! 131: IVINSP = IVINSP + 1 01280905 ! 132: WRITE (NUVI, 80022) 01290905 ! 133: WRITE (NUVI, 70011) 01300905 ! 134: 70011 FORMAT (1H ,6X,1H2) 01310905 ! 135: CT002* TEST 2 - SEVERAL INTEGERS 01320905 ! 136: IVTNUM = 2 01330905 ! 137: WRITE (NUVI, 80004) IVTNUM 01340905 ! 138: WRITE (NUVI, 80020) 01350905 ! 139: IVI = 1 01360905 ! 140: JVI = 3 01370905 ! 141: KVI = 5 01380905 ! 142: LVI = 7 01390905 ! 143: MVI = 9 01400905 ! 144: WRITE(NUVI, *) IVI, JVI, KVI, LVI, MVI 01410905 ! 145: IVINSP = IVINSP + 1 01420905 ! 146: WRITE (NUVI, 80022) 01430905 ! 147: WRITE (NUVI, 70021) 01440905 ! 148: 70021 FORMAT (1H ,6X,13H1 3 5 7 9) 01450905 ! 149: CT003* TEST 3 - REAL 01460905 ! 150: IVTNUM = 3 01470905 ! 151: WRITE (NUVI, 80004) IVTNUM 01480905 ! 152: WRITE (NUVI, 80020) 01490905 ! 153: AVS = 2.5 01500905 ! 154: WRITE(NUVI, *) AVS 01510905 ! 155: IVINSP = IVINSP + 1 01520905 ! 156: WRITE (NUVI, 80022) 01530905 ! 157: WRITE (NUVI, 70031) 01540905 ! 158: 70031 FORMAT (1H ,6X,3H2.5) 01550905 ! 159: CT004* TEST 4 - SEVERAL REALS 01560905 ! 160: IVTNUM = 4 01570905 ! 161: WRITE (NUVI, 80004) IVTNUM 01580905 ! 162: WRITE (NUVI, 80020) 01590905 ! 163: AVS = 0.25E-10 01600905 ! 164: BVS = 0.25 01610905 ! 165: CVS = 0.25E+3 01620905 ! 166: DVS = 0.25E+10 01630905 ! 167: WRITE(NUVI, *) AVS, BVS, CVS, DVS 01640905 ! 168: IVINSP = IVINSP + 1 01650905 ! 169: WRITE (NUVI, 80022) 01660905 ! 170: WRITE (NUVI, 70041) 01670905 ! 171: 70041 FORMAT(1H ,6X,31H 2.5E-11 0.25 250.0 2.5E+09) 01680*TI ! 172: CT005* TEST 5 - IMPLIED-DO TO PRINT ARRAY OF LOGICALS 01690905 ! 173: IVTNUM = 5 01700905 ! 174: WRITE (NUVI, 80004) IVTNUM 01710905 ! 175: WRITE (NUVI, 80020) 01720905 ! 176: B1B(1) = .TRUE. 01730905 ! 177: B1B(2) = .FALSE. 01740905 ! 178: B1B(3) = .TRUE. 01750905 ! 179: WRITE(NUVI, *) (B1B(IVI), IVI = 1,3) 01760905 ! 180: IVINSP = IVINSP + 1 01770905 ! 181: WRITE (NUVI, 80022) 01780905 ! 182: WRITE (NUVI, 70051) 01790905 ! 183: 70051 FORMAT(1H ,6X,7HT F T) 01800905 ! 184: CT006* TEST 6 - LIST OF CHARACTER VALUES, USING ARRAY NAME 01810905 ! 185: IVTNUM = 6 01820905 ! 186: WRITE (NUVI, 80004) IVTNUM 01830905 ! 187: WRITE (NUVI, 80020) 01840905 ! 188: A51K(1) = 'ONE ' 01850905 ! 189: A51K(2) = 'TWO ' 01860905 ! 190: A51K(3) = 'THREE' 01870905 ! 191: A51K(4) = 'FOUR ' 01880905 ! 192: WRITE(NUVI, *) A51K 01890905 ! 193: IVINSP = IVINSP + 1 01900905 ! 194: WRITE (NUVI, 80022) 01910905 ! 195: WRITE (NUVI, 70061) 01920905 ! 196: 70061 FORMAT(1H ,6X,20HONE TWO THREEFOUR ) 01930905 ! 197: CT007* TEST 7 - MIXED LIST 01940905 ! 198: IVTNUM = 7 01950905 ! 199: WRITE (NUVI, 80004) IVTNUM 01960905 ! 200: WRITE (NUVI, 80020) 01970905 ! 201: IVI = -3 01980905 ! 202: AVS = 15.25 01990905 ! 203: AVB = .TRUE. 02000905 ! 204: A5VK = 'HELLO' 02010905 ! 205: WRITE(NUVI,*) IVI, AVS, A5VK, AVB 02020905 ! 206: IVINSP = IVINSP + 1 02030905 ! 207: WRITE (NUVI, 80022) 02040905 ! 208: WRITE (NUVI, 70071) 02050905 ! 209: 70071 FORMAT(1H ,6X,19H-3 15.25 HELLO T) 02060905 ! 210: CT008* TEST 8 - CHARACTER CONSTANT CONTAINING EMBEDDED ' 02070905 ! 211: IVTNUM = 8 02080905 ! 212: WRITE (NUVI, 80004) IVTNUM 02090905 ! 213: WRITE (NUVI, 80020) 02100905 ! 214: A9VK = '5 O''CLOCK' 02110905 ! 215: WRITE(NUVI, *) A9VK 02120905 ! 216: IVINSP = IVINSP + 1 02130905 ! 217: WRITE (NUVI, 80022) 02140905 ! 218: WRITE (NUVI, 70081) 02150905 ! 219: 70081 FORMAT(1H ,6X,9H5 O'CLOCK) 02160905 ! 220: CT009* TEST 9 - CHARACTER CONSTANT SPILLING OVER RECORD BOUNDARY 02170905 ! 221: IVTNUM = 9 02180905 ! 222: WRITE (NUVI, 80004) IVTNUM 02190905 ! 223: WRITE (NUVI, 80020) 02200905 ! 224: A5VK = 'SHORT' 02210905 ! 225: A33VK = 'THIS IS A LONGER CHARACTER STRING' 02220905 ! 226: A82VK = '123456789012345678901234567890123456789012345678901234502230905 ! 227: 167890123456789012' 02240905 ! 228: WRITE(NUVI, *) A5VK, A33VK, A82VK 02250905 ! 229: IVINSP = IVINSP + 1 02260905 ! 230: WRITE (NUVI, 80022) 02270905 ! 231: WRITE (NUVI, 70091) 02280905 ! 232: 70091 FORMAT(1H , 40HSHORT THIS IS A LONGER CHARACTER STRING, 02290905 ! 233: 1 40H 123456789012345678901234567890123456789/ 02300905 ! 234: 2 1H ,33H012345678901234567890123456789012) 02310905 ! 235: CT010* TEST 10 - SEVERAL IDENTICAL VALUES 02320905 ! 236: IVTNUM = 10 02330905 ! 237: WRITE (NUVI, 80004) IVTNUM 02340905 ! 238: WRITE (NUVI, 80020) 02350905 ! 239: IVI = 5 02360905 ! 240: JVI = 5 02370905 ! 241: KVI = 5 02380905 ! 242: LVI = 5 02390905 ! 243: MVI = 5 02400905 ! 244: WRITE(NUVI, *) IVI, JVI, KVI, LVI, MVI 02410905 ! 245: IVINSP = IVINSP + 1 02420905 ! 246: WRITE (NUVI, 80022) 02430905 ! 247: WRITE (NUVI, 70101) 02440905 ! 248: 70101 FORMAT(1H ,6X,22H5 5 5 5 5 OR 5*5) 02450905 ! 249: CBB** ********************** BBCSUM0 **********************************02460905 ! 250: C**** WRITE OUT TEST SUMMARY 02470905 ! 251: C**** 02480905 ! 252: IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 02490905 ! 253: WRITE (I02, 90004) 02500905 ! 254: WRITE (I02, 90014) 02510905 ! 255: WRITE (I02, 90004) 02520905 ! 256: WRITE (I02, 90020) IVPASS 02530905 ! 257: WRITE (I02, 90022) IVFAIL 02540905 ! 258: WRITE (I02, 90024) IVDELE 02550905 ! 259: WRITE (I02, 90026) IVINSP 02560905 ! 260: WRITE (I02, 90028) IVTOTN, IVTOTL 02570905 ! 261: CBE** ********************** BBCSUM0 **********************************02580905 ! 262: CBB** ********************** BBCFOOT0 **********************************02590905 ! 263: C**** WRITE OUT REPORT FOOTINGS 02600905 ! 264: C**** 02610905 ! 265: WRITE (I02,90016) ZPROG, ZPROG 02620905 ! 266: WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 02630905 ! 267: WRITE (I02,90019) 02640905 ! 268: CBE** ********************** BBCFOOT0 **********************************02650905 ! 269: CBB** ********************** BBCFMT0A **********************************02660905 ! 270: C**** FORMATS FOR TEST DETAIL LINES 02670905 ! 271: C**** 02680905 ! 272: 80000 FORMAT (1H ,2X,I3,4X,7HDELETED,32X,A31) 02690905 ! 273: 80002 FORMAT (1H ,2X,I3,4X,7H PASS ,32X,A31) 02700905 ! 274: 80004 FORMAT (1H ,2X,I3,4X,7HINSPECT,32X,A31) 02710905 ! 275: 80008 FORMAT (1H ,2X,I3,4X,7H FAIL ,32X,A31) 02720905 ! 276: 80010 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,15X,10HCOMPUTED= , 02730905 ! 277: 1I6,/,1H ,15X,10HCORRECT= ,I6) 02740905 ! 278: 80012 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02750905 ! 279: 1E12.5,/,1H ,16X,10HCORRECT= ,E12.5) 02760905 ! 280: 80018 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02770905 ! 281: 1A21,/,1H ,16X,10HCORRECT= ,A21) 02780905 ! 282: 80020 FORMAT (1H ,16X,10HCOMPUTED= ,A21,1X,A31) 02790905 ! 283: 80022 FORMAT (1H ,16X,10HCORRECT= ,A21,1X,A31) 02800905 ! 284: 80024 FORMAT (1H ,16X,10HCOMPUTED= ,I6,16X,A31) 02810905 ! 285: 80026 FORMAT (1H ,16X,10HCORRECT= ,I6,16X,A31) 02820905 ! 286: 80028 FORMAT (1H ,16X,10HCOMPUTED= ,E12.5,10X,A31) 02830905 ! 287: 80030 FORMAT (1H ,16X,10HCORRECT= ,E12.5,10X,A31) 02840905 ! 288: 80050 FORMAT (1H ,48X,A31) 02850905 ! 289: CBE** ********************** BBCFMT0A **********************************02860905 ! 290: CBB** ********************** BBCFMAT1 **********************************02870905 ! 291: C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 02880905 ! 292: C**** 02890905 ! 293: 80031 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02900905 ! 294: 1D17.10,/,1H ,16X,10HCORRECT= ,D17.10) 02910905 ! 295: 80033 FORMAT (1H ,16X,10HCOMPUTED= ,D17.10,10X,A31) 02920905 ! 296: 80035 FORMAT (1H ,16X,10HCORRECT= ,D17.10,10X,A31) 02930905 ! 297: 80037 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 02940905 ! 298: 80039 FORMAT (1H ,16X,10HCORRECT= ,1H(,E12.5,2H, ,E12.5,1H),6X,A31) 02950905 ! 299: 80041 FORMAT (1H ,16X,10HCOMPUTED= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 02960905 ! 300: 80043 FORMAT (1H ,16X,10HCORRECT= ,1H(,F12.5,2H, ,F12.5,1H),6X,A31) 02970905 ! 301: 80045 FORMAT (1H ,2X,I3,4X,7H FAIL ,/,1H ,16X,10HCOMPUTED= , 02980905 ! 302: 11H(,F12.5,2H, ,F12.5,1H)/,1H ,16X,10HCORRECT= , 02990905 ! 303: 21H(,F12.5,2H, ,F12.5,1H)) 03000905 ! 304: CBE** ********************** BBCFMAT1 **********************************03010905 ! 305: CBB** ********************** BBCFMT0B **********************************03020905 ! 306: C**** FORMAT STATEMENTS FOR PAGE HEADERS 03030905 ! 307: C**** 03040905 ! 308: 90002 FORMAT (1H1) 03050905 ! 309: 90004 FORMAT (1H ) 03060905 ! 310: 90006 FORMAT (1H ,20X,31HFEDERAL SOFTWARE TESTING CENTER) 03070905 ! 311: 90007 FORMAT (1H ,19X,34HFORTRAN COMPILER VALIDATION SYSTEM) 03080905 ! 312: 90008 FORMAT (1H ,21X,A13,A17) 03090905 ! 313: 90009 FORMAT (1H ,/,2H *,A5,6HBEGIN*,12X,15HTEST RESULTS - ,A5,/) 03100905 ! 314: 90010 FORMAT (1H ,8X,16HTEST DATE*TIME= ,A17,15H - COMPILER= ,A20) 03110905 ! 315: 90013 FORMAT (1H ,8H TEST ,10HPASS/FAIL ,6X,17HDISPLAYED RESULTS, 03120905 ! 316: 1 7X,7HREMARKS,24X) 03130905 ! 317: 90014 FORMAT (1H ,46H----------------------------------------------, 03140905 ! 318: 1 33H---------------------------------) 03150905 ! 319: 90015 FORMAT (1H ,48X,17HTHIS PROGRAM HAS ,I3,6H TESTS,/) 03160905 ! 320: C**** 03170905 ! 321: C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 03180905 ! 322: C**** 03190905 ! 323: 90016 FORMAT (1H ,/,2H *,A5,4HEND*,14X,14HEND OF TEST - ,A5,/) 03200905 ! 324: 90018 FORMAT (1H ,A13,13X,A20,7H * ,A10,1H/, 03210905 ! 325: 1 A13) 03220905 ! 326: 90019 FORMAT (1H ,26HFOR OFFICIAL USE ONLY ,35X,15HCOPYRIGHT 1982) 03230905 ! 327: C**** 03240905 ! 328: C**** FORMAT STATEMENTS FOR RUN SUMMARY 03250905 ! 329: C**** 03260905 ! 330: 90020 FORMAT (1H ,21X,I5,13H TESTS PASSED) 03270905 ! 331: 90022 FORMAT (1H ,21X,I5,13H TESTS FAILED) 03280905 ! 332: 90024 FORMAT (1H ,21X,I5,14H TESTS DELETED) 03290905 ! 333: 90026 FORMAT (1H ,21X,I5,25H TESTS REQUIRE INSPECTION) 03300905 ! 334: 90028 FORMAT (1H ,21X,I5,4H OF ,I3,15H TESTS EXECUTED) 03310905 ! 335: CBE** ********************** BBCFMT0B **********************************03320905 ! 336: C***** 03330905 ! 337: C***** END OF TEST SEGMENT 371 03340905 ! 338: STOP 03350905 ! 339: END 03360905
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.