aboutsummaryrefslogtreecommitdiff
path: root/pkg/tbtables/cfitsio/quick.ps
blob: 7503d8410418c9bfb875c30617d66133b92d3eda (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: quick.dvi
%%Pages: 41
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -N0 quick
%DVIPSParameters: dpi=600, compressed
%DVIPSSource:  TeX output 2003.06.23:1300
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end

%%EndProcSet
TeXDict begin 39158280 55380996 1000 600 600 (quick.dvi)
@start
%DVIPSBitmapFont: Fa cmsy10 10.95 4
/Fa 4 107 df<EB0FFCEB3FFF90B512C0000314F04880488048804880A2481580A3B712
C0AA6C1580A36C1500A26C5C6C5C6C5C6C5CC614C0013F90C7FCEB0FFC22227BA72D>15
D<153FEC03FFEC0FE0EC3F80EC7E00495A5C495AA2495AB3AA130F5C131F495A91C7FC13
FEEA03F8EA7FE048C8FCEA7FE0EA03F8EA00FE133F806D7E130F801307B3AA6D7EA26D7E
80EB007EEC3F80EC0FE0EC03FFEC003F205B7AC32D>102 D<12FCEAFFC0EA07F0EA01FC
EA007E6D7E131F6D7EA26D7EB3AA801303806D7E1300147FEC1FC0EC07FEEC00FFEC07FE
EC1FC0EC7F0014FC1301495A5C13075CB3AA495AA2495A133F017EC7FC485AEA07F0EAFF
C000FCC8FC205B7AC32D>I<126012F0B3B3B3B3B11260045B76C319>106
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmbx12 12 41
/Fb 41 122 df<B612F8A91D097F9A25>45 D<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA
7FFCEA3FF8EA1FF0EA07C00F0F788E1F>I<EE01C0EE03E01607A2160F17C0161F1780A2
163F17005E167EA216FE5E15015EA215035EA215075E150F5EA2151F5E153F93C7FCA25D
157E15FE5DA214015D14035DA214075D140F5DA2141F5D143F92C8FCA25C147EA214FE5C
13015CA213035C13075CA2130F5C131F5CA2133F91C9FC5B137EA213FE5B12015BA21203
5BA212075B120F5BA2121F5B123F90CAFCA25A127E12FE5AA25A12782B647ACA38>I<EC
03C01407141F147FEB03FF133FB6FCA413C3EA0003B3B3ADB712FCA5264177C038>49
D<ECFFE0010F13FE013F6D7E90B612E0000315F82607FC0313FE3A0FE0007FFFD81F806D
138048C7000F13C0488001C015E001F07F00FF6E13F07F17F881A46C5A6C5A6C5AC9FC17
F05DA217E05D17C04B13804B1300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC4A5A4A5AEC0FF0
4A5AEC3F804AC7127814FE495A494814F8D907E014F0495A495A49C8FC017C1401491403
48B7FC4816E05A5A5A5A5AB8FC17C0A42D417BC038>I<ECFFF0010713FF011F14C0017F
14F049C66C7ED803F8EB3FFED807E06D7E81D80FF86D138013FE001F16C07FA66C5A6C48
15806C485BC814005D5E4B5A4B5A4B5A4A5B020F1380902607FFFEC7FC15F815FF16C090
C713F0ED3FFCED0FFEEEFF80816F13C017E0A26F13F0A217F8A3EA0FC0EA3FF0487EA248
7EA217F0A25D17E06C5A494913C05BD83F80491380D81FF0491300D80FFEEBFFFE6CB612
F800015D6C6C14C0011F49C7FC010113E02D427BC038>I<163FA25E5E5D5DA25D5D5D5D
A25D92B5FCEC01F7EC03E7140715C7EC0F87EC1F07143E147E147C14F8EB01F0EB03E013
0714C0EB0F80EB1F00133E5BA25B485A485A485A120F5B48C7FC123E5A12FCB91280A5C8
000F90C7FCAC027FB61280A531417DC038>I<0007150301E0143F01FFEB07FF91B6FC5E
5E5E5E5E16804BC7FC5D15E092C8FC01C0C9FCAAEC3FF001C1B5FC01C714C001DF14F090
39FFE03FFC9138000FFE01FC6D7E01F06D13804915C0497F6C4815E0C8FC6F13F0A317F8
A4EA0F80EA3FE0487E12FF7FA317F05B5D6C4815E05B007EC74813C0123E003F4A1380D8
1FC0491300D80FF0495AD807FEEBFFFC6CB612F0C65D013F1480010F01FCC7FC010113C0
2D427BC038>I<4AB47E021F13F0027F13FC49B6FC01079038807F8090390FFC001FD93F
F014C04948137F4948EBFFE048495A5A1400485A120FA248486D13C0EE7F80EE1E00003F
92C7FCA25B127FA2EC07FC91381FFF8000FF017F13E091B512F89039F9F01FFC9039FBC0
07FE9039FF8003FF17804A6C13C05B6F13E0A24915F0A317F85BA4127FA5123FA217F07F
121FA2000F4A13E0A26C6C15C06D4913806C018014006C6D485A6C9038E01FFC6DB55A01
1F5C010714C0010191C7FC9038003FF02D427BC038>I<121E121F13FC90B712FEA45A17
FC17F817F017E017C0A2481680007EC8EA3F00007C157E5E00785D15014B5A00F84A5A48
4A5A5E151FC848C7FC157E5DA24A5A14035D14074A5AA2141F5D143FA2147F5D14FFA25B
A35B92C8FCA35BA55BAA6D5A6D5A6D5A2F447AC238>I<DCFFF01470031F01FF14F04AB6
EAE0010207EDF803023FEDFE0791B539E001FF0F4949C7EA3F9F010701F0EC0FFF4901C0
804990C87E4948814948814948167F4849163F4849161F5A4A160F485B19074890CAFC19
035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2123FA27F6C18011AE06C7F19036C
6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C167E6D6C6C5D6D6D4A5A6D01F0EC
07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7FC020715FC020115F0DA001F1480
030001F8C8FC44467AC451>67 D<B9FC18F018FE727E19E026003FFEC7001F13F805017F
9438003FFF060F7F727F727F727F84737E737EA2737EA2737EA21B80A2851BC0A51BE0AD
1BC0A51B8061A21B006162193F624F5A19FF624E5B06075B4E5B063F90C7FC4DB45A050F
13F8BA5A19C04EC8FC18F095C9FC4B447CC356>I<BA12F8A485D8001F90C71201EF003F
180F180318011800A2197E193EA3191EA21778A285A405F890C7FCA316011603161F92B5
FCA5ED001F160316011600A2F101E01778A2F103C0A494C7FC1907A21A80A2190FA2191F
A2193FF17F0061601807181F4DB5FCBBFC61A443447DC34A>I<BA1280A419C026003FFE
C7121F1701EF007F183F181F180F180719E01803A31801A3EE01E0F000F0A419001603A3
1607160F167F91B6FCA59138FE007F160F16071603A31601A693C9FCAFB712F0A53C447C
C346>I<B7D88003B612FEA526003FFEC9EBF800B3A791B9FCA54AC9FCB3AAB7D88003B6
12FEA54F447CC358>72 D<B712E0A5D8001F90C7FCB3B3B3A4B712E0A523447DC32A>I<
B76C0103B512F8A526003FFEC93807E0004F5A4F5A077EC7FC614E5A4E5A4E5AF01F804E
C8FC187E604D5AEF07F0EF0FC04D5A4DC9FC177E4C5AEE03F04C5A4C5A4C7EEE7FF04C7E
5D4B7F4B7F4B7FED3F3FDB7E1F7F03FC806E486C7F4B7E4B6C7F0380804B6C7F4A7F717E
84717F83717F85717F83717F85717F187F727E86727F84727F86727F84B76C90B612FCA5
4E447CC358>75 D<B64BB512FE8181A281D8003F6D91C7EA780081013D7F81133C6E7E6E
7F6E7F6E7F6E7F82806E7F6E7F6F7E6F7F83816F7F6F7F6F7F6F7F6F7F8382707F707F70
7F707F8482707F707F717E7113807113C019E0837113F07113F87113FC7113FE19FF8472
13F884848484A28484197F193F191FA2190F1907B61603190119001A78A24F447CC358>
78 D<923807FFC092B512FE0207ECFFC0021F15F091267FFE0013FC902601FFF0EB1FFF
01070180010313C04990C76C7FD91FFC6E6C7E49486F7E49486F7E01FF8348496F7E4849
6F1380A248496F13C0A24890C96C13E0A24819F04982003F19F8A3007F19FC49177FA400
FF19FEAD007F19FC6D17FFA3003F19F8A26D5E6C19F0A26E5D6C19E0A26C6D4B13C06C19
806E5D6C6D4B13006C6D4B5A6D6C4B5A6D6C4B5A6D6C4A5B6D01C001075B6D01F0011F5B
010101FE90B5C7FC6D90B65A023F15F8020715C002004AC8FC030713C047467AC454>I<
B812F8EFFFC018F818FE727ED8001F90C7003F13E005037F05007F727E727E727EA28684
A286A762A24E90C7FCA24E5A61187F943801FFF005075B053F138092B7C8FC18F818E018
F892C77FEF3FFF050F7F717F717FA2717FA2717FA785A61B0F85A2187F73131F72141EB7
00E06DEB803E72EBE0FC72EBFFF8060114F0726C13E0CC0007138050457DC354>82
D<003FBA12E0A59026FE000FEB8003D87FE09338003FF049171F90C71607A2007E180300
7C1801A300781800A400F819F8481978A5C81700B3B3A20107B8FCA545437CC24E>84
D<B76C010FB512F8A526003FFEC93803E000B3B3A9011F17076280190F6D606F151F6D95
C7FC6D6D5D197E6D6D5D6D6D1403DA7FFC4A5A6EB4EC3FF0020F9039F003FFE06E90B612
80020193C8FC6E6C14FC030F14E09226007FFEC9FC4D457CC356>I<903801FFE0011F13
FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E486C6D7EA26F7FA36F7F6C5A6C
5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FFFC01000313E0000F1380381F
FE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83FFE013EEBFFC03A1FFF80FC7F
0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36>97 D<EB7FC0B5FCA512037E
B1ED0FF892B57E02C314E002CF14F89139DFC03FFC9139FF000FFE02FCEB03FF4A6D1380
4A15C04A6D13E05CEF7FF0A218F8173FA318FCAC18F8A2177F18F0A3EFFFE06E15C06E5B
6E491380027C491300496C495A903AFC1FC07FFC496CB512F0D9F00314C049C691C7FCC8
EA1FF036467DC43E>I<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC010FEBFF8F
013F14CF9039FFF807FF48EBC00148903880007F4890C7123F4848141F49140F121F485A
A3127F5BA212FFAC127FA37F123FA26C6C141FA26C6C143F0007157F6C6C91B5FC6CD9C0
0314FC6C9038F01FEF6DB5128F011FEBFE0F010713F89026007FC0EBF80036467CC43E>
100 D<EC3FF80103B57E010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C
7E48486D1380485A001FED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0
C9FCA5127FA27FA2123F17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01
F0EB3F0090397FFE01FE011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>I<
DAFFE0137E010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F489038001FF84848
EB0FFC4848903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F93C7FCA26D5B
000F5D6C6C495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC018013E0000F90
CAFCA47F7F7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82D81FF0C77ED8
3FC014074848020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C6C4A5AD80F
FEEC3FF83B07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8FC32427DAC
38>103 D<137C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7
FCAAEB7FC0EA7FFFA512037EB3AFB6FCA518467CC520>105 D<EB7FC0B5FCA512037EB3
B3B3A3B61280A519457CC420>108 D<90277F8007FEEC0FFCB590263FFFC090387FFF80
92B5D8F001B512E002816E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D9
9F009026FF3E007F6C019E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B6
0081B60003B512FEA5572D7CAC5E>I<90397F8007FEB590383FFF8092B512E0028114F8
913987F03FFC91388F801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B6
0083B512FEA5372D7CAC3E>I<EC1FFC49B512C0010714F0011F14FC90397FF80FFF9026
FFC0017F48496C7F4848C7EA3FE000078248486E7E49140F001F82A2003F82491407007F
82A400FF1780AA007F1700A46C6C4A5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEBFF
E06C6D485B27007FF80F90C7FC6DB55A010F14F8010114C09026001FFCC8FC312F7DAD38
>I<90397FC00FF8B590B57E02C314E002CF14F89139DFC03FFC9139FF001FFE000301FC
EB07FF6C496D13804A15C04A6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FF
A24C13E06E15C06E5B6E4913806E4913006E495A9139DFC07FFC02CFB512F002C314C002
C091C7FCED1FF092C9FCADB67EA536407DAC3E>I<90387F807FB53881FFE0028313F002
8F13F8ED8FFC91389F1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7
FCA35CB3A5B612E0A5272D7DAC2E>114 D<90391FFC038090B51287000314FF120F381F
F003383FC00049133F48C7121F127E00FE140FA215077EA27F01E090C7FC13FE387FFFF0
14FF6C14C015F06C14FC6C800003806C15806C7E010F14C0EB003F020313E0140000F014
3FA26C141F150FA27EA26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A00FC
5CD8F03F13E026E007FEC7FC232F7CAD2C>I<EB01E0A51303A41307A2130FA2131FA213
3F137F13FF1203000F90B51280B7FCA4C601E0C7FCB3A3ED01E0A9150302F013C0137F15
0790393FF80F8090391FFC1F006DB5FC6D13FC01015B9038003FE023407EBE2C>I<D97F
C049B4FCB50103B5FCA50003EC000F6C81B3A85EA25EA25E7E6E491380017FD901F713FE
9138F807E76DB512C7010F1407010313FE9026007FF0EBFC00372E7CAC3E>I<B6903803
FFFCA5000101E09038003E006C163C80017F5D8017F8013F5D6E1301011F5D6E1303010F
5D6E13076D5DED800F6D92C7FC15C05E6DEBE01E163E6D143CEDF07C027F1378EDF8F802
3F5B15FD021F5B15FF6E5BA36E5BA26E90C8FCA26E5AA26E5AA21578362C7EAB3B>I<B5
D8FE1FB539801FFFF0A500019027C0003FE0C7EA7C007114786E17F86C6F6C5C6E160101
7F6E6C5CA26E011F1403013F6F5C6E013F1407011F6F5CA26E0179140F010F048090C7FC
6E01F95C6D02F0EBC01E15806D902681E07F5B18E003C3157C6D9139C03FF07815E76DDA
801F5B18F803FF14F96E9039000FFDE018FF6E486D5BA36E486D5BA26E486D90C8FCA24B
7F02075DA26E48147C4B143C4C2C7EAB51>I<B500FE90383FFFF0A5C601F0903803E000
6D6C495A013F4A5A6D6C49C7FC6E5B6D6C137E6DEB807C6D6D5A6DEBC1F0EDE3E06DEBF7
C06EB45A806E90C8FC5D6E7E6E7F6E7FA24A7F4A7F8291381F3FFCEC3E1F027C7F4A6C7E
49486C7F01036D7F49487E02C08049486C7F49C76C7E013E6E7E017E141FB500E090B512
FCA5362C7EAB3B>I<B6903803FFFCA5000101E09038003E006C163C80017F5D8017F801
3F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC15C05E6DEBE01E163E6D
143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E5BA26E90C8FCA26E5AA2
6E5AA21578A215F85D14015D001F1303D83F805B387FC007D8FFE05B140F92C9FC5C143E
495A387FC1F8EB07F06CB45A6C5B000790CAFCEA01FC36407EAB3B>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmtt10 10.95 94
/Fc 94 127 df<121C127FEAFF80B3EA7F00B2123EC7FCA8121C127FA2EAFF80A3EA7F00
A2121C09396DB830>33 D<00101304007C131F00FEEB3F80A26C137FA248133FB2007E14
00007C7F003C131E00101304191C75B830>I<903907C007C0A2496C487EA8011F131FA2
02C05BA3007FB7FCA2B81280A36C16006C5D3A007F807F80A2020090C7FCA9495BA2003F
90B512FE4881B81280A36C1600A22701FC01FCC7FCA300031303A201F85BA76C486C5AA2
29387DB730>I<1438147C14FCA4EB03FF011F13E090B512FC4880000780481580261FFE
FD13C09039F0FC3FE0D83FC0131FD87F80EB0FF001001307007E15F800FE14035A1507A3
6CEC03F0A2007F91C7FC138013C0EA3FF0EA1FFE13FF6C13FF6C14E0000114F86C6C7F01
1F7F01037F0100148002FD13C09138FC7FE0151FED0FF015070018EC03F8127E1501B4FC
A35AA26CEC03F07E01801307ED0FE0D83FC0131F01F0EB7FC0D81FFEB512806CB612006C
5C6C5CC614F0013F13C0D907FEC7FCEB00FCA5147C143825477BBE30>I<D803C0EB01E0
D80FF01303486C497E487E150F487ED87E7E495AEAFE7F5E486C133FA25E157FA24BC7FC
6C5A5D387E7E01EA7FFED83FFC5B1403EA1FF86C48485AEA03C0C75B140FA25D141FA24A
5AA25D147FA292C8FC5CA2495AA25C1303A25C1307A290390FF001E0ED07F84A487E011F
497EA24A487E133F163F90267F807F1380ED7E1F14005BA25B1201A24848EB7F3F033F13
004914FF12076F5A5B6F5A6C486D5A0001EC01E029477DBE30>I<EB07E0EB1FF8497E13
7F497E803801FC7F497E810003131F13F0A6143F92C8FC91387F0FFF9026F87E1F138000
0113FEEBF9FC13FB4A6C1300D9FFF013C06C13E0151F02C05BEB7F809038FF003F4892C7
FC485C48EB807E5A15FE391FDFC0FC383F8FE014E1397F07F1F8EB03F300FEEBFBF0EB01
FF5D7FEDC006027F130F91393F801F8015C06C137F6CEBFFE049EBF83F018701FC130026
3FFFFBB5FC6C01F15B14E06C9038C03FFC00039038001FF8D801FCEB07E0293A7DB830>
I<EA07C0EA0FF0EA1FF8A213FCA213FE120F1207EA007EA513FE13FCA2120113F81203EA
07F0120FEA1FE0127FEAFFC013801300127C12380F1D70B730>I<141E147F14FF5BEB03
FEEB07FCEB0FF0EB1FE0EB3FC0EB7F80EBFF00485A5B12035B485A120F5BA2485AA2123F
5BA2127F90C7FCA412FEAD127FA47F123FA27F121FA26C7EA27F12076C7E7F12017F6C7E
EB7F80EB3FC0EB1FE0EB0FF0EB07FCEB03FEEB01FF7F147F141E184771BE30>I<127812
FE7E7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7EEB7F80133F14C0131FEB0FE014F01307A2EB
03F8A214FC1301A214FE1300A4147FAD14FEA4130114FCA2130314F8A2EB07F0A2130F14
E0EB1FC0133F1480137FEBFF00485A485A485A485AEA3FE0485A485A90C7FC5A12781847
78BE30>I<14E0497E497EA60038EC0380007EEC0FC0D8FF83EB3FE001C3137F9038F3F9
FF267FFBFB13C06CB61280000FECFE00000314F86C5C6C6C13C0011F90C7FC017F13C048
B512F04880000F14FE003FECFF80267FFBFB13C026FFF3F913E09038C3F87F0183133FD8
7E03EB0FC00038EC0380000091C7FCA66D5A6D5A23277AAE30>I<143EA2147FAF007FB7
FCA2B81280A36C1600A2C76CC8FCAF143EA229297DAF30>I<EA03E0EA0FF0EA1FF813FC
EA3FFEA213FFA27EA27E1203EA007FA2137E13FEEA01FC1203EA07F8EA3FF0127FEAFFE0
EA7F801300123C1019708B30>I<007FB612F0A2B712F8A36C15F0A225077B9E30>I<120F
EA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C0C6E8B30>I<16F01501ED03F8A2
1507A2ED0FF0A2ED1FE0A2ED3FC0A2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA2
4A5AA24A5AA24A5AA24AC7FCA2495AA25C1303A2495AA2495AA2495AA2495AA2495AA249
C8FCA2485AA25B1203A2485AA2485AA2485AA2485AA2485AA248C9FCA25AA2127CA22547
7BBE30>I<14FE903807FFC0497F013F13F8497F90B57E48EB83FF4848C6138049137F48
48EB3FC04848EB1FE049130F001F15F0491307A24848EB03F8A290C712014815FCA400FE
EC00FEAD6C14016C15FCA36D1303003F15F8A26D1307001F15F0A26D130F6C6CEB1FE0A2
6C6CEB3FC06C6CEB7F806D13FF2601FF8313006CEBFFFE6D5B6D5B010F13E06D5BD900FE
C7FC273A7CB830>I<EB03C0497EA2130FA2131FA2133F137F13FF1203123FB5FCA213EF
138FEA7E0F1200B3B0003FB512F84814FCB612FEA26C14FC6C14F81F3977B830>I<EB07
FC90383FFFC090B512F00003804814FE4880261FF80F1380263FE00113C09038C0007F48
48EB3FE090C7121FED0FF04814075A6C15F81503A3127E1218C8FCA2150716F0150F16E0
151F16C0153FED7F8015FF4A13005DEC07FC4A5A4A5A4A5A4A5A4A5A4990C7FC495A495A
EB0FF0EB3FE0495A495A4890C8FC4848EB01F04848EB03F8485AEA1FE048B6FCB7FCA37E
6C15F025397BB830>I<EB03FF013F13E090B512F84814FE4880481580260FFE0113C090
38F0007F4848EB1FE0150F16F01507A26C5A6C5AC8FC150F16E0A2151FED3FC0157FEDFF
8002071300903807FFFE495B5D8115FF6D1480D9000113C09138003FE0ED1FF0ED07F815
0316FC150116FE1500A21218127EB4FCA2150116FC4814036C15F86C6C13076DEB1FF0D8
3FF0133F3A1FFE01FFE06CB612C06C15806CECFE00C65C013F13F001031380273A7CB830
>I<EC03FC4A7E140F141FA2143F147F157E14FEA2EB01FCEB03F8A2EB07F0A2EB0FE0EB
1FC0A2EB3F80A2EB7F0013FEA2485A485AA2485AA2485A485AA2485AA248C7FC12FEB8FC
1780A46C1600C8007EC7FCAA91387FFFFE91B6FCA46E5B29397DB830>I<000FB6128048
15C05AA316800180C8FCAEEB83FF019F13C090B512F015FC8181D9FE0313809039F0007F
C049133F0180EB1FE06CC7120F000E15F0C81207A216F81503A31218127EA2B4FC150716
F048140F6C15E06C141F6DEB3FC06D137F3A3FE001FF80261FFC0F13006CB55A6C5C6C5C
6C14E06C6C1380D90FFCC7FC25397BB730>I<EC0FF8EC7FFF49B51280010714E0131F49
14F090387FF80F9039FFC007F84813803803FE005B485A4848EB03F0ED01E0484890C7FC
5B123F5BA2127FEB000C903803FFE0010F13F8D8FF3F13FE48B6FCB7128016C09039FE00
7FE001F8EB1FF001E0130F49EB07F849EB03FCA290C7120116FE1500A37EA46C7E15016D
14FC121F6D1303000FEC07F86D130F6C6CEB1FF06DEB3FE03A03FF81FFC06C90B512806C
15006D5B011F13F8010713E001011380273A7CB830>I<127CB712FC16FEA416FC48C7EA
0FF816F0ED1FE0007CEC3FC0C8EA7F80EDFF00A24A5A4A5A5D14075D140F5D4A5AA24A5A
A24AC7FCA25C5C13015CA213035CA213075CA4495AA6131F5CA96D5A6DC8FC273A7CB830
>I<49B4FC011F13F0017F13FC90B57E0003ECFF804815C048010113E03A1FF8003FF049
131FD83FC0EB07F8A24848EB03FC90C71201A56D1303003F15F86D13076C6CEB0FF06C6C
EB1FE0D807FCEB7FC03A03FF83FF806C90B512006C6C13FC011F13F0497F90B512FE4880
2607FE0013C0D80FF8EB3FE0D81FE0EB0FF04848EB07F8491303007F15FC90C712014815
FE481400A66C14016C15FC6D1303003F15F86D1307D81FF0EB1FF06D133F3A0FFF01FFE0
6C90B512C06C1580C6ECFE006D5B011F13F0010190C7FC273A7CB830>I<49B4FC010F13
E0013F13F890B57E4880488048010113803A0FFC007FC0D81FF0EB3FE04848131F49EB0F
F048481307A290C7EA03F85A4815FC1501A416FEA37E7E6D1303A26C6C13076C6C130F6D
133FD80FFC13FF6CB6FC7E6C14FE6C14F9013FEBE1FC010F138190380060011400ED03F8
A2150716F0150F000F15E0486C131F486CEB3FC0157FEDFF804A1300EC07FE391FF01FFC
90B55A6C5C6C5C6C1480C649C7FCEB3FF0273A7CB830>I<120FEA3FC0EA7FE0A2EAFFF0
A4EA7FE0A2EA3FC0EA0F00C7FCAF120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F
000C276EA630>I<EA03C0EA0FF0EA1FF8A2EA3FFCA4EA1FF8A2EA0FF0EA03C0C7FCAFEA
03C0EA0FF0121F13F8123F13FCA3121FA2120F12031200120113F8120313F01207EA1FE0
123FEA7FC0EAFF80EA7F00127E12380E3470A630>I<16F01503ED07F8151F157FEDFFF0
14034A13C0021F138091383FFE00ECFFF8495B010713C0495BD93FFEC7FC495A3801FFF0
485B000F13804890C8FCEA7FFC5BEAFFE05B7FEA7FF87FEA1FFF6C7F000313E06C7F3800
7FFC6D7E90380FFF806D7F010113F06D7FEC3FFE91381FFF80020713C06E13F01400ED7F
F8151F1507ED03F01500252F7BB230>I<007FB7FCA2B81280A36C16006C5DCBFCA7003F
B612FE4881B81280A36C1600A229157DA530>I<1278127EB4FC13C07FEA7FF813FEEA1F
FF6C13C000037F6C13F86C6C7EEB1FFF6D7F010313E06D7F9038007FFC6E7E91380FFF80
6E13C0020113F080ED3FF8151F153FEDFFF05C020713C04A138091383FFE004A5A903801
FFF0495B010F13804990C7FCEB7FFC48485A4813E0000F5B4890C8FCEA7FFE13F8EAFFE0
5B90C9FC127E1278252F7BB230>I<EB1FFE90B512E0000314F8000F14FE488048158026
7FF80313C09038C0007F48C7121F16E0150FA3127E151F0018EC7FC0C812FF020313804A
13004A5AEC1FF84A5AEC7FC04A5A92C7FC495AA2495A5CA213075CA86D5A90C9FCA8EB01
C0EB07F0A2497EA36D5AA2EB01C023397AB830>I<EC1FE0ECFFF8010313FE010F7F4914
804914C090397FF03FE09038FF800F4890380007F0D803FC13033A07F801FBF89038F007
FF380FE01F4A13FCEA1FC0495A003FEBFF0F903800FE07903901FC03FE007FEBF801EA7E
03ECF000A2EAFE0700FC49137EAA00FE6D13FED87E0314FCA2ECF801D87F0114F8003FEB
FC03903900FE07F0903880FF0F001F90387FFFE06D6C13C0EA0FE06E13803A07F007FE00
9038F801F86C6CC7127C6CB414FE6CEB800390387FF01F6DB512FC6D14F86D14E0010314
C00100EBFE00EC1FF0273A7CB830>I<147F4A7EA2497FA4497F14F7A401077F14E3A301
0F7FA314C1A2011F7FA490383F80FEA590387F007FA4498049133F90B6FCA34881A39038
FC001F00038149130FA4000781491307A2D87FFFEB7FFFB56CB51280A46C496C13002939
7DB830>I<007FB512F0B612FE6F7E82826C813A03F8001FF815076F7E1501A26F7EA615
015EA24B5A1507ED1FF0ED7FE090B65A5E4BC7FC6F7E16E0829039F8000FF8ED03FC6F7E
1500167FA3EE3F80A6167F1700A25E4B5A1503ED1FFC007FB6FCB75A5E16C05E6C02FCC7
FC29387EB730>I<91387F803C903903FFF03E49EBFC7E011F13FE49EBFFFE5B9038FFE0
7F48EB801F3903FE000F484813075B48481303A2484813015B123F491300A2127F90C8FC
167C16005A5AAC7E7EA2167C6D14FE123FA27F121F6D13016C6C14FCA26C6CEB03F86D13
076C6CEB0FF03901FF801F6C9038E07FE06DB512C06D14806D1400010713FC6D13F09038
007FC0273A7CB830>I<003FB512E04814FCB67E6F7E6C816C813A03F8007FF0ED1FF815
0F6F7E6F7E15016F7EA2EE7F80A2163F17C0161FA4EE0FE0AC161F17C0A3163F1780A216
7F17005E4B5A15034B5A150F4B5AED7FF0003FB65A485DB75A93C7FC6C14FC6C14E02B38
7FB730>I<007FB7FCB81280A47ED803F8C7123FA8EE1F0093C7FCA4157C15FEA490B5FC
A6EBF800A4157C92C8FCA5EE07C0EE0FE0A9007FB7FCB8FCA46C16C02B387EB730>I<00
3FB712804816C0B8FCA27E7ED801FCC7121FA8EE0F8093C7FCA5153E157FA490B6FCA690
38FC007FA4153E92C8FCAE383FFFF8487FB5FCA27E6C5B2A387EB730>I<02FF13F00103
EBC0F8010F13F1013F13FD4913FF90B6FC4813C1EC007F4848133F4848131F49130F485A
491307121F5B123F491303A2127F90C7FC6F5A92C8FC5A5AA892B5FC4A14805CA26C7F6C
6D1400ED03F8A27F003F1407A27F121F6D130F120F7F6C6C131FA2D803FE133F6C6C137F
ECC1FF6C90B5FC7F6D13FB010F13F30103EBC1F0010090C8FC293A7DB830>I<3B3FFF80
0FFFE0486D4813F0B56C4813F8A26C496C13F06C496C13E0D803F8C7EAFE00B290B6FCA6
01F8C7FCB3A23B3FFF800FFFE0486D4813F0B56C4813F8A26C496C13F06C496C13E02D38
7FB730>I<007FB6FCB71280A46C1500260007F0C7FCB3B3A8007FB6FCB71280A46C1500
213879B730>I<49B512F04914F85BA27F6D14F090C7EAFE00B3B3123C127EB4FCA24A5A
1403EB8007397FF01FF86CB55A5D6C5C00075C000149C7FC38003FF025397AB730>I<D8
3FFF90380FFF80486D4813C0B56C5AA26C497E6C496C1380D803F0903803F8004B5A4B5A
151F4B5A5E4BC7FC15FE14014A5A5D4A5A4A5A141F5D4A5A4AC8FC5C13F18101F37F13F7
90B57E14EFECC7F01483EC03F8140101FE7F496C7E5B157F497F82151F82150F826F7EA2
6F7E1501821500D83FFF903803FFC0486D4813E0B56C5AA26C497E6C496C13C02B387FB7
30>I<383FFFF8487FB57EA26C5B6C5BD801FCC9FCB3B0EE0F80EE1FC0A9003FB7FC5AB8
FCA27E6C16802A387EB730>I<D83FF8ECFFE0486C4913F0486C4913F8A2007F16F06C6C
4913E00007160001EF14BFEC800FA39039E7C01F3FA4ECE03F01E3133EA2ECF07EA201E1
137CA2ECF8FCA201E013F8A214FDEC7DF0A3147FEC3FE0A3EC1FC0A2EC070091C7FCADD8
3FFC903801FFE0486C4913F0B54913F8A26C486D13F06C486D13E02D387FB730>I<D83F
FC90381FFF80486C4913C0B54913E0A26C6D6C13C06C6E13800003913801F800EBF7C0A3
EBF3E0A314F013F1A214F8A213F014FCA2147C147EA2143E143FA2141FA21581A2140F15
C1A2140715E1A2140315F1A21401A215F91400A3157DA3153FEA3FFF481380B5EAC01FA2
6CEB800F6C496C5A2B387EB730>I<90383FFFE048B512FC000714FF4815804815C04815
E0EBF80001E0133FD87F80EB0FF0A290C71207A44815F8481403B3A96C1407A26C15F0A3
6D130FA26D131F6C6CEB3FE001F813FF90B6FC6C15C06C15806C1500000114FCD8003F13
E0253A7BB830>I<007FB512F0B612FE6F7E16E0826C813903F8003FED0FFCED03FE1501
6F7EA2821780163FA6167F17005EA24B5A1503ED0FFCED3FF890B6FC5E5E16804BC7FC15
F001F8C9FCB0387FFFC0B57EA46C5B29387EB730>I<90383FFFE048B512FC000714FF48
15804815C04815E0EBF80001E0133F4848EB1FF049130F90C71207A44815F8481403B3A8
147E14FE6CEBFF076C15F0EC7F87A2EC3FC7018013CF9038C01FFFD83FE014E0EBF80F90
B6FC6C15C06C15806C1500000114FCD8003F7FEB00016E7EA21680157F16C0153F16E015
1F16F0150FED07E025467BB830>I<003FB57E4814F0B612FC15FF6C816C812603F8017F
9138003FF0151F6F7E15071503821501A515035E1507150F4B5A153F4AB45A90B65A5E93
C7FC5D8182D9F8007FED3FE0151F150F821507A817F8EEF1FCA53A3FFF8003FB4801C0EB
FFF8B56C7E17F06C496C13E06C49EB7FC0C9EA1F002E397FB730>I<90390FF803C0D97F
FF13E048B512C74814F74814FF5A381FF80F383FE001497E4848137F90C7123F5A48141F
A2150FA37EED07C06C91C7FC7F7FEA3FF0EA1FFEEBFFF06C13FF6C14E0000114F86C8001
1F13FF01031480D9003F13C014019138007FE0151FED0FF0A2ED07F8A2007C140312FEA5
6C140716F07F6DEB0FE06D131F01F8EB3FC001FF13FF91B51280160000FD5CD8FC7F13F8
D8F81F5BD878011380253A7BB830>I<003FB712C04816E0B8FCA43AFE003F800FA8007C
ED07C0C791C7FCB3B1011FB5FC4980A46D91C7FC2B387EB730>I<3B7FFFC007FFFCB56C
4813FEA46C496C13FCD803F8C7EA3F80B3B16D147F00011600A36C6C14FE6D13016D5CEC
800390393FE00FF890391FF83FF06DB55A6D5C6D5C6D91C7FC9038007FFCEC1FF02F3980
B730>I<D87FFE90380FFFC0B54913E06E5AA24A7E6C486D13C0D807F0903801FC00A26D
130300035DA46C6C495AA46C6C495AA46D131F6D5CA3EC803F013F5CA46D6C48C7FCA490
380FE0FEA401075B14F1A301035BA314FB01015BA314FFA26D5BA46E5A6E5A2B397EB730
>I<D83FFC903801FFE0486C4913F000FF16F8A2007F16F06C486D13E0D81FC09038001F
C0000F1680A76D143F00071600A7000390380F803E9039F01FC07EEC3FE0A3EC7FF0A214
7D0001157CA29039F8FDF8FCA314F8A300005D01F913FCA2ECF07CA201FD137DA2017D5C
ECE03DA3017F133FA2ECC01FA2013F5CA2EC800F6D486C5A2D397FB730>I<3A3FFF01FF
F84801837F02C77FA202835B6C01015B3A01FC007F806D91C7FC00005C6D5BEB7F01EC81
FCEB3F8314C3011F5B14E7010F5B14FF6D5BA26D5BA26D5BA26D90C8FCA4497FA2497FA2
815B81EB0FE781EB1FC381EB3F8181EB7F0081497F49800001143F49800003141F498000
07140FD87FFEEB7FFFB590B5128080A25C6C486D130029387DB730>I<D87FFF90381FFF
C0B56C4813E0A46C496C13C0D803F8903803F8006D1307A26C6C495AA26C6C5C151F6D5C
EC803F013F5CECC07F011F91C7FCA290380FE0FEA214F101075BA2903803FBF8A201015B
14FF6D5BA26E5AA36E5AB1903803FFF8497F497FA26D5B6D5B2B387EB730>I<001FB612
FC4815FE5AA490C7EA03FCED07F816F0150FED1FE016C0153FED7F80003E1500C85A4A5A
5D14034A5A5D140F4A5A5D143F4A5A92C7FC5C495A5C1303495A5C130F495A5C133F495A
91C8FC5B4848147C4914FE1203485A5B120F485A5B123F485A90B6FCB7FCA46C15FC2738
7CB730>I<007FB5FCB61280A4150048C8FCB3B3B3A5B6FC1580A46C140019476DBE30>I<
127CA212FEA27EA26C7EA26C7EA26C7EA26C7EA26C7EA26C7EA212017FA26C7EA26D7EA2
6D7EA26D7EA26D7EA26D7EA26D7EA2130180A26D7EA26E7EA26E7EA26E7EA26E7EA26E7E
A26E7EA2140181A26E7EA2ED7F80A2ED3FC0A2ED1FE0A2ED0FF0A2ED07F8A21503A2ED01
F0150025477BBE30>I<007FB5FCB61280A47EC7123FB3B3B3A5007FB5FCB6FCA46C1400
19477DBE30>I<1307EB1FC0EB7FF0497E000313FE000FEBFF80003F14E0D87FFD13F039
FFF07FF8EBC01FEB800F38FE0003007CEB01F00010EB00401D0E77B730>I<007FB612F0
A2B712F8A36C15F0A225077B7D30>I<1338137CEA01FE12031207EA0FFC13F0EA1FE013
C0EA3F8013005A127EA212FE5AA5EAFFC013E013F0127FA2123FA2EA1FE0EA07C00F1D70
BE30>I<EB7FF80003B5FC4814C04880488048809038E01FFC9038C003FE14016E7E6C48
7F6CC77FC8123FA491B5FC130F137F48B6FC12075A48EB803F383FF800EA7FE0138048C7
FC5AA4157F7E6C6C13FFEBC003263FF01FEBFF8090B712C07E6C14EF000314876CD9FE01
138026003FE0C8FC2A2A7BA830>I<EA3FFC487E12FFA2127F123F1200AAEC03FE91381F
FF80027F13E091B57E90B612FC82ECFE079138F001FF4A6C13804A137F4AEB3FC091C712
1F17E049140FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDAF00313
009138FC0FFE91B55A5E495CD97E7F13C0D93C1F90C7FC90380003FC2C3980B730>I<EC
FFE0010713FC011F7F017F7F90B612804815C048EB807F3907FC003F485A485A49EB1F80
4848EB0F004990C7FC127F90C9FCA25A5AA87E7EA27F003FEC07C06DEB0FE06C7E6D131F
6C6C14C0D807FE133F9039FFC0FF806C90B5FCC615006D5B011F13F801075B0101138023
2A7AA830>I<913801FFE04A7F5CA28080EC0007AAEB03FE90381FFF874913E790B6FC5A
5A481303380FFC00D81FF0133F49131F485A150F4848130790C7FCA25AA25AA87E6C140F
A27F003F141F6D133F6C7E6D137F390FF801FF2607FE07EBFFC06CB712E06C16F06C14F7
6D01C713E0011F010313C0D907FCC8FC2C397DB730>I<49B4FC010713E0011F13F8017F
7F90B57E488048018113803A07FC007FC04848133FD81FE0EB1FE0150F484814F0491307
127F90C7FCED03F85A5AB7FCA516F048C9FC7E7EA27F003FEC01F06DEB03F86C7E6C7E6D
1307D807FEEB1FF03A03FFC07FE06C90B5FC6C15C0013F14806DEBFE00010713F8010013
C0252A7CA830>I<EDFF80020713E0021F13F05C4A13F891B5FC491387903803FE079138
FC03F0903907F800C04A1300A8003FB612C04815E0B7FCA36C15C0260007F0C7FCB3A900
3FB512FE4880B71280A26C15006C5C25397DB830>I<D903FC13FF90261FFF8713C04913
DF90B712E05A5A2607FE07138F903AF801FE07C048486C6CC7FCA2497F001F8149133FA5
6D137F000F92C7FC6D5BA26C6C485AEBFE0790B55A5D485C15C001DF5BD9C3FCC8FC01C0
C9FCA37F7F6CB512F015FF6C15C04815F0488148813A3FE0001FFE0180130148C8127F00
7E8100FE168048151FA56C153F007FED7F006D5C6C6C495A01F013076CB4EB7FFC6C90B5
5A6C5D000115C06C6C91C7FC011F13FC010113C02B3E7DA730>I<EA3FFC487E12FFA212
7F123F1200AAEC01FE91380FFF80023F13E091B57E90B67EA29138FE07FCECF8039138E0
01FE14C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC
14FC6C496C13F82F3880B730>I<14E0EB03F8A2497EA36D5AA2EB00E091C8FCA9381FFF
F8487F5AA27E7EEA0001B3A9003FB612C04815E0B7FCA27E6C15C023397AB830>I<EC01
C0EC07F0A2EC0FF8A3EC07F0A2EC01C091C7FCA990B512F04814F8A47EEB0003B3B3A5EC
07F0A2123C007EEB0FE0B4131FEC3FC0147F90B512806C14005C6C5B000F13F0000313C0
1D4E7CB830>I<EA7FF8487EA4127F1200AB0203B512804A14C017E0A217C06E14809139
001FE0004B5A4B5A4BC7FC4A5A4A5AEC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7EC
E3F8ECC1FCEC81FEEC00FF497F496D7E6F7E826F7E15076F7E6F7E3B7FFFF81FFFE0B56C
4813F017F8A217F06C496C13E02D387FB730>I<387FFFF8B57EA47EEA0001B3B3A8007F
B612F0B712F8A46C15F025387BB730>I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B5
00CF7F15DF92B57E6C010F13872607FE07EB03F801FC13FE9039F803FC01A201F013F8A3
01E013F0B3A23C7FFE0FFF07FF80B548018F13C0A46C486C01071380322881A730>I<EC
01FE3A3FFC0FFF80267FFE3F13E000FF90B57E90B67E7E6C9038FE07FCC6EBF8039138E0
01FE14C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC
14FC6C496C13F82F2880A730>I<49B4FC010F13E0013F13F8497F90B57E0003ECFF8014
013A07FC007FC04848EB3FE0D81FE0EB0FF0A24848EB07F8491303007F15FC90C71201A3
00FEEC00FEA86C14016C15FCA26D1303003F15F86D13076D130F6C6CEB1FF06C6CEB3FE0
6D137F3A07FF01FFC06C90B512806C15006C6C13FC6D5B010F13E0010190C7FC272A7CA8
30>I<EC03FE3A3FFC1FFF80267FFE7F13E000FF90B57E90B612FC6C816CEBFE07C69038
F001FF4A6C13804A137F4AEB3FC091C7121F17E049140FA217F01607A8160FA217E07F16
1F6EEB3FC0A26EEB7F806E13FFDAF00313009138FC0FFE91B55A5E495C6E13C0021F90C7
FCEC03FC91C9FCAD383FFFF8487FB57EA26C5B6C5B2C3C80A730>I<49B413F8010FEBC1
FC013F13F14913FD48B6FC5A481381390FFC007F49131F4848130F491307485A49130312
7F90C7FC15015A5AA77E7E15037FA26C6C1307150F6C6C131F6C6C133F01FC137F3907FF
01FF6C90B5FC6C14FD6C14F9013F13F1010F13C1903803FE0190C7FCAD92B512F84A14FC
A46E14F82E3C7DA730>I<ED07F83A3FFF803FFF486DB51280B512C302CF14C06C13DF6C
9038FFFC3FD8001F13E09238801F809238000F004A90C7FC5C5C5CA25CA45CAF003FB512
FC4880B7FCA26C5C6C5C2A287EA730>I<90381FFC1E48B5129F000714FF5A5A5A387FF0
07EB800100FEC7FC4880A46C143E007F91C7FC13E06CB4FC6C13FC6CEBFF806C14E00001
14F86C6C7F01037F9038000FFF02001380007C147F00FEEC1FC0A2150F7EA27F151F6DEB
3F806D137F9039FC03FF0090B6FC5D5D00FC14F0D8F83F13C026780FFEC7FC222A79A830
>I<EB0780497E131FA9003FB612E04815F0B7FCA36C15E026001FC0C7FCB216F8ED01FC
A5ECE003010FEB07F814F09138FC1FF06DB512E06D14C016806D14009038007FFCEC1FF0
26337EB130>I<D83FFCEB3FFC486C497E00FF14FFA2007F147F003F143F00001400B3A4
1501A2150315076D130F903A7FC07FFFF891B612FC6D15FE7F6D4913FC6D9038F87FF801
0001C0C7FC2F2880A630>I<3B3FFFC07FFF80486DB512C0B515E0A26C16C06C496C1380
3B01F80003F000A26D130700005DA26D130F017E5CA2017F131F6D5CA2EC803F011F91C7
FCA26E5A010F137EA2ECE0FE01075BA214F101035BA3903801FBF0A314FF6D5BA36E5A6E
5A2B277EA630>I<3B3FFFC01FFFE0486D4813F0B515F8A26C16F06C496C13E0D807E0C7
EA3F00A26D5C0003157EA56D14FE00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147D
A2ECFDF9017C5C14F8A3017E13FBA290393FF07FE0A3ECE03FA2011F5C90390F800F802D
277FA630>I<3A3FFF81FFFC4801C37FB580A26C5D6C01815BC648C66CC7FC137FEC80FE
90383F81FC90381FC3F8EB0FE3ECE7F06DB45A6D5B7F6D5B92C8FC147E147F5C497F8190
3803F7E0EB07E790380FE3F0ECC1F890381F81FC90383F80FE90387F007E017E137F01FE
6D7E48486D7E267FFF80B5FCB500C1148014E3A214C16C0180140029277DA630>I<3B3F
FFC07FFF80486DB512C0B515E0A26C16C06C496C13803B01FC0003F000A2000014076D5C
137E150F017F5C7F151FD91F805BA214C0010F49C7FCA214E00107137EA2EB03F0157C15
FCEB01F85DA2EB00F9ECFDF0147D147FA26E5AA36E5AA35DA2143F92C8FCA25C147EA200
0F13FE486C5AEA3FC1EBC3F81387EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B3C7EA6
30>I<001FB612FC4815FE5AA316FC90C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF80003E4913
00C7485A4A5A4A5A4A5A4A5A4A5A4A5A4990C7FC495A495A495A495A495A495A4948133E
4890C7127F485A485A485A485A485A48B7FCB8FCA46C15FE28277DA630>I<ED3FF09138
03FFF8140F5C147F16F09138FFF00092C7FC495A5CB3A21303495A133F383FFFF0B55A5C
91C8FC14C080003F7F38003FF813076D7E1301B3A2806D7E15F091387FFFF016F8141F80
14039138003FF025477BBE30>I<127CA212FEB3B3B3AD127CA207476CBE30>I<EA7FE0EA
FFFE6D7E8014F07EC66C7E13076D7E1301B3A2806D7E15E091387FFFE06E13F880140714
1F5C4A13E09138FFE00092C7FC495A5CB3A21303495A137F387FFFF0B5FC14C05C49C8FC
EA7FE025477BBE30>I<017C133848B4137C48EB80FE4813C14813C348EBEFFC397FEFFF
F0D8FF8713E0010713C0486C1380D87C0113003838007C1F0C78B730>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmti9 9 16
/Fd 16 119 df<121C127F12FFA412FE12380808778718>46 D<ED3FC0913803FFF89138
0FC03E91383E000702F0EB03C04948EB01E0D90780EB00F049C81270011E15385B4901FC
131C9038F003FF3B01E00F83C01E903AC03E01E00E0003EB7C004848481370D901F0137E
484848133F380E07C0121C4948133EEA3C1F003890C7127EEA783FD8703E147CA2EEFC1E
EAF07ED8E07CECF81CA20301133CEEF038A303031378923807E07017F0013C010F13E001
3E131F011E90383BE1C06DEBF3C33BF00783E3E7803B7003FF81FF00903900FE007C6C90
C9FCA27E001EED07806C151F6C6CECFE00D801C0EB07F0D800F8EBFF8090263FFFFCC7FC
010790C8FC2F3674B43B>64 D<0107B612C04915F017FC903A003F8001FEEE007FEF1F80
92C7EA0FC0EF07E05CEF03F0147E170102FE15F8A25CA21301A25CA2130317035CA21307
18F04A1407A2130F18E04A140F18C0011F151F18805CEF3F00133F177E91C85AA2494A5A
4C5A017E4A5A4C5A01FE4A5A047EC7FC49495A0001EC0FF8007FB612E0B7C8FC15F83533
7BB23A>68 D<0107B612C04915F883903A003F8001FEEE003FEF1F8092C713C0170F5C18
E0147EA214FEEF1FC05CA201011680173F4A1500177E010315FE5F4AEB03F8EE07E00107
EC3FC091B6C7FC16F802E0C9FC130FA25CA2131FA25CA2133FA291CAFCA25BA2137EA213
FEA25B1201387FFFF0B5FCA233337CB234>80 D<B53CC03FFFF003FFF8601480280FF000
01FCC7EA7F806C484AEC3E00193CA219386115036115074E5A030F140361031D4AC7FCA2
DB38FC130EA203705C15F06C6C01E05C140103C05CDA038014F060DA0700130160020E4A
5AA24A4AC8FCA24A140E147802705C5C5FD9F1C014781770D9F3805CA201F7C7EA7FC0A2
01FE5DA26C4892C9FCA249147E5B167C5B1678491470453570B24D>87
D<EB03F0EB0FF890383E1C6090387C0FF0EBF807EA01F0EA03E00007EB03E0EA0FC0A238
1F800715C0EA3F00A2140F481480127EA2141F00FE14005A1506EC3F07EC3E0F150E147E
007C141EECFE1CEB01FCD83C03133C393E07BE38391F0E1E783907FC0FF03901F003C020
2278A027>97 D<14FCEB07FF90381F078090383E03C0EBFC013801F8033803F0073807E0
0F13C0120F391F80070091C7FC48C8FCA35A127EA312FE5AA4007C14C0EC01E0A2EC03C0
6CEB0F80EC1F006C137C380F81F03803FFC0C648C7FC1B2278A023>99
D<EB03F8EB0FFEEB3E0F9038F807803801F003EA03E0EA07C0120FEA1F801407D83F0013
005C007E133EEB03F8387FFFE04848C7FC00FCC8FCA45AA4EC0180EC03C0A2007CEB0780
EC1F00003C133E6C13F8380F03E03807FF80D801FCC7FC1A2277A023>101
D<143FECFF80903803E1E6903807C0FF90380F807FEB1F00133E017E133F49133EA24848
137EA24848137CA215FC12074913F8A21401A2D80FC013F0A21403120715E01407140F14
1F3903E03FC00001137FEBF0FF38007FCF90381F0F801300141FA21500A25C143E123800
7E137E5C00FE5B48485A387803E0387C0F80D81FFFC7FCEA07F820317CA023>103
D<EB0180EB07E0A2130FEB07C0EB038090C7FCABEA01F0EA03FCEA0F1E120E121C123C12
38EA783E1270A2137EEAF07CEA60FCC65AA212015BA212035BA2000713C0EBC1E0000F13
C01381A21383EB038013071400130E131EEA07F8EA01F013337AB118>105
D<133FEA07FF5A13FEEA007EA3137CA213FCA213F8A21201A213F0A21203A213E0A21207
A213C0A2120FA21380A2121FA21300A25AA2123EA2127EA2127C1318EAFC1C133CEAF838
A21378137012F013F0EAF8E01279EA3FC0EA0F00103579B314>108
D<2703C003F8137F3C0FF00FFE01FFC03C1E783C1F07C1E03C1C7CF00F8F01F03B3C3DE0
079E0026383FC001FC7FD97F805B007001005B5E137ED8F0FC90380FC00100E05FD860F8
148012000001021F130360491400A200034A13076049013E130FF081800007027EEC83C0
051F138049017C1403A2000F02FC1407053E130049495CEF1E0E001F01015D183C010049
EB0FF0000E6D48EB03E03A227AA03F>I<3903C007F0390FF01FFC391E787C1E391C7CF0
1F393C3DE00F26383FC01380EB7F8000781300EA707EA2D8F0FC131F00E01500EA60F812
0000015C153E5BA20003147E157C4913FCEDF8180007153C0201133801C013F0A2000F15
78EDE070018014F016E0001FECE1C015E390C7EAFF00000E143E26227AA02B>I<14FCEB
07FF90381F07C090383E03E09038FC01F0EA01F83903F000F8485A5B120F484813FCA248
C7FCA214014814F8127EA2140300FE14F05AA2EC07E0A2007CEB0FC01580141FEC3F006C
137E5C381F01F0380F83E03803FF80D800FCC7FC1E2278A027>I<EB03F0EB1FFCEB3C1E
EB780FEBF007EA01E0140F0003131F13C0A2EBE00414007FEBFF8014E06C13F06C13F8EB
7FFC1307EB00FE147E143E123800FC133CA3147C00F013784813F0EAF001387803E0383C
0F80381FFE00EA03F818227AA01F>115 D<01F01338D803FC13FCEA0F1E120E121C123C
0038147CEA783E0070143CA2137ED8F07C1338EA60FCC65A1578000114705BA215F00003
14E05BA2EC01C0A2EBC003158014071500EBE00EA26C6C5A3800F878EB7FE0EB1F801E22
7AA023>118 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmr9 9 23
/Fe 23 117 df<123C127EB4FCA21380A2127F123D1201A412031300A25A1206120E120C
121C5A5A126009177A8715>44 D<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC187FA3
4A6C7EA202707FEC601FA202E07FECC00FA2D901807F1507A249486C7EA301066D7EA201
0E80010FB5FCA249800118C77EA24981163FA2496E7EA3496E7EA20001821607487ED81F
F04A7ED8FFFE49B512E0A333367DB53A>65 D<DA03FE130C91393FFF801C91B512E0903A
03FE01F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC712034848140100031500
5B4848157C485A173C485A171C123F5B007F160CA390C9FC481600AB7E6D150CA3123F7F
001F161C17186C7E17386C6C15306C6C15706D15E012016C6CEC01C0D97F80EB0380D91F
C0EB0F00D90FF0131ED903FE13FC0100B512F0023F13C0DA03FEC7FC2E377CB437>67
D<B812C0A3D803FCC7127F0001150FEE03E01601A21600A21760A403061330A41700150E
A2151E157E90B512FEA39038FC007E151E150EA21506170CA3171892C7FCA41738A21770
A217F01601160316070003157FB812E0A32E337DB234>69 D<B81280A3D803FCC7FC0001
151FEE07C01603A21601A21600A41760150CA31700A2151CA2153C15FC90B5FCA3EBFC00
153C151CA2150CA592C8FCAB487EB512FEA32B337DB232>I<DA03FE130C91393FFF801C
91B512E0903A03FE01F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC712034848
1401000315005B4848157C485A173C485A171C123F5B007F160CA390C9FC4893C7FCAA03
03B512E07E7F92390003FE00705A123F7F121FA26C7E7F12076C7E7F6C6C14036C7E6D6C
1307D91FC0EB0E7CD90FF0EB1C3CD903FEEBF81C0100B5EAF00C023F01C0C7FCDA03FEC8
FC33377CB43C>I<B5D8FE03B512F8A3000190C73807FC006C486E5AB390B7FCA349C712
03B3A3486C4A7EB5D8FE03B512F8A335337EB23A>I<D8FFFE91381FFFF87F80C6030013
006E143CD9DFE01418EBCFF0A2EBC7F8EBC3FCA2EBC1FEEBC0FF6E7EA26E7E6E7EA26E7E
6E7E6E7EA26E7E6E7EA2ED7F80ED3FC0ED1FE0A2ED0FF0ED07F8A2ED03FCED01FEED00FF
A2EE7F98EE3FD8A2EE1FF8160F1607A216031601A2486C1400D807F81578B500C01438A2
171835337EB23A>78 D<B612FCEDFF8016F03A01FE0007FC0000EC01FEED007F707E707E
83160F83A65FA24C5AA24C5A047EC7FC4B5AED0FF090B612C093C8FC9039FE001FC0ED07
F06F7E6F7E150082167E167FA583A5180C17C0A2043F131C486C1618B500FEEB1FE0040F
1338933807F070C93801FFE09338003F8036357EB239>82 D<90381FE00390387FFC0748
B5FC3907F01FCF390F8003FF48C7FC003E80814880A200788000F880A46C80A27E92C7FC
127F13C0EA3FF013FF6C13F06C13FF6C14C06C14F0C680013F7F01037F9038003FFF1403
02001380157F153FED1FC0150F12C0A21507A37EA26CEC0F80A26C15006C5C6C143E6C14
7E01C05B39F1FC03F800E0B512E0011F138026C003FEC7FC22377CB42B>I<EB7F803803
FFF0380F80FC381C003E003F133F6D6C7E6E7EA26E7EEA1F00C7FCA4EB01FF131FEBFF87
3803FC07EA0FF0EA1FC0EA3F80127F13004815C05AA3140FA26C131F6C133B3A3F8071F1
80391FC1E1FF2607FFC013003900FE003C22237DA126>97 D<EB07F8EB3FFF9038FC07C0
3901F000E03903E003F03807C007120FEA1F80123F90380003E04890C7FCA2127E12FEAA
127FA26C14187F001F14386D1330000F14706C6C13E03903F001C03900FC0F8090383FFE
00EB07F01D237EA122>99 D<153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F003
BF3907E001FF48487E48487F8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C5B
6C6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE0130026357DB32B>I<EB0FE0EB7F
FCEBF83F3903F00F80D807E013C0390FC007E0381F800315F0EA3F0014014814F8127EA2
12FEA2B6FCA248C8FCA5127E127FA26C1418A26C6C1338000F14306D13706C6C13E03901
F003C03900FC0F00EB3FFEEB07F01D237EA122>I<151F90391FC07F809039FFF8E3C039
01F07FC73907E03F033A0FC01F83809039800F8000001F80EB00074880A66C5CEB800F00
0F5CEBC01F6C6C48C7FCEBF07C380EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEEC
FFC06C14F06C14FC4880381F0001003EEB007F4880ED1F8048140FA56C141F007C15006C
143E6C5C390FC001F83903F007E0C6B51280D91FFCC7FC22337EA126>103
D<EA03F012FFA312071203AEEC1FC0EC7FF09038F1E0FC9038F3807C9038F7007E13FE49
7FA25BA25BB3486CEB7F80B538C7FFFCA326347EB32B>I<EA0780EA0FC0EA1FE0A4EA0F
C0EA0780C7FCAAEA07E012FFA3120F1207B3A6EA0FF0B5FCA310337EB215>I<EA07E012
FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315>108 D<3903F01FC000FFEB7FF09038
F1E0FC9038F3807C3907F7007EEA03FE497FA25BA25BB3486CEB7F80B538C7FFFCA32621
7EA02B>110 D<EB07F0EB3FFE9038FC1F803901F007C03903C001E000078048486C7E48
C7127CA248147E003E143E007E143FA300FE1580A8007E1500A36C147EA26C147C6D13FC
6C6C485A00075C3903F007E03900FC1F80D93FFEC7FCEB07F021237EA126>I<3903F03F
8000FFEBFFE09038F3C0F89038F7007ED807FE7F6C48EB1F804914C049130F16E0ED07F0
A3ED03F8A9150716F0A216E0150F16C06D131F6DEB3F80160001FF13FC9038F381F89038
F1FFE0D9F07FC7FC91C8FCAA487EB512C0A325307EA02B>I<3803E07C38FFE1FF9038E3
8F809038E71FC0EA07EEEA03ECA29038FC0F8049C7FCA35BB2487EB512E0A31A217FA01E
>114 D<1330A51370A313F0A21201A212031207381FFFFEB5FCA23803F000AF1403A814
073801F806A23800FC0EEB7E1CEB1FF8EB07E0182F7FAD1E>116
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmsy6 6 1
/Ff 1 4 df<136013701360A20040132000E0137038F861F0387E67E0381FFF803807FE
00EA00F0EA07FE381FFF80387E67E038F861F038E060700040132000001300A213701360
14157B9620>3 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmr10 10.95 89
/Fg 89 124 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907
F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7
FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11
D<EC03FE91383FFF809138FE03E0903903F800F0D90FE013384948137C90393F8001FE90
387F00035B5BA2485A6F5AED007093C7FCAA16FEB7FCA33901FC000315011500B3AC486C
497EB5D8F87F13FCA32E407EBF33>I<EC03FF023F13EE9138FE01FEEB03F090380FE003
EB1FC0EB3F80EB7F005B5B150148481300AEB7FCA3D801FCC7FCB3AE486C497EB5D8F87F
13FCA32E407EBF33>I<DA03FE49B4FC91273FFF801F13C0913BFE03E07F01F0903C03F0
00F1FC0078D90FE0D97FF0131C49484948133E4948484913FF494848495A5B491500A248
485C03016E5A0300153896C7FCAA197FBBFCA3D801FCC738FE00018485B3AC486C496CEC
FF80B5D8F87FD9FC3F13FEA347407EBF4C>I<121EEA7F80EAFFC0A9EA7F80ACEA3F00AC
121EAB120CC7FCA8121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A4179C019>33
D<001E130F397F803FC000FF137F01C013E0A201E013F0A3007F133F391E600F30000013
00A401E01370491360A3000114E04913C00003130101001380481303000EEB070048130E
0018130C0038131C003013181C1C7DBE2D>I<4B6C130C4B6C131EA20307143EA24C133C
A2030F147CA293C71278A24B14F8A2031E5CA2033E1301A2033C5CA3037C1303A203785C
A203F81307A24B5CA20201140F007FBAFCBB1280A26C1900C72707C0003EC8FC4B133CA3
020F147CA292C71278A24A14F8A2021E5CA3023E1301007FBAFCBB1280A26C1900C727F8
0007C0C8FC4A5CA20101140FA24A91C9FCA301035CA24A131EA20107143EA24A133CA201
0F147CA291C71278A34914F8A2011E5CA2013E1301A2013C5CA201186D5A41517BBE4C>
I<14E0A4EB07FC90383FFF8090B512E03901F8E3F03903E0E0FCD807C0133CD80F807FD8
1F007F003E80003C1580007C140316C00078141F00F8143F157FA47EED3F806CEC0E0092
C7FC127F138013C0EA3FF013FEEA1FFF6C13FC6C13FF6C14C06C806C6C13F8011F7F1303
01007FECE7FF14E102E01380157F153FED1FC0A2003E140F127FD8FF801307A5130000FC
158000F0140F1270007815005D6C141E153E6C5C6C5C3907C0E1F03903F8EFE0C6B51280
D93FFEC7FCEB0FF8EB00E0A422497BC32D>I<EC0F80EC7FE0ECF870903803E038010713
3CECC01CEB0F80011F131E150EA2EB3F00A55D1480A25D157815705D6D6C5A14C1ECC380
02C7CAFC02EE91387FFFFCEB0FEC14FC4A020713C06D48913801FE006E5DEF00F06D7E01
074B5A496C5D011D1503D939FF4A5A017093C7FC496D5B0001017F140E496C6C131E0003
6E131C2607801F143C000F6E5B001F6D6C1370263F000714F0486E485ADA03FE5B913801
FF03486D495A0487C8FCED7FCFED3FFE6F4814386D5C150F007F6E6C14786D6D6C147000
3F4A6C14F06D496C6C13E0001F91393E3FC0016C6C903AFC1FF003C03D07FC07F007FC1F
800001B5D8C001B512006C6C90C7EA7FFCD90FF8EC0FF03E437CC047>38
D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A
120E5A1218123812300B1C79BE19>I<1430147014E0EB01C0EB03801307EB0F00131E13
3E133C5B13F85B12015B1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C12
FCB2127C127EA6123E123FA37EA27F120FA27F1207A26C7EA212017F12007F13787F133E
131E7FEB07801303EB01C0EB00E014701430145A77C323>I<12C07E12707E7E121E7E6C
7E7F12036C7E7F12007F1378137CA27FA2133F7FA21480130FA214C0A3130714E0A61303
14F0B214E01307A614C0130FA31480A2131F1400A25B133EA25BA2137813F85B12015B48
5A12075B48C7FC121E121C5A5A5A5A145A7BC323>I<EB03C0A2805CA600F0140F00FC14
3F00FE147F00FF14FF393FC3C3FC390FE187F03903F18FC03900FDBF00EB3FFCEB0FF0EB
03C0EB0FF0EB3FFCEBFDBF3903F18FC0390FE187F0393FC3C3FC39FF03C0FF00FE147F00
FC143F00F0140F00001400A6805CA220277AC32D>I<1506150FB3A9007FB912E0BA12F0
A26C18E0C8000FC9FCB3A915063C3C7BB447>I<121EEA7F8012FF13C0A213E0A3127FEA
1E601200A413E013C0A312011380120313005A120E5A1218123812300B1C798919>I<B5
12FEA617067F961E>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>I<ED0180
ED03C01507A21680150FA216005DA2151E153EA2153C157CA2157815F8A25D1401A25D14
03A25D1407A25D140FA24AC7FCA2141E143EA2143C147CA2147814F8A25C1301A25C1303
A25C1307A25C130FA291C8FC5BA2131E133EA25BA2137813F8A25B1201A25B1203A25B12
07A25B120FA290C9FC5AA2121E123EA2123C127CA2127812F8A25A1260225B7BC32D>I<
EB01FE90380FFFC090383F03F090387C00F849137C48487F48487F4848EB0F80A2000F15
C04848EB07E0A3003F15F0A290C712034815F8A64815FCB3A26C15F8A56C6CEB07F0A300
1F15E0A36C6CEB0FC0A26C6CEB1F80000315006C6C133E6C6C5B017C5B90383F03F09038
0FFFC0D901FEC7FC263F7DBC2D>I<EB01C013031307131F137FEA07FFB5FC139FEAF81F
1200B3B3ACEB7FF0B612F8A31D3D78BC2D>I<EB07FC90383FFF8090B512E03903F01FF8
3907C007FC390F0001FE001E6D7E001C1580003CEC7FC05AED3FE01270B4FC6DEB1FF07F
A56C5A6CC7FC120CC813E0153FA216C0157F168015FF16004A5A5D4A5A4A5A5D4A5A4A5A
4AC7FC147E147C5C495A495A495A495A49C71270133E133C5B4914E0485A485A485A48C7
120148B6FCA25A4815C0B7FCA3243D7CBC2D>I<EB07FC90383FFF809038F80FE03901E0
03F839078001FCD80F007F000E6D7E001E1580D81F80137F486C14C07FA27F5BA2121F6C
5AC8138015FF1600A24A5AA24A5A5DEC07E04A5A023FC7FCEB1FFCECFF809038000FE0EC
07F86E7E6E7E6E7E1680ED7FC0A216E0153FA216F0A2120C123F487E487EA316E0A24913
7F6CC713C01278EDFF807E6C4913006C495A3907C007FC3903F80FF0C6B55A013F1380D9
07F8C7FC243F7CBC2D>I<150E151E153EA2157EA215FE1401A21403EC077E1406140E14
1CA214381470A214E0EB01C0A2EB0380EB0700A2130E5BA25B5BA25B5B1201485A90C7FC
5A120E120C121C5AA25A5AB8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<00061403
D80780131F01F813FE90B5FC5D5D5D15C092C7FC14FCEB3FE090C9FCACEB01FE90380FFF
8090383E03E090387001F8496C7E49137E497F90C713800006141FC813C0A216E0150FA3
16F0A3120C127F7F12FFA416E090C7121F12FC007015C012780038EC3F80123C6CEC7F00
001F14FE6C6C485A6C6C485A3903F80FE0C6B55A013F90C7FCEB07F8243F7CBC2D>I<EC
1FE0ECFFF8903803F03E90380FC00F90391F000780133E017EEB1FC049133F4848137F12
035B12074848EB3F80ED1F00001F91C7FC5BA2123FA3485AA214FE903887FF8039FF8F07
E090389C01F09038B800FC01B0137E13F0497F16804914C0A2ED1FE0A34914F0A5127FA6
123F6D14E0A2121FED3FC0A26C6C1480A20007EC7F006C6C137E6C6C5B6C6C485A90387E
07F06DB45A010F1380D903FCC7FC243F7CBC2D>I<1238123C123F90B612FCA316F85A16
F016E00078C712010070EC03C0ED078016005D48141E151C153C5DC8127015F04A5A5D14
034A5A92C7FC5C141EA25CA2147C147814F8A213015C1303A31307A3130F5CA2131FA613
3FAA6D5A0107C8FC26407BBD2D>I<EB03FC90381FFF8090387C07E09038F001F83901E0
007C48487F48487F48C7FCED0F80121E16C0003E1407A4123FA26DEB0F807F6C6C131F6D
140001FC133E6C6C5B9038FF80786C6D5A6CEBF3E06CEBFF806C91C7FC133F6D13C06D7F
013F13F801787F48486C7E3903E01FFF48486C1380260F800313C048487E489038007FE0
003E143F007E141F007CEC0FF01507481403A31501A46C15E0007C1403A2007E15C06C14
076CEC0F806DEB1F006C6C133ED807F05B3901FC03F86CB512E0011F1380D903FCC7FC24
3F7CBC2D>I<EB03FCEB1FFF90387E07C09038FC03F048486C7E48486C7E4848137C000F
147E4848137F81003F15805B007F15C0A2151F12FF16E0A516F0A5127F153FA36C7EA200
1F147F120F6C6C13FF6D13DF000313013900F8039F90387E0F1FD91FFE13E0EB07F090C7
FCA2ED3FC0A41680157FD80F801400487E486C13FEA24A5A5D49485AEB8007391E000FE0
001F495A260FC07FC7FC3803FFFE6C13F838003FC0243F7CBC2D>I<121EEA7F80A2EAFF
C0A4EA7F80A2EA1E00C7FCB3121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2779A619>I<
121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121E127FEAFF80A213C0A4127F121E12
00A412011380A3120313005A1206120E120C121C5A1230A20A3979A619>I<007FB912E0
BA12F0A26C18E0CDFCAE007FB912E0BA12F0A26C18E03C167BA147>61
D<EB1FF890B5FC3903E01FC0390F0007F0001EEB03F848EB01FC4814FE140000FE14FF7E
7FA46CC7FC123EC7EA01FEA2EC03FCEC07F815F0EC0FC0EC1F80EC3F00143E5C147814F8
5C13015CA2495AA25CAB91C7FC90C8FCA8EB0780EB1FE0A2497EA46D5AA2EB078020407B
BF2B>63 D<ED7FE0913807FFFE91391F801F809139780001E0D901E0EB0078D90780141E
49C87E011E6F7E0138ED01C0496F7E4916700001177848488249D93F80131C28070001FF
F07F48902607E07C130F000E90260FC01E7F001E90263F00071480001C49903803800300
3C01FED901C013C0003849ECFE010101EC00FF267803F8027F13E000701700495AA200F0
18F000E01870495AA96D7E12F01270A26D7E007818E0263801FC5C01005C003C7F001C01
7F49EB01C0001E6DEB077F000E903B0FC01E3F8380000F903B07E07C1F87006C903A01FF
F007FE3C0380003F8001F86D90CAFC6C7E120013707F011EEE03F06D160F6D6CED3FC0D9
01E0913801FE00D90078EC1FF0913A1F8003FF800207B500F8C7FC9126007FFEC8FC3C41
7BBF47>I<15074B7EA34B7EA34B7EA34B7EA34B7E15E7A2913801C7FC15C3A291380381
FEA34AC67EA3020E6D7EA34A6D7EA34A6D7EA34A6D7EA34A6D7EA349486D7E91B6FCA249
819138800001A249C87EA24982010E157FA2011E82011C153FA2013C820138151FA20178
82170F13FC00034C7ED80FFF4B7EB500F0010FB512F8A33D417DC044>I<B712FCEEFF80
17F00001903980000FF86C6CC7EA03FE707E701380EF7FC0EF3FE0A2EF1FF0A218F8A317
0F171FA318F0A2EF3FE0177F18C0EFFF804C1300EE03FCEE0FF8EE7FE091B6C7FC17E091
C7EA07FCEE01FE933800FF80EF7FC0EF3FE0EF1FF018F8170F18FC1707A218FEA718FC17
0FA2EF1FF818F0173FEF7FE0EFFFC00403138048486C90380FFE00B85A17E094C7FC373E
7DBD40>I<DB3FF01306912603FFFE130E020F9038FF801E913A3FF007E03E9139FF8000
F8D903FEC7EA7C7ED907F8EC1EFE4948140FD93FE0140749481403495A91C81201484815
0012034848167E5B000F173EA24848161EA2123F5B180E127FA349160012FFAC127F7F18
0EA2123FA27F001F171E181C6C7EA20007173C6D16386C6C1678000117706C6C16F06EEC
01E06D6C15C06D6C1403D90FF0EC07806D6CEC1F00D903FE143E902600FF8013F891393F
F007F0020FB512C0020391C7FC9138003FF037427BBF42>I<B712FCEEFF8017E0000190
39C0001FF86C6C48EB03FEEE00FF717E717EEF0FE084717E717E170184717EA21980187F
19C0A3F03FE0A519F0AB19E0A5F07FC0A21980A218FF19004D5AA24D5A6017074D5A4D5A
EF7FC04DC7FCEE03FE48486CEB1FF8B85A178004FCC8FC3C3E7DBD45>I<B912E0A30001
9038C000016C6C48EB001FEF0FF01703A217011700A31870A418381638A41800A21678A2
16F81501150791B5FCA3EC8007150115001678A21638A2180EA3181C93C7FCA4183C1838
A21878A318F8EF01F0A21707170F173F48486CEB03FFB912E0A3373E7DBD3E>I<B91280
A300019038C000036C6C48EB007FEF1FC0170F1707A21703A31701A4EF00E0A21638A318
00A31678A216F81501150791B5FCA3EC8007150115001678A21638A693C8FCAF3801FFE0
B612F0A3333E7DBD3B>I<DB3FE0130C912603FFFE131C021F9038FF803C913A7FF00FC0
7C9139FF0001F0D903FC90380078FC4948143DD91FE0141F4948140F4948140701FF1503
4890C8FC491501485A000716005B000F177C5B001F173CA2485AA2181C127FA25B95C7FC
12FFAB041FB512F0127FA26D9139000FFE00EF03FC123FA27F121FA26C7EA212077F1203
6C7E7F6C7F6D6C14076D7E6D6C140FD907F8141ED903FEEC3C7C902600FF80EBF83C913A
7FF007F01C021FB5EAC00C020391C8FC9138003FF03C427BBF47>I<B6D8C01FB512F8A3
000101E0C7383FFC0026007F80EC0FF0B3A691B7FCA30280C7120FB3A92601FFE0EC3FFC
B6D8C01FB512F8A33D3E7DBD44>I<B612F0A3C6EBF000EB3FC0B3B3B2EBFFF0B612F0A3
1C3E7EBD21>I<011FB512FCA3D9000713006E5A1401B3B3A6123FEA7F80EAFFC0A44A5A
1380D87F005B007C130700385C003C495A6C495A6C495A2603E07EC7FC3800FFF8EB3FC0
26407CBD2F>I<B600C090387FFFFCA3000101E0C7000F138026007F80913807FE0018F8
18E0604D5A4DC7FC173E5F5F4C5A4C5A4C5A4C5A4CC8FC163E5E5E4B5A4B5AED07804B7E
151F4B7E4B7E15FF913881EFF8913883C7FCEC878791388F03FE91389E01FF14BCDAF800
7F4A6D7E5C4A6D7E4A6D7EA2707E707EA2707E707EA2707F717E84173F717E717EA2717E
848419802601FFE04A13C0B600C090B6FCA3403E7DBD47>I<B612F8A3000101E0C9FC38
007F80B3B0EF0380A517071800A45FA35FA25F5F5F4C5A160748486C133FB8FCA3313E7D
BD39>I<B500C093B512C0A300016D4BEBE000D8007F1880D977F0ED03BFA3D973F8ED07
3FA3D971FC150EA2D970FE151CA3027F1538A36E6C1470A36E6C14E0A26E6CEB01C0A36E
6CEB0380A36E6CEB0700A26E6C130EA36E6C5BA3037F5BA26F6C5AA36F6C5AA392380FE1
C0A3923807F380A26FB4C7FCA36F5AA213F8486C6D5AD807FFEFFFE0B500F80178017FEB
FFC0A34A3E7CBD53>I<B56C91B512F88080D8007F030713006EEC01FC6E6E5A1870EB77
FCEB73FEA2EB71FF01707FA26E7E6E7EA26E7E6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7E
A26F7E6F7EA26F7E6F7EA26F7E6F1380A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03
FEA2EE01FF7013F0A2177F173FA2171F170FA2170701F81503487ED807FF1501B500F814
00A218703D3E7DBD44>I<ED7FE0913807FFFE91391FC03F8091397E0007E04948EB03F8
D907F0EB00FE4948147F49486E7E49486E7E49C86C7E01FE6F7E00018349150300038348
486F7EA248486F7EA2001F188049167F003F18C0A3007F18E049163FA300FF18F0AC007F
18E06D167FA4003F18C0A26C6CEEFF80A36C6C4B1300A26C6C4B5A00035F6D150700015F
6C6C4B5A6D5E6D6C4A5A6D6C4A5A6D6C4AC7FC6D6C14FED901FCEB03F8D9007FEB0FE091
391FC03F80912607FFFEC8FC9138007FE03C427BBF47>I<B712F8EEFF8017E000019039
C0003FF86C6C48EB07FCEE01FE707EEF7F80EF3FC018E0A2EF1FF0A218F8A818F0A2EF3F
E0A218C0EF7F80EFFF004C5AEE07FCEE3FF091B612C04CC7FC0280C9FCB3A73801FFE0B6
12C0A3353E7DBD3E>I<B712C016FCEEFF800001D9C00013E06C6C48EB1FF0EE07FCEE01
FE707E84717EA2717EA284A760177F606017FF95C7FCEE01FCEE07F8EE1FE0EEFF8091B5
00FCC8FC16F091388001FCED003FEE1FC0707E707E83160383160183A383A484A4F0C004
190EA28218E0057F131E2601FFE0161CB600C0EB3FF094381FF83805071370CA3801FFE0
9438003F803F407DBD43>82 D<D907FC131890391FFF8038017FEBE0783901FC03F83A03
F0007CF8D807C0133F4848130F001F140748C7FC003E1403007E1401A2007C140012FC16
78A46C1538A27EA26C6C14007F7FEA3FF8EBFF806C13F86CEBFF806C14F06C14FC6C14FF
6C15C0013F14E0010714F0EB007F020713F89138007FFC150FED07FE15031501ED00FFA2
00E0157FA3163FA27EA3163E7E167E6C157C6C15FC6C15F86D13016DEB03F06DEB07E0D8
F9FCEB0FC03AF07F803F8090391FFFFE00D8E00713F839C0007FC028427BBF33>I<003F
B91280A3903AF0007FE001018090393FC0003F48C7ED1FC0007E1707127C00781703A300
701701A548EF00E0A5C81600B3B14B7E4B7E0107B612FEA33B3D7DBC42>I<B600C090B5
12F8A3000101E0C70007130026007F80EC01FC715A1870B3B3A4013F16F06E5DA2170101
1F5E80010F15036E4A5A010793C7FC6D6C5C6D6C141E6D6C5C027F14F86E6C485A91390F
F00FE00203B51280020049C8FCED1FF03D407DBD44>I<B691380FFFFEA3000301E00201
13E06C01809138007F806CEF3F00017F163E181C6E153C013F1638A26E1578011F1670A2
6D6C5DA26E140101075EA26E140301035EA26D6C4AC7FCA2806D150EA26F131E027F141C
A26F133C023F1438A26E6C5BA26F13F0020F5CA2EDF80102075CA26E6C485AA2EDFE0702
0191C8FCA26F5A6E130EA2ED7F9CA216DCED3FF8A36F5AA36F5AA26F5AA36F5A3F407EBD
44>I<B500FE017FB5D88007B5FCA3000301C0010101E0C713F86C90C849EC3FE07148EC
0F807E7215006E143F017F190E84A26D6C60A24D7E6D6C60A2EFE7F86D6C60A2933801C3
FC6E18F001076104037F6E0281140101036104077F17006D6C4D5AA2040EEB7F806D6C4D
C7FCA24CEB3FC0DA7F80160EA24CEB1FE003C0161E023F171C047814F0DBE070010F133C
021F173804F014F84C1307DA0FF05EA2DBF1C0EB03FCDA07F95EA2DBFB80EB01FEDA03FF
6F5AA293C8FCA26E5FA24B157F020094C8FCA24B81037C153EA20378151E0338151C5840
7EBD5D>I<007FB5D8C003B512E0A3C649C7EBFC00D93FF8EC3FE06D48EC1F806D6C92C7
FC171E6D6C141C6D6C143C5F6D6C14706D6D13F04C5ADA7FC05B023F13036F485ADA1FF0
90C8FC020F5BEDF81E913807FC1C163C6E6C5A913801FF7016F06E5B6F5AA26F7E6F7EA2
8282153FED3BFEED71FF15F103E07F913801C07F0203804B6C7EEC07004A6D7E020E6D7E
5C023C6D7E02386D7E14784A6D7E4A6D7F130149486E7E4A6E7E130749C86C7E496F7E49
7ED9FFC04A7E00076DEC7FFFB500FC0103B512FEA33F3E7EBD44>I<B66C0103B51280A3
000101F0C8EBF8006C6C48ED3FC0725A013F041EC7FC6D7E606D6C15386D6C1578606D6C
5D6E14016D5E6D6D1303606E6C49C8FC6E6C5B170E6E6C131E171C6E6C5B6E6C13781770
6E6C13F06F5B6E13016EEB83C05FED7FC7DB3FE7C9FC16EFED1FFE5E150F6F5AB3A4ED1F
FC020FB512FCA3413E7FBD44>I<003FB712F8A391C7EA1FF013F801E0EC3FE00180EC7F
C090C8FC003EEDFF80A2003C4A1300007C4A5A12784B5A4B5AA200704A5AA24B5A4B5AA2
C8485A4A90C7FCA24A5A4A5AA24A5AA24A5A4A5AA24A5A4A5AA24990C8FCA2495A494814
1CA2495A495AA2495A495A173C495AA24890C8FC485A1778485A484815F8A24848140116
034848140F4848143FED01FFB8FCA32E3E7BBD38>I<EAFFFCA4EAF000B3B3B3B3ABEAFF
FCA40E5B77C319>I<486C13C00003130101001380481303000EEB070048130E0018130C
0038131C003013180070133800601330A300E01370481360A400CFEB678039FFC07FE001
E013F0A3007F133FA2003F131F01C013E0390F0007801C1C73BE2D>I<EAFFFCA4EA003C
B3B3B3B3ABEAFFFCA40E5B7FC319>I<EA0180120313005A120E5A121812381230127012
60A312E05AA412CFEAFFC013E0A3127FA2123F13C0EA0F000B1C7ABE19>96
D<EB0FF8EBFFFE3903F01F8039078007E0000F6D7E9038E001F8D81FF07F6E7EA3157F6C
5AEA0380C8FCA4EC1FFF0103B5FC90381FF87FEB7F803801FC00EA07F8EA0FE0485A485A
A248C7FCEE038012FEA315FFA3007F5BEC03BF3B3F80071F8700261FC00E13CF3A07F03C
0FFE3A01FFF807FC3A003FC001F0292A7DA82D>I<EA01FC12FFA3120712031201B1EC03
FC91381FFF8091387C07E09039FDE001F09039FFC000FC4A137E91C77E49158049141F17
C0EE0FE0A217F0A2160717F8AA17F0A2160FA217E0161F17C06D1580EE3F006D5C6E13FE
9039F3C001F89039F1E003F09039E0780FC09026C03FFFC7FCC7EA07F82D407EBE33>I<
49B4FC010F13E090383F00F8017C131E4848131F4848137F0007ECFF80485A5B121FA248
48EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3003FEC01C07F001F140316806C6C1307
6C6C14000003140E6C6C131E6C6C137890383F01F090380FFFC0D901FEC7FC222A7DA828
>I<ED01FC15FFA3150715031501B114FF010713E190381F80F990387E003D49131FD803
F81307485A49130348481301121F123F5B127FA290C7FCA25AAA7E7FA2123FA26C7E000F
14037F000714076C6C497E6C6C497ED8007C017913F890383F01F190380FFFC1903A01FE
01FC002D407DBE33>I<EB01FE90380FFFC090383F03F09038FC01F848486C7E4848137E
48487F000F158049131F001F15C04848130FA2127F16E090C7FCA25AA290B6FCA290C9FC
A67EA27F123F16E06C7E1501000F15C06C6C13036DEB07806C6C1400C66C131E017E5B90
381F80F8903807FFE0010090C7FC232A7EA828>I<EC1FC0EC7FF8903801F83C903807E0
7E90380FC0FFEB1FC1EB3F811401137FEC00FE01FE137C1500AEB6FCA3C648C7FCB3AE48
7E007F13FFA320407EBF1C>I<167C903903F801FF903A1FFF078F8090397E0FDE1F9038
F803F83803F001A23B07E000FC0600000F6EC7FC49137E001F147FA8000F147E6D13FE00
075C6C6C485AA23901F803E03903FE0FC026071FFFC8FCEB03F80006CAFC120EA3120FA2
7F7F6CB512E015FE6C6E7E6C15E06C810003813A0FC0001FFC48C7EA01FE003E14004815
7E825A82A46C5D007C153E007E157E6C5D6C6C495A6C6C495AD803F0EB0FC0D800FE017F
C7FC90383FFFFC010313C0293D7EA82D>I<EA01FC12FFA3120712031201B1EC01FE9138
07FFC091381E07E091387803F09138E001F8D9FDC07F148001FF6D7E91C7FCA25BA25BB3
A6486C497EB5D8F87F13FCA32E3F7DBE33>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8
FCACEA01FC127FA3120712031201B3AC487EB512F0A3143E7DBD1A>I<1478EB01FEA2EB
03FFA4EB01FEA2EB00781400AC147FEB7FFFA313017F147FB3B3A5123E127F38FF807E14
FEA214FCEB81F8EA7F01387C03F0381E07C0380FFF803801FC00185185BD1C>I<EA01FC
12FFA3120712031201B292B51280A392383FFC0016E0168093C7FC153C5D5D4A5AEC07C0
4A5A4AC8FC143E147F4A7E13FD9038FFDFC0EC9FE0140F496C7E01FC7F496C7E1401816E
7E81826F7E151F826F7EA282486C14FEB539F07FFFE0A32B3F7EBE30>I<EA01FC12FFA3
120712031201B3B3B1487EB512F8A3153F7DBE1A>I<2701F801FE14FF00FF902707FFC0
0313E0913B1E07E00F03F0913B7803F03C01F80007903BE001F87000FC2603F9C06D487F
000101805C01FBD900FF147F91C75B13FF4992C7FCA2495CB3A6486C496CECFF80B5D8F8
7FD9FC3F13FEA347287DA74C>I<3901F801FE00FF903807FFC091381E07E091387803F0
00079038E001F82603F9C07F0001138001FB6D7E91C7FC13FF5BA25BB3A6486C497EB5D8
F87F13FCA32E287DA733>I<14FF010713E090381F81F890387E007E01F8131F4848EB0F
804848EB07C04848EB03E0000F15F04848EB01F8A2003F15FCA248C812FEA44815FFA96C
15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6CEB07E06C6CEB0FC06C6CEB1F80D800
7EEB7E0090383F81FC90380FFFF0010090C7FC282A7EA82D>I<3901FC03FC00FF90381F
FF8091387C0FE09039FDE003F03A07FFC001FC6C496C7E6C90C7127F49EC3F805BEE1FC0
17E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3FC06D1580EE7F007F6E13FE9138C001
F89039FDE007F09039FC780FC0DA3FFFC7FCEC07F891C9FCAD487EB512F8A32D3A7EA733
>I<02FF131C0107EBC03C90381F80F090397F00387C01FC131CD803F8130E4848EB0FFC
150748481303121F485A1501485AA448C7FCAA6C7EA36C7EA2001F14036C7E15076C6C13
0F6C7E6C6C133DD8007E137990383F81F190380FFFC1903801FE0190C7FCAD4B7E92B512
F8A32D3A7DA730>I<3901F807E000FFEB1FF8EC787CECE1FE3807F9C100031381EA01FB
1401EC00FC01FF1330491300A35BB3A5487EB512FEA31F287EA724>I<90383FC0603901
FFF8E03807C03F381F000F003E1307003C1303127C0078130112F81400A27E7E7E6D1300
EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0D8003F13E0010313F0EB001FEC0FF8
00E01303A214017E1400A27E15F07E14016C14E06CEB03C0903880078039F3E01F0038E0
FFFC38C01FE01D2A7DA824>I<131CA6133CA4137CA213FCA2120112031207001FB512C0
B6FCA2D801FCC7FCB3A215E0A912009038FE01C0A2EB7F03013F138090381F8700EB07FE
EB01F81B397EB723>I<D801FC14FE00FF147FA3000714030003140100011400B3A51501
A31503120015076DEB06FF017E010E13806D4913FC90381FC078903807FFE00100903880
FE002E297DA733>I<B539E00FFFE0A32707FE000313006C48EB00FC5E00015D7F00005D
A26D13016D5CA26D6C485AA2ECC007011F91C7FCA290380FE00EA2ECF01E0107131CA26D
6C5AA2ECFC7801011370A2ECFEF001005BA2EC7FC0A36E5AA26EC8FCA3140E2B287EA630
>I<B53BC3FFFE03FFF8A3290FFE003FE00013C06C486D48EB3F806C4817006D010F141E
00016F131C15076D163C00004A6C1338A2017F5E4B7E151DD93F805DED3DFC1538D91FC0
4A5AED78FE9238707E03D90FE0017F5BEDE03F02F0140701070387C7FC9138F1C01F02F9
148F010315CE9138FB800F02FF14DE6D15FCED00076D5DA24A1303027E5CA2027C130102
3C5C023813003D287EA642>I<B539F01FFFE0A30003D9C00F1300C690388007F8D97F00
13E002805BD93FC05B011F49C7FC90380FE00EECF01E6D6C5A01035B6D6C5A6E5AEB00FF
6E5A6E5A81141F814A7E81147BECF1FC903801E1FEECC0FF01037F49486C7ED90F007F01
1E6D7E013E130F496D7E01FC80486C80000F4A7EB539803FFFF8A32D277FA630>I<B539
E00FFFE0A32707FE000313006C48EB01FC6F5A00015D7F00005DA2017F495AA2EC800301
3F5CA26D6C48C7FCA26E5A010F130EA26D6C5AA2ECF83C01031338A26D6C5AA2ECFEF001
005BA2EC7FC0A36E5AA36EC8FCA2140EA2141E141C143C1438A2147800181370127EB45B
A2495AA248485AD87E07C9FCEA780EEA3C3CEA1FF8EA07E02B3A7EA630>I<001FB61280
A2EBE0000180140049485A001E495A121C4A5A003C495A141F00385C4A5A147F5D4AC7FC
C6485AA2495A495A130F5C495A90393FC00380A2EB7F80EBFF005A5B4848130712074914
00485A48485BA248485B4848137F00FF495A90B6FCA221277EA628>I<B812F0A22C0280
982D>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh cmbx10 10.95 43
/Fh 43 122 df<EA0FC0EA1FE0EA3FF0EA7FF8EAFFFCA6EA7FF8EA3FF0EA1FE0EA0FC00E
0E798D1D>46 D<140F143F5C495A130F48B5FCB6FCA313F7EAFE071200B3B3A8007FB612
F0A5243C78BB34>49 D<903803FF80013F13F890B512FE00036E7E4881260FF80F7F261F
C0037F4848C67F486C6D7E6D6D7E487E6D6D7EA26F1380A46C5A6C5A6C5A0007C7FCC8FC
4B1300A25E153F5E4B5AA24B5A5E4A5B4A5B4A48C7FC5D4A5AEC1FE04A5A4A5A9139FF00
0F80EB01FC495A4948EB1F00495AEB1F8049C7FC017E5C5B48B7FC485D5A5A5A5A5AB7FC
5EA4293C7BBB34>I<903801FFE0010F13FE013F6D7E90B612E04801817F3A03FC007FF8
D807F06D7E82D80FFC131F6D80121F7FA56C5A5E6C48133FD801F05CC8FC4B5A5E4B5A4A
5B020F5B902607FFFEC7FC15F815FEEDFFC0D9000113F06E6C7E6F7E6F7E6F7E1780A26F
13C0A217E0EA0FC0487E487E487E487EA317C0A25D491580127F49491300D83FC0495A6C
6C495A3A0FFE01FFF86CB65A6C5DC61580013F49C7FC010313E02B3D7CBB34>I<ED01F8
15031507A2150F151F153FA2157F15FF5C5CA25C5CEC1FBFEC3F3F143E147C14FCEB01F8
14F0EB03E01307EB0FC0EB1F801400133E137E5B485A5B485A1207485A5B48C7FC5A127E
5AB812F8A5C8387FF800AA49B612F8A52D3C7DBB34>I<00071538D80FE0EB01F801FE13
3F90B6FC5E5E5E5E93C7FC5D15F85D15C04AC8FC0180C9FCA9ECFFC0018713FC019F13FF
90B67E020113E09039F8007FF0496D7E01C06D7E5B6CC77FC8120F82A31780A21207EA1F
C0487E487E12FF7FA21700A25B4B5A6C5A01805C6CC7123F6D495AD81FE0495A260FFC07
5B6CB65A6C92C7FCC614FC013F13F0010790C8FC293D7BBB34>I<EC07FF023F13C049B5
12F001078049EB03FC90383FF80090397FE001FE9038FFC0034849487E48495AA2485A12
0FA2485A6F5A003F6E5A6F5A92C8FC485AA21402EC3FFE00FF496C7E01F9B512E001FB80
9138E03FF89039FF800FFC4A6C7E825B6F13804915C0A317E05BA4127FA5123FA26D15C0
121FA2000F4A13806D150012076C6C495A6C6D485A6C9038E07FF86DB55A6D5C6D148001
0749C7FC010013F02B3D7CBB34>I<ECFFF0010713FE011F6D7E017F14E09039FFC07FF0
3A01FE001FF848486D7E48486D7E1503485A8281121FA27F7F7F6D5B02C05B14F06C6D48
5A9138FE0FF89138FF9FF06CECFFE06C5D5E6C92C7FC6C816D14E0011F80498090B67E48
812607FE3F7F48486C1480381FF807D9F00114C048486C7E007F8049010F13E015034848
7F81167FA2163FA36D15C0127FEE7F807F6C6CECFF006C6C5B01FEEB07FE3A0FFFC03FFC
6C90B55A000115E06C6C5C011F49C7FC010113F02B3D7CBB34>56
D<B812F8EFFF8018F018FC8426003FFCC7EA3FFF050F13807113C07113E08319F0A27113
F8A719F05FA24D13E019C04D13804D1300EF3FFE933801FFF891B712E0188018F818FE02
FCC7380FFF80050313C07113E07113F019F8F07FFCA2F03FFEA219FFA38460A419FE187F
A2F0FFFC4D13F85F4D13F0053F13E0BA12C0190018FC18F095C7FC403E7DBD4A>66
D<922607FFC0130E92B500FC131E020702FF133E023FEDC07E91B7EAE1FE01039138803F
FB499039F80003FF4901C01300013F90C8127F4948151FD9FFF8150F48491507485B4A15
03481701485B18004890CAFC197E5A5B193E127FA349170012FFAC127F7F193EA2123FA2
7F6C187E197C6C7F19FC6C6D16F86C6D150119F06C6D15036C6DED07E0D97FFEED0FC06D
6CED3F80010F01C0ECFF006D01F8EB03FE6D9039FF801FFC010091B55A023F15E0020715
80020002FCC7FC030713C03F407ABE4C>I<BAFCA4198026003FFEC7123F170717018318
3FA2181FF00FC0A31807EE07C0A3F003E0A3160F95C7FC161F163F16FF91B6FCA54AC6FC
163F161F040F147CA2160719F8A593C71201A219F01803A21807A2180FF01FE0183F18FF
1703173FBAFCA219C0A33E3D7DBC45>69 D<B912FEA48426003FFEC77E170F1703170084
A284F01F80A3180FA2EE07C0A2F007C0A4040F90C7FCA2161F163F16FF91B6FCA54AC6FC
163F161F160FA21607A693C9FCACB712E0A53A3D7DBC42>I<922607FFC0130E92B500FC
131E020702FF133E023FEDC07E91B7EAE1FE01039138803FFB499039F80003FF4901C013
00013F90C8127F4948151FD9FFF8150F48491507485B4A1503481701485B18004890CAFC
197E5A5B193E127FA34994C7FC12FFAB0407B612FC127F7FA3003F92C7383FFE00A27F7E
A26C7FA26C7F6C7FA26C7F6C7FD97FFE157F6D6C7E010F01E014FF6D01F813036D9038FF
801F010091B512F3023F15C00207ED803E02009138FE000E030701E090C7FC46407ABE52
>I<B71280A526003FFEC7FCB3B3B0B71280A5213E7DBD28>73 D<B76C90B6FCA526003F
FEC8D801FCC7FCF007F84E5A4E5AF03F804EC8FC18FEEF03FC4D5A4D5AEF1FC04D5A4DC9
FCEE01FE4C5A4C5AEE0FE04C5A4C5A16FF4B7F4B7F5D4B7F4B7F037F7F92B5FC6E486C7E
9238F83FFF03F0804B7E4B6C7F4B6C7F0300804A7F707F707F84717E83717F85717F8371
7F85717F83727E85727F84B7D88007B612C0A54A3E7DBD52>75 D<B6037FB512E0A28181
81D8003F6D9139001F800081A281816E7E6E7F6E7F80826E7F6E7F6E7F6E7F157F826F7F
6F7F6F7F6F7F81836F7F6F7F707E701380A27013C07013E07013F07013F87013FCA27013
FEEF7FFF71139F7113DF8319FF8383838384A28484848484A284B600C080197F193F191F
A24B3E7DBD52>78 D<ED3FFF0203B512F0021F14FE027F6E7E902701FFF80713E00107D9
C00013F84990C7EA3FFCD93FFCEC0FFF49486E7F49486E7F48496E7F4A80488448496F7E
A24890C96C7E4884A249161F003F84A34848701380A400FF19C0AD007F19806D5EA3003F
1900A26D5E6C60A26C6D4B5AA26C6D4B5A6C6D4A5BA26C6D4A5B6C6D4A5B6D6C4A5B6DB4
023F90C7FC6D01C0EBFFFE0107D9F80713F8010190B612E06D5E021F4AC8FC020314F0DA
003F90C9FC42407ABE4F>I<B812F017FF18C018F018FC26003FFCC77FEF1FFF71138071
13C07113E0A27113F0A319F8A819F0A34D13E019C05F4D1380053F1300EFFFFE91B712F8
60188005FCC7FC4ACAFCB3A4B77EA53D3E7DBD47>I<B87E17FCEFFF8018F08428003FFC
000113FE9338003FFF050F7F717F717FA2858385A761A25F61614D5B4D90C8FCEF3FFE4C
B45A91B712F018C04DC9FC717E9126FC000F7F040113F0707F717EA2717EA2717EA685A6
F207C019C0A271140F07E01380B76DEBF01F719038FC3F007190B5FC716C5B061F13F8CB
000113E04A3F7DBD4E>82 D<903A03FFC001C0011FEBF803017FEBFE0748B6128F4815DF
48010013FFD80FF8130F48481303497F4848EB007F127F49143F161F12FF160FA27F1607
A27F7F01FC91C7FCEBFF806C13F8ECFFC06C14FCEDFF806C15E016F86C816C816C816C16
806C6C15C07F010715E0EB007F020714F0EC003F1503030013F8167F163F127800F8151F
A2160FA27EA217F07E161F6C16E06D143F01E015C001F8EC7F8001FEEB01FF9026FFE007
13004890B55A486C14F8D8F81F5CD8F00314C027E0003FFEC7FC2D407ABE3A>I<003FB9
12FCA5903BFE003FFE003FD87FF0EE0FFE01C0160349160190C71500197E127EA2007C18
3EA400FC183F48181FA5C81600B3AF010FB712F8A5403D7CBC49>I<B76C90B61280A526
003FFEC9003EC7FCB3B3A4197E011F177C80A26D17FC616D6D14014E5A6D6D4A5A6D6D14
0F6D01F8EC3FC0DA7FFEECFF8091273FFFC00F90C8FC020F90B512FC02035D020015E003
1F1480030101F8C9FC493F7DBD50>I<903807FFC0013F13F848B6FC48812607FE037F26
0FF8007F6DEB3FF0486C806F7EA36F7EA26C5A6C5AEA01E0C8FC153F91B5FC130F137F39
01FFFE0F4813E0000F1380381FFE00485A5B485A12FF5BA4151F7F007F143F6D90387BFF
806C6C01FB13FE391FFF07F36CEBFFE100031480C6EC003FD91FF890C7FC2F2B7DA933>
97 D<13FFB5FCA512077EAFEDFFE0020713FC021FEBFF80027F80DAFF8113F09139FC00
3FF802F06D7E4A6D7E4A13074A80701380A218C082A318E0AA18C0A25E1880A218005E6E
5C6E495A6E495A02FCEB7FF0903AFCFF01FFE0496CB55AD9F01F91C7FCD9E00713FCC700
0113C033407DBE3A>I<EC7FF00107B5FC011F14C0017F14E09039FFF01FF0489038800F
F848EB001F4848EB3FFC120F485AA2485AA2007FEC1FF849EB0FF0ED03C000FF91C7FCAB
127F7FA3003F153E7F001F157E6C6C147C6C6C14FC91388001F86C9038C003F0C69038F8
1FE06DB512C0011F14800107EBFE009038007FF0272B7DA92E>I<EE07F8ED07FFA5ED00
3F161FAFEC7FF0903807FFFE011FEBFF9F017F14DF9039FFF01FFF48EBC00348EB000148
48EB007F485A001F153F5B123FA2127F5BA212FFAA127FA37F123FA26C6C147F120F6D14
FF6C6C01037F6C6D48EBFFE06CEBF03F6C6CB512BF6D143F010713FC010001E0EBE00033
407DBE3A>I<ECFFF0010713FE011F6D7E017F809039FFE07FE0489038801FF048496C7E
48486D7E48486D7E121F491301003F81A2485A6F1380A212FFA290B7FCA401F0C9FCA512
7FA27F123FEE0F806C7E161F6C6C15006C6C5C6C6D137E6C9038E001FC6C9038F80FF801
3FB55A6D14C0010391C7FC9038007FF8292B7DA930>I<EC07FE91387FFF8049B512C001
0714E090390FFE3FF0EB1FF090393FE07FF8EB7FC013FF1480A2489038003FF0ED1FE0ED
0FC092C7FCAAB612E0A500010180C7FCB3AC007FEBFF80A525407DBF20>I<903A03FF80
07F0013F9038F83FF8499038FCFFFC48B712FE48018313F93A07FC007FC34848EB3FE100
1FEDF1FC4990381FF0F81700003F81A7001F5DA26D133F000F5D6C6C495A3A03FF83FF80
91B5C7FC4814FC01BF5BD80F03138090CAFCA2487EA27F13F06CB6FC16F016FC6C15FF17
806C16C06C16E01207001F16F0393FE000034848EB003F49EC1FF800FF150F90C81207A5
6C6CEC0FF06D141F003F16E001F0147FD81FFC903801FFC02707FF800F13006C90B55AC6
15F8013F14E0010101FCC7FC2F3D7DA834>I<EA01F8487E487E487E481380A66C13006C
5A6C5A6C5AC8FCA913FFB5FCA512077EB3ABB512F8A515407CBF1D>105
D<13FFB5FCA512077EB3B3AFB512FCA5163F7CBE1D>108 D<01FFD91FF8ECFFC0B590B5
010713F80203DAC01F13FE4A6E487FDA0FE09026F07F077F91261F003FEBF8010007013E
DAF9F0806C0178ECFBC04A6DB4486C7FA24A92C7FC4A5CA34A5CB3A4B5D8FE07B5D8F03F
EBFF80A551297CA858>I<01FFEB1FF8B5EBFFFE02036D7E4A80DA0FE07F91381F007F00
07013C806C5B4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A533297CA83A>I<EC7FF09038
03FFFE011FEBFFC0017F14F09039FFE03FF8489038800FFC3A03FE0003FE48486D7E000F
168048486D13C0A2003F16E049147F007F16F0A400FF16F8AA007F16F0A46C6CECFFE0A2
001F16C06C6C491380A26C6C4913003A03FF800FFE6C9038E03FFC6C6CB512F0011F14C0
010791C7FC9038007FF02D2B7DA934>I<01FFEBFFE0B5000713FC021FEBFF80027F80DA
FF8113F09139FC007FF8000701F06D7E6C496D7E4A130F4A6D7E1880A27013C0A38218E0
AA4C13C0A318805E18005E6E5C6E495A6E495A02FCEBFFF0DAFF035B92B55A029F91C7FC
028713FC028113C00280C9FCACB512FEA5333B7DA83A>I<3901FE01FE00FF903807FF80
4A13E04A13F0EC3F1F91387C3FF8000713F8000313F0EBFFE0A29138C01FF0ED0FE09138
8007C092C7FCA391C8FCB3A2B6FCA525297DA82B>114 D<90383FFC1E48B512BE000714
FE5A381FF00F383F800148C7FC007E147EA200FE143EA27E7F6D90C7FC13F8EBFFE06C13
FF15C06C14F06C806C806C806C80C61580131F1300020713C014000078147F00F8143F15
1F7EA27E16806C143F6D140001E013FF9038F803FE90B55A15F0D8F87F13C026E00FFEC7
FC222B7DA929>I<EB07C0A5130FA4131FA3133F137FA213FF5A1207001FEBFFFEB6FCA4
0001EBC000B3151FA96CEBE03EA2017F137EECF8FC90383FFFF86D13F0010713E0010013
80203B7EB929>I<D9FF80EB0FF8B5EB0FFFA50007EC007F6C153FB3A5167FA316FF6C5C
4B7F6C903AC007DFFFE09138F01F9F6DB5121F6D13FE010F13F8010101E0EBE000332A7C
A83A>I<B500FC90383FFFC0A5000101C0903803E0006E1307A26C5E6E130F017F5D6E13
1F013F92C7FC6E5B011F143E6E137E010F147C6E13FCA26D5C15816D5C15C36D5C15E76D
5C15FF6E5BA36E90C8FCA26E5AA26E5AA26E5AA26E5AA232287EA737>I<B53CFC3FFFFC
03FFFEA50003D980009039C0000F806E161F6C037F15006E496C5B6C183E836E48157E01
7F177C6E486D13FC013F02EF5C83DAFC071401011F02C75CDAFE0FEBFE03010F02835C17
FFDAFF1F14076D02015C03BF148F6DD9BE005C18CF03FE14DF6D49017F90C7FC18FF6D49
6D5AA36E486D5AA26E486D5AA36E486D5AA26E486D5A47287EA74C>I<B5D8FC03B51280
A5C69026E0007FC7FC6E13FE6D6C5B6D6C485A6D6C485A010F13076D6C485AED9FC06DEB
FF806D91C8FC6D5B6E5AA2143F6E7E140F814A7F4A7F4A7F02FE7F903801FC7F49486C7E
02F07F49486C7E49486C7E011F7F49486C7FD97F008001FE6D7FB5D8C007EBFFC0A53228
7EA737>I<B500FC90383FFFC0A5000101C0903803E0006E1307A26C5E6E130F017F5D6E
131F013F92C7FC6E5B011F143E6E137E010F147C6E13FCA26D5C15816D5C15C36D5C15E7
6D5C15FF6E5BA36E90C8FCA26E5AA26E5AA26E5AA26E5AA35D14075D000E130FD83F805B
387FC01FD8FFE090C9FC5C143E147E5CEBC1F8387FC3F0387E0FE06CB45A6C5B6C48CAFC
EA03F8323B7EA737>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fi cmbx12 14.4 33
/Fi 33 121 df<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7
FCB3B3B3A6007FB712FEA52F4E76CD43>49 D<EC3FFE0103B512E0010F14FC013F14FF90
B712C048D9C07F7F2703FE000F13F8D807F801037FD80FE06D7F48486D7F48488001F016
80486C6E13C07F486C6E13E07FA27013F0A56C5AA26C5AEA0FF0EA03C0C914E05EA218C0
5E1880A24C13005F4C5A4B5B5F4B5B5F4B5B4B90C7FC4B5A5E4B5AED7FE04B5A4A5B4A48
C8FC4A5A5D4A48EB01F04A5AEC3F804AC7FC02FEEC03E0495A495A495A495AD91F801407
49C8FC013E150F017FB7FC90B812C05A5A5A5A5A5A5AB9FC1880A4344E79CD43>I<9138
0FFFC091B512FC0107ECFF80011F15E090263FF8077F9026FF800113FC4848C76C7ED803
F86E7E491680D807FC8048B416C080486D15E0A4805CA36C17C06C5B6C90C75AD801FC16
80C9FC4C13005FA24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F816E016FCEEFF80DA
000713E0030113F89238007FFE707E7013807013C018E07013F0A218F8A27013FCA218FE
A2EA03E0EA0FF8487E487E487EB57EA318FCA25E18F891C7FC6C17F0495C6C4816E001F0
4A13C06C484A1380D80FF84A13006CB44A5A6CD9F0075BC690B612F06D5D011F15800103
02FCC7FCD9001F1380374F7ACD43>I<177C17FEA2160116031607160FA2161F163F167F
A216FF5D5DA25D5DED1FBFED3F3F153E157C15FCEC01F815F0EC03E01407EC0FC01580EC
1F005C147E147C5C1301495A495A5C495A131F49C7FC133E5B13FC485A5B485A1207485A
485A90C8FC123E127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F7CCE43>I<D80380
150ED807E0157E01FEEC03FED9FFF0137F91B65A5F5F5F5F5F94C7FC5E5E16F016C093C8
FC15F801E190C9FC01E0CAFCABEC0FFF027F13F001E3B512FE01E76E7E9026FFF8077FDA
C0017F49C713F8496E7E49143F4981496E7E6C481680C9FC18C08218E0A418F0A3EA0FE0
487E487E487E487EA418E0A35B6C484A13C05B491680003EC85A003F17006C6C4A5A6D5D
6C6C4A5AD807F8495BD803FE01075B2701FFC03F5B6C90B65A013F4AC7FC6D14F8010314
C09026007FF8C8FC344F79CD43>I<ED0FFF92B512E0020780021F14FC91397FFE03FE90
3A01FFF0007F4901C0EB3F804990C7121F4948EC7FC0494814FF49484913E049485B01FF
5C485BA2485B5AA2486F13C04A6D1380486F1300177E94C7FC5AA291CAFC5AA215089138
01FFF8020713FFB54814C04A14F04AC66C7E023C6D7E4A6D7E4A6D7E7013804A15C0A24A
15E07013F05C18F8A491C714FCA37EA67EA46C17F880A27E18F06C5D18E06C6D15C07E6E
4913806C6D15006D6C495A6D6CEB7FFC6DB448485A6D90B55A010315C0010092C7FC023F
13FC020713C0364F7ACD43>I<932601FFFCEC01C0047FD9FFC013030307B600F8130703
3F03FE131F92B8EA803F0203DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01
800203B5FC494848C9FC4901F8824949824949824949824949824990CA7E494883A24849
83485B1B7F485B481A3FA24849181FA3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280A2F3
07C07EA36C7FA21B0F6C6D1980A26C1A1F6C7F1C006C6D606C6D187EA26D6C606D6D4C5A
6D6D16036D6D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07FE02
0F01FEEC1FF80203903AFFE001FFF0020091B612C0033F93C8FC030715FCDB007F14E004
0101FCC9FC525479D261>67 D<BC1280A5D8000701F8C7000114C0F0001F19071901851A
7F1A3F1A1FA2F20FE0A21A07A31A03A318F81BF01A01A497C7FC1701A317031707170F17
7F92B6FCA59238F8007F170F170717031701A317001B3EA31B7CA395C8FCA21BFCA21BF8
A21A01A31A031BF01A071A0FA21A1F1A3FF27FE0F101FF1907191F0603B5FCBCFCA21BC0
A34F517CD058>69 D<BB12FEA5D8000701F8C700077FF0007F191F190785858586861B80
A21A1FA31A0FA41BC006F81307A497C7FCA31701A317031707170F177F92B6FCA59238F8
007F170F170717031701A31700A795C9FCB3B812F8A54A517CD055>I<B812C0A5D80007
01F8C7FCB3B3B3B2B812C0A52A527CD132>73 D<B600FC93B7FC8181A282D800076E9239
003FFC0070EE07E08282A28202EF7F02E77F02E380A202E18002E0806F7F6F7F6F7FA26F
7F6F7F6F806F80A26F80707F707F707F707FA2707F7080708070808583717F717F717F71
7FA27114807114C07114E07213F07213F8A27213FC7213FE7213FF721487A27214C77214
E77313F77313FF85A285858585A28586868686A286868686A2D93FFC187FB7173F1B1F1B
0F1B07755A60527CD169>78 D<93380FFFC00303B6FC031F15E092B712FC0203D9FC0013
FF020F01C0010F13C0023F90C7000313F0DA7FFC02007F494848ED7FFE4901E0ED1FFF49
496F7F49496F7F4990C96C7F49854948707F4948707FA24849717E48864A83481B804A83
481BC0A2481BE04A83A2481BF0A348497113F8A5B51AFCAF6C1BF86E5FA46C1BF0A26E5F
6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D4D5A6E5E6C626D6C4C5B6D6D4B5B6D
6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A6D01FF02035B023F01E0011F13F002
0F01FC90B512C0020390B7C8FC020016FC031F15E0030392C9FCDB001F13E0565479D265
>I<BAFC19F819FF1AE086D8000701F0C7001F13FC060113FF726C13807313C0070F13E0
1BF0857313F81BFCA27313FEA41BFFA81BFEA31BFC61A21BF84F13F04F13E0614F13C04F
13004E485A061F5B92B812F01AC04FC7FC19E003F8CBFCB3AEB812C0A550527CD15C>I<
B912F0F0FF8019F819FF1AC0D8000701F0C714F0060F7F060113FE727F737F737F85737F
87A2737FA387A863A2616363A24F5B4F5B4F90C8FC4F5A06035B060F13F095B512C092B8
C9FC19F819E019F89226F0000313FE9439007FFF80727F727F727F727F727F8684A28684
A787A71D1C75133EA38575137E73157C7513FC731401B86C6D9038F803F807039038FE07
F07390B512E0736C14C0080F1400CEEA7FFC5F537CD164>82 D<91260FFF80130791B500
F85B010702FF5B011FEDC03F49EDF07F9026FFFC006D5A4801E0EB0FFD4801800101B5FC
4848C87E48488149150F001F824981123F4981007F82A28412FF84A27FA26D82A27F7F6D
93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFFC017F06C16FC6C16FF6C17C06C836C
836D826D82010F821303010082021F16801400030F15C0ED007F040714E01600173F050F
13F08383A200788200F882A3187FA27EA219E07EA26CEFFFC0A27F6D4B13806D17006D5D
01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFFC003FFE0486C90B65AD8FC0393C7FC
48C66C14FC48010F14F048D9007F90C8FC3C5479D24B>I<003FBC1280A59126C0003F90
38C0007F49C71607D87FF8060113C001E08449197F49193F90C8171FA2007E1A0FA3007C
1A07A500FC1BE0481A03A6C994C7FCB3B3AC91B912F0A553517BD05E>I<B800C00103B6
12FCA5D8000701F8CAEBF000F31F80B3B3B11B3FA26D97C7FC81637F1B7E6D6D17FE505A
6E7E505A6E6D15076E4D5A6E6D4B5A6E6D4B5A6E01F84B5A6E6DDA03FFC8FC6E6CB46CEB
0FFE6F9039F001FFF8030F90B65A030316C0DB007F92C9FC040F14F8DC007F13805E537C
D167>I<EC7FFF0107B512F0013F14FE90B77E48D9E00F7F2703FE000113F0486C6D7F6E
EB3FFC48826E131F83707FA36C496D7FA26C90C7FC6C5AC9FCA6037FB5FC020FB6FC91B7
FC01071487013FEBF0074913803901FFFC004813F0485B485B485B4890C7FC5A5BA2485A
A45EA26D5C007F151D163D6C6C02797F6C6D01F113F86C9026C003E1EBFFE06C9026F81F
C014F06C90B5487EC6ED001F011F01FC010713E0010101E090C8FC3C387CB641>97
D<913801FFF8021FEBFF8091B612F0010315FC010F9038C00FFE903A1FFE0001FFD97FFC
491380D9FFF05B4817C048495B5C5A485BA2486F138091C7FC486F1300705A4892C8FC5B
A312FFAD127F7FA27EA2EF03E06C7F17076C6D15C07E6E140F6CEE1F806C6DEC3F006C6D
147ED97FFE5C6D6CEB03F8010F9038E01FF0010390B55A01001580023F49C7FC020113E0
33387CB63C>99 D<4DB47E0407B5FCA5EE001F1707B3A4913801FFE0021F13FC91B6FC01
0315C7010F9038E03FE74990380007F7D97FFC0101B5FC49487F4849143F484980485B83
485B5A91C8FC5AA3485AA412FFAC127FA36C7EA37EA26C7F5F6C6D5C7E6C6D5C6C6D49B5
FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC07FCF6D90B5128F0101ECFE0FD9003F13
F8020301C049C7FC41547CD24B>I<913803FFC0023F13FC49B6FC010715C04901817F90
3A3FFC007FF849486D7E49486D7E4849130F48496D7E48178048497F18C0488191C7FC48
17E0A248815B18F0A212FFA490B8FCA318E049CAFCA6127FA27F7EA218E06CEE01F06E14
037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F806D6CECFF00D91FFEEB03FE903A0F
FFC03FF8010390B55A010015C0021F49C7FC020113F034387CB63D>I<DA3FFF14FF0103
B5D8F00713C0010FDAFC1F13E0013FECFF7F90267FFC0F9038FF9FF09026FFE001EBF83F
48496C13E0484990387FF01F4890C7D83FF813E0489338FC0FC0F0078048486E6CC7FCA2
003F82A9001F5EA26C6C4A5AA26C5E6C6D495A6C6D495A6C6D485BDAFC0F5B4890B6C8FC
D803EF14FC01C314F02607C03F90C9FC91CBFCA2120FA37FA213F813FE90B7FC6C16F817
FF18C06C836C836C836D828448B9FC12074848C700031480D81FF8EC003F484815074848
6F13C083485A83A56D5D007F18806D5D003F18006C6C4B5AD80FFEED1FFC6C6C6CEC7FF8
6C01E049485A6C01FE011F5B6C6CB71280010F03FCC7FC010115E0D9000F01FCC8FC3C4F
7CB543>103 D<137F497E000313E0487FA2487FA76C5BA26C5BC613806DC7FC90C8FCAD
EB3FF0B5FCA512017EB3B3A6B612E0A51B547BD325>105 D<EB3FF0B5FCA512017EB3B3
B3B1B612F0A51C537BD225>108 D<D93FF0D91FFCEDFFE0B591B500C0010713FE030302
F0011F6D7E030F6E017F8092271FE07FFCD9FF037F922A3F001FFE01F8007F0003027C91
26FF03E080C602F06DD90780137FDAF1E0038FC77FDAF3C0159EDAF7806D01BC143F07FC
8102FFC75C4A5EA24A5EA44A5EB3ACB6D8F807B6D8C03FB512FEA567367BB570>I<D93F
F0EB1FFCB591B512C0030314F0030F8092391FE07FFC92393F001FFE0003027C80C602F0
7FDAF1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542367BB5
4B>I<913801FFE0021F13FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97F
F86D6C7E49486D7F48496D7F48496D7F4A147F48834890C86C7EA24883A248486F7EA300
7F1880A400FF18C0AC007F1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C
6D495B6C6D495B6D6C495BD93FFE011F90C7FC903A0FFF807FFC6D90B55A010015C0023F
91C8FC020113E03A387CB643>I<903A3FF001FFE0B5010F13FE033FEBFFC092B612F002
F301017F913AF7F8007FFE0003D9FFE0EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7F
A2717FA285187F85A4721380AC1A0060A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F49
5B6F4990C7FC03F0EBFFFC9126FBFE075B02F8B612E06F1480031F01FCC8FC030313C092
CBFCB1B612F8A5414D7BB54B>I<90397FE003FEB590380FFF80033F13E04B13F09238FE
1FF89139E1F83FFC0003D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3FFC5CEE1F
F8EE0FF04A90C7FCA55CB3AAB612FCA52F367CB537>114 D<903903FFF00F013FEBFE1F
90B7FC120348EB003FD80FF81307D81FE0130148487F4980127F90C87EA24881A27FA27F
01F091C7FC13FCEBFFC06C13FF15F86C14FF16C06C15F06C816C816C81C681013F158001
0F15C01300020714E0EC003F030713F015010078EC007F00F8153F161F7E160FA27E17E0
7E6D141F17C07F6DEC3F8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14E0D8
F807148048C601F8C7FC2C387CB635>I<143EA6147EA414FEA21301A313031307A2130F
131F133F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC
1F0015806DEBC03E6DEBF0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>I<D93FF8
913801FFC0B50207B5FCA50003ED001FC61607B3AE5FA35FA2017F5D173B177B6D6C14F3
DC01E313F06D6CD907C3EBFFC0903A0FFFC03F836D90B51203010114FE6D6C13F8020701
E091C7FC42377BB54B>I<007FB500F090387FFFFEA5C66C48C7000F90C7FC6D6CEC07F8
6D6D5C6D6D495A6D4B5A6F495A6D6D91C8FC6D6D137E6D6D5B91387FFE014C5A6E6C485A
6EEB8FE06EEBCFC06EEBFF806E91C9FCA26E5B6E5B6F7E6F7EA26F7F834B7F4B7F92B5FC
DA01FD7F03F87F4A486C7E4A486C7E020F7FDA1FC0804A486C7F4A486C7F02FE6D7F4A6D
7F495A49486D7F01076F7E49486E7E49486E7FEBFFF0B500FE49B612C0A542357EB447>
120 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fj cmsy8 8 1
/Fj 1 4 df<130C131EA50060EB01800078130739FC0C0FC0007FEB3F80393F8C7F0038
07CCF83801FFE038007F80011EC7FCEB7F803801FFE03807CCF8383F8C7F397F0C3F8000
FCEB0FC039781E078000601301000090C7FCA5130C1A1D7C9E23>3
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fk cmr12 12 16
/Fk 16 122 df<14FF010713E090381F81F890383E007C01FC133F4848EB1F8049130F48
48EB07C04848EB03E0A2000F15F0491301001F15F8A2003F15FCA390C8FC4815FEA54815
FFB3A46C15FEA56D1301003F15FCA3001F15F8A26C6CEB03F0A36C6CEB07E0000315C06D
130F6C6CEB1F806C6CEB3F00013E137C90381F81F8903807FFE0010090C7FC28447CC131
>48 D<EB03FE90381FFFC0017F13F03901F80FFC3903C001FE48486C7E000EC7EA7F8048
EC3FC0ED1FE04815F00030140F007015F800601407126CB415FC7F7F1503A46C4813076C
C7FCC8FC16F8A2150F16F0151F16E0A2ED3FC0ED7F8016005D5D4A5A4A5A4A5A5D4A5A4A
5A4AC7FC147C5C5C495A495A495A49C7120C131E5B013814185B5B485A4848143848C812
30000E1570001FB612F0A25A5AB712E0A326427BC131>50 D<49B4FC010F13E0013F13FC
9038FE01FE3A01F0007F80D803C0EB3FC048C7EA1FE0120EED0FF0EA0FE0486C14F8A215
077F5BA26C48130FEA03C0C813F0A3ED1FE0A2ED3FC01680ED7F0015FE4A5AEC03F0EC1F
C0D90FFFC7FC15F090380001FCEC007FED3F80ED1FC0ED0FE016F0ED07F816FC150316FE
A2150116FFA3121EEA7F80487EA416FE491303A2007EC713FC00701407003015F8003814
0F6C15F06CEC1FE06C6CEB3FC0D803E0EB7F803A01FE01FE0039007FFFF8010F13E00101
90C7FC28447CC131>I<010FB512FEA3D9000313806E130080B3B3AB123F487E487EA44A
5A13801300006C495A00705C6C13076C5C6C495A6CEB1F802603E07FC7FC3800FFFCEB1F
E027467BC332>74 D<B712FCEEFFC017F800019039C0000FFC6C6C48EB01FF9338007F80
EF1FE0170FEF07F018F8EF03FCA218FE1701A218FFA718FEA2170318FCA2EF07F818F0EF
0FE0EF1FC0EF7F80933801FE00EE0FFC91B612F017800280C9FCB3AA3801FFE0B612C0A3
38447CC342>80 D<B60107B500F890380FFFFEA3000301E0D9001F90C813F06C0180DA0F
FCED3FC091C86C48ED1F006C871C0E6D6C6E7E1C0CA26D6C6F5DA36EDA06FF1538011F1A
30A26E020E6D1470010FDB0C7F1560A26E021C7F0107DB183F5DA2856D6CDA301F4A5AA3
6D6C4A6C6C49C7FCA36D6C4A6C6C1306A3DB80016E130E027FDA8003140CA2DBC0038002
3FDA00015CA203E081021F01066D5CA36E6C486E6C5AA36E6C486E6C5AA36F48EC1FE102
0360A2DBFE7015F302010160020F90C8FCA2DBFFE015FB6E49EC07FEA36F486E5AA36FC8
6C5AA3031E6F5AA4030C16605F467EC364>87 D<EB07FC90383FFF809038F80FE03903C0
03F048C66C7E000E6D7ED80FC0137E486C137F6D6D7EA36F7EA26C5AEA0380C8FCA4EC0F
FF49B5FC90380FFE1FEB3FC0EBFF00EA03FC485A485A485A485A127F5B176048C7FCA315
3FA36D137F007F14EF6D9038C7E0C0003F13013A1FE00783F13B07F81E03FF802701FFFC
0113003A001FE0007C2B2E7CAC31>97 D<EC7F80903803FFF090380FC07C90383F000F01
FCEB03804848EB01C00003140F4848EB1FE049133F120F485AA2485AED1FC0007FEC0700
92C7FCA290C9FC5AAB7E7FA2123F16307F001F15706C6C146016E06C6C14C06C6C130100
01EC03806C6CEB0700013F131E90381FC078903807FFF001001380242E7DAC2B>99
D<EB01FE903807FFC090381F03F090387E00FC49137E48487F485A4848EB1F80000F15C0
49130F121F484814E01507A2007F15F090C7FCA25AA390B6FCA290C9FCA67EA27FA2123F
16306C7E1670000F15606D14E06C6C14C0000314016C6CEB03806C6CEB0700013E131E90
381F80F8903803FFE0010090C7FC242E7DAC2B>101 D<EA01E0EA07F8A2487EA46C5AA2
EA01E0C8FCADEA01FC12FFA3120712031201B3B0487EB512F8A315437DC21C>105
D<EA01FC12FFA3120712031201B3B3B3A5487EB512F8A315457DC41C>108
D<D801FC01FFEC1FE000FF010701E0EBFFFC913B0F03F801E07F913C3C01FC07803F8000
07903C7000FE0E001FC0000349D97E1C130F2601FDC0D97F38804A143001FFDA3FF06D7E
91C75BA2495DA3495DB3A8486C4A6C497EB5D8F81FB50003B512E0A34B2C7DAB52>I<39
01FC01FE00FF903807FFC091381E07F091383801F8000701707F0003EBE0002601FDC07F
5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F2C7DAB36>I<3903F8
03F000FFEB1FFCEC3C3EEC707F0007EBE0FF3803F9C000015B13FBEC007E153C01FF1300
5BA45BB3A748B4FCB512FEA3202C7DAB26>114 D<D801FC147F00FFEC3FFFA300071401
000380000181B3A85EA35DA212006D5B017E9038077F80017F010E13C06D011C13FE9038
0FC078903803FFF09026007F8013002F2D7DAB36>117 D<B539F001FFFCA3000790C7EA
7FE06C48EC1F8000011600160E0000150C6D141C6D1418A26E1338013F1430A26D6C5BA2
6E13E0010F5CA26D6C485AA2ECF803010391C7FCA2903801FC06A2ECFE0E0100130CA2EC
7F18A215B8EC3FB0A2EC1FE0A36E5AA26E5AA36EC8FCA21406A35CA25CA2123C007E5BB4
FC5CA25CEAFE01387C0380D87007C9FCEA3C1EEA0FFCEA03F02E3F7EAA33>121
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fl cmr17 17.28 17
/Fl 17 118 df<DD7FF81560040FB56C14E0047F14E00303B600FC1301030F9038E003FE
DB3FFEC7383F8003DBFFF0EC07C04A01C0913803F007020790C9EAF80FDA0FFC167C4A48
EE1E1FDA7FE0160F4A48EE07BF4949EE03FF4990CAFC4948834948834A187F495A013F19
3F4948181F5C01FF190F485BA24890CC1207A248481903A2485A1B01121FA25B123F1B00
5BA2127F1C00A4485AB06C7EA5123F1CE07FA2121F7FA2000F1A011CC06C7EA26C7E1B03
6C6D19801B076C7F017F1A006E606D6C181E131F6D6C606E18386D6C18786D6C606D6D4C
5A6D6D4C5A6E6C1607DA1FF84C5A6E6C4CC7FC6EB4167C020101C04A5A6E01F0EC07F0DB
3FFEEC1FC092280FFFE001FFC8FC030390B512FCDB007F14F0040F14809326007FF8C9FC
53667AE360>67 D<BB12FCA4C601FCC8120FD93FF89238007FFE011F171F190719031900
A21A7E1A3EA21A1EA21A1F86A486A6F20380A318E0A297C7FCA61701A417031707170F17
1F17FF91B7FCA402F8C7FC171F170F170717031701A41700A895C9FCB3A580133F90B57E
B712E0A4496279E156>70 D<DDFFF015C0040F01FF1401047F14E00303B600F81303030F
9038E003FEDB3FFCC7007F1307DBFFE0EC0FC002030180913803E00F4A48C83801F01F4A
48ED0078DA3FF0EE3C3F4A48161E4A48EE0F7F4949EE07FF4990CA7E495A494883494883
5C013F197F4948183F495A1B1F485B1B0F4890CCFCA248481907A2485A1B03121F5BA212
3F1B015BA2127F98C8FCA35B12FFB06C7EA24EB712E0A3123F95C7000FEBF0006D06015B
64001F857FA2120F7F1207A26C7EA26C7FA26C7FA26D7E6D7E131F806D7E6D6C5F6D7E6D
6D5E6D7F6E6CEE07BFDA3FF8EE0F3FDA0FFCEE1F1F6EB4163E6E01C0EDFC0F020001F091
3801F807DB3FFEEC0FE092260FFFF09038FF8003030390B538FE0001DB007F02F8130004
0F02C091C7FC040001F8CAFC5B667AE368>I<B712C0A4C66CEB8000D91FFEC7FC6D5AB3
B3B3B3AE497E90387FFF80B712C0A422627AE12F>73 D<933801FFE0043F13FF4BB612E0
03079038003FF8DB1FF0EB03FEDB7FC0903800FF804A48C8EA3FE0DA03FCED0FF0DA0FF0
ED03FC4A486F7E4A486F7E4A48707E4ACA6C7E4948717E4948717E4948717E4948717E49
48717E013F854A83017F864948727EA24890CC6C7EA24848737EA24848737EA2000F8749
1907001F87A34848737EA4007F1C80A24985A400FF1CC0AF6C6C4F1380A5003F1C006D61
A3001F63A26D190F000F63A26C6C4F5AA36C6C4F5AA26C6D4E5A6C636E18FF017F626D6C
4D90C7FC6E5F011F616D6C4D5A6D6C4D5A0103616E171F6D6C4D5A6D6D4C5ADA3FC04CC8
FCDA1FF0ED03FE6E6C4B5A6E6C4B5ADA01FFED3FE09126007FC0ECFF80DB1FF0D903FEC9
FCDB07FFEB3FF8030190B512E0DB003F91CAFC040113E05A667AE367>79
D<933801FFE0043F13FF4BB612E003079038003FF8DB1FF0EB03FEDB7FC0903800FF804A
48C8EA3FE0DA03FCED0FF0DA0FF8ED07FCDA1FE0ED01FE4A486F7E4A48707E4ACA6C7E49
48717E4948717E4948717E010F854948717E4948717EA24948717F01FF864A187F4890CC
6C7EA2488749191F00078749190F000F87A2001F87491907A2003F87A24985A2007F1C80
A44985A200FF1CC0AF007F1C806D61A4003F1C00A36D61001F63A36C6C4F5AA20007636D
191FA26C6C4F5AA26C636C6DDA3F804A5AEFFFE06D6C010301F84A5A6D6C902607C07C49
90C7FC93380F001E6D6C011E6D495A6D6C6F495A0107021CD903805B6D6C013C6D6C485A
6E0138151F6D6C0300495A6D01806F485ADA3FC04CC8FCDA1FE0ED71FE91260FF83CEC77
FC912607FC1CEC7FF8912601FF1EEC3FE09126007FDEECFF80DB1FFFD903FEC9FC030790
38C03FF8030190B56C1560DB003F143C0401EBE01C93C8121EA21DE0191FA3736C13011D
C0741303A274130774130F736CEB1F8074133F9738FF01FF7390B51200A264856485745B
745B745B08071380E001FEC7FC5B807AE367>81 D<DA07FF1403023F01F05B49B512FC01
0702FF5B90260FFC0013C0D93FE090380FF01FD97F80EB03F801FEC86C5A4848157E4848
ED1F7F48486F5A4848815B001F824981003F8290CAFC4883A2007E83A212FE84A384A27E
A36D82A26C7EA26D93C7FC6C7E7F7F6C7E6D7E6C13E06C13FCECFFC06C14F86CECFF806C
15F86DECFF80011F15E06D15F8010315FE01006F7E021F81020181DA003F80030380DB00
3F7F04037FEE007FEF1FFF71138017037113C083A2F07FE0183FA2181F00E018F0180FA4
1807A27EA47E19E0180F7E19C07E6C171F19806D163F6D17006D5E6D16FE486C5E6D4B5A
D8FC7F1503D91F80EC0FF026F80FE04A5AD907FCEC7F8029F001FFE003FFC7FC6D6CB512
FC48011F14F0020314C0489026001FFEC8FC3C667AE349>83 D<003FBC12F8A49126C000
039038C0000301FCC76C49EB007F01F0190F01C019074848F103FC90C81701007E1A0000
7C1B7CA300781B3CA400701B1CA600F01B1E481B0EA7C91800B3B3B3A54C7FA2041F13F8
4AB87EA457627CE160>I<EC3FF0903803FFFE010F6D7E90393FC03FE090397E0007F801
F86D7ED801E06D7E48486D7E48486E7E48C86C7E7F01F06E7E487E6D6E7EA3707EA36C5A
EA03E0C9FCA6167FED7FFF020FB5FC91387FF807903801FF80903807FC00EB1FF0EB7FC0
495AD803FEC7FC485A120F5B485A485AA2484817E0A312FF5BA2160FA3161F6D141B007F
153B16736D913971FC01C06C6C14E1001FEC01C1D80FFC903A0780FE03806C6C903A0F00
FF07002701FF807E6DB4FC27007FFFF86D5A011F01E0EB1FF8010190C7EA07E03B417ABF
42>97 D<4AB47E020F13F8023F13FE9139FF007F80D903FCEB07E0D907F0EB01F0D91FE0
EB007849488049488049C87E48485D4915FF00034B138048485CA2485AA2485AA2003F6F
130049EC007C94C7FC127FA35B12FFAD127F7FA4123F7FA2001FEE01C07F000F16036D16
8012076C6C15076D160000015E6C6C151E6D6C5C6D6C5C6D6C5CD90FF8495AD903FCEB07
C0903A00FF803F8091263FFFFEC7FC020F13F80201138032417CBF3A>99
D<181EEF3FFEEE07FFA4EE000F1703A21701B3AAEDFF80020F13F8023F13FE9139FF803F
81903A03FC0007C14948EB01E1D91FE0EB00F94948147D4948143D49C8121F4848150F49
1507120348481503491501120F121F5BA2123F5B127FA45B12FFAD127F7FA3123FA27F12
1FA26C6C1503A26C6C150712036D150F6C6C151F0000163D137F6D6CECF9FF6D6CEB01F1
D90FF0D903C113C06D6CD90F81EBFF80D901FFEB7F019039007FFFFC021F13E002010100
91C7FC41657CE349>I<EC03FE91381FFFE091B512F8903901FE03FE903A07F0007F8049
486D7ED93FC06D7E49C76C7E496E7E49140348488148481401000782491400000F828348
5A1880123F49153FA2007F17C0A35BA212FF90B8FCA30180CAFCA9127F7FA3123FA27F12
1FEF01C06C7E17036C6C1680A26C6C15070001EE0F006D150E6C6C151E6D6C5C6D6C5C6D
6C5CD907F0EB03E0D903FC495A902700FF803FC7FC91383FFFFC020F13F0020113803241
7CBF3A>I<133C13FF487F487FA66C5B6C90C7FC133C90C8FCB3A2EB03C0EA07FF127FA4
1201EA007FA2133FB3B3AC497E497EB612E0A41B5F7DDE23>105
D<EB03C0EA07FFB5FCA41201EA007FA2133FB3AB0403B512F8A40400148094387FFC0018
E06095C7FC177E5F17F04C5A4C5A4C5A4CC8FC163E5E5E4B5A4B5A4B5A4B5A151F4B7E4B
7E15FF02C17F9138C3CFF8ECC7879138CF07FC9138FE03FEECFC0102F87F4A6C7F4A137F
4A80707E161F83707E160783707E160183707F177F84717E171F84717E84A284496CEDFF
80496C4A13E0B600F090B6FCA440647CE346>107 D<9039078003F8D807FFEB0FFFB501
3F13C092387C0FE0913881F01F9238E03FF00001EB838039007F8700148FEB3F8E029CEB
1FE0EE0FC00298EB030002B890C7FCA214B014F0A25CA55CB3B0497EEBFFF8B612FCA42C
3F7CBE33>114 D<1438A71478A414F8A31301A31303A21307130F131FA2137F13FF1203
000F90B6FCB8FCA3260007F8C8FCB3AE17E0AE6D6CEB01C0A316036D6C148016076D6C14
006E6C5A91383FC01E91381FF07C6EB45A020313E09138007F802B597FD733>116
D<D903C0150FD807FFED1FFFB50203B5FCA40001ED0007D8007F1501A2013F81B3B25FA3
5FA35F011F15066E140E5F130F6E4A7F01075D6D6C494813E0D901FE4948EBFFC0903A00
FFC01F8091393FFFFE00020F13F8020001C0EC800042407DBE49>I
E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%PaperSize: A4

%%EndSetup
%%Page: 1 1
1 0 bop 1125 937 a Fl(CFITSIO)44 b(Quic)l(k)h(Start)d(Guide)1625
1190 y Fk(William)28 b(P)m(ence)2277 1154 y Fj(\003)1666
1394 y Fk(Jan)m(uary)33 b(2003)120 1916 y Fi(Con)l(ten)l(ts)120
2120 y Fh(1)84 b(In)m(tro)s(duction)2897 b(2)120 2324
y(2)84 b(Installing)35 b(and)g(Using)h(CFITSIO)2080 b(3)120
2528 y(3)84 b(Example)34 b(Programs)2600 b(4)120 2731
y(4)84 b(CFITSIO)33 b(Routines)2603 b(6)256 2844 y Fg(4.1)94
b(Error)30 b(Rep)s(orting)24 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)174 b(6)256 2957 y(4.2)94
b(File)30 b(Op)s(en/Close)f(Routines)57 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)174 b(6)256 3070 y(4.3)94 b(HDU-lev)m(el)32
b(Routines)85 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)174 b(7)256 3183 y(4.4)94 b(Image)32 b(I/O)e(Routines)79
b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)174
b(9)256 3296 y(4.5)94 b(T)-8 b(able)30 b(I/O)h(Routines)d(.)46
b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)129
b(12)256 3409 y(4.6)94 b(Header)31 b(Keyw)m(ord)f(I/O)h(Routines)78
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)129 b(19)256 3522
y(4.7)94 b(Utilit)m(y)30 b(Routines)c(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)
f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)129 b(22)120 3726
y Fh(5)84 b(CFITSIO)33 b(File)i(Names)f(and)g(Filters)1907
b(23)256 3839 y Fg(5.1)94 b(Creating)30 b(New)h(Files)43
b(.)j(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)129
b(23)256 3951 y(5.2)94 b(Op)s(ening)29 b(Existing)f(Files)39
b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)129
b(24)256 4064 y(5.3)94 b(Image)32 b(Filtering)53 b(.)45
b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)129
b(26)465 4177 y(5.3.1)106 b(Extracting)31 b(a)g(subsection)e(of)i(an)f
(image)76 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)129 b(26)465 4290 y(5.3.2)106 b(Create)32
b(an)e(Image)h(b)m(y)f(Binning)e(T)-8 b(able)30 b(Columns)i(.)45
b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)129
b(26)256 4403 y(5.4)94 b(T)-8 b(able)30 b(Filtering)74
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)129 b(28)465 4516 y(5.4.1)106 b(Column)29 b(and)h(Keyw)m(ord)g
(Filtering)47 b(.)e(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)129 b(28)465 4629 y(5.4.2)106
b(Ro)m(w)31 b(Filtering)39 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)129 b(29)465 4742 y(5.4.3)106 b(Go)s(o)s(d)30
b(Time)g(In)m(terv)-5 b(al)30 b(Filtering)59 b(.)46 b(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
129 b(32)465 4855 y(5.4.4)106 b(Spatial)29 b(Region)i(Filtering)56
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)129 b(32)465 4968
y(5.4.5)106 b(Example)30 b(Ro)m(w)h(Filters)f(.)45 b(.)h(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)129 b(34)256 5081 y(5.5)94 b(Com)m(bined)29
b(Filtering)g(Examples)44 b(.)i(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)129
b(36)120 5284 y Fh(6)84 b(CFITSIO)33 b(Error)i(Status)f(Co)s(des)2069
b(38)p 120 5346 1465 4 v 222 5400 a Ff(\003)258 5431
y Fe(HEASAR)n(C,)25 b(NASA)f(Go)r(ddard)i(Space)f(Fligh)n(t)h(Cen)n
(ter,)g Fd(Wil)t(liam.D.Penc)l(e@nasa.gov)1928 5809 y
Fg(1)p eop
%%Page: 2 2
2 1 bop 120 573 a Fi(1)135 b(In)l(tro)t(duction)120 776
y Fg(This)33 b(do)s(cumen)m(t)h(is)f(in)m(tended)g(to)i(help)e(y)m(ou)i
(quic)m(kly)e(start)i(writing)d(C)i(programs)g(to)h(read)f(and)g(write)
120 889 y(FITS)45 b(\014les)f(using)g(the)h(CFITSIO)f(library)-8
b(.)84 b(It)45 b(co)m(v)m(ers)i(the)f(most)f(imp)s(ortan)m(t)g(CFITSIO)
e(routines)120 1002 y(that)i(are)f(needed)g(to)h(p)s(erform)d(most)i(t)
m(yp)s(es)h(of)f(op)s(erations)f(on)h(FITS)f(\014les.)81
b(F)-8 b(or)45 b(more)f(complete)120 1115 y(information)39
b(ab)s(out)g(these)i(and)f(all)f(the)h(other)h(a)m(v)-5
b(ailable)39 b(routines)g(in)g(the)i(library)d(please)i(refer)g(to)120
1227 y(the)c(\\CFITSIO)e(User's)i(Reference)g(Guide",)h(whic)m(h)d(is)g
(a)m(v)-5 b(ailable)35 b(from)g(the)h(CFITSIO)e(W)-8
b(eb)36 b(site)g(at)120 1340 y Fc(http://heasarc.gsfc.nasa)o(.gov)o
(/fit)o(sio)o Fg(.)261 1453 y(F)-8 b(or)41 b(more)f(general)f
(information)f(ab)s(out)i(the)g(FITS)f(data)h(format,)j(refer)d(to)g
(the)g(follo)m(wing)e(w)m(eb)120 1566 y(page:)j(h)m
(ttp://heasarc.gsfc.nasa.go)m(v/do)s(cs/heasa)q(rc/\014ts.h)m(t)q(ml)
261 1679 y(FITS)27 b(stands)h(for)g(Flexible)e(Image)j(T)-8
b(ransp)s(ort)27 b(System)h(and)f(is)g(the)i(standard)e(\014le)g
(format)h(used)g(to)120 1792 y(store)j(most)g(astronomical)f(data)i
(\014les.)40 b(There)30 b(are)h(2)g(basic)f(t)m(yp)s(es)g(of)h(FITS)f
(\014les:)40 b(images)30 b(and)g(tables.)120 1905 y(FITS)j(images)h
(often)g(con)m(tain)g(a)g(2-dimensional)d(arra)m(y)k(of)e(pixels)f
(represen)m(ting)h(an)h(image)g(of)f(a)h(piece)120 2018
y(of)f(the)f(sky)-8 b(,)34 b(but)e(FITS)g(images)g(can)h(also)g(con)m
(tain)g(1-D)g(arra)m(ys)g(\(i.e,)h(a)f(sp)s(ectrum)e(or)i(ligh)m(t)e
(curv)m(e\),)j(or)120 2131 y(3-D)40 b(arra)m(ys)f(\(a)g(data)g(cub)s
(e\),)i(or)d(ev)m(en)i(higher)d(dimensional)f(arra)m(ys)i(of)h(data.)66
b(An)38 b(image)h(ma)m(y)g(also)120 2244 y(ha)m(v)m(e)30
b(zero)g(dimensions,)c(in)i(whic)m(h)f(case)j(it)e(is)g(referred)g(to)i
(as)f(a)g(n)m(ull)e(or)i(empt)m(y)g(arra)m(y)-8 b(.)41
b(The)28 b(supp)s(orted)120 2357 y(datat)m(yp)s(es)f(for)f(the)h(image)
g(arra)m(ys)f(are)h(8,)h(16,)g(and)e(32-bit)h(in)m(tegers,)h(and)d(32)j
(and)d(64-bit)i(\015oating)f(p)s(oin)m(t)120 2469 y(real)k(n)m(um)m(b)s
(ers.)39 b(Both)31 b(signed)f(and)f(unsigned)g(in)m(tegers)h(are)h
(supp)s(orted.)261 2582 y(FITS)j(tables)g(con)m(tain)g(ro)m(ws)g(and)g
(columns)f(of)h(data,)i(similar)c(to)j(a)g(spreadsheet.)52
b(All)33 b(the)h(v)-5 b(alues)120 2695 y(in)30 b(a)h(particular)e
(column)h(m)m(ust)g(ha)m(v)m(e)j(the)e(same)g(datat)m(yp)s(e.)43
b(A)31 b(cell)f(of)h(a)g(column)f(is)g(not)h(restricted)g(to)120
2808 y(a)h(single)d(n)m(um)m(b)s(er,)i(and)f(instead)h(can)g(con)m
(tain)h(an)f(arra)m(y)g(or)h(v)m(ector)g(of)g(n)m(um)m(b)s(ers.)41
b(There)31 b(are)h(actually)120 2921 y(2)43 b(subt)m(yp)s(es)f(of)h
(FITS)f(tables:)65 b(ASCI)s(I)41 b(and)i(binary)-8 b(.)76
b(As)43 b(the)g(names)g(imply)-8 b(,)44 b(ASCI)s(I)d(tables)i(store)120
3034 y(the)37 b(data)h(v)-5 b(alues)36 b(in)g(an)g(ASCI)s(I)g(represen)
m(tation)h(whereas)f(binary)g(tables)g(store)i(the)f(data)g(v)-5
b(alues)37 b(in)120 3147 y(a)c(more)f(e\016cien)m(t)h(mac)m
(hine-readable)e(binary)g(format.)46 b(Binary)32 b(tables)g(are)g
(generally)g(more)g(compact)120 3260 y(and)25 b(supp)s(ort)e(more)j
(features)f(\(e.g.,)j(a)e(wider)e(range)h(of)h(datat)m(yp)s(es,)h(and)e
(v)m(ector)i(columns\))d(than)h(ASCI)s(I)120 3373 y(tables.)261
3486 y(A)31 b(single)e(FITS)h(\014le)g(man)m(y)h(con)m(tain)g(m)m
(ultiple)d(images)j(or)g(tables.)41 b(Eac)m(h)31 b(table)g(or)f(image)h
(is)f(called)120 3599 y(a)k(Header-Data)j(Unit,)d(or)g(HDU.)h(The)f
(\014rst)f(HDU)i(in)d(a)j(FITS)e(\014le)g(m)m(ust)h(b)s(e)f(an)h(image)
h(\(but)e(it)h(ma)m(y)120 3711 y(ha)m(v)m(e)c(zero)f(axes\))h(and)e(is)
g(called)g(the)h(Primary)e(Arra)m(y)-8 b(.)41 b(An)m(y)28
b(additional)f(HDUs)i(in)f(the)g(\014le)g(\(whic)m(h)g(are)120
3824 y(also)i(referred)g(to)h(as)g(`extensions'\))f(ma)m(y)h(con)m
(tain)g(either)f(an)g(image)h(or)f(a)h(table.)261 3937
y(Ev)m(ery)38 b(HDU)g(con)m(tains)g(a)g(header)g(con)m(taining)f(k)m
(eyw)m(ord)h(records.)62 b(Eac)m(h)38 b(k)m(eyw)m(ord)g(record)g(is)f
(80)120 4050 y(ASCI)s(I)29 b(c)m(haracters)j(long)e(and)f(has)i(the)f
(follo)m(wing)f(format:)120 4263 y Fc(KEYWORD)46 b(=)h(value)g(/)g
(comment)f(string)261 4475 y Fg(The)23 b(k)m(eyw)m(ord)i(name)f(can)g
(b)s(e)f(up)g(to)h(8)g(c)m(haracters)i(long)d(\(all)g(upp)s(ercase\).)
38 b(The)23 b(v)-5 b(alue)24 b(can)g(b)s(e)f(either)120
4588 y(an)k(in)m(teger)g(or)f(\015oating)h(p)s(oin)m(t)e(n)m(um)m(b)s
(er,)i(a)g(logical)f(v)-5 b(alue)26 b(\(T)h(or)f(F\),)i(or)e(a)h(c)m
(haracter)i(string)c(enclosed)i(in)120 4701 y(single)d(quotes.)40
b(Eac)m(h)26 b(header)f(b)s(egins)f(with)g(a)i(series)f(of)h(required)e
(k)m(eyw)m(ords)h(to)i(describ)s(e)d(the)h(datat)m(yp)s(e)120
4814 y(and)35 b(format)h(of)f(the)h(follo)m(wing)e(data)i(unit,)f(if)f
(an)m(y)-8 b(.)57 b(An)m(y)35 b(n)m(um)m(b)s(er)g(of)g(other)h
(optional)e(k)m(eyw)m(ords)i(can)120 4927 y(b)s(e)d(included)e(in)h
(the)h(header)h(to)g(pro)m(vide)e(other)i(descriptiv)m(e)f(information)
e(ab)s(out)j(the)f(data.)51 b(F)-8 b(or)34 b(the)120
5040 y(most)g(part,)g(the)g(CFITSIO)d(routines)i(automatically)g(write)
f(the)i(required)e(FITS)g(k)m(eyw)m(ords)i(for)f(eac)m(h)120
5153 y(HDU,)e(so)g(y)m(ou,)g(the)g(programmer,)f(usually)e(do)i(not)h
(need)f(to)h(w)m(orry)f(ab)s(out)g(them.)1928 5809 y(2)p
eop
%%Page: 3 3
3 2 bop 120 573 a Fi(2)135 b(Installing)46 b(and)f(Using)g(CFITSIO)120
776 y Fg(First,)32 b(y)m(ou)g(should)d(do)m(wnload)i(the)h(CFITSIO)e
(soft)m(w)m(are)j(and)e(the)h(set)g(of)g(example)g(FITS)f(utilit)m(y)f
(pro-)120 889 y(grams)h(from)f(the)g(w)m(eb)h(site)f(at)i(h)m
(ttp://heasarc.gsfc.nasa.go)m(v/\014tsio.)46 b(The)30
b(example)g(programs)g(illus-)120 1002 y(trate)g(ho)m(w)e(to)h(p)s
(erform)f(man)m(y)g(common)h(t)m(yp)s(es)f(of)h(op)s(erations)f(on)g
(FITS)g(\014les)g(using)f(CFITSIO.)g(They)120 1115 y(are)h(also)g
(useful)d(when)i(writing)f(a)i(new)f(program)g(b)s(ecause)h(it)f(is)g
(often)h(easier)f(to)i(tak)m(e)g(a)f(cop)m(y)g(of)g(one)g(of)120
1227 y(these)k(utilit)m(y)e(programs)h(as)g(a)h(template)g(and)f(then)g
(mo)s(dify)e(it)i(for)g(y)m(our)h(o)m(wn)f(purp)s(oses,)f(rather)i
(than)120 1340 y(writing)c(the)j(new)f(program)g(completely)g(from)g
(scratc)m(h.)261 1453 y(T)-8 b(o)28 b(build)c(the)k(CFITSIO)d(library)g
(on)i(Unix)f(platforms,)i(`un)m(tar')f(the)h(source)f(co)s(de)h
(distribution)23 b(\014le)120 1566 y(and)30 b(then)g(execute)i(the)e
(follo)m(wing)f(commands)h(in)f(the)i(directory)e(con)m(taining)h(the)h
(source)g(co)s(de:)120 1779 y Fc(>)95 b(./configure)45
b([--prefix=/target/instal)o(lati)o(on/)o(path)o(])120
1892 y(>)95 b(make)524 b(\(or)47 b('make)f(shared'\))120
2005 y(>)95 b(make)47 b(install)141 b(\(this)46 b(step)h(is)g
(optional\))261 2217 y Fg(The)40 b(optional)g('pre\014x')g(argumen)m(t)
h(to)g(con\014gure)f(giv)m(es)h(the)g(path)f(to)h(the)g(directory)f
(where)g(the)120 2330 y(CFITSIO)30 b(library)g(and)h(include)f(\014les)
h(should)f(b)s(e)h(installed)f(via)i(the)g(later)g('mak)m(e)h(install')
d(command.)120 2443 y(F)-8 b(or)31 b(example,)120 2655
y Fc(>)95 b(./configure)45 b(--prefix=/usr1/local)261
2868 y Fg(will)18 b(cause)j(the)g('mak)m(e)h(install')d(command)h(to)h
(cop)m(y)h(the)e(CFITSIO)f(lib)s(c\014tsio)f(\014le)i(to)h(/usr1/lo)s
(cal/lib)120 2981 y(and)35 b(the)h(necessary)g(include)e(\014les)h(to)h
(/usr1/lo)s(cal/include)e(\(assuming)h(of)g(course)h(that)h(the)f(pro)s
(cess)120 3094 y(has)30 b(p)s(ermission)d(to)32 b(write)d(to)i(these)g
(directories\).)261 3207 y(Pre-compiled)d(v)m(ersions)h(of)h(the)g
(CFITSIO)e(DLL)i(library)d(are)j(a)m(v)-5 b(ailable)29
b(for)g(PCs.)40 b(On)29 b(Macin)m(tosh)120 3320 y(mac)m(hines,)45
b(refer)d(to)g(the)h(README.MacOS)g(\014le)e(for)h(instructions)e(on)i
(building)c(CFITSIO)j(using)120 3432 y(Co)s(deW)-8 b(arrior.)261
3545 y(An)m(y)40 b(programs)g(that)h(use)f(CFITSIO)f(m)m(ust)h(of)g
(course)h(b)s(e)e(link)m(ed)g(with)g(the)h(CFITSIO)f(library)120
3658 y(when)e(creating)h(the)g(executable)h(\014le.)63
b(The)37 b(exact)j(pro)s(cedure)c(for)i(linking)d(a)k(program)e(dep)s
(ends)f(on)120 3771 y(y)m(our)31 b(soft)m(w)m(are)i(en)m(vironmen)m(t,)
e(but)g(on)g(Unix)f(platforms,)h(the)g(command)g(line)f(to)i(compile)e
(and)h(link)e(a)120 3884 y(program)h(will)e(lo)s(ok)i(something)g(lik)m
(e)f(this:)120 4097 y Fc(gcc)47 b(-o)g(myprog)f(myprog.c)g(-L.)h
(-lcfitsio)e(-lm)i(-lnsl)f(-lsocket)261 4309 y Fg(Y)-8
b(ou)37 b(ma)m(y)g(not)f(need)g(to)h(include)e(all)g(of)h(the)h('m',)h
('nsl',)f(and)f('so)s(c)m(k)m(et')i(system)f(libraries)c(on)j(y)m(our)
120 4422 y(particular)j(mac)m(hine.)72 b(T)-8 b(o)42
b(\014nd)d(out)i(what)g(libraries)d(are)j(required)e(on)i(y)m(our)g
(\(Unix\))f(system,)k(t)m(yp)s(e)120 4535 y Fc('make)i(testprog')28
b Fg(and)i(see)h(what)f(libraries)e(are)i(then)h(included)c(on)j(the)h
(resulting)e(link)f(line.)1928 5809 y(3)p eop
%%Page: 4 4
4 3 bop 120 573 a Fi(3)135 b(Example)46 b(Programs)120
776 y Fg(Before)32 b(describing)d(the)j(individual)27
b(CFITSIO)i(routines)i(in)f(detail,)h(it)f(is)h(instructiv)m(e)f(to)i
(\014rst)f(lo)s(ok)g(at)120 889 y(an)c(actual)g(program.)40
b(The)26 b(names)h(of)g(the)g(CFITSIO)f(routines)g(are)h(fairly)e
(descriptiv)m(e)h(\(they)i(all)e(b)s(egin)120 1002 y(with)j
Fc(fits)p 525 1002 29 4 v 33 w Fg(,)i(so)g(it)e(should)g(b)s(e)h
(reasonably)f(clear)i(what)f(this)f(program)h(do)s(es:)120
1202 y Fc(------------------------)o(----)o(----)o(---)o(----)o(----)o
(---)o(----)o(----)o(---)o(----)o(---)311 1315 y(#include)45
b(<string.h>)311 1428 y(#include)g(<stdio.h>)120 1541
y(1:)95 b(#include)45 b("fitsio.h")311 1767 y(int)i(main\(int)e(argc,)i
(char)f(*argv[]\))311 1879 y({)120 1992 y(2:)286 b(fitsfile)45
b(*fptr;)502 2105 y(char)h(card[FLEN_CARD];)120 2218
y(3:)286 b(int)47 b(status)f(=)h(0,)95 b(nkeys,)46 b(ii;)95
b(/*)47 b(MUST)g(initialize)e(status)h(*/)120 2444 y(4:)286
b(fits_open_file\(&fptr,)42 b(argv[1],)j(READONLY,)h(&status\);)502
2557 y(fits_get_hdrspace\(fptr,)41 b(&nkeys,)46 b(NULL,)g(&status\);)
502 2783 y(for)h(\(ii)g(=)g(1;)g(ii)g(<=)h(nkeys;)e(ii++\))94
b({)597 2896 y(fits_read_record\(fptr,)42 b(ii,)47 b(card,)f
(&status\);)g(/*)h(read)f(keyword)g(*/)597 3009 y(printf\("\045s\\n",)e
(card\);)502 3121 y(})502 3234 y(printf\("END\\n\\n"\);)90
b(/*)48 b(terminate)d(listing)h(with)g(END)h(*/)502 3347
y(fits_close_file\(fptr,)42 b(&status\);)502 3573 y(if)47
b(\(status\))475 b(/*)47 b(print)g(any)g(error)f(messages)f(*/)120
3686 y(5:)477 b(fits_report_error\(stder)o(r,)42 b(status\);)502
3799 y(return\(status\);)311 3912 y(})120 4025 y
(------------------------)o(----)o(----)o(---)o(----)o(----)o(---)o
(----)o(----)o(---)o(----)o(---)261 4225 y Fg(This)28
b(program)h(op)s(ens)f(the)h(sp)s(eci\014ed)f(FITS)g(\014le)h(and)f
(prin)m(ts)g(out)h(all)f(the)i(header)f(k)m(eyw)m(ords)g(in)f(the)120
4338 y(curren)m(t)i(HDU.)i(Some)e(other)h(p)s(oin)m(ts)e(to)i(notice)g
(ab)s(out)f(the)g(program)g(are:)231 4516 y(1.)46 b(The)30
b Fc(fitsio.h)e Fg(header)i(\014le)f(m)m(ust)i(b)s(e)e(included)f(to)j
(de\014ne)e(the)i(v)-5 b(arious)29 b(routines)g(and)h(sym)m(b)s(ols)347
4629 y(used)g(in)f(CFITSIO.)231 4812 y(2.)46 b(The)37
b Fc(fitsfile)e Fg(parameter)i(is)f(the)h(\014rst)g(argumen)m(t)g(in)f
(almost)h(ev)m(ery)h(CFITSIO)d(routine.)60 b(It)347 4925
y(is)40 b(a)i(p)s(oin)m(ter)e(to)i(a)g(structure)e(\(de\014ned)g(in)g
Fc(fitsio.h)p Fg(\))g(that)h(stores)h(information)d(ab)s(out)i(the)347
5038 y(particular)g(FITS)g(\014le)g(that)i(the)g(routine)e(will)e(op)s
(erate)k(on.)76 b(Memory)43 b(for)f(this)f(structure)g(is)347
5151 y(automatically)33 b(allo)s(cated)f(when)g(the)h(\014le)f(is)f
(\014rst)h(op)s(ened)g(or)h(created,)h(and)e(is)g(freed)g(when)g(the)
347 5264 y(\014le)e(is)f(closed.)231 5447 y(3.)46 b(Almost)40
b(ev)m(ery)g(CFITSIO)e(routine)g(has)i(a)g Fc(status)d
Fg(parameter)j(as)g(the)g(last)f(argumen)m(t.)69 b(The)347
5560 y(status)28 b(v)-5 b(alue)27 b(is)g(also)h(usually)d(returned)i
(as)h(the)g(v)-5 b(alue)27 b(of)h(the)f(function)g(itself.)38
b(Normally)27 b(status)1928 5809 y(4)p eop
%%Page: 5 5
5 4 bop 347 573 a Fg(=)22 b(0,)i(and)d(a)h(p)s(ositiv)m(e)f(status)h(v)
-5 b(alue)21 b(indicates)g(an)h(error)f(of)h(some)g(sort.)38
b(The)22 b(status)g(v)-5 b(ariable)20 b(m)m(ust)347 686
y(alw)m(a)m(ys)32 b(b)s(e)e(initialized)e(to)k(zero)g(b)s(efore)f(use,)
g(b)s(ecause)g(if)f(status)h(is)f(greater)j(than)d(zero)i(on)f(input)
347 799 y(then)e(the)g(CFITSIO)f(routines)g(will)e(simply)g(return)i
(without)g(doing)g(an)m(ything.)40 b(This)27 b(`inherited)347
912 y(status')46 b(feature,)j(where)44 b(eac)m(h)i(CFITSIO)e(routine)g
(inherits)e(the)j(status)g(from)g(the)g(previous)347
1024 y(routine,)e(mak)m(es)e(it)f(unnecessary)g(to)i(c)m(hec)m(k)g(the)
f(status)g(v)-5 b(alue)40 b(after)h(ev)m(ery)h(single)d(CFITSIO)347
1137 y(routine)f(call.)64 b(Generally)38 b(y)m(ou)h(should)e(c)m(hec)m
(k)j(the)e(status)h(after)g(an)g(esp)s(ecially)e(imp)s(ortan)m(t)g(or)
347 1250 y(complicated)31 b(routine)f(has)h(b)s(een)g(called,)g(or)g
(after)h(a)f(blo)s(c)m(k)g(of)g(closely)g(related)g(CFITSIO)f(calls.)
347 1363 y(This)25 b(example)h(program)h(has)f(tak)m(en)i(this)e
(feature)h(to)g(the)g(extreme)g(and)f(only)g(c)m(hec)m(ks)i(the)f
(status)347 1476 y(v)-5 b(alue)30 b(at)h(the)g(v)m(ery)g(end)e(of)i
(the)f(program.)231 1664 y(4.)46 b(In)37 b(this)e(example)i(program)g
(the)g(\014le)f(name)h(to)h(b)s(e)e(op)s(ened)h(is)f(giv)m(en)h(as)g
(an)g(argumen)m(t)g(on)g(the)347 1777 y(command)e(line)f(\()p
Fc(arg[1])p Fg(\).)53 b(If)35 b(the)g(\014le)g(con)m(tains)g(more)g
(than)g(1)g(HDU)h(or)f(extension,)i(y)m(ou)e(can)347
1890 y(sp)s(ecify)19 b(whic)m(h)g(particular)g(HDU)i(to)g(b)s(e)f(op)s
(ened)f(b)m(y)h(enclosing)g(the)g(name)g(or)h(n)m(um)m(b)s(er)e(of)h
(the)h(HDU)347 2002 y(in)j(square)i(brac)m(k)m(ets)h(follo)m(wing)d
(the)h(ro)s(ot)h(name)g(of)f(the)h(\014le.)38 b(F)-8
b(or)26 b(example,)h Fc(file.fts[0])22 b Fg(op)s(ens)347
2115 y(the)31 b(primary)d(arra)m(y)-8 b(,)32 b(while)d
Fc(file.fts[2])e Fg(will)h(mo)m(v)m(e)k(to)f(and)f(op)s(en)f(the)i(2nd)
f(extension)g(in)f(the)347 2228 y(\014le,)36 b(and)e
Fc(file.fit[EVENTS])d Fg(will)h(op)s(en)j(the)g(extension)f(that)i(has)
f(a)g Fc(EXTNAME)46 b(=)i('EVENTS')347 2341 y Fg(k)m(eyw)m(ord)31
b(in)e(the)h(header.)41 b(Note)31 b(that)g(on)f(the)h(Unix)e(command)h
(line)f(y)m(ou)h(m)m(ust)g(enclose)h(the)f(\014le)347
2454 y(name)h(in)e(single)g(or)i(double)e(quote)j(c)m(haracters)g(if)d
(the)i(name)g(con)m(tains)f(sp)s(ecial)g(c)m(haracters)i(suc)m(h)347
2567 y(as)f(`[')g(or)f(`]'.)347 2717 y(All)42 b(of)h(the)h(CFITSIO)d
(routines)h(whic)m(h)g(read)h(or)g(write)g(header)g(k)m(eyw)m(ords,)k
(image)c(data,)k(or)347 2830 y(table)31 b(data)g(op)s(erate)g(only)f
(within)e(the)j(curren)m(tly)f(op)s(ened)g(HDU)h(in)e(the)i(\014le.)41
b(T)-8 b(o)31 b(read)g(or)f(write)347 2943 y(information)36
b(in)g(a)i(di\013eren)m(t)f(HDU)h(y)m(ou)g(m)m(ust)f(\014rst)g
(explicitly)e(mo)m(v)m(e)j(to)h(that)f(HDU)g(\(see)g(the)347
3056 y Fc(fits)p 545 3056 29 4 v 34 w(movabs)p 867 3056
V 32 w(hdu)30 b Fg(and)g Fc(fits)p 1442 3056 V 33 w(movrel)p
1763 3056 V 33 w(hdu)f Fg(routines)g(in)g(section)i(4.3\).)231
3244 y(5.)46 b(The)25 b Fc(fits)p 727 3244 V 33 w(report)p
1048 3244 V 33 w(error)e Fg(routine)h(pro)m(vides)g(a)h(con)m(v)m
(enien)m(t)h(w)m(a)m(y)g(to)g(prin)m(t)e(out)h(diagnostic)f(mes-)347
3357 y(sages)32 b(ab)s(out)e(an)m(y)g(error)g(that)h(ma)m(y)g(ha)m(v)m
(e)h(o)s(ccurred.)261 3544 y(A)f(set)g(of)f(example)g(FITS)g(utilit)m
(y)f(programs)h(are)g(a)m(v)-5 b(ailable)30 b(from)g(the)g(CFITSIO)f(w)
m(eb)i(site)f(at)120 3657 y(h)m(ttp://heasarc.gsfc.nasa.go)m(v/do)s
(cs/soft)n(w)m(are/)q(\014tsio/cexa)q(mples.h)m(tml.)87
b(These)45 b(are)g(real)f(w)m(orking)120 3770 y(programs)e(whic)m(h)e
(illustrate)g(ho)m(w)i(to)h(read,)i(write,)f(and)d(mo)s(dify)f(FITS)i
(\014les)e(using)h(the)h(CFITSIO)120 3883 y(library)-8
b(.)36 b(Most)24 b(of)g(these)f(programs)g(are)h(v)m(ery)f(short,)i
(con)m(taining)e(only)f(a)i(few)f(10s)h(of)f(lines)e(of)j(executable)
120 3996 y(co)s(de)32 b(or)g(less,)g(y)m(et)h(they)f(p)s(erform)e
(quite)h(useful)f(op)s(erations)h(on)h(FITS)f(\014les.)44
b(Running)30 b(eac)m(h)j(program)120 4109 y(without)40
b(an)m(y)h(command)f(line)f(argumen)m(ts)i(will)d(pro)s(duce)h(a)i
(short)f(description)f(of)i(ho)m(w)g(to)g(use)f(the)120
4222 y(program.)g(The)30 b(curren)m(tly)g(a)m(v)-5 b(ailable)29
b(programs)h(are:)347 4409 y(\014tscop)m(y)h(-)g(cop)m(y)g(a)g(\014le)
347 4522 y(listhead)e(-)i(list)e(header)h(k)m(eyw)m(ords)347
4635 y(liststruc)f(-)i(sho)m(w)f(the)g(structure)g(of)h(a)g(FITS)e
(\014le.)347 4748 y(mo)s(dhead)h(-)g(write)g(or)g(mo)s(dify)f(a)i
(header)f(k)m(eyw)m(ord)347 4861 y(imarith)f(-)h(add,)g(subtract,)h(m)m
(ultiply)-8 b(,)28 b(or)j(divide)d(2)j(images)347 4974
y(imlist)d(-)j(list)e(pixel)g(v)-5 b(alues)29 b(in)g(an)i(image)347
5087 y(imstat)g(-)f(compute)h(mean,)g(min,)e(and)g(max)i(pixel)e(v)-5
b(alues)29 b(in)g(an)i(image)347 5200 y(tablist)f(-)g(displa)m(y)f(the)
h(con)m(ten)m(ts)i(of)f(a)g(FITS)e(table)347 5313 y(tab)s(calc)i(-)g
(general)f(table)g(calculator)1928 5809 y(5)p eop
%%Page: 6 6
6 5 bop 120 573 a Fi(4)135 b(CFITSIO)44 b(Routines)120
776 y Fg(This)36 b(c)m(hapter)i(describ)s(es)e(the)h(main)g(CFITSIO)f
(routines)g(that)i(can)g(b)s(e)f(used)g(to)h(p)s(erform)e(the)i(most)
120 889 y(common)31 b(t)m(yp)s(es)f(of)h(op)s(erations)e(on)i(FITS)e
(\014les.)120 1136 y Fb(4.1)112 b(Error)37 b(Rep)s(orting)120
1310 y Fc(void)47 b(fits_report_error\(FILE)41 b(*stream,)46
b(int)h(status\))120 1423 y(void)g(fits_get_errstatus\(int)41
b(status,)46 b(char)h(*err_text\))120 1536 y(float)f
(fits_get_version\(float)c(*version\))261 1748 y Fg(The)24
b(\014rst)g(routine)f(prin)m(ts)g(out)i(information)e(ab)s(out)h(an)m
(y)h(error)f(that)h(has)g(o)s(ccurred.)38 b(Whenev)m(er)25
b(an)m(y)120 1861 y(CFITSIO)f(routine)h(encoun)m(ters)i(an)f(error)f
(it)h(usually)d(writes)i(a)i(message)g(describing)c(the)j(nature)g(of)g
(the)120 1974 y(error)g(to)i(an)e(in)m(ternal)f(error)i(message)g(stac)
m(k)h(and)e(then)h(returns)e(with)g(a)i(p)s(ositiv)m(e)f(in)m(teger)h
(status)g(v)-5 b(alue.)120 2087 y(P)m(assing)27 b(the)h(error)f(status)
h(v)-5 b(alue)27 b(to)h(this)f(routine)f(will)f(cause)j(a)g(generic)g
(description)d(of)j(the)g(error)f(and)120 2200 y(all)e(the)i(messages)h
(from)e(the)h(in)m(ternal)e(CFITSIO)g(error)h(stac)m(k)i(to)g(b)s(e)e
(prin)m(ted)f(to)i(the)g(sp)s(eci\014ed)e(stream.)120
2313 y(The)30 b Fc(stream)f Fg(parameter)h(is)g(usually)e(set)j(equal)f
(to)h Fc("stdout")d Fg(or)i Fc("stderr")p Fg(.)261 2426
y(The)25 b(second)g(routine)f(simply)e(returns)i(a)h(30-c)m(haracter)j
(descriptiv)m(e)c(error)g(message)i(corresp)s(onding)120
2538 y(to)31 b(the)g(input)d(status)j(v)-5 b(alue.)261
2651 y(The)30 b(last)g(routine)g(returns)f(the)h(curren)m(t)g(CFITSIO)f
(library)f(v)m(ersion)i(n)m(um)m(b)s(er.)120 2899 y Fb(4.2)112
b(File)37 b(Op)s(en/Close)g(Routines)120 3072 y Fc(int)47
b(fits_open_file\()d(fitsfile)h(**fptr,)h(char)h(*filename,)e(int)h
(mode,)h(int)g(*status\))120 3185 y(int)g(fits_open_data\()d(fitsfile)h
(**fptr,)h(char)h(*filename,)e(int)h(mode,)h(int)g(*status\))120
3298 y(int)g(fits_open_table\(fitsfile)41 b(**fptr,)46
b(char)h(*filename,)e(int)h(mode,)h(int)g(*status\))120
3411 y(int)g(fits_open_image\(fitsfile)41 b(**fptr,)46
b(char)h(*filename,)e(int)h(mode,)h(int)g(*status\))120
3637 y(int)g(fits_create_file\(fitsfil)o(e)42 b(**fptr,)k(char)g
(*filename,)f(int)i(*status\))120 3750 y(int)g
(fits_close_file\(fitsfile)41 b(*fptr,)46 b(int)h(*status\))261
3962 y Fg(These)38 b(routines)e(op)s(en)i(or)f(close)i(a)f(\014le.)62
b(The)37 b(\014rst)g Fc(fitsfile)f Fg(parameter)i(in)f(these)h(and)f
(nearly)120 4075 y(ev)m(ery)28 b(other)g(CFITSIO)f(routine)f(is)h(a)h
(p)s(oin)m(ter)f(to)h(a)g(structure)g(that)g(CFITSIO)e(uses)h(to)i
(store)f(relev)-5 b(an)m(t)120 4188 y(parameters)31 b(ab)s(out)f(eac)m
(h)i(op)s(ened)e(\014le.)41 b(Y)-8 b(ou)31 b(should)e(nev)m(er)i
(directly)e(read)i(or)f(write)g(an)m(y)h(information)120
4301 y(in)23 b(this)h(structure.)38 b(Memory)26 b(for)e(this)g
(structure)g(is)g(allo)s(cated)g(automatically)h(when)f(the)h(\014le)e
(is)h(op)s(ened)120 4414 y(or)30 b(created,)i(and)e(is)f(freed)h(when)g
(the)g(\014le)g(is)f(closed.)261 4527 y(The)f Fc(mode)e
Fg(parameter)j(in)d(the)i Fc(fits)p 1552 4527 29 4 v
34 w(open)p 1778 4527 V 33 w(xxxx)f Fg(set)h(of)g(routines)f(can)h(b)s
(e)f(set)i(to)f(either)g Fc(READONLY)120 4640 y Fg(or)i
Fc(READWRITE)d Fg(to)j(select)g(the)g(t)m(yp)s(e)f(of)h(\014le)f
(access)i(that)f(will)d(b)s(e)i(allo)m(w)m(ed.)40 b(These)29
b(sym)m(b)s(olic)f(constan)m(ts)120 4753 y(are)j(de\014ned)e(in)g
Fc(fitsio.h)p Fg(.)261 4866 y(The)k Fc(fits)p 649 4866
V 33 w(open)p 874 4866 V 34 w(file)f Fg(routine)h(op)s(ens)f(the)i
(\014le)f(and)f(p)s(ositions)g(the)i(in)m(ternal)e(\014le)g(p)s(oin)m
(ter)h(to)h(the)120 4979 y(b)s(eginning)21 b(of)j(the)g(\014le,)g(or)g
(to)h(the)f(sp)s(eci\014ed)e(extension)h(if)g(an)h(extension)f(name)h
(or)g(n)m(um)m(b)s(er)e(is)h(app)s(ended)120 5092 y(to)k(the)f(\014le)g
(name)g(\(see)h(the)g(later)f(section)h(on)f(\\CFITSIO)f(File)g(Names)i
(and)f(Filters")g(for)g(a)g(description)120 5204 y(of)32
b(the)f(syn)m(tax\).)45 b Fc(fits)p 945 5204 V 33 w(open)p
1170 5204 V 33 w(data)31 b Fg(b)s(eha)m(v)m(es)g(similarly)d(except)33
b(that)f(it)f(will)d(mo)m(v)m(e)33 b(to)f(the)g(\014rst)f(HDU)120
5317 y(con)m(taining)k(signi\014can)m(t)f(data)i(if)e(a)i(HDU)g(name)g
(or)f(n)m(um)m(b)s(er)f(to)i(op)s(en)f(is)f(not)i(explicitly)c(sp)s
(eci\014ed)i(as)120 5430 y(part)23 b(of)h(the)g(\014lename.)38
b(It)23 b(will)e(mo)m(v)m(e)k(to)g(the)e(\014rst)g(IMA)m(GE)i(HDU)f
(with)e(NAXIS)i(greater)h(than)e(0,)j(or)d(the)1928 5809
y(6)p eop
%%Page: 7 7
7 6 bop 120 573 a Fg(\014rst)29 b(table)g(that)i(do)s(es)e(not)h(con)m
(tain)g(the)g(strings)e(`GTI')i(\(a)g(Go)s(o)s(d)g(Time)e(In)m(terv)-5
b(al)30 b(extension\))f(or)h(`OB-)120 686 y(ST)-8 b(ABLE')37
b(in)f(the)h(EXTNAME)h(k)m(eyw)m(ord)f(v)-5 b(alue.)61
b(The)36 b Fc(fits)p 2380 686 29 4 v 34 w(open)p 2606
686 V 33 w(table)g Fg(and)g Fc(fits)p 3290 686 V 34 w(open)p
3516 686 V 33 w(image)120 799 y Fg(routines)e(are)i(similar)c(except)37
b(that)f(they)f(will)e(mo)m(v)m(e)j(to)g(the)g(\014rst)e(signi\014can)m
(t)h(table)g(HDU)h(or)f(image)120 912 y(HDU,)c(resp)s(ectiv)m(ely)f(if)
f(a)i(HDU)g(name)g(of)f(n)m(um)m(b)s(er)f(is)h(not)g(sp)s(eci\014ed)f
(as)i(part)f(of)g(the)h(input)d(\014le)i(name.)261 1024
y(When)e(op)s(ening)f(an)h(existing)f(\014le,)h(the)h
Fc(filename)d Fg(can)i(include)e(optional)i(argumen)m(ts,)h(enclosed)f
(in)120 1137 y(square)h(brac)m(k)m(ets)i(that)f(sp)s(ecify)e
(\014ltering)g(op)s(erations)g(that)i(should)e(b)s(e)h(applied)e(to)j
(the)g(input)d(\014le.)40 b(F)-8 b(or)120 1250 y(example,)263
1428 y Fc(myfile.fit[EVENTS][counts)41 b(>)48 b(0])120
1605 y Fg(op)s(ens)27 b(the)i(table)f(in)f(the)i(EVENTS)e(extension)h
(and)g(creates)i(a)e(virtual)f(table)h(b)m(y)g(selecting)g(only)g
(those)120 1718 y(ro)m(ws)g(where)f(the)i(COUNTS)d(column)h(v)-5
b(alue)28 b(is)f(greater)i(than)f(0.)40 b(See)28 b(section)g(5)h(for)f
(more)g(examples)f(of)120 1831 y(these)k(p)s(o)m(w)m(erful)e
(\014ltering)f(capabilities.)261 1944 y(In)38 b Fc(fits)p
581 1944 V 33 w(create)p 902 1944 V 33 w(file)p Fg(,)h(the)g
Fc(filename)d Fg(is)i(simply)e(the)i(ro)s(ot)h(name)f(of)h(the)g
(\014le)e(to)i(b)s(e)f(created.)120 2057 y(Y)-8 b(ou)36
b(can)g(o)m(v)m(erwrite)g(an)g(existing)e(\014le)h(b)m(y)g(pre\014xing)
f(the)i(name)g(with)e(a)i(`!')57 b(c)m(haracter)37 b(\(on)f(the)f(Unix)
120 2170 y(command)30 b(line)e(this)h(m)m(ust)g(b)s(e)g(pre\014xed)g
(with)g(a)h(bac)m(kslash,)g(as)g(in)e Fc(`\\!file.fit')p
Fg(\).)38 b(If)29 b(the)h(\014le)f(name)120 2282 y(ends)f(with)f
Fc(.gz)h Fg(the)h(\014le)f(will)e(b)s(e)i(compressed)g(using)f(the)i
(gzip)f(algorithm.)39 b(If)29 b(the)f(\014lename)g(is)g
Fc(stdout)120 2395 y Fg(or)h Fc("-")e Fg(\(a)j(single)d(dash)h(c)m
(haracter\))j(then)d(the)h(output)f(\014le)g(will)e(b)s(e)i(pip)s(ed)e
(to)k(the)f(stdout)f(stream.)41 b(Y)-8 b(ou)120 2508
y(can)27 b(c)m(hain)f(sev)m(eral)g(tasks)h(together)h(b)m(y)f(writing)d
(the)j(output)f(from)g(the)g(\014rst)g(task)h(to)g Fc(stdout)e
Fg(and)h(then)120 2621 y(reading)j(the)i(input)d(\014le)i(in)f(the)i
(2nd)e(task)i(from)f Fc(stdin)f Fg(or)h Fc("-")p Fg(.)120
2867 y Fb(4.3)112 b(HDU-lev)m(el)36 b(Routines)261 3040
y Fg(The)30 b(routines)f(listed)g(in)g(this)h(section)g(op)s(erate)h
(on)f(Header-Data)j(Units)d(\(HDUs\))h(in)e(a)i(\014le.)120
3153 y Fc(________________________)o(____)o(____)o(___)o(____)o(____)o
(___)o(____)o(____)o(___)o(____)o(__)120 3266 y(int)47
b(fits_get_num_hdus\(fitsfi)o(le)42 b(*fptr,)k(int)h(*hdunum,)e(int)i
(*status\))120 3379 y(int)g(fits_get_hdu_num\(fitsfil)o(e)42
b(*fptr,)94 b(int)47 b(*hdunum\))261 3579 y Fg(The)39
b(\014rst)f(routines)g(returns)g(the)h(total)h(n)m(um)m(b)s(er)e(of)h
(HDUs)h(in)d(the)j(FITS)e(\014le,)j(and)d(the)h(second)120
3692 y(routine)32 b(returns)f(the)i(p)s(osition)e(of)i(the)g(curren)m
(tly)e(op)s(ened)h(HDU)i(in)d(the)i(FITS)f(\014le)g(\(starting)g(with)g
(1,)120 3805 y(not)f(0\).)120 4005 y Fc(________________________)o
(____)o(____)o(___)o(____)o(____)o(___)o(____)o(____)o(___)o(____)o
(____)o(___)o(____)o(__)120 4118 y(int)47 b(fits_movabs_hdu\(fitsfile)
41 b(*fptr,)46 b(int)h(hdunum,)f(int)h(*hdutype,)e(int)i(*status\))120
4231 y(int)g(fits_movrel_hdu\(fitsfile)41 b(*fptr,)46
b(int)h(nmove,)94 b(int)47 b(*hdutype,)e(int)i(*status\))120
4344 y(int)g(fits_movnam_hdu\(fitsfile)41 b(*fptr,)46
b(int)h(hdutype,)f(char)g(*extname,)1075 4457 y(int)g(extver,)g(int)h
(*status\))261 4657 y Fg(These)31 b(routines)f(enable)h(y)m(ou)g(to)h
(mo)m(v)m(e)g(to)g(a)g(di\013eren)m(t)e(HDU)i(in)e(the)h(\014le.)42
b(Most)32 b(of)g(the)f(CFITSIO)120 4770 y(functions)g(whic)m(h)h(read)h
(or)g(write)f(k)m(eyw)m(ords)h(or)g(data)h(op)s(erate)f(only)g(on)f
(the)h(curren)m(tly)f(op)s(ened)h(HDU)120 4883 y(in)h(the)h(\014le.)53
b(The)34 b(\014rst)g(routine)g(mo)m(v)m(es)i(to)g(the)f(sp)s(eci\014ed)
e(absolute)i(HDU)g(n)m(um)m(b)s(er)f(in)f(the)i(FITS)f(\014le)120
4996 y(\(the)e(\014rst)f(HDU)i(=)e(1\),)i(whereas)f(the)g(second)f
(routine)g(mo)m(v)m(es)i(a)f(relativ)m(e)g(n)m(um)m(b)s(er)f(of)h(HDUs)
g(forw)m(ard)120 5109 y(or)f(bac)m(kw)m(ard)h(from)e(the)i(curren)m
(tly)e(op)s(en)g(HDU.)i(The)f Fc(hdutype)e Fg(parameter)i(returns)f
(the)i(t)m(yp)s(e)f(of)g(the)120 5222 y(newly)d(op)s(ened)h(HDU,)i(and)
e(will)e(b)s(e)i(equal)g(to)h(one)g(of)g(these)g(sym)m(b)s(olic)e
(constan)m(t)j(v)-5 b(alues:)40 b Fc(IMAGE)p 3564 5222
V 33 w(HDU,)120 5334 y(ASCII)p 366 5334 V 33 w(TBL,)47
b(or)g(BINARY)p 1069 5334 V 33 w(TBL)p Fg(.)37 b Fc(hdutype)g
Fg(ma)m(y)h(b)s(e)g(set)h(to)g(NULL)f(if)f(it)h(is)g(not)g(needed.)64
b(The)38 b(third)120 5447 y(routine)30 b(mo)m(v)m(es)j(to)f(the)f
(\(\014rst\))h(HDU)g(that)f(matc)m(hes)i(the)e(input)f(extension)h(t)m
(yp)s(e,)g(name,)h(and)f(v)m(ersion)120 5560 y(n)m(um)m(b)s(er,)23
b(as)f(giv)m(en)h(b)m(y)f(the)g Fc(XTENSION,)46 b(EXTNAME)20
b Fg(\(or)j Fc(HDUNAME)p Fg(\))d(and)i Fc(EXTVER)f Fg(k)m(eyw)m(ords.)
38 b(If)22 b(the)g(input)1928 5809 y(7)p eop
%%Page: 8 8
8 7 bop 120 573 a Fg(v)-5 b(alue)33 b(of)g Fc(extver)e
Fg(=)i(0,)i(then)e(the)g(v)m(ersion)g(n)m(um)m(b)s(er)e(will)g(b)s(e)h
(ignored)h(when)f(lo)s(oking)g(for)h(a)g(matc)m(hing)120
686 y(HDU.)120 898 y Fc(________________________)o(____)o(____)o(___)o
(____)o(____)o(___)o(____)o(____)o(___)o(____)o(____)120
1011 y(int)47 b(fits_get_hdu_type\(fitsfi)o(le)42 b(*fptr,)93
b(int)47 b(*hdutype,)f(int)g(*status\))261 1224 y Fg(Get)21
b(the)g(t)m(yp)s(e)f(of)h(the)f(curren)m(t)g(HDU)h(in)e(the)i(FITS)e
(\014le:)35 b Fc(IMAGE)p 2435 1224 29 4 v 33 w(HDU,)47
b(ASCII)p 2947 1224 V 33 w(TBL,)f(or)h(BINARY)p 3649
1224 V 33 w(TBL)p Fg(.)120 1436 y Fc(________________________)o(____)o
(____)o(___)o(____)o(____)o(___)o(____)o(____)o(___)o(____)o(____)o
(___)120 1549 y(int)g(fits_copy_hdu\(fitsfile)42 b(*infptr,)j(fitsfile)
h(*outfptr,)f(int)i(morekeys,)979 1662 y(int)g(*status\))120
1775 y(int)g(fits_copy_file\(fitsfile)41 b(*infptr,)46
b(fitsfile)f(*outfptr,)h(int)h(previous,)979 1888 y(int)g(current,)f
(int)g(following,)f(>)j(int)f(*status\))261 2100 y Fg(The)34
b(\014rst)g(routine)f(copies)i(the)f(curren)m(t)g(HDU)i(from)e(the)g
(FITS)g(\014le)g(asso)s(ciated)g(with)g(infptr)e(and)120
2213 y(app)s(ends)i(it)i(to)h(the)f(end)f(of)h(the)g(FITS)g(\014le)f
(asso)s(ciated)h(with)f(outfptr.)57 b(Space)36 b(ma)m(y)h(b)s(e)e
(reserv)m(ed)i(for)120 2326 y Fc(morekeys)32 b Fg(additional)h(k)m(eyw)
m(ords)i(in)f(the)g(output)h(header.)53 b(The)35 b(second)f(routine)g
(copies)h(an)m(y)g(HDUs)120 2439 y(previous)41 b(to)j(the)e(curren)m(t)
h(HDU,)h(and/or)e(the)h(curren)m(t)f(HDU,)i(and/or)f(an)m(y)g(HDUs)g
(follo)m(wing)e(the)120 2552 y(curren)m(t)22 b(HDU,)h(dep)s(ending)c
(on)j(the)g(v)-5 b(alue)22 b(\(T)-8 b(rue)22 b(or)g(F)-8
b(alse\))23 b(of)f Fc(previous,)45 b(current)p Fg(,)22
b(and)g Fc(following)p Fg(,)120 2665 y(resp)s(ectiv)m(ely)-8
b(.)40 b(F)-8 b(or)32 b(example,)215 2853 y Fc(fits_copy_file\(infptr,)
42 b(outfptr,)k(0,)h(1,)g(1,)g(&status\);)120 3040 y
Fg(will)32 b(cop)m(y)k(the)f(curren)m(t)g(HDU)g(and)g(an)m(y)g(HDUs)g
(that)h(follo)m(w)e(it)g(from)h(the)g(input)e(to)i(the)h(output)e
(\014le,)120 3153 y(but)c(it)g(will)d(not)k(cop)m(y)g(an)m(y)g(HDUs)g
(preceding)e(the)i(curren)m(t)f(HDU.)1928 5809 y(8)p
eop
%%Page: 9 9
9 8 bop 120 573 a Fb(4.4)112 b(Image)37 b(I/O)h(Routines)120
744 y Fg(This)29 b(section)h(lists)f(the)i(more)f(imp)s(ortan)m(t)g
(CFITSIO)e(routines)i(whic)m(h)f(op)s(erate)i(on)f(FITS)g(images.)120
956 y Fc(________________________)o(____)o(____)o(___)o(____)o(____)o
(___)o(____)o(____)o(___)o(____)o(__)120 1069 y(int)47
b(fits_get_img_type\(fitsfi)o(le)42 b(*fptr,)k(int)h(*bitpix,)e(int)i
(*status\))120 1181 y(int)g(fits_get_img_dim\()c(fitsfile)j(*fptr,)g
(int)h(*naxis,)93 b(int)47 b(*status\))120 1294 y(int)g
(fits_get_img_size\(fitsfi)o(le)42 b(*fptr,)k(int)h(maxdim,)93
b(long)47 b(*naxes,)1170 1407 y(int)g(*status\))120 1520
y(int)g(fits_get_img_param\(fitsf)o(ile)41 b(*fptr,)46
b(int)h(maxdim,)94 b(int)47 b(*bitpix,)1218 1633 y(int)g(*naxis,)e
(long)i(*naxes,)f(int)h(*status\))261 1844 y Fg(Get)38
b(information)e(ab)s(out)h(the)g(curren)m(tly)f(op)s(ened)h(image)g
(HDU.)h(The)f(\014rst)f(routine)g(returns)g(the)120 1957
y(datat)m(yp)s(e)41 b(of)e(the)h(image)g(as)g(\(de\014ned)f(b)m(y)g
(the)h Fc(BITPIX)e Fg(k)m(eyw)m(ord\),)43 b(whic)m(h)38
b(can)i(ha)m(v)m(e)h(the)f(follo)m(wing)120 2070 y(sym)m(b)s(olic)29
b(constan)m(t)i(v)-5 b(alues:)311 2256 y Fc(BYTE_IMG)141
b(=)i(8)g(\()47 b(8-bit)g(byte)f(pixels,)g(0)h(-)h(255\))311
2369 y(SHORT_IMG)93 b(=)i(16)143 b(\(16)47 b(bit)g(integer)e(pixels\))
311 2482 y(LONG_IMG)141 b(=)95 b(32)143 b(\(32-bit)46
b(integer)f(pixels\))311 2595 y(FLOAT_IMG)93 b(=)47 b(-32)143
b(\(32-bit)46 b(floating)f(point)h(pixels\))311 2708
y(DOUBLE_IMG)f(=)i(-64)143 b(\(64-bit)46 b(floating)f(point)h(pixels\))
261 2895 y Fg(The)34 b(second)g(and)f(third)f(routines)h(return)g(the)h
(n)m(um)m(b)s(er)e(of)i(dimensions)d(in)i(the)h(image)g(\(from)g(the)
120 3007 y Fc(NAXIS)25 b Fg(k)m(eyw)m(ord\),)j(and)e(the)h(sizes)f(of)g
(eac)m(h)i(dimension)c(\(from)i(the)g Fc(NAXIS1,)46 b(NAXIS2)p
Fg(,)26 b(etc.)40 b(k)m(eyw)m(ords\).)120 3120 y(The)g(last)h(routine)f
(simply)f(com)m(bines)h(the)i(function)d(of)i(the)h(\014rst)e(3)h
(routines.)72 b(The)40 b(input)f Fc(maxdim)120 3233 y
Fg(parameter)28 b(in)f(this)f(routine)h(giv)m(es)h(the)g(maxim)m(um)f
(n)m(um)m(b)s(er)f(dimensions)f(that)k(ma)m(y)f(b)s(e)f(returned)g
(\(i.e.,)120 3346 y(the)k(dimension)c(of)k(the)f Fc(naxes)f
Fg(arra)m(y\))120 3557 y Fc(________________________)o(____)o(____)o
(___)o(____)o(____)o(___)o(____)o(____)o(___)o(_)120
3670 y(int)47 b(fits_create_img\(fitsfile)41 b(*fptr,)46
b(int)h(bitpix,)f(int)h(naxis,)1075 3783 y(long)f(*naxes,)g(int)h
(*status\))261 3994 y Fg(Create)28 b(an)f(image)h(HDU)g(b)m(y)f
(writing)e(the)i(required)f(k)m(eyw)m(ords)h(whic)m(h)f(de\014ne)h(the)
g(structure)g(of)g(the)120 4107 y(image.)50 b(The)33
b(2nd)f(through)h(4th)h(parameters)f(sp)s(eci\014ed)f(the)h(datat)m(yp)
s(e,)j(the)d(n)m(um)m(b)s(er)f(of)i(dimensions,)120 4220
y(and)26 b(the)h(sizes)f(of)g(the)h(dimensions.)37 b(The)26
b(allo)m(w)m(ed)g(v)-5 b(alues)26 b(of)h(the)f Fc(bitpix)f
Fg(parameter)i(are)g(listed)e(ab)s(o)m(v)m(e)120 4333
y(in)32 b(the)h(description)e(of)i(the)g Fc(fits)p 1319
4333 29 4 v 33 w(get)p 1496 4333 V 33 w(img)p 1673 4333
V 34 w(type)f Fg(routine.)47 b(If)32 b(the)h(FITS)f(\014le)g(p)s(oin)m
(ted)g(to)i(b)m(y)f Fc(fptr)e Fg(is)120 4446 y(empt)m(y)c(\(previously)
d(created)j(with)e Fc(fits)p 1575 4446 V 33 w(create)p
1896 4446 V 33 w(file)p Fg(\))g(then)h(this)f(routine)g(creates)j(a)f
(primary)d(arra)m(y)120 4559 y(in)36 b(the)h(\014le,)h(otherwise)f(a)g
(new)g(IMA)m(GE)h(extension)f(is)f(app)s(ended)f(to)j(end)f(of)g(the)g
(\014le)g(follo)m(wing)e(the)120 4672 y(other)c(HDUs)g(in)e(the)h
(\014le.)120 4883 y Fc(________________________)o(____)o(____)o(___)o
(____)o(____)o(___)o(____)o(____)o(___)o(____)o(_)120
4996 y(int)47 b(fits_write_pix\(fitsfile)41 b(*fptr,)46
b(int)h(datatype,)f(long)g(*fpixel,)836 5109 y(long)h(nelements,)e
(void)h(*array,)g(int)h(*status\);)120 5334 y(int)g
(fits_write_pixnull\(fitsf)o(ile)41 b(*fptr,)46 b(int)h(datatype,)f
(long)g(*fpixel,)836 5447 y(long)h(nelements,)e(void)h(*array,)g(void)h
(*nulval,)e(int)i(*status\);)1928 5809 y Fg(9)p eop
%%Page: 10 10
10 9 bop 120 573 a Fc(int)47 b(fits_read_pix\(fitsfile)42
b(*fptr,)k(int)94 b(datatype,)46 b(long)g(*fpixel,)979
686 y(long)h(nelements,)e(void)h(*nulval,)g(void)h(*array,)979
799 y(int)g(*anynul,)f(int)g(*status\))261 1007 y Fg(Read)32
b(or)f(write)f(all)g(or)h(part)h(of)f(the)g(FITS)g(image.)43
b(There)31 b(are)h(2)f(di\013eren)m(t)g('write')g(pixel)e(routines:)120
1120 y(The)23 b(\014rst)g(simply)e(writes)i(the)h(input)e(arra)m(y)i
(of)g(pixels)e(to)i(the)g(FITS)f(\014le.)38 b(The)23
b(second)h(is)f(similar,)f(except)120 1233 y(that)30
b(it)e(substitutes)g(the)h(appropriate)f(n)m(ull)f(pixel)g(v)-5
b(alue)29 b(in)f(the)h(FITS)f(\014le)g(for)h(an)m(y)g(pixels)e(whic)m
(h)h(ha)m(v)m(e)120 1346 y(a)j(v)-5 b(alue)29 b(equal)h(to)h
Fc(*nulval)d Fg(\(note)j(that)g(this)e(parameter)h(giv)m(es)h(the)f
(address)f(of)i(the)f(n)m(ull)e(pixel)h(v)-5 b(alue,)120
1459 y(not)35 b(the)g(v)-5 b(alue)34 b(itself)7 b(\).)52
b(Similarly)-8 b(,)33 b(when)g(reading)h(an)h(image,)h(CFITSIO)d(will)f
(substitute)h(the)i(v)-5 b(alue)120 1572 y(giv)m(en)29
b(b)m(y)f Fc(nulval)f Fg(for)i(an)m(y)g(unde\014ned)d(pixels)h(in)h
(the)h(image,)g(unless)e Fc(nulval)46 b(=)i(NULL)p Fg(,)27
b(in)h(whic)m(h)f(case)120 1685 y(no)j(c)m(hec)m(ks)i(will)c(b)s(e)i
(made)g(for)g(unde\014ned)e(pixels)h(when)g(reading)h(the)g(FITS)g
(image.)261 1798 y(The)35 b Fc(fpixel)f Fg(parameter)i(in)e(these)i
(routines)e(is)h(an)g(arra)m(y)h(whic)m(h)e(giv)m(es)i(the)g(co)s
(ordinate)f(in)f(eac)m(h)120 1910 y(dimension)22 b(of)k(the)f(\014rst)f
(pixel)g(to)h(b)s(e)g(read)g(or)g(written,)g(and)g Fc(nelements)d
Fg(is)i(the)h(total)h(n)m(um)m(b)s(er)e(of)h(pixels)120
2023 y(to)i(read)g(or)f(write.)39 b Fc(array)25 b Fg(is)h(the)g
(address)g(of)h(an)f(arra)m(y)h(whic)m(h)e(either)h(con)m(tains)h(the)g
(pixel)e(v)-5 b(alues)26 b(to)h(b)s(e)120 2136 y(written,)k(or)g(will)e
(hold)g(the)j(v)-5 b(alues)30 b(of)i(the)f(pixels)f(that)i(are)f(read.)
43 b(When)31 b(reading,)g Fc(array)f Fg(m)m(ust)h(ha)m(v)m(e)120
2249 y(b)s(een)k(allo)s(cated)h(large)g(enough)f(to)i(hold)d(all)h(the)
h(returned)f(pixel)f(v)-5 b(alues.)56 b(These)36 b(routines)e(starts)j
(at)120 2362 y(the)e Fc(fpixel)d Fg(lo)s(cation)i(and)g(then)g(read)h
(or)f(write)g(the)g Fc(nelements)e Fg(pixels,)i(con)m(tin)m(uing)g(on)g
(successiv)m(e)120 2475 y(ro)m(ws)f(of)g(the)g(image)g(if)f(necessary)
-8 b(.)49 b(F)-8 b(or)34 b(example,)g(to)f(write)f(an)h(en)m(tire)g(2D)
h(image,)g(set)f Fc(fpixel[0])46 b(=)120 2588 y(fpixel[1])f(=)j(1)p
Fg(,)35 b(and)f Fc(nelements)46 b(=)h(NAXIS1)f(*)i(NAXIS2)p
Fg(.)j(Or)34 b(to)i(read)e(just)g(the)h(10th)h(ro)m(w)e(of)h(the)120
2701 y(image,)49 b(set)c Fc(fpixel[0])g(=)j(1,)f(fpixel[1])e(=)j(10)p
Fg(,)g(and)c Fc(nelements)h(=)i(NAXIS1)p Fg(.)82 b(The)45
b Fc(datatype)120 2814 y Fg(parameter)28 b(sp)s(eci\014es)d(the)j
(datat)m(yp)s(e)g(of)f(the)g(C)g Fc(array)e Fg(in)h(the)h(program,)h
(whic)m(h)e(need)h(not)g(b)s(e)g(the)g(same)120 2927
y(as)32 b(the)f(datat)m(yp)s(e)i(of)e(the)h(FITS)f(image)g(itself.)43
b(If)31 b(the)h(datat)m(yp)s(es)g(di\013er)e(then)h(CFITSIO)f(will)f
(con)m(v)m(ert)120 3040 y(the)i(data)h(as)f(it)g(is)f(read)h(or)g
(written.)41 b(The)31 b(follo)m(wing)e(sym)m(b)s(olic)h(constan)m(ts)i
(are)f(allo)m(w)m(ed)g(for)g(the)g(v)-5 b(alue)120 3152
y(of)31 b Fc(datatype)p Fg(:)215 3337 y Fc(TBYTE)238
b(unsigned)45 b(char)215 3450 y(TSBYTE)190 b(signed)46
b(char)215 3563 y(TSHORT)190 b(signed)46 b(short)215
3675 y(TUSHORT)142 b(unsigned)45 b(short)215 3788 y(TINT)286
b(signed)46 b(int)215 3901 y(TUINT)238 b(unsigned)45
b(int)215 4014 y(TLONG)238 b(signed)46 b(long)215 4127
y(TULONG)190 b(unsigned)45 b(long)215 4240 y(TFLOAT)190
b(float)215 4353 y(TDOUBLE)142 b(double)120 4561 y
(________________________)o(____)o(____)o(___)o(____)o(____)o(___)o
(____)o(____)o(___)o(____)o(____)120 4674 y(int)47 b
(fits_write_subset\(fitsfi)o(le)42 b(*fptr,)k(int)h(datatype,)e(long)h
(*fpixel,)740 4787 y(long)h(*lpixel,)f(DTYPE)g(*array,)g(>)h(int)g
(*status\))120 5013 y(int)g(fits_read_subset\(fitsfil)o(e)42
b(*fptr,)k(int)95 b(datatype,)45 b(long)h(*fpixel,)740
5126 y(long)h(*lpixel,)f(long)g(*inc,)h(void)f(*nulval,)94
b(void)46 b(*array,)740 5239 y(int)h(*anynul,)f(int)h(*status\))261
5447 y Fg(Read)i(or)g(write)e(a)i(rectangular)g(section)g(of)g(the)f
(FITS)g(image.)96 b(These)49 b(are)g(v)m(ery)g(similar)d(to)120
5560 y Fc(fits)p 318 5560 29 4 v 33 w(write)p 591 5560
V 33 w(pix)37 b Fg(and)f Fc(fits)p 1180 5560 V 34 w(read)p
1406 5560 V 33 w(pix)g Fg(except)j(that)f(y)m(ou)f(sp)s(ecify)f(the)i
(last)f(pixel)f(co)s(ordinate)h(\(the)1905 5809 y(10)p
eop
%%Page: 11 11
11 10 bop 120 573 a Fg(upp)s(er)22 b(righ)m(t)h(corner)h(of)g(the)h
(section\))f(instead)f(of)h(the)h(n)m(um)m(b)s(er)d(of)i(pixels)f(to)h
(b)s(e)g(read.)38 b(The)23 b(read)h(routine)120 686 y(also)38
b(has)f(an)h Fc(inc)f Fg(parameter)h(whic)m(h)e(can)j(b)s(e)e(used)g
(to)h(read)g(only)f(ev)m(ery)h Fc(inc-th)e Fg(pixel)g(along)i(eac)m(h)
120 799 y(dimension)26 b(of)j(the)g(image.)40 b(Normally)28
b Fc(inc[0])46 b(=)h(inc[1])f(=)i(1)28 b Fg(to)i(read)e(ev)m(ery)i
(pixel)d(in)g(a)i(2D)h(image.)120 912 y(T)-8 b(o)31 b(read)f(ev)m(ery)h
(other)g(pixel)e(in)g(the)h(en)m(tire)h(2D)g(image,)g(set)311
1099 y Fc(fpixel[0])45 b(=)j(fpixel[1])d(=)i(1)311 1212
y(lpixel[0])e(=)j({NAXIS1})311 1325 y(lpixel[1])d(=)j({NAXIS2})311
1438 y(inc[0])e(=)h(inc[1])g(=)g(2)261 1626 y Fg(Or,)30
b(to)h(read)f(the)h(8th)g(ro)m(w)f(of)h(a)f(2D)i(image,)e(set)311
1813 y Fc(fpixel[0])45 b(=)j(1)311 1926 y(fpixel[1])d(=)j(8)311
2039 y(lpixel[0])d(=)j({NAXIS1})311 2152 y(lpixel[1])d(=)j(8)311
2265 y(inc[0])e(=)h(inc[1])g(=)g(1)1905 5809 y Fg(11)p
eop
%%Page: 12 12
12 11 bop 120 573 a Fb(4.5)112 b(T)-9 b(able)37 b(I/O)h(Routines)120
744 y Fg(This)29 b(section)h(lists)f(the)i(most)f(imp)s(ortan)m(t)g
(CFITSIO)f(routines)g(whic)m(h)g(op)s(erate)i(on)f(FITS)g(tables.)120
957 y Fc(________________________)o(____)o(____)o(___)o(____)o(____)o
(___)o(____)o(____)o(___)o(____)o(____)o(___)o(____)o(__)120
1070 y(int)47 b(fits_create_tbl\(fitsfile)41 b(*fptr,)46
b(int)h(tbltype,)f(long)g(nrows,)g(int)h(tfields,)311
1183 y(char)g(*ttype[],char)d(*tform[],)h(char)i(*tunit[],)e(char)i
(*extname,)e(int)i(*status\))261 1395 y Fg(Create)e(a)f(new)f(table)h
(extension)f(b)m(y)h(writing)e(the)i(required)e(k)m(eyw)m(ords)i(that)g
(de\014ne)f(the)h(table)120 1508 y(structure.)38 b(The)22
b(required)e(n)m(ull)h(primary)f(arra)m(y)j(will)d(b)s(e)i(created)i
(\014rst)d(if)h(the)h(\014le)e(is)h(initially)d(completely)120
1621 y(empt)m(y)-8 b(.)41 b Fc(tbltype)26 b Fg(de\014nes)i(the)g(t)m
(yp)s(e)h(of)g(table)f(and)g(can)g(ha)m(v)m(e)i(v)-5
b(alues)28 b(of)g Fc(ASCII)p 2931 1621 29 4 v 33 w(TBL)47
b(or)g(BINARY)p 3586 1621 V 33 w(TBL)p Fg(.)120 1734
y(Binary)33 b(tables)h(are)h(generally)e(preferred)g(b)s(ecause)h(they)
h(are)f(more)h(e\016cien)m(t)f(and)g(supp)s(ort)f(a)h(greater)120
1847 y(range)d(of)f(column)f(datat)m(yp)s(es)j(than)e(ASCI)s(I)f
(tables.)261 1960 y(The)c Fc(nrows)f Fg(parameter)i(giv)m(es)g(the)f
(initial)e(n)m(um)m(b)s(er)h(of)i(empt)m(y)g(ro)m(ws)f(to)h(b)s(e)f
(allo)s(cated)g(for)h(the)f(table;)120 2073 y(this)g(should)g(normally)
f(b)s(e)i(set)h(to)g(0.)40 b(The)26 b Fc(tfields)f Fg(parameter)i(giv)m
(es)f(the)h(n)m(um)m(b)s(er)e(of)i(columns)e(in)g(the)120
2186 y(table)e(\(maxim)m(um)f(=)g(999\).)40 b(The)22
b Fc(ttype,)46 b(tform)p Fg(,)24 b(and)e Fc(tunit)f Fg(parameters)i
(giv)m(e)h(the)f(name,)h(datat)m(yp)s(e,)120 2299 y(and)34
b(ph)m(ysical)f(units)h(of)g(eac)m(h)i(column,)f(and)f
Fc(extname)f Fg(giv)m(es)i(the)g(name)g(for)f(the)h(table)g(\(the)g(v)
-5 b(alue)34 b(of)120 2412 y(the)j Fc(EXTNAME)e Fg(k)m(eyw)m(ord\).)61
b(The)36 b(FITS)g(Standard)g(recommends)g(that)i(only)e(letters,)j
(digits,)e(and)f(the)120 2524 y(underscore)27 b(c)m(haracter)h(b)s(e)f
(used)g(in)f(column)g(names)h(with)f(no)h(em)m(b)s(edded)g(spaces.)40
b(It)27 b(is)g(recommended)120 2637 y(that)k(all)e(the)i(column)e
(names)h(in)f(a)i(giv)m(en)f(table)h(b)s(e)e(unique)g(within)f(the)i
(\014rst)g(8)h(c)m(haracters.)261 2750 y(The)g(follo)m(wing)f(table)i
(sho)m(ws)f(the)h(TF)m(ORM)g(column)e(format)i(v)-5 b(alues)31
b(that)h(are)g(allo)m(w)m(ed)g(in)e(ASCI)s(I)120 2863
y(tables)g(and)g(in)f(binary)g(tables:)502 3051 y Fc(ASCII)46
b(Table)h(Column)f(Format)g(Codes)502 3164 y(------------------------)o
(---)o(----)502 3277 y(\(w)h(=)g(column)g(width,)f(d)h(=)h(no.)e(of)i
(decimal)d(places)i(to)g(display\))693 3390 y(Aw)142
b(-)48 b(character)d(string)693 3502 y(Iw)142 b(-)48
b(integer)693 3615 y(Fw.d)e(-)i(fixed)e(floating)g(point)693
3728 y(Ew.d)g(-)i(exponential)d(floating)g(point)693
3841 y(Dw.d)h(-)i(exponential)d(floating)g(point)502
4067 y(Binary)h(Table)g(Column)g(Format)g(Codes)502 4180
y(------------------------)o(---)o(----)o(-)502 4293
y(\(r)h(=)g(vector)g(length,)e(default)h(=)i(1\))693
4406 y(rA)95 b(-)47 b(character)e(string)693 4519 y(rAw)i(-)g(array)f
(of)i(strings,)d(each)i(of)g(length)f(w)693 4632 y(rL)95
b(-)47 b(logical)693 4744 y(rX)95 b(-)47 b(bit)693 4857
y(rB)95 b(-)47 b(unsigned)f(byte)693 4970 y(rS)95 b(-)47
b(signed)f(byte)h(**)693 5083 y(rI)95 b(-)47 b(signed)f(16-bit)g
(integer)693 5196 y(rU)95 b(-)47 b(unsigned)f(16-bit)g(integer)g(**)693
5309 y(rJ)95 b(-)47 b(signed)f(32-bit)g(integer)693 5422
y(rV)95 b(-)47 b(unsigned)f(32-bit)g(integer)g(**)693
5535 y(rK)95 b(-)47 b(64-bit)f(integer)g(***)1905 5809
y Fg(12)p eop
%%Page: 13 13
13 12 bop 693 573 a Fc(rE)95 b(-)47 b(32-bit)f(floating)g(point)693
686 y(rD)95 b(-)47 b(64-bit)f(floating)g(point)693 799
y(rC)95 b(-)47 b(32-bit)f(complex)g(pair)693 912 y(rM)95
b(-)47 b(64-bit)f(complex)g(pair)359 1137 y(**)h(The)g(S,)g(U)g(and)g
(V)h(format)e(codes)g(are)h(not)g(actual)f(legal)g(TFORMn)h(values.)502
1250 y(CFITSIO)f(substitutes)e(the)j(somewhat)f(more)g(complicated)f
(set)i(of)502 1363 y(keywords)e(that)i(are)g(used)g(to)g(represent)e
(unsigned)h(integers)f(or)502 1476 y(signed)h(bytes.)311
1702 y(***)h(The)g(64-bit)f(integer)g(format)g(is)h(experimental)d(and)
j(is)g(not)502 1815 y(officially)e(recognized)g(in)i(the)g(FITS)g
(Standard.)261 2002 y Fg(The)27 b Fc(tunit)e Fg(and)h
Fc(extname)f Fg(parameters)j(are)f(optional)f(and)h(ma)m(y)g(b)s(e)g
(set)g(to)h(NULL)f(if)f(they)h(are)g(not)120 2115 y(needed.)261
2228 y(Note)41 b(that)f(it)e(ma)m(y)i(b)s(e)f(easier)g(to)h(create)h(a)
f(new)e(table)h(b)m(y)h(cop)m(ying)f(the)g(header)g(from)g(another)120
2341 y(existing)29 b(table)i(with)e Fc(fits)p 1089 2341
29 4 v 33 w(copy)p 1314 2341 V 33 w(header)g Fg(rather)h(than)g
(calling)f(this)g(routine.)120 2554 y Fc(________________________)o
(____)o(____)o(___)o(____)o(____)o(___)o(____)o(____)o(___)o(____)o(__)
120 2667 y(int)47 b(fits_get_num_rows\(fitsfi)o(le)42
b(*fptr,)k(long)g(*nrows,)g(int)h(*status\))120 2780
y(int)g(fits_get_num_cols\(fitsfi)o(le)42 b(*fptr,)k(int)94
b(*ncols,)46 b(int)h(*status\))261 2992 y Fg(Get)37 b(the)g(n)m(um)m(b)
s(er)d(of)j(ro)m(ws)f(or)g(columns)f(in)f(the)j(curren)m(t)e(FITS)h
(table.)58 b(The)35 b(n)m(um)m(b)s(er)g(of)h(ro)m(ws)g(is)120
3105 y(giv)m(en)d(b)m(y)g(the)g Fc(NAXIS2)e Fg(k)m(eyw)m(ord)j(and)e
(the)h(n)m(um)m(b)s(er)f(of)h(columns)f(is)g(giv)m(en)h(b)m(y)g(the)g
Fc(TFIELDS)e Fg(k)m(eyw)m(ord)120 3218 y(in)e(the)i(header)f(of)g(the)h
(table.)120 3430 y Fc(________________________)o(____)o(____)o(___)o
(____)o(____)o(___)o(____)o(____)o(___)o(____)o(__)120
3543 y(int)47 b(fits_get_colnum\(fitsfile)41 b(*fptr,)46
b(int)h(casesen,)f(char)g(*template,)1075 3656 y(int)g(*colnum,)g(int)h
(*status\))120 3769 y(int)g(fits_get_colname\(fitsfil)o(e)42
b(*fptr,)k(int)h(casesen,)e(char)i(*template,)1075 3882
y(char)f(*colname,)f(int)i(*colnum,)f(int)h(*status\))261
4095 y Fg(Get)33 b(the)e(column)f(n)m(um)m(b)s(er)g(\(starting)i(with)e
(1,)i(not)g(0\))g(of)f(the)h(column)e(whose)h(name)h(matc)m(hes)g(the)
120 4208 y(sp)s(eci\014ed)37 b(template)i(name.)66 b(The)38
b(only)g(di\013erence)g(in)f(these)i(2)g(routines)f(is)f(that)j(the)e
(2nd)g(one)h(also)120 4320 y(returns)29 b(the)i(name)f(of)h(the)f
(column)f(that)i(matc)m(hed)h(the)e(template)h(string.)261
4433 y(Normally)-8 b(,)27 b Fc(casesen)d Fg(should)g(b)s(e)i(set)h(to)g
Fc(CASEINSEN)p Fg(,)d(but)i(it)f(ma)m(y)i(b)s(e)f(set)h(to)g
Fc(CASESEN)d Fg(to)j(force)g(the)120 4546 y(name)j(matc)m(hing)h(to)g
(b)s(e)f(case-sensitiv)m(e.)261 4659 y(The)22 b(input)e
Fc(template)g Fg(string)h(giv)m(es)i(the)f(name)h(of)f(the)h(desired)d
(column)h(and)h(ma)m(y)h(include)d(wildcard)120 4772
y(c)m(haracters:)41 b(a)30 b(`*')g(matc)m(hes)g(an)m(y)f(sequence)g(of)
h(c)m(haracters)g(\(including)c(zero)k(c)m(haracters\),)h(`?')40
b(matc)m(hes)120 4885 y(an)m(y)45 b(single)e(c)m(haracter,)50
b(and)44 b(`#')h(matc)m(hes)g(an)m(y)g(consecutiv)m(e)h(string)d(of)i
(decimal)f(digits)f(\(0-9\).)85 b(If)120 4998 y(more)27
b(than)g(one)g(column)f(name)h(in)f(the)h(table)g(matc)m(hes)h(the)f
(template)g(string,)g(then)g(the)g(\014rst)f(matc)m(h)i(is)120
5111 y(returned)22 b(and)h(the)h(status)f(v)-5 b(alue)23
b(will)e(b)s(e)i(set)h(to)g Fc(COL)p 1962 5111 V 33 w(NOT)p
2139 5111 V 34 w(UNIQUE)e Fg(as)h(a)h(w)m(arning)e(that)i(a)g(unique)d
(matc)m(h)120 5224 y(w)m(as)34 b(not)g(found.)50 b(T)-8
b(o)35 b(\014nd)d(the)i(next)g(column)f(that)i(matc)m(hes)g(the)f
(template,)h(call)f(this)e(routine)h(again)120 5337 y(lea)m(ving)d(the)
h(input)d(status)j(v)-5 b(alue)30 b(equal)g(to)h Fc(COL)p
1832 5337 V 33 w(NOT)p 2009 5337 V 34 w(UNIQUE)p Fg(.)e(Rep)s(eat)i
(this)e(pro)s(cess)h(un)m(til)f Fc(status)46 b(=)120
5450 y(COL)p 270 5450 V 34 w(NOT)p 448 5450 V 33 w(FOUND)29
b Fg(is)g(returned.)1905 5809 y(13)p eop
%%Page: 14 14
14 13 bop 120 573 a Fc(________________________)o(____)o(____)o(___)o
(____)o(____)o(___)o(____)o(____)o(___)o(____)o(__)120
686 y(int)47 b(fits_get_coltype\(fitsfil)o(e)42 b(*fptr,)k(int)h
(colnum,)f(int)h(*typecode,)1122 799 y(long)g(*repeat,)e(long)i
(*width,)f(int)h(*status\))261 1011 y Fg(Return)41 b(the)h(datat)m(yp)s
(e,)k(v)m(ector)d(rep)s(eat)f(coun)m(t,)j(and)c(the)h(width)e(in)g(b)m
(ytes)i(of)g(a)g(single)f(column)120 1124 y(elemen)m(t)i(for)e(column)g
(n)m(um)m(b)s(er)g Fc(colnum)p Fg(.)74 b(Allo)m(w)m(ed)42
b(v)-5 b(alues)41 b(for)h(the)g(returned)f(datat)m(yp)s(e)i(in)e(ASCI)s
(I)120 1237 y(tables)30 b(are:)42 b Fc(TSTRING,)j(TSHORT,)h(TLONG,)g
(TFLOAT,)g(and)h(TDOUBLE)p Fg(.)29 b(Binary)h(tables)g(supp)s(ort)f
(these)120 1350 y(additional)19 b(t)m(yp)s(es:)36 b Fc(TLOGICAL,)45
b(TBIT,)h(TBYTE,)g(TINT32BIT,)f(TCOMPLEX)h(and)h(TDBLCOMPLEX)p
Fg(.)18 b(The)120 1463 y(negativ)m(e)34 b(of)f(the)h(datat)m(yp)s(e)g
(co)s(de)f(v)-5 b(alue)32 b(is)h(returned)e(if)h(it)h(is)f(a)h(v)-5
b(ariable)32 b(length)h(arra)m(y)g(column.)48 b(The)120
1576 y(rep)s(eat)31 b(coun)m(t)g(is)e(alw)m(a)m(ys)i(1)g(in)e(ASCI)s(I)
g(tables.)261 1689 y(The)39 b('rep)s(eat')g(parameter)h(returns)e(the)h
(v)m(ector)h(rep)s(eat)g(coun)m(t)f(on)g(the)g(binary)f(table)g(TF)m
(ORMn)120 1802 y(k)m(eyw)m(ord)44 b(v)-5 b(alue.)78 b(\(ASCI)s(I)42
b(table)h(columns)f(alw)m(a)m(ys)i(ha)m(v)m(e)g(rep)s(eat)g(=)e(1\).)80
b(The)43 b('width')f(parameter)120 1914 y(returns)d(the)i(width)e(in)h
(b)m(ytes)h(of)g(a)g(single)e(column)h(elemen)m(t)h(\(e.g.,)k(a)c
('10D')i(binary)c(table)i(column)120 2027 y(will)c(ha)m(v)m(e)42
b(width)c(=)i(8,)j(an)d(ASCI)s(I)e(table)i('F12.2')j(column)c(will)e
(ha)m(v)m(e)42 b(width)c(=)i(12,)j(and)d(a)g(binary)120
2140 y(table'60A')26 b(c)m(haracter)h(string)c(column)h(will)e(ha)m(v)m
(e)k(width)d(=)h(60\);)k(Note)f(that)e(this)f(routine)f(supp)s(orts)g
(the)120 2253 y(lo)s(cal)31 b(con)m(v)m(en)m(tion)j(for)e(sp)s
(ecifying)e(arra)m(ys)i(of)h(\014xed)e(length)h(strings)f(within)f(a)i
(binary)f(table)h(c)m(haracter)120 2366 y(column)37 b(using)f(the)j
(syn)m(tax)f(TF)m(ORM)h(=)e('rAw')h(where)g('r')g(is)f(the)h(total)h(n)
m(um)m(b)s(er)e(of)h(c)m(haracters)h(\(=)120 2479 y(the)d(width)d(of)j
(the)f(column\))g(and)f('w')i(is)e(the)i(width)d(of)j(a)f(unit)f
(string)g(within)f(the)j(column.)54 b(Th)m(us)34 b(if)120
2592 y(the)i(column)f(has)h(TF)m(ORM)g(=)g('60A12')j(then)c(this)g
(means)h(that)h(eac)m(h)g(ro)m(w)f(of)h(the)f(table)g(con)m(tains)g(5)
120 2705 y(12-c)m(haracter)h(substrings)31 b(within)h(the)i(60-c)m
(haracter)j(\014eld,)d(and)f(th)m(us)h(in)e(this)h(case)i(this)e
(routine)g(will)120 2818 y(return)25 b(t)m(yp)s(eco)s(de)i(=)f
(TSTRING,)f(rep)s(eat)i(=)e(60,)k(and)c(width)g(=)h(12.)40
b(The)25 b(n)m(um)m(b)s(er)g(of)i(substings)d(in)h(an)m(y)120
2931 y(binary)31 b(table)h(c)m(haracter)i(string)e(\014eld)f(can)i(b)s
(e)f(calculated)h(b)m(y)f(\(rep)s(eat/width\).)47 b(A)33
b(n)m(ull)d(p)s(oin)m(ter)i(ma)m(y)120 3044 y(b)s(e)e(giv)m(en)g(for)g
(an)m(y)h(of)g(the)f(output)g(parameters)h(that)g(are)f(not)h(needed.)
120 3256 y Fc(________________________)o(____)o(____)o(___)o(____)o
(____)o(___)o(____)o(____)o(___)o(____)o(____)o(___)o(____)o(____)120
3369 y(int)47 b(fits_insert_rows\(fitsfil)o(e)42 b(*fptr,)k(long)h
(firstrow,)e(long)h(nrows,)h(int)f(*status\))120 3482
y(int)h(fits_delete_rows\(fitsfil)o(e)42 b(*fptr,)k(long)h(firstrow,)e
(long)h(nrows,)h(int)f(*status\))120 3595 y(int)h
(fits_delete_rowrange\(fit)o(sfil)o(e)42 b(*fptr,)k(char)g(*rangelist,)
f(int)i(*status\))120 3708 y(int)g(fits_delete_rowlist\(fits)o(file)41
b(*fptr,)46 b(long)h(*rowlist,)e(long)i(nrows,)f(int)h(*stat\))261
3920 y Fg(Insert)33 b(or)g(delete)g(ro)m(ws)g(in)e(a)j(table.)48
b(The)33 b(blank)e(ro)m(ws)i(are)h(inserted)d(immediately)h(follo)m
(wing)f(ro)m(w)120 4033 y Fc(frow)p Fg(.)54 b(Set)35
b Fc(frow)f Fg(=)g(0)i(to)f(insert)f(ro)m(ws)h(at)h(the)f(b)s(eginning)
e(of)i(the)g(table.)55 b(The)34 b(\014rst)h('delete')g(routine)120
4146 y(deletes)k Fc(nrows)e Fg(ro)m(ws)i(b)s(eginning)d(with)i(ro)m(w)h
Fc(firstrow)p Fg(.)64 b(The)38 b(2nd)g(delete)h(routine)f(tak)m(es)j
(an)d(input)120 4259 y(string)26 b(listing)f(the)i(ro)m(ws)f(or)h(ro)m
(w)g(ranges)g(to)h(b)s(e)e(deleted)h(\(e.g.,)i('2,4-7,)h(9-12'\).)42
b(The)26 b(last)h(delete)g(routine)120 4372 y(tak)m(es)35
b(an)f(input)d(long)i(in)m(teger)h(arra)m(y)h(that)f(sp)s(eci\014es)e
(eac)m(h)j(individual)29 b(ro)m(w)34 b(to)g(b)s(e)f(deleted.)50
b(The)33 b(ro)m(w)120 4485 y(lists)h(m)m(ust)h(b)s(e)f(sorted)i(in)e
(ascending)g(order.)55 b(All)34 b(these)i(routines)e(up)s(date)g(the)i
(v)-5 b(alue)34 b(of)i(the)f Fc(NAXIS2)120 4598 y Fg(k)m(eyw)m(ord)c
(to)g(re\015ect)g(the)f(new)g(n)m(um)m(b)s(er)f(of)i(ro)m(ws)f(in)f
(the)i(table.)120 4810 y Fc(________________________)o(____)o(____)o
(___)o(____)o(____)o(___)o(____)o(____)o(___)o(____)o(____)o(___)o
(____)o(_)120 4923 y(int)47 b(fits_insert_col\(fitsfile)41
b(*fptr,)46 b(int)h(colnum,)f(char)h(*ttype,)e(char)i(*tform,)1075
5036 y(int)f(*status\))120 5149 y(int)h(fits_insert_cols\(fitsfil)o(e)
42 b(*fptr,)k(int)h(colnum,)f(int)h(ncols,)f(char)g(**ttype,)1122
5262 y(char)h(**tform,)e(int)i(*status\))120 5488 y(int)g
(fits_delete_col\(fitsfile)41 b(*fptr,)46 b(int)h(colnum,)f(int)h
(*status\))1905 5809 y Fg(14)p eop
%%Page: 15 15
15 14 bop 261 573 a Fg(Insert)25 b(or)g(delete)g(columns)f(in)f(a)j
(table.)38 b Fc(colnum)24 b Fg(giv)m(es)h(the)g(p)s(osition)e(of)i(the)
h(column)d(to)j(b)s(e)f(inserted)120 686 y(or)34 b(deleted)f(\(where)h
(the)g(\014rst)f(column)g(of)h(the)g(table)g(is)e(at)j(p)s(osition)d
(1\).)52 b Fc(ttype)32 b Fg(and)h Fc(tform)g Fg(giv)m(e)h(the)120
799 y(column)j(name)i(and)f(column)f(format,)k(where)d(the)h(allo)m(w)m
(ed)g(format)f(co)s(des)h(are)g(listed)e(ab)s(o)m(v)m(e)j(in)d(the)120
912 y(description)43 b(of)i(the)h Fc(fits)p 1088 912
29 4 v 33 w(create)p 1409 912 V 33 w(table)d Fg(routine.)84
b(The)45 b(2nd)f('insert')h(routine)f(inserts)g(m)m(ultiple)120
1024 y(columns,)32 b(where)h Fc(ncols)e Fg(is)h(the)h(n)m(um)m(b)s(er)e
(of)i(columns)f(to)h(insert,)g(and)f Fc(ttype)f Fg(and)h
Fc(tform)g Fg(are)h(arra)m(ys)120 1137 y(of)e(string)e(p)s(oin)m(ters)g
(in)g(this)g(case.)120 1312 y Fc(________________________)o(____)o
(____)o(___)o(____)o(____)o(___)o(____)o(____)o(___)o(____)o(____)o
(___)120 1425 y(int)47 b(fits_copy_col\(fitsfile)42 b(*infptr,)j
(fitsfile)h(*outfptr,)f(int)i(incolnum,)502 1537 y(int)g(outcolnum,)e
(int)i(create_col,)d(int)j(*status\);)261 1712 y Fg(Cop)m(y)31
b(a)g(column)f(from)g(one)i(table)e(HDU)i(to)g(another.)42
b(If)31 b Fc(create)p 2609 1712 V 32 w(col)f Fg(=)h(TR)m(UE)g(\(i.e.,)h
(not)f(equal)120 1825 y(to)42 b(zero\),)k(then)41 b(a)h(new)f(column)f
(will)f(b)s(e)i(inserted)f(in)h(the)g(output)g(table)h(at)g(p)s
(osition)e Fc(outcolumn)p Fg(,)120 1937 y(otherwise)30
b(the)g(v)-5 b(alues)30 b(in)f(the)i(existing)e(output)h(column)f(will)
f(b)s(e)i(o)m(v)m(erwritten.)120 2112 y Fc(________________________)o
(____)o(____)o(___)o(____)o(____)o(___)o(____)o(____)o(___)o(____)o
(____)o(___)o(____)o(__)120 2225 y(int)47 b(fits_write_col\(fitsfile)41
b(*fptr,)46 b(int)h(datatype,)f(int)h(colnum,)e(long)i(firstrow,)979
2337 y(long)g(firstelem,)e(long)h(nelements,)f(void)i(*array,)f(int)h
(*status\))120 2450 y(int)g(fits_write_colnull\(fitsf)o(ile)41
b(*fptr,)46 b(int)h(datatype,)f(int)g(colnum,)979 2563
y(long)h(firstrow,)e(long)i(firstelem,)e(long)h(nelements,)979
2676 y(void)h(*array,)f(void)g(*nulval,)g(int)h(*status\))120
2789 y(int)g(fits_write_col_null\(fits)o(file)41 b(*fptr,)46
b(int)h(colnum,)f(long)g(firstrow,)979 2902 y(long)h(firstelem,)e(long)
h(nelements,)f(int)i(*status\))120 3128 y(int)g
(fits_read_col\(fitsfile)42 b(*fptr,)k(int)h(datatype,)e(int)i(colnum,)
f(long)g(firstrow,)454 3241 y(long)h(firstelem,)e(long)h(nelements,)f
(void)i(*nulval,)f(void)g(*array,)454 3354 y(int)h(*anynul,)f(int)g
(*status\))261 3641 y Fg(W)-8 b(rite)44 b(or)f(read)g(elemen)m(ts)h(in)
e(column)g(n)m(um)m(b)s(er)g Fc(colnum)p Fg(,)j(starting)e(with)f(ro)m
(w)h Fc(firstsrow)e Fg(and)120 3754 y(elemen)m(t)33 b
Fc(firstelem)d Fg(\(if)i(it)g(is)g(a)h(v)m(ector)h(column\).)46
b Fc(firstelem)30 b Fg(is)i(ignored)g(if)f(it)h(is)g(a)h(scalar)f
(column.)120 3867 y(The)d Fc(nelements)f Fg(n)m(um)m(b)s(er)g(of)i
(elemen)m(ts)h(are)f(read)g(or)f(written)g(con)m(tin)m(uing)g(on)h
(successiv)m(e)g(ro)m(ws)g(of)g(the)120 3980 y(table)36
b(if)f(necessary)-8 b(.)59 b Fc(array)35 b Fg(is)g(the)i(address)e(of)h
(an)g(arra)m(y)h(whic)m(h)e(either)h(con)m(tains)g(the)h(v)-5
b(alues)35 b(to)i(b)s(e)120 4092 y(written,)27 b(or)f(will)e(hold)i
(the)g(returned)g(v)-5 b(alues)26 b(that)h(are)g(read.)39
b(When)27 b(reading,)g Fc(array)e Fg(m)m(ust)h(ha)m(v)m(e)i(b)s(een)120
4205 y(allo)s(cated)i(large)h(enough)f(to)h(hold)e(all)g(the)i
(returned)e(v)-5 b(alues.)261 4318 y(There)40 b(are)h(3)h(di\013eren)m
(t)e('write')g(column)g(routines:)60 b(The)40 b(\014rst)g(simply)e
(writes)i(the)h(input)e(arra)m(y)120 4431 y(in)m(to)32
b(the)g(column.)43 b(The)31 b(second)h(is)f(similar,)e(except)k(that)f
(it)f(substitutes)g(the)h(appropriate)e(n)m(ull)g(pixel)120
4544 y(v)-5 b(alue)35 b(in)e(the)j(column)d(for)i(an)m(y)h(input)d
(arra)m(y)i(v)-5 b(alues)35 b(whic)m(h)f(are)h(equal)g(to)h
Fc(*nulval)d Fg(\(note)j(that)f(this)120 4657 y(parameter)k(giv)m(es)f
(the)h(address)e(of)i(the)f(n)m(ull)e(pixel)h(v)-5 b(alue,)40
b(not)e(the)h(v)-5 b(alue)37 b(itself)7 b(\).)64 b(The)38
b(third)e(write)120 4770 y(routine)27 b(sets)h(the)g(sp)s(eci\014ed)e
(table)i(elemen)m(ts)g(to)h(a)f(n)m(ull)e(v)-5 b(alue.)39
b(New)28 b(ro)m(ws)g(will)d(b)s(e)j(automatical)g(added)120
4883 y(to)j(the)g(table)f(if)f(the)i(write)e(op)s(eration)h(extends)h
(b)s(ey)m(ond)e(the)i(curren)m(t)f(size)g(of)h(the)f(table.)261
4996 y(When)42 b(reading)f(a)i(column,)h(CFITSIO)c(will)g(substitute)h
(the)h(v)-5 b(alue)42 b(giv)m(en)g(b)m(y)g Fc(nulval)e
Fg(for)i(an)m(y)120 5109 y(unde\014ned)25 b(elemen)m(ts)i(in)f(the)h
(FITS)f(column,)h(unless)e Fc(nulval)g Fg(or)i Fc(*nulval)46
b(=)h(NULL)p Fg(,)26 b(in)g(whic)m(h)f(case)j(no)120
5222 y(c)m(hec)m(ks)k(will)c(b)s(e)h(made)i(for)f(unde\014ned)e(v)-5
b(alues)30 b(when)f(reading)h(the)g(column.)261 5334
y Fc(datatype)i Fg(sp)s(eci\014es)h(the)h(datat)m(yp)s(e)h(of)g(the)f
(C)g Fc(array)e Fg(in)h(the)h(program,)i(whic)m(h)c(need)i(not)h(b)s(e)
e(the)120 5447 y(same)42 b(as)f(the)g(in)m(trinsic)e(datat)m(yp)s(e)j
(of)f(the)h(column)e(in)g(the)h(FITS)g(table.)73 b(The)40
b(follo)m(wing)g(sym)m(b)s(olic)120 5560 y(constan)m(ts)32
b(are)e(allo)m(w)m(ed)h(for)f(the)g(v)-5 b(alue)30 b(of)h
Fc(datatype)p Fg(:)1905 5809 y(15)p eop
%%Page: 16 16
16 15 bop 215 573 a Fc(TSTRING)142 b(array)46 b(of)h(character)f
(string)g(pointers)215 686 y(TBYTE)238 b(unsigned)45
b(char)215 799 y(TSHORT)190 b(signed)46 b(short)215 912
y(TUSHORT)142 b(unsigned)45 b(short)215 1024 y(TINT)286
b(signed)46 b(int)215 1137 y(TUINT)238 b(unsigned)45
b(int)215 1250 y(TLONG)238 b(signed)46 b(long)215 1363
y(TULONG)190 b(unsigned)45 b(long)215 1476 y(TFLOAT)190
b(float)215 1589 y(TDOUBLE)142 b(double)261 1791 y Fg(Note)35
b(that)e Fc(TSTRING)f Fg(corresp)s(onds)g(to)h(the)h(C)f
Fc(char**)e Fg(datat)m(yp)s(e,)k(i.e.,)g(a)e(p)s(oin)m(ter)f(to)i(an)f
(arra)m(y)h(of)120 1904 y(p)s(oin)m(ters)29 b(to)i(an)g(arra)m(y)f(of)h
(c)m(haracters.)261 2017 y(An)m(y)38 b(column,)i(regardless)d(of)i
(it's)f(in)m(trinsic)d(datat)m(yp)s(e,)42 b(ma)m(y)d(b)s(e)e(read)h(as)
h(a)f Fc(TSTRING)f Fg(c)m(haracter)120 2130 y(string.)h(The)24
b(displa)m(y)g(format)h(of)g(the)h(returned)e(strings)f(will)g(b)s(e)h
(determined)g(b)m(y)h(the)g Fc(TDISPn)f Fg(k)m(eyw)m(ord,)120
2243 y(if)i(it)h(exists,)h(otherwise)f(a)g(default)g(format)h(will)c(b)
s(e)j(used)f(dep)s(ending)f(on)j(the)f(datat)m(yp)s(e)h(of)g(the)f
(column.)120 2356 y(The)22 b Fc(tablist)e Fg(example)i(utilit)m(y)f
(program)h(\(a)m(v)-5 b(ailable)22 b(from)g(the)h(CFITSIO)e(w)m(eb)h
(site\))h(uses)f(this)f(feature)120 2469 y(to)31 b(displa)m(y)e(all)g
(the)i(v)-5 b(alues)29 b(in)g(a)i(FITS)f(table.)120 2671
y Fc(________________________)o(____)o(____)o(___)o(____)o(____)o(___)o
(____)o(____)o(___)o(____)o(____)o(___)o(_)120 2784 y(int)47
b(fits_select_rows\(fitsfil)o(e)42 b(*infptr,)j(fitsfile)h(*outfptr,)f
(char)i(*expr,)1122 2897 y(int)g(*status\))120 3010 y(int)g
(fits_calculator\(fitsfile)41 b(*infptr,)46 b(char)g(*expr,)g(fitsfile)
g(*outfptr,)1075 3123 y(char)g(*colname,)f(char)i(*tform,)f(int)h
(*status\))261 3325 y Fg(These)26 b(are)h(2)g(of)g(the)f(most)h(p)s(o)m
(w)m(erful)e(routines)h(in)f(the)i(CFITSIO)d(library)-8
b(.)38 b(\(See)27 b(the)g(full)d(CFITSIO)120 3438 y(Reference)37
b(Guide)e(for)h(a)h(description)d(of)i(sev)m(eral)h(related)f
(routines\).)57 b(These)36 b(routines)f(can)i(p)s(erform)120
3551 y(complicated)45 b(transformations)g(on)g(tables)g(based)g(on)g
(an)g(input)f(arithmetic)g(expression)g(whic)m(h)g(is)120
3664 y(ev)-5 b(aluated)37 b(for)f(eac)m(h)h(ro)m(w)g(of)g(the)f(table.)
59 b(The)36 b(\014rst)g(routine)f(will)f(select)j(or)g(cop)m(y)g(ro)m
(ws)f(of)h(the)f(table)120 3777 y(for)i(whic)m(h)f(the)h(expression)f
(ev)-5 b(aluates)39 b(to)g(TR)m(UE)g(\(i.e.,)h(not)f(equal)f(to)h
(zero\).)65 b(The)38 b(second)g(routine)120 3890 y(writes)c(the)h(v)-5
b(alue)34 b(of)h(the)g(expression)f(to)i(a)f(column)f(in)f(the)i
(output)g(table.)54 b(Rather)35 b(than)g(supplying)120
4003 y(the)j(expression)e(directly)g(to)i(these)g(routines,)h(the)e
(expression)g(ma)m(y)h(also)f(b)s(e)g(written)g(to)h(a)g(text)g(\014le)
120 4116 y(\(con)m(tin)m(ued)e(o)m(v)m(er)g(m)m(ultiple)e(lines)f(if)i
(necessary\))h(and)f(the)h(name)f(of)h(the)g(\014le,)g(prep)s(ended)d
(with)h(a)i('@')120 4229 y(c)m(haracter,)c(ma)m(y)f(b)s(e)f(supplied)d
(as)k(the)f(v)-5 b(alue)30 b(of)h(the)f('expr')g(parameter)h(\(e.g.)42
b('@\014lename.txt'\).)261 4342 y(The)26 b(arithmetic)f(expression)g
(ma)m(y)i(b)s(e)f(a)g(function)f(of)h(an)m(y)h(column)e(or)h(k)m(eyw)m
(ord)h(in)e(the)h(input)e(table)120 4455 y(as)31 b(sho)m(wn)e(in)g
(these)i(examples:)120 4657 y Fc(Row)47 b(Selection)e(Expressions:)263
4770 y(counts)h(>)i(0)1240 b(uses)47 b(COUNTS)f(column)g(value)263
4883 y(sqrt\()h(X**2)f(+)i(Y**2\))e(<)h(10.)572 b(uses)47
b(X)g(and)g(Y)h(column)e(values)263 4996 y(\(X)h(>)h(10\))f(||)g(\(X)g
(<)h(-10\))e(&&)h(\(Y)h(==)f(0\))142 b(used)47 b('or')g(and)g('and')f
(operators)263 5109 y(gtifilter\(\))1190 b(filter)46
b(on)i(Good)e(Time)h(Intervals)263 5222 y(regfilter\("myregion.reg"\))
518 b(filter)46 b(using)h(a)g(region)f(file)263 5334
y(@select.txt)1190 b(reads)47 b(expression)e(from)h(a)i(text)e(file)120
5447 y(Calculator)f(Expressions:)263 5560 y(#row)i(\045)g(10)1145
b(modulus)46 b(of)h(the)g(row)g(number)1905 5809 y Fg(16)p
eop
%%Page: 17 17
17 16 bop 263 573 a Fc(counts/#exposure)807 b(Fn)47 b(of)h(COUNTS)e
(column)g(and)h(EXPOSURE)e(keyword)263 686 y(dec)i(<)h(85)f(?)g
(cos\(dec)f(*)h(#deg\))g(:)g(0)143 b(Conditional)45 b(expression:)g
(evaluates)g(to)1934 799 y(cos\(dec\))g(if)i(dec)g(<)h(85,)f(else)f(0)
263 912 y(\(count{-1}+count+count{+1)o(}\)/3)o(.)137
b(running)46 b(mean)h(of)g(the)g(count)f(values)g(in)h(the)1934
1024 y(previous,)e(current,)g(and)i(next)g(rows)263 1137
y(max\(0,)f(min\(X,)g(1000\)\))619 b(returns)46 b(a)h(value)g(between)f
(0)h(-)h(1000)263 1250 y(@calc.txt)1143 b(reads)47 b(expression)e(from)
h(a)i(text)e(file)261 1463 y Fg(Most)40 b(standard)d(mathematical)i(op)
s(erators)g(and)f(functions)f(are)i(supp)s(orted.)64
b(If)38 b(the)h(expression)120 1576 y(includes)32 b(the)j(name)f(of)h
(a)f(column,)h(than)f(the)h(v)-5 b(alue)34 b(in)f(the)h(curren)m(t)h
(ro)m(w)f(of)h(the)f(table)h(will)c(b)s(e)j(used)120
1689 y(when)f(ev)-5 b(aluating)33 b(the)h(expression)f(on)h(eac)m(h)h
(ro)m(w.)51 b(An)34 b(o\013set)h(to)g(an)e(adjacen)m(t)j(ro)m(w)e(can)g
(b)s(e)f(sp)s(eci\014ed)120 1802 y(b)m(y)d(including)d(the)j(o\013set)h
(v)-5 b(alue)29 b(in)g(curly)g(brac)m(k)m(ets)i(after)g(the)f(column)f
(name)h(as)g(sho)m(wn)g(in)f(one)h(of)g(the)120 1914
y(examples.)39 b(Keyw)m(ord)27 b(v)-5 b(alues)27 b(can)g(b)s(e)g
(included)d(in)i(the)i(expression)e(b)m(y)h(preceding)f(the)i(k)m(eyw)m
(ord)f(name)120 2027 y(with)g(a)i(`#')f(sign.)39 b(See)28
b(Section)h(5)f(of)h(this)e(do)s(cumen)m(t)h(for)g(more)g(discussion)e
(of)i(the)h(expression)e(syn)m(tax.)261 2140 y Fc(gtifilter)i
Fg(is)h(a)i(sp)s(ecial)e(function)g(whic)m(h)g(tests)i(whether)f(the)h
Fc(TIME)e Fg(column)g(v)-5 b(alue)31 b(in)f(the)h(input)120
2253 y(table)38 b(falls)f(within)f(one)j(or)f(more)h(Go)s(o)s(d)f(Time)
f(In)m(terv)-5 b(als.)65 b(By)39 b(default,)g(this)f(function)f(lo)s
(oks)h(for)g(a)120 2366 y('GTI')27 b(extension)f(in)f(the)i(same)g
(\014le)e(as)i(the)g(input)d(table.)40 b(The)26 b('GTI')g(table)h(con)m
(tains)g Fc(START)e Fg(and)h Fc(STOP)120 2479 y Fg(columns)f(whic)m(h)h
(de\014ne)g(the)g(range)h(of)g(eac)m(h)h(go)s(o)s(d)f(time)f(in)m(terv)
-5 b(al.)39 b(See)27 b(section)f(5.4.3)j(for)d(more)h(details.)261
2592 y Fc(regfilter)35 b Fg(is)h(another)h(sp)s(ecial)f(function)g
(whic)m(h)g(selects)h(ro)m(ws)h(based)e(on)h(whether)g(the)g(spatial)
120 2705 y(p)s(osition)21 b(asso)s(ciated)j(with)e(eac)m(h)j(ro)m(w)e
(is)f(lo)s(cated)i(within)d(in)h(a)h(sp)s(eci\014ed)f(region)h(of)g
(the)h(sky)-8 b(.)38 b(By)24 b(default,)120 2818 y(the)35
b Fc(X)g Fg(and)f Fc(Y)h Fg(columns)f(in)g(the)h(input)e(table)i(are)g
(assumed)g(to)h(giv)m(e)f(the)g(p)s(osition)e(of)j(eac)m(h)g(ro)m(w.)55
b(The)120 2931 y(spatial)35 b(region)g(is)f(de\014ned)h(in)f(an)h(ASCI)
s(I)f(text)j(\014le)d(whose)i(name)f(is)g(giv)m(en)g(as)h(the)g
(argumen)m(t)g(to)g(the)120 3044 y Fc(regfilter)28 b
Fg(function.)39 b(See)31 b(section)f(5.4.4)j(for)d(more)g(details.)261
3156 y(The)e Fc(infptr)e Fg(and)i Fc(outfptr)e Fg(parameters)j(in)e
(these)h(routines)f(ma)m(y)i(p)s(oin)m(t)e(to)i(the)g(same)f(table)g
(or)h(to)120 3269 y(di\013eren)m(t)h(tables.)42 b(In)31
b Fc(fits)p 1092 3269 29 4 v 33 w(select)p 1413 3269
V 33 w(rows)p Fg(,)f(if)f(the)j(input)c(and)j(output)f(tables)h(are)g
(the)g(same)h(then)e(the)120 3382 y(ro)m(ws)e(that)h(do)f(not)g
(satisfy)g(the)g(selection)g(expression)f(will)e(b)s(e)i(deleted)h
(from)g(the)g(table.)40 b(Otherwise,)27 b(if)120 3495
y(the)k(output)g(table)g(is)f(di\013eren)m(t)h(from)g(the)g(input)e
(table)i(then)g(the)g(selected)h(ro)m(ws)f(will)e(b)s(e)h(copied)h
(from)120 3608 y(the)g(input)d(table)i(to)h(the)g(output)f(table.)261
3721 y(The)i(output)g(column)f(in)g Fc(fits)p 1376 3721
V 33 w(calculator)f Fg(ma)m(y)i(or)h(ma)m(y)g(not)f(already)g(exist.)46
b(If)32 b(it)g(exists)g(then)120 3834 y(the)44 b(calculated)f(v)-5
b(alues)43 b(will)e(b)s(e)i(written)g(to)h(that)h(column,)h(o)m(v)m
(erwriting)d(the)g(existing)g(v)-5 b(alues.)80 b(If)120
3947 y(the)36 b(column)f(do)s(esn't)h(exist)f(then)h(the)g(new)g
(column)e(will)g(b)s(e)h(app)s(ended)f(to)j(the)f(output)g(table.)57
b(The)120 4060 y Fc(tform)37 b Fg(parameter)i(can)f(b)s(e)g(used)g(to)h
(sp)s(ecify)e(the)h(datat)m(yp)s(e)i(of)e(the)h(new)f(column)f(\(e.g.,)
42 b(the)d Fc(TFORM)120 4173 y Fg(k)m(eyw)m(ord)26 b(v)-5
b(alue)25 b(as)h(in)f Fc('1E',)46 b(or)h('1J')p Fg(\).)25
b(If)h Fc(tform)e Fg(=)h(NULL)h(then)f(a)h(default)f(datat)m(yp)s(e)i
(will)c(b)s(e)i(used,)120 4286 y(dep)s(ending)j(on)i(the)h(expression.)
120 4498 y Fc(________________________)o(____)o(____)o(___)o(____)o
(____)o(___)o(____)o(____)o(___)o(____)o(____)o(___)o(_)120
4611 y(int)47 b(fits_read_tblbytes\(fitsf)o(ile)41 b(*fptr,)46
b(long)h(firstrow,)e(long)i(firstchar,)1122 4724 y(long)g(nchars,)f
(unsigned)f(char)i(*array,)f(int)h(*status\))120 4837
y(int)g(fits_write_tblbytes)42 b(\(fitsfile)k(*fptr,)g(long)g
(firstrow,)g(long)g(firstchar,)1122 4950 y(long)h(nchars,)f(unsigned)f
(char)i(*array,)f(int)h(*status\))261 5162 y Fg(These)35
b(2)g(routines)e(pro)m(vide)h(lo)m(w-lev)m(el)h(access)h(to)f(tables)g
(and)f(are)h(mainly)e(useful)g(as)i(an)g(e\016cien)m(t)120
5275 y(w)m(a)m(y)i(to)g(cop)m(y)g(ro)m(ws)f(of)g(a)h(table)f(from)g
(one)g(\014le)f(to)i(another.)58 b(These)36 b(routines)f(simply)f(read)
i(or)g(write)120 5388 y(the)30 b(sp)s(eci\014ed)f(n)m(um)m(b)s(er)g(of)
h(consecutiv)m(e)i(c)m(haracters)f(\(b)m(ytes\))h(in)d(a)i(table,)f
(without)f(regard)h(for)h(column)120 5501 y(b)s(oundaries.)83
b(F)-8 b(or)47 b(example,)i(to)d(read)f(or)h(write)e(the)i(\014rst)f
(ro)m(w)g(of)h(a)g(table,)j(set)d Fc(firstrow)g(=)h(1,)1905
5809 y Fg(17)p eop
%%Page: 18 18
18 17 bop 120 573 a Fc(firstchar)45 b(=)j(1)p Fg(,)38
b(and)e Fc(nchars)46 b(=)i(NAXIS1)35 b Fg(where)h(the)h(length)f(of)h
(a)h(ro)m(w)f(is)e(giv)m(en)i(b)m(y)g(the)g(v)-5 b(alue)36
b(of)120 686 y(the)31 b Fc(NAXIS1)f Fg(header)h(k)m(eyw)m(ord.)43
b(When)31 b(reading)g(a)g(table,)h Fc(array)e Fg(m)m(ust)h(ha)m(v)m(e)h
(b)s(een)f(declared)f(at)i(least)120 799 y Fc(nchars)d
Fg(b)m(ytes)i(long)f(to)h(hold)e(the)h(returned)f(string)h(of)g(b)m
(ytes.)1905 5809 y(18)p eop
%%Page: 19 19
19 18 bop 120 573 a Fb(4.6)112 b(Header)38 b(Keyw)m(ord)f(I/O)h
(Routines)120 744 y Fg(The)30 b(follo)m(wing)f(routines)g(read)h(and)g
(write)g(header)g(k)m(eyw)m(ords)g(in)g(the)g(curren)m(t)g(HDU.)120
957 y Fc(________________________)o(____)o(____)o(___)o(____)o(____)o
(___)o(____)o(____)o(___)o(____)o(____)o(___)120 1070
y(int)47 b(fits_get_hdrspace\(fitsfi)o(le)42 b(*fptr,)k(int)h
(*keysexist,)d(int)j(*morekeys,)1170 1183 y(int)g(*status\))120
1395 y Fg(Return)36 b(the)g(n)m(um)m(b)s(er)f(of)i(existing)e(k)m(eyw)m
(ords)i(\(not)g(coun)m(ting)f(the)h(mandatory)f(END)h(k)m(eyw)m(ord\))g
(and)120 1508 y(the)29 b(amoun)m(t)h(of)f(empt)m(y)h(space)g(curren)m
(tly)e(a)m(v)-5 b(ailable)28 b(for)h(more)h(k)m(eyw)m(ords.)40
b(The)29 b Fc(morekeys)e Fg(parameter)120 1621 y(ma)m(y)k(b)s(e)f(set)h
(to)g(NULL)f(if)f(it's)h(v)-5 b(alue)30 b(is)g(not)g(needed.)120
1834 y Fc(________________________)o(____)o(____)o(___)o(____)o(____)o
(___)o(____)o(____)o(___)o(____)o(____)o(___)o(____)o(___)120
1947 y(int)47 b(fits_read_record\(fitsfil)o(e)42 b(*fptr,)k(int)h
(keynum,)f(char)g(*record,)g(int)h(*status\))120 2060
y(int)g(fits_read_card\(fitsfile)41 b(*fptr,)46 b(char)h(*keyname,)e
(char)i(*record,)f(int)g(*status\))120 2172 y(int)h
(fits_read_key\(fitsfile)42 b(*fptr,)k(int)h(datatype,)e(char)i
(*keyname,)979 2285 y(void)g(*value,)f(char)g(*comment,)f(int)i
(*status\))120 2511 y(int)g(fits_find_nextkey\(fitsfi)o(le)42
b(*fptr,)k(char)g(**inclist,)f(int)i(ninc,)1170 2624
y(char)g(**exclist,)e(int)i(nexc,)f(char)h(*card,)f(int)h(*status\))120
2850 y(int)g(fits_read_key_unit\(fitsf)o(ile)41 b(*fptr,)46
b(char)h(*keyname,)e(char)i(*unit,)1218 2963 y(int)g(*status\))261
3175 y Fg(These)d(routines)g(all)f(read)h(a)h(header)f(record)g(in)f
(the)i(curren)m(t)f(HDU.)i(The)e(\014rst)f(routine)h(reads)120
3288 y(k)m(eyw)m(ord)c(n)m(um)m(b)s(er)f Fc(keynum)f
Fg(\(where)i(the)g(\014rst)f(k)m(eyw)m(ord)i(is)e(at)i(p)s(osition)d
(1\).)70 b(This)38 b(routine)h(is)g(most)120 3401 y(commonly)28
b(used)g(when)f(sequen)m(tially)g(reading)g(ev)m(ery)j(record)e(in)f
(the)i(header)f(from)g(b)s(eginning)e(to)j(end.)120 3514
y(The)22 b(2nd)f(and)h(3rd)f(routines)g(read)h(the)g(named)g(k)m(eyw)m
(ord)h(and)e(return)g(either)h(the)g(whole)f(80-b)m(yte)j(record,)120
3627 y(or)30 b(the)h(k)m(eyw)m(ord)g(v)-5 b(alue)30 b(and)f(commen)m(t)
j(string.)261 3740 y(Wild)25 b(card)g(c)m(haracters)j(\(*,)g(?,)f(and)e
(#\))h(ma)m(y)h(b)s(e)e(used)g(when)g(sp)s(ecifying)f(the)i(name)h(of)f
(the)g(k)m(eyw)m(ord)120 3853 y(to)31 b(b)s(e)f(read,)g(in)f(whic)m(h)h
(case)h(the)g(\014rst)e(matc)m(hing)i(k)m(eyw)m(ord)f(is)g(returned.)
261 3966 y(The)41 b Fc(datatype)e Fg(parameter)j(sp)s(eci\014es)e(the)h
(C)g(datat)m(yp)s(e)h(of)g(the)f(returned)f(k)m(eyw)m(ord)i(v)-5
b(alue)41 b(and)120 4079 y(can)48 b(ha)m(v)m(e)h(one)f(of)g(the)f
(follo)m(wing)f(sym)m(b)s(olic)g(constan)m(t)j(v)-5 b(alues:)75
b Fc(TSTRING,)46 b(TLOGICAL)f Fg(\(==)i(in)m(t\),)120
4192 y Fc(TBYTE)p Fg(,)d Fc(TSHORT)p Fg(,)f Fc(TUSHORT)p
Fg(,)g Fc(TINT)p Fg(,)h Fc(TUINT)p Fg(,)f Fc(TLONG)p
Fg(,)h Fc(TULONG)p Fg(,)f Fc(TFLOAT)p Fg(,)g Fc(TDOUBLE)p
Fg(,)g Fc(TCOMPLEX)p Fg(,)g(and)120 4304 y Fc(TDBLCOMPLEX)p
Fg(.)e(Data)k(t)m(yp)s(e)f(con)m(v)m(ersion)g(will)d(b)s(e)i(p)s
(erformed)f(for)i(n)m(umeric)e(v)-5 b(alues)43 b(if)g(the)h(in)m
(trinsic)120 4417 y(FITS)32 b(k)m(eyw)m(ord)h(v)-5 b(alue)32
b(do)s(es)g(not)g(ha)m(v)m(e)i(the)f(same)g(datat)m(yp)s(e.)48
b(The)32 b Fc(comment)e Fg(parameter)j(ma)m(y)g(b)s(e)f(set)120
4530 y(equal)e(to)h(NULL)f(if)g(the)g(commen)m(t)i(string)d(is)g(not)i
(needed.)261 4643 y(The)21 b(4th)h(routine)f(pro)m(vides)g(an)h(easy)g
(w)m(a)m(y)h(to)f(\014nd)e(all)h(the)h(k)m(eyw)m(ords)g(in)f(the)g
(header)h(that)g(matc)m(h)h(one)120 4756 y(of)29 b(the)h(name)f
(templates)g(in)f Fc(inclist)f Fg(and)h(do)h(not)h(matc)m(h)g(an)m(y)f
(of)g(the)h(name)f(templates)g(in)f Fc(exclist)p Fg(.)120
4869 y Fc(ninc)37 b Fg(and)h Fc(nexc)f Fg(are)i(the)g(n)m(um)m(b)s(er)e
(of)h(template)h(strings)e(in)g Fc(inclist)g Fg(and)h
Fc(exclist)p Fg(,)g(resp)s(ectiv)m(ely)-8 b(.)120 4982
y(Wild)33 b(cards)h(\(*,)i(?,)f(and)f(#\))g(ma)m(y)h(b)s(e)f(used)f(in)
g(the)h(templates)h(to)g(matc)m(h)g(m)m(ultiple)d(k)m(eyw)m(ords.)53
b(Eac)m(h)120 5095 y(time)35 b(this)f(routine)g(is)g(called)g(it)g
(returns)g(the)h(next)h(matc)m(hing)f(80-b)m(yte)h(k)m(eyw)m(ord)g
(record.)54 b(It)36 b(returns)120 5208 y(status)31 b(=)f
Fc(KEY)p 640 5208 29 4 v 33 w(NO)p 769 5208 V 34 w(EXIST)f
Fg(if)g(there)i(are)g(no)f(more)g(matc)m(hes.)261 5321
y(The)f(5th)g(routine)f(returns)g(the)i(k)m(eyw)m(ord)g(v)-5
b(alue)28 b(units)g(string,)g(if)h(an)m(y)-8 b(.)41 b(The)28
b(units)g(are)i(recorded)f(at)120 5434 y(the)i(b)s(eginning)c(of)k(the)
f(k)m(eyw)m(ord)h(commen)m(t)h(\014eld)d(enclosed)h(in)f(square)h(brac)
m(k)m(ets.)1905 5809 y(19)p eop
%%Page: 20 20
20 19 bop 120 573 a Fc(________________________)o(____)o(____)o(___)o
(____)o(____)o(___)o(____)o(____)o(___)o(____)o(__)120
686 y(int)47 b(fits_write_key\(fitsfile)41 b(*fptr,)46
b(int)h(datatype,)f(char)g(*keyname,)502 799 y(void)g(*value,)g(char)h
(*comment,)e(int)i(*status\))120 912 y(int)g(fits_update_key\(fitsfile)
41 b(*fptr,)46 b(int)h(datatype,)e(char)i(*keyname,)502
1024 y(void)f(*value,)g(char)h(*comment,)e(int)i(*status\))120
1137 y(int)g(fits_write_record\(fitsfi)o(le)42 b(*fptr,)k(char)g
(*card,)g(int)h(*status\))120 1363 y(int)g(fits_modify_comment\(fits)o
(file)41 b(*fptr,)46 b(char)h(*keyname,)e(char)i(*comment,)502
1476 y(int)g(*status\))120 1589 y(int)g(fits_write_key_unit\(fits)o
(file)41 b(*fptr,)46 b(char)h(*keyname,)e(char)i(*unit,)502
1702 y(int)g(*status\))261 1975 y Fg(W)-8 b(rite)31 b(or)g(mo)s(dify)f
(a)h(k)m(eyw)m(ord)g(in)f(the)h(header)g(of)g(the)g(curren)m(t)g(HDU.)h
(The)e(\014rst)g(routine)g(app)s(ends)120 2087 y(the)g(new)g(k)m(eyw)m
(ord)g(to)h(the)f(end)g(of)g(the)g(header,)h(whereas)e(the)i(second)f
(routine)f(will)e(up)s(date)j(the)g(v)-5 b(alue)120 2200
y(and)40 b(commen)m(t)h(\014elds)e(of)i(the)g(k)m(eyw)m(ord)g(if)e(it)h
(already)h(exists,)h(otherwise)e(it)h(b)s(eha)m(v)m(es)g(lik)m(e)e(the)
i(\014rst)120 2313 y(routine)32 b(and)g(app)s(ends)f(the)h(new)h(k)m
(eyw)m(ord.)48 b(Note)34 b(that)f Fc(value)e Fg(giv)m(es)i(the)g
(address)f(to)h(the)g(v)-5 b(alue)32 b(and)120 2426 y(not)f(the)g(v)-5
b(alue)31 b(itself.)41 b(The)31 b Fc(datatype)d Fg(parameter)k(sp)s
(eci\014es)d(the)j(C)e(datat)m(yp)s(e)i(of)f(the)g(k)m(eyw)m(ord)h(v)-5
b(alue)120 2539 y(and)38 b(ma)m(y)g(ha)m(v)m(e)i(an)m(y)f(of)f(the)g(v)
-5 b(alues)38 b(listed)f(in)g(the)h(description)e(of)j(the)f(k)m(eyw)m
(ord)h(reading)e(routines,)120 2652 y(ab)s(o)m(v)m(e.)71
b(A)40 b(NULL)g(ma)m(y)h(b)s(e)e(en)m(tered)i(for)f(the)g(commen)m(t)h
(parameter,)i(in)c(whic)m(h)g(case)i(the)f(k)m(eyw)m(ord)120
2765 y(commen)m(t)31 b(\014eld)e(will)f(b)s(e)i(unmo)s(di\014ed)d(or)j
(left)h(blank.)261 2878 y(The)25 b(third)f(routine)h(is)g(more)h
(primitiv)m(e)e(and)h(simply)e(writes)i(the)h(80-c)m(haracter)j
Fc(card)c Fg(record)h(to)g(the)120 2991 y(header.)40
b(It)30 b(is)f(the)h(programmer's)f(resp)s(onsibilit)m(y)d(in)i(this)h
(case)h(to)h(ensure)e(that)h(the)g(record)g(conforms)120
3104 y(to)h(all)e(the)i(FITS)f(format)g(requiremen)m(ts)g(for)g(a)h
(header)f(record.)261 3217 y(The)42 b(fourth)f(routine)g(mo)s(di\014es)
f(the)i(commen)m(t)h(string)e(in)g(an)g(existing)g(k)m(eyw)m(ord,)46
b(and)41 b(the)h(last)120 3329 y(routine)33 b(writes)g(or)h(up)s(dates)
f(the)h(k)m(eyw)m(ord)h(units)d(string)h(for)h(an)g(existing)f(k)m(eyw)
m(ord.)52 b(\(The)34 b(units)e(are)120 3442 y(recorded)e(at)h(the)g(b)s
(eginning)d(of)i(the)h(k)m(eyw)m(ord)f(commen)m(t)i(\014eld)d(enclosed)
h(in)f(square)h(brac)m(k)m(ets\).)120 3621 y Fc
(________________________)o(____)o(____)o(___)o(____)o(____)o(___)o
(____)o(____)o(___)o(____)o(____)o(__)120 3734 y(int)47
b(fits_write_comment\(fitsf)o(ile)41 b(*fptr,)46 b(char)h(*comment,)93
b(int)47 b(*status\))120 3847 y(int)g(fits_write_history\(fitsf)o(ile)
41 b(*fptr,)46 b(char)h(*history,)93 b(int)47 b(*status\))120
3960 y(int)g(fits_write_date\(fitsfile)41 b(*fptr,)94
b(int)47 b(*status\))261 4139 y Fg(W)-8 b(rite)21 b(a)g
Fc(COMMENT,)46 b(HISTORY)p Fg(,)18 b(or)j Fc(DATE)e Fg(k)m(eyw)m(ord)i
(to)h(the)f(curren)m(t)f(header.)37 b(The)20 b Fc(COMMENT)f
Fg(k)m(eyw)m(ord)120 4252 y(is)37 b(t)m(ypically)g(used)g(to)h(write)g
(a)g(commen)m(t)h(ab)s(out)e(the)i(\014le)e(or)g(the)i(data.)64
b(The)37 b Fc(HISTORY)f Fg(k)m(eyw)m(ord)i(is)120 4365
y(t)m(ypically)22 b(used)f(to)j(pro)m(vide)e(information)f(ab)s(out)h
(the)h(history)e(of)i(the)g(pro)s(cessing)e(pro)s(cedures)h(that)h(ha)m
(v)m(e)120 4478 y(b)s(een)36 b(applied)f(to)i(the)g(data.)61
b(The)36 b Fc(comment)f Fg(or)i Fc(history)e Fg(string)h(will)e(b)s(e)i
(con)m(tin)m(ued)h(o)m(v)m(er)h(m)m(ultiple)120 4591
y(k)m(eyw)m(ords)31 b(if)e(it)h(is)f(more)i(than)f(70)h(c)m(haracters)h
(long.)261 4704 y(The)k Fc(DATE)f Fg(k)m(eyw)m(ord)i(is)e(used)h(to)h
(record)f(the)h(date)g(and)f(time)g(that)h(the)f(FITS)g(\014le)f(w)m
(as)i(created.)120 4817 y(Note)f(that)f(this)e(\014le)h(creation)h
(date)g(is)f(usually)e(di\013eren)m(t)i(from)g(the)h(date)g(of)g(the)f
(observ)-5 b(ation)35 b(whic)m(h)120 4930 y(obtained)e(the)h(data)h(in)
d(the)j(FITS)e(\014le.)50 b(The)33 b Fc(DATE)g Fg(k)m(eyw)m(ord)h(v)-5
b(alue)34 b(is)f(a)h(c)m(haracter)i(string)c(in)h('yyyy-)120
5042 y(mm-ddThh:mm:ss')27 b(format.)40 b(If)29 b(a)g
Fc(DATE)f Fg(k)m(eyw)m(ord)i(already)e(exists)h(in)f(the)h(header,)h
(then)e(this)g(routine)120 5155 y(will)g(up)s(date)h(the)i(v)-5
b(alue)30 b(with)f(the)h(curren)m(t)g(system)h(date.)120
5334 y Fc(________________________)o(____)o(____)o(___)o(____)o(____)o
(___)o(____)o(____)o(___)o(____)o(____)o(__)120 5447
y(int)47 b(fits_delete_record\(fitsf)o(ile)41 b(*fptr,)46
b(int)h(keynum,)94 b(int)47 b(*status\))120 5560 y(int)g
(fits_delete_key\(fitsfile)41 b(*fptr,)46 b(char)h(*keyname,)93
b(int)47 b(*status\))1905 5809 y Fg(20)p eop
%%Page: 21 21
21 20 bop 261 573 a Fg(Delete)32 b(a)f(k)m(eyw)m(ord)h(record.)42
b(The)30 b(\014rst)g(routine)g(deletes)h(a)g(k)m(eyw)m(ord)h(at)f(a)h
(sp)s(eci\014ed)d(p)s(osition)g(\(the)120 686 y(\014rst)e(k)m(eyw)m
(ord)h(is)e(at)i(p)s(osition)e(1,)j(not)e(0\),)i(whereas)f(the)f
(second)h(routine)e(deletes)i(the)g(named)f(k)m(eyw)m(ord.)120
898 y Fc(________________________)o(____)o(____)o(___)o(____)o(____)o
(___)o(____)o(____)o(___)o(____)o(____)o(___)o(___)120
1011 y(int)47 b(fits_copy_header\(fitsfil)o(e)42 b(*infptr,)j(fitsfile)
h(*outfptr,)93 b(int)47 b(*status\))261 1224 y Fg(Cop)m(y)26
b(all)f(the)h(header)g(k)m(eyw)m(ords)h(from)e(the)i(curren)m(t)e(HDU)i
(asso)s(ciated)g(with)d(infptr)g(to)j(the)g(curren)m(t)120
1337 y(HDU)h(asso)s(ciated)f(with)e(outfptr.)39 b(If)27
b(the)g(curren)m(t)f(output)h(HDU)g(is)f(not)h(empt)m(y)-8
b(,)29 b(then)d(a)h(new)f(HDU)i(will)120 1450 y(b)s(e)34
b(app)s(ended)f(to)j(the)f(output)f(\014le.)53 b(The)35
b(output)f(HDU)i(will)c(then)i(ha)m(v)m(e)i(the)f(iden)m(tical)f
(structure)g(as)120 1562 y(the)d(input)d(HDU,)j(but)f(will)e(con)m
(tain)i(no)h(data.)1905 5809 y(21)p eop
%%Page: 22 22
22 21 bop 120 573 a Fb(4.7)112 b(Utilit)m(y)34 b(Routines)120
744 y Fg(This)29 b(section)h(lists)f(the)i(most)f(imp)s(ortan)m(t)g
(CFITSIO)f(general)h(utilit)m(y)f(routines.)120 957 y
Fc(________________________)o(____)o(____)o(___)o(____)o(____)o(___)o
(____)o(____)o(___)o(____)o(____)o(__)120 1070 y(int)47
b(fits_write_chksum\()c(fitsfile)i(*fptr,)h(int)h(*status\))120
1183 y(int)g(fits_verify_chksum\(fitsf)o(ile)41 b(*fptr,)46
b(int)h(*dataok,)f(int)h(*hduok,)f(int)g(*status\))261
1395 y Fg(These)35 b(routines)f(compute)h(or)g(v)-5 b(alidate)34
b(the)i(c)m(hec)m(ksums)f(for)g(the)g(currenrt)f(HDU.)i(The)e
Fc(DATASUM)120 1508 y Fg(k)m(eyw)m(ord)d(is)e(used)g(to)i(store)g(the)f
(n)m(umerical)f(v)-5 b(alue)29 b(of)i(the)f(32-bit,)h(1's)f(complemen)m
(t)g(c)m(hec)m(ksum)h(for)f(the)120 1621 y(data)25 b(unit)e(alone.)39
b(The)24 b Fc(CHECKSUM)f Fg(k)m(eyw)m(ord)i(is)f(used)f(to)j(store)f
(the)g(ASCI)s(I)e(enco)s(ded)h(COMPLEMENT)120 1734 y(of)32
b(the)f(c)m(hec)m(ksum)h(for)f(the)h(en)m(tire)f(HDU.)i(Storing)d(the)i
(complemen)m(t,)g(rather)f(than)g(the)h(actual)f(c)m(hec)m(k-)120
1847 y(sum,)26 b(forces)g(the)g(c)m(hec)m(ksum)g(for)f(the)h(whole)f
(HDU)h(to)g(equal)f(zero.)40 b(If)25 b(the)h(\014le)f(has)g(b)s(een)g
(mo)s(di\014ed)e(since)120 1960 y(the)31 b(c)m(hec)m(ksums)f(w)m(ere)h
(computed,)g(then)f(the)g(HDU)i(c)m(hec)m(ksum)f(will)c(usually)h(not)j
(equal)f(zero.)261 2073 y(The)g(returned)g Fc(dataok)f
Fg(and)h Fc(hduok)g Fg(parameters)h(will)d(ha)m(v)m(e)k(a)f(v)-5
b(alue)30 b(=)h(1)g(if)f(the)h(data)g(or)g(HDU)g(is)120
2186 y(v)m(eri\014ed)c(correctly)-8 b(,)30 b(a)e(v)-5
b(alue)28 b(=)g(0)g(if)f(the)i Fc(DATASUM)d Fg(or)i Fc(CHECKSUM)e
Fg(k)m(eyw)m(ord)j(is)e(not)h(presen)m(t,)h(or)f(v)-5
b(alue)28 b(=)120 2299 y(-1)j(if)e(the)i(computed)f(c)m(hec)m(ksum)h
(is)f(not)g(correct.)120 2511 y Fc(________________________)o(____)o
(____)o(___)o(____)o(____)o(___)o(____)o(____)o(___)o(____)o(____)o(__)
120 2624 y(int)47 b(fits_parse_value\(char)42 b(*card,)k(char)h
(*value,)e(char)i(*comment,)e(int)i(*status\))120 2737
y(int)g(fits_get_keytype\(char)42 b(*value,)k(char)g(*dtype,)g(int)h
(*status\))120 2850 y(int)g(fits_get_keyclass\(char)42
b(*card\))120 2963 y(int)47 b(fits_parse_template\(char)41
b(*template,)k(char)i(*card,)f(int)h(*keytype,)e(int)i(*status\))261
3288 y(fits)p 459 3288 29 4 v 33 w(parse)p 732 3288 V
33 w(value)29 b Fg(parses)h(the)h(input)d(80-c)m(hararacter)33
b(header)d(k)m(eyw)m(ord)h(record,)g(returning)d(the)120
3401 y(v)-5 b(alue)20 b(\(as)i(a)f(literal)e(c)m(haracter)k(string\))d
(and)g(commen)m(t)i(strings.)37 b(If)20 b(the)h(k)m(eyw)m(ord)h(has)e
(no)h(v)-5 b(alue)20 b(\(columns)120 3514 y(9-10)38 b(not)e(equal)g(to)
h('=)f('\),)j(then)d(a)g(n)m(ull)f(v)-5 b(alue)35 b(string)h(is)f
(returned)g(and)h(the)g(commen)m(t)h(string)f(is)f(set)120
3627 y(equal)30 b(to)h(column)e(9)i(-)g(80)g(of)f(the)h(input)d
(string.)261 3740 y Fc(fits)p 459 3740 V 33 w(get)p 636
3740 V 34 w(keytype)41 b Fg(parses)i(the)g(k)m(eyw)m(ord)h(v)-5
b(alue)42 b(string)g(to)i(determine)e(its)h(datat)m(yp)s(e.)80
b Fc(dtype)120 3853 y Fg(returns)34 b(with)f(a)i(v)-5
b(alue)35 b(of)g('C',)g('L',)g('I',)h('F')f(or)g('X',)h(for)f(c)m
(haracter)h(string,)f(logical,)h(in)m(teger,)g(\015oating)120
3966 y(p)s(oin)m(t,)30 b(or)g(complex,)g(resp)s(ectiv)m(ely)-8
b(.)261 4079 y Fc(fits)p 459 4079 V 33 w(get)p 636 4079
V 34 w(keyclass)31 b Fg(returns)i(a)h(classi\014cation)e(co)s(de)i
(that)g(indicates)f(the)h(classi\014cation)e(t)m(yp)s(e)i(of)120
4192 y(the)41 b(input)d(k)m(eyw)m(ord)j(record)f(\(e.g.,)45
b(a)40 b(required)f(structural)g(k)m(eyw)m(ord,)44 b(a)d(TDIM)f(k)m
(eyw)m(ord,)k(a)c(W)m(CS)120 4304 y(k)m(eyw)m(ord,)49
b(a)d(commen)m(t)g(k)m(eyw)m(ord,)j(etc.)85 b(See)45
b(the)h(CFITSIO)d(Reference)j(Guide)d(for)i(a)g(list)f(of)h(the)120
4417 y(di\013eren)m(t)30 b(classi\014cation)f(co)s(des.)261
4530 y Fc(fits)p 459 4530 V 33 w(parse)p 732 4530 V 33
w(template)37 b Fg(tak)m(es)j(an)e(input)f(free)h(format)h(k)m(eyw)m
(ord)g(template)g(string)f(and)g(returns)120 4643 y(a)i(formatted)g
(80*c)m(har)h(record)e(that)h(satis\014es)f(all)g(the)g(FITS)g
(requiremen)m(ts)g(for)g(a)h(header)f(k)m(eyw)m(ord)120
4756 y(record.)65 b(The)38 b(template)h(should)d(generally)i(con)m
(tain)h(3)g(tok)m(ens:)58 b(the)38 b(k)m(eyw)m(ord)h(name,)i(the)e(k)m
(eyw)m(ord)120 4869 y(v)-5 b(alue,)28 b(and)f(the)g(k)m(eyw)m(ord)h
(commen)m(t)h(string.)39 b(The)27 b(returned)f Fc(keytype)g
Fg(parameter)i(indicates)e(whether)120 4982 y(the)33
b(k)m(eyw)m(ord)g(is)f(a)h(COMMENT)g(k)m(eyw)m(ord)g(or)g(not.)48
b(See)33 b(the)g(CFITSIO)e(Reference)j(Guide)e(for)g(more)120
5095 y(details.)1905 5809 y(22)p eop
%%Page: 23 23
23 22 bop 120 573 a Fi(5)135 b(CFITSIO)44 b(File)h(Names)h(and)f
(Filters)120 779 y Fb(5.1)112 b(Creating)37 b(New)g(Files)120
951 y Fg(When)43 b(creating)g(a)g(new)g(output)f(\014le)g(on)h
(magnetic)h(disk)d(with)h Fc(fits)p 2677 951 29 4 v 33
w(create)p 2998 951 V 33 w(file)g Fg(the)h(follo)m(wing)120
1064 y(features)31 b(are)f(supp)s(orted.)256 1251 y Fa(\017)46
b Fg(Ov)m(erwriting,)29 b(or)h('Clobb)s(ering')e(an)j(Existing)d(File)
347 1402 y(If)f(the)h(\014lename)f(is)g(preceded)g(b)m(y)g(an)h
(exclamation)g(p)s(oin)m(t)e(\(!\))41 b(then)27 b(if)g(that)h(\014le)e
(already)i(exists)f(it)347 1514 y(will)f(b)s(e)h(deleted)h(prior)e(to)j
(creating)f(the)g(new)g(FITS)f(\014le.)39 b(Otherwise)26
b(if)h(there)h(is)f(an)h(existing)f(\014le)347 1627 y(with)35
b(the)g(same)h(name,)i(CFITSIO)c(will)f(not)j(o)m(v)m(erwrite)g(the)g
(existing)e(\014le)h(and)g(will)e(return)h(an)347 1740
y(error)28 b(status)h(co)s(de.)40 b(Note)30 b(that)f(the)f(exclamation)
h(p)s(oin)m(t)e(is)g(a)i(sp)s(ecial)e(UNIX)h(c)m(haracter,)j(so)e(if)e
(it)347 1853 y(is)f(used)g(on)g(the)h(command)g(line)e(rather)h(than)g
(en)m(tered)i(at)f(a)g(task)g(prompt,)g(it)f(m)m(ust)h(b)s(e)f
(preceded)347 1966 y(b)m(y)j(a)h(bac)m(kslash)f(to)h(force)g(the)f
(UNIX)h(shell)d(to)k(pass)d(it)h(v)m(erbatim)g(to)h(the)g(application)d
(program.)256 2154 y Fa(\017)46 b Fg(Compressed)30 b(Output)f(Files)347
2304 y(If)g(the)g(output)f(disk)g(\014le)g(name)h(ends)f(with)f(the)i
(su\016x)f('.gz',)j(then)e(CFITSIO)e(will)f(compress)j(the)347
2417 y(\014le)38 b(using)g(the)h(gzip)g(compression)f(algorithm)g(b)s
(efore)g(writing)f(it)i(to)h(disk.)65 b(This)37 b(can)j(reduce)347
2530 y(the)h(amoun)m(t)g(of)g(disk)e(space)i(used)f(b)m(y)g(the)h
(\014le.)70 b(Note)42 b(that)f(this)f(feature)h(requires)e(that)i(the)
347 2643 y(uncompressed)e(\014le)h(b)s(e)g(constructed)h(in)e(memory)h
(b)s(efore)g(it)g(is)g(compressed)g(and)g(written)g(to)347
2756 y(disk,)29 b(so)i(it)f(can)h(fail)e(if)g(there)i(is)e
(insu\016cien)m(t)g(a)m(v)-5 b(ailable)29 b(memory)-8
b(.)347 2906 y(One)32 b(can)h(also)g(sp)s(ecify)e(that)i(an)m(y)g
(images)g(written)f(to)h(the)g(output)f(\014le)g(should)f(b)s(e)h
(compressed)347 3019 y(using)22 b(the)h(newly)f(dev)m(elop)s(ed)h
(`tile-compression')f(algorithm)g(b)m(y)h(app)s(ending)e(`[compress]')j
(to)g(the)347 3132 y(name)36 b(of)h(the)f(disk)f(\014le)g(\(as)i(in)e
Fc(myfile.fits[compress])p Fg(\).)52 b(Refer)36 b(to)h(the)g(CFITSIO)d
(User's)347 3245 y(Reference)d(Guide)f(for)g(more)g(information)f(ab)s
(out)h(this)f(new)h(image)h(compression)e(format.)256
3432 y Fa(\017)46 b Fg(Using)30 b(a)h(T)-8 b(emplate)30
b(to)h(Create)g(a)g(New)g(FITS)e(File)347 3583 y(The)k(structure)g(of)g
(an)m(y)h(new)f(FITS)f(\014le)h(that)h(is)e(to)i(b)s(e)f(created)h(ma)m
(y)g(b)s(e)f(de\014ned)f(in)g(an)h(ASCI)s(I)347 3695
y(template)c(\014le.)39 b(If)29 b(the)f(name)h(of)g(the)f(template)h
(\014le)f(is)g(app)s(ended)e(to)k(the)e(name)h(of)g(the)f(FITS)g
(\014le)347 3808 y(itself,)36 b(enclosed)f(in)f(paren)m(thesis)g
(\(e.g.,)k Fc('newfile.fits\(template.tx)o(t\)')p Fg(\))29
b(then)35 b(CFITSIO)347 3921 y(will)28 b(create)33 b(a)e(FITS)f(\014le)
g(with)f(that)j(structure)e(b)s(efore)h(op)s(ening)e(it)h(for)h(the)g
(application)e(to)i(use.)347 4034 y(The)h(template)h(\014le)f
(basically)e(de\014nes)i(the)h(dimensions)c(and)j(data)h(t)m(yp)s(e)g
(of)g(the)f(primary)f(arra)m(y)347 4147 y(and)23 b(an)m(y)h(IMA)m(GE)g
(extensions,)h(and)e(the)g(names)g(and)g(data)h(t)m(yp)s(es)g(of)f(the)
h(columns)e(in)g(an)m(y)i(ASCI)s(I)347 4260 y(or)35 b(binary)f(table)h
(extensions.)54 b(The)35 b(template)g(\014le)f(can)i(also)f(b)s(e)f
(used)h(to)g(de\014ne)g(an)m(y)g(optional)347 4373 y(k)m(eyw)m(ords)g
(that)g(should)d(b)s(e)i(written)f(in)h(an)m(y)g(of)h(the)f(HDU)h
(headers.)53 b(The)34 b(image)g(pixel)f(v)-5 b(alues)347
4486 y(and)38 b(table)h(en)m(try)f(v)-5 b(alues)38 b(are)h(all)e
(initialized)f(to)j(zero.)66 b(The)38 b(application)f(program)h(can)h
(then)347 4599 y(write)27 b(actual)g(data)h(in)m(to)g(the)f(HDUs.)40
b(See)28 b(the)f(CFITSIO)f(Reference)i(Guide)e(for)h(for)g(a)h
(complete)347 4712 y(description)h(of)h(the)h(template)g(\014le)e(syn)m
(tax.)256 4899 y Fa(\017)46 b Fg(Creating)30 b(a)h(T)-8
b(emp)s(orary)30 b(Scratc)m(h)h(File)e(in)g(Memory)347
5050 y(It)38 b(is)f(sometimes)h(useful)e(to)j(create)g(a)f(temp)s
(orary)g(output)f(\014le)g(when)g(testing)h(an)g(application)347
5162 y(program.)45 b(If)31 b(the)h(name)g(of)g(the)g(\014le)f(to)i(b)s
(e)e(created)i(is)e(sp)s(eci\014ed)f(as)i Fc(mem:)42
b Fg(then)32 b(CFITSIO)e(will)347 5275 y(create)39 b(the)e(\014le)g(in)
f(memory)h(where)f(it)h(will)e(p)s(ersist)g(only)h(un)m(til)g(the)h
(program)g(closes)h(the)f(\014le.)347 5388 y(Use)e(of)g(this)f
Fc(mem:)48 b Fg(output)34 b(\014le)g(usually)e(enables)i(the)h(program)
f(to)i(run)d(faster,)j(and)e(of)h(course)347 5501 y(the)c(output)f
(\014le)f(do)s(es)h(not)h(use)f(up)f(an)m(y)i(disk)e(space.)1905
5809 y(23)p eop
%%Page: 24 24
24 23 bop 120 573 a Fb(5.2)112 b(Op)s(ening)38 b(Existing)d(Files)120
744 y Fg(When)j(op)s(ening)e(a)j(\014le)e(with)g Fc(fits)p
1392 744 29 4 v 33 w(open)p 1617 744 V 33 w(file)p Fg(,)i(CFITSIO)e
(can)h(read)g(a)g(v)-5 b(ariet)m(y)39 b(of)f(di\013eren)m(t)f(input)120
857 y(\014le)30 b(formats)h(and)g(is)f(not)h(restricted)g(to)h(only)e
(reading)g(FITS)h(format)g(\014les)f(from)h(magnetic)g(disk.)42
b(The)120 970 y(follo)m(wing)29 b(t)m(yp)s(es)h(of)h(input)d(\014les)i
(are)g(all)g(supp)s(orted:)256 1183 y Fa(\017)46 b Fg(FITS)30
b(\014les)f(compressed)h(with)f Fc(zip,)47 b(gzip)29
b Fg(or)i Fc(compress)347 1333 y Fg(If)36 b(CFITSIO)f(cannot)i(\014nd)e
(the)i(sp)s(eci\014ed)e(\014le)g(to)i(op)s(en)f(it)g(will)e
(automatically)i(lo)s(ok)g(for)g(a)h(\014le)347 1446
y(with)j(the)g(same)h(ro)s(otname)h(but)d(with)h(a)h
Fc(.gz,)46 b(.zip)p Fg(,)d(or)d Fc(.Z)g Fg(extension.)71
b(If)41 b(it)f(\014nds)f(suc)m(h)h(a)347 1559 y(compressed)d(\014le,)g
(it)g(will)d(allo)s(cate)j(a)g(blo)s(c)m(k)f(of)h(memory)g(and)f
(uncompress)f(the)i(\014le)f(in)m(to)h(that)347 1672
y(memory)25 b(space.)39 b(The)25 b(application)e(program)h(will)f(then)
h(transparen)m(tly)g(op)s(en)g(this)g(virtual)f(FITS)347
1785 y(\014le)35 b(in)f(memory)-8 b(.)56 b(Compressed)35
b(\014les)f(can)i(only)f(b)s(e)f(op)s(ened)h(with)f('readonly',)j(not)f
('readwrite')347 1898 y(\014le)30 b(access.)256 2085
y Fa(\017)46 b Fg(FITS)30 b(\014les)f(on)h(the)h(in)m(ternet,)f(using)f
Fc(ftp)h Fg(or)g Fc(http)f Fg(URLs)347 2236 y(Simply)20
b(pro)m(vide)i(the)i(full)c(URL)j(as)g(the)g(name)g(of)h(the)f(\014le)f
(that)h(y)m(ou)h(w)m(an)m(t)f(to)h(op)s(en.)38 b(F)-8
b(or)23 b(example,)347 2348 y Fc(ftp://legacy.gsfc.nasa.go)o(v/so)o
(ftwa)o(re/)o(fits)o(io/c)o(/te)o(stpr)o(og.s)o(td)347
2461 y Fg(will)34 b(op)s(en)h(the)h(CFITSIO)e(test)j(FITS)e(\014le)g
(that)i(is)d(lo)s(cated)j(on)e(the)h Fc(legacy)f Fg(mac)m(hine.)57
b(These)347 2574 y(\014les)30 b(can)g(only)g(b)s(e)f(op)s(ened)h(with)f
('readonly')h(\014le)g(access.)256 2762 y Fa(\017)46
b Fg(FITS)30 b(\014les)f(on)h Fc(stdin)f Fg(or)i Fc(stdout)d
Fg(\014le)i(streams)347 2912 y(If)k(the)g(name)h(of)f(the)h(\014le)e
(to)i(b)s(e)f(op)s(ened)f(is)g Fc('stdin')g Fg(or)h Fc('-')f
Fg(\(a)i(single)e(dash)g(c)m(haracter\))k(then)347 3025
y(CFITSIO)f(will)f(read)j(the)f(\014le)g(from)g(the)h(standard)f(input)
e(stream.)63 b(Similarly)-8 b(,)36 b(if)h(the)h(output)347
3138 y(\014le)k(name)h(is)f Fc('stdout')f Fg(or)i Fc('-')p
Fg(,)j(then)c(the)i(\014le)e(will)e(b)s(e)j(written)f(to)h(the)h
(standard)e(output)347 3251 y(stream.)54 b(In)34 b(addition,)g(if)f
(the)i(output)f(\014lename)g(is)g Fc('stdout.gz')d Fg(or)k
Fc('-.gz')e Fg(then)h(it)g(will)e(b)s(e)347 3364 y(gzip)h(compressed)g
(b)s(efore)g(b)s(eing)e(written)h(to)i(stdout.)49 b(This)32
b(mec)m(hanism)g(can)i(b)s(e)e(used)g(to)i(pip)s(e)347
3477 y(FITS)c(\014les)f(from)h(one)h(task)g(to)g(another)f(without)g
(ha)m(ving)g(to)h(write)e(an)i(in)m(termediary)e(FITS)g(\014le)347
3590 y(on)i(magnetic)f(disk.)256 3777 y Fa(\017)46 b
Fg(FITS)30 b(\014les)f(that)i(exist)f(only)g(in)f(memory)-8
b(,)31 b(or)f(shared)g(memory)-8 b(.)347 3928 y(In)38
b(some)i(applications,)f(suc)m(h)g(as)g(real)f(time)h(data)g
(acquisition,)h(y)m(ou)f(ma)m(y)h(w)m(an)m(t)f(to)h(ha)m(v)m(e)g(one)
347 4040 y(pro)s(cess)31 b(write)f(a)i(FITS)e(\014le)g(in)m(to)h(a)h
(certain)f(section)g(of)g(computer)g(memory)-8 b(,)32
b(and)f(then)f(b)s(e)h(able)347 4153 y(to)26 b(op)s(en)f(that)g(\014le)
f(in)g(memory)h(with)f(another)h(pro)s(cess.)39 b(There)25
b(is)f(a)h(sp)s(ecialized)e(CFITSIO)h(op)s(en)347 4266
y(routine)e(called)h Fc(fits)p 1102 4266 V 33 w(open)p
1327 4266 V 33 w(memfile)f Fg(that)h(can)h(b)s(e)e(used)h(for)g(this)f
(purp)s(ose.)37 b(See)23 b(the)g(\\CFITSIO)347 4379 y(User's)31
b(Reference)g(Guide")f(for)g(more)g(details.)256 4567
y Fa(\017)46 b Fg(IRAF)31 b(format)g(images)f(\(with)f
Fc(.imh)h Fg(\014le)f(extensions\))347 4717 y(CFITSIO)38
b(supp)s(orts)g(reading)h(IRAF)h(format)g(images)g(b)m(y)g(con)m(v)m
(erting)g(them)g(on)f(the)h(\015y)f(in)m(to)347 4830
y(FITS)27 b(images)h(in)e(memory)-8 b(.)40 b(The)28 b(application)d
(program)j(then)f(reads)h(this)e(virtual)g(FITS)h(format)347
4943 y(image)35 b(in)f(memory)-8 b(.)55 b(There)34 b(is)g(curren)m(tly)
g(no)h(supp)s(ort)e(for)i(writing)e(IRAF)i(format)g(images,)h(or)347
5056 y(for)30 b(reading)g(or)g(writing)f(IRAF)h(tables.)256
5243 y Fa(\017)46 b Fg(Image)31 b(arra)m(ys)g(in)e(ra)m(w)i(binary)d
(format)347 5394 y(If)23 b(the)h(input)d(\014le)i(is)f(a)i(ra)m(w)f
(binary)f(data)i(arra)m(y)-8 b(,)26 b(then)d(CFITSIO)f(will)e(con)m(v)m
(ert)25 b(it)e(on)g(the)h(\015y)f(in)m(to)g(a)347 5507
y(virtual)f(FITS)g(image)i(with)e(the)i(basic)e(set)i(of)g(required)d
(header)i(k)m(eyw)m(ords)h(b)s(efore)f(it)g(is)f(op)s(ened)g(b)m(y)1905
5809 y(24)p eop
%%Page: 25 25
25 24 bop 347 573 a Fg(the)31 b(application)d(program.)40
b(In)30 b(this)f(case)i(the)f(data)h(t)m(yp)s(e)g(and)e(dimensions)e
(of)k(the)f(image)g(m)m(ust)347 686 y(b)s(e)d(sp)s(eci\014ed)e(in)h
(square)h(brac)m(k)m(ets)h(follo)m(wing)e(the)h(\014lename)g(\(e.g.)41
b Fc(rawfile.dat[ib512,512])p Fg(\).)347 799 y(The)30
b(\014rst)g(c)m(haracter)i(inside)c(the)i(brac)m(k)m(ets)i(de\014nes)e
(the)g(datat)m(yp)s(e)i(of)e(the)h(arra)m(y:)586 1049
y Fc(b)429 b(8-bit)47 b(unsigned)e(byte)586 1161 y(i)381
b(16-bit)47 b(signed)f(integer)586 1274 y(u)381 b(16-bit)47
b(unsigned)e(integer)586 1387 y(j)381 b(32-bit)47 b(signed)f(integer)
586 1500 y(r)h(or)h(f)142 b(32-bit)47 b(floating)e(point)586
1613 y(d)381 b(64-bit)47 b(floating)e(point)347 1863
y Fg(An)32 b(optional)e(second)i(c)m(haracter)h(sp)s(eci\014es)d(the)i
(b)m(yte)h(order)e(of)g(the)h(arra)m(y)g(v)-5 b(alues:)43
b(b)31 b(or)h(B)g(indi-)347 1976 y(cates)27 b(big)d(endian)f(\(as)j(in)
e(FITS)g(\014les)g(and)g(the)i(nativ)m(e)f(format)g(of)h(SUN)e(UNIX)i
(w)m(orkstations)f(and)347 2089 y(Mac)35 b(PCs\))d(and)h(l)f(or)h(L)g
(indicates)f(little)g(endian)g(\(nativ)m(e)i(format)f(of)g(DEC)h(OSF)e
(w)m(orkstations)347 2202 y(and)41 b(IBM)g(PCs\).)73
b(If)41 b(this)f(c)m(haracter)i(is)f(omitted)g(then)f(the)i(arra)m(y)f
(is)g(assumed)f(to)i(ha)m(v)m(e)g(the)347 2315 y(nativ)m(e)29
b(b)m(yte)g(order)e(of)h(the)h(lo)s(cal)e(mac)m(hine.)40
b(These)28 b(datat)m(yp)s(e)h(c)m(haracters)g(are)g(then)f(follo)m(w)m
(ed)f(b)m(y)347 2428 y(a)f(series)f(of)g(one)h(or)f(more)h(in)m(teger)f
(v)-5 b(alues)25 b(separated)h(b)m(y)f(commas)h(whic)m(h)e(de\014ne)h
(the)g(size)h(of)f(eac)m(h)347 2540 y(dimension)j(of)j(the)f(ra)m(w)h
(arra)m(y)-8 b(.)41 b(Arra)m(ys)31 b(with)e(up)g(to)i(5)g(dimensions)d
(are)i(curren)m(tly)g(supp)s(orted.)347 2691 y(Finally)-8
b(,)32 b(a)h(b)m(yte)g(o\013set)g(to)g(the)g(p)s(osition)d(of)i(the)h
(\014rst)f(pixel)e(in)h(the)i(data)g(\014le)e(ma)m(y)i(b)s(e)f(sp)s
(eci\014ed)347 2804 y(b)m(y)c(separating)g(it)g(with)e(a)j(':')40
b(from)27 b(the)i(last)e(dimension)f(v)-5 b(alue.)39
b(If)28 b(omitted,)h(it)e(is)g(assumed)h(that)347 2917
y(the)h(o\013set)g(=)f(0.)41 b(This)26 b(parameter)j(ma)m(y)g(b)s(e)f
(used)f(to)i(skip)e(o)m(v)m(er)j(an)m(y)e(header)g(information)f(in)g
(the)347 3029 y(\014le)j(that)h(precedes)f(the)h(binary)d(data.)42
b(F)-8 b(urther)30 b(examples:)443 3279 y Fc(raw.dat[b10000])473
b(1-dimensional)44 b(10000)i(pixel)h(byte)f(array)443
3392 y(raw.dat[rb400,400,12])185 b(3-dimensional)44 b(floating)i(point)
g(big-endian)f(array)443 3505 y(img.fits[ib512,512:2880)o(])d(reads)k
(the)h(512)g(x)h(512)e(short)h(integer)f(array)g(in)h(a)1636
3618 y(FITS)g(file,)f(skipping)f(over)i(the)g(2880)g(byte)f(header)1905
5809 y Fg(25)p eop
%%Page: 26 26
26 25 bop 120 573 a Fb(5.3)112 b(Image)37 b(Filtering)120
744 y Fh(5.3.1)105 b(Extracting)35 b(a)g(subsection)h(of)f(an)g(image)
120 916 y Fg(When)21 b(sp)s(ecifying)e(the)j(name)f(of)g(an)g(image)h
(to)g(b)s(e)f(op)s(ened,)h(y)m(ou)g(can)f(select)h(a)g(rectangular)f
(subsection)f(of)120 1029 y(the)29 b(image)f(to)h(b)s(e)f(extracted)i
(and)e(op)s(ened)f(b)m(y)i(the)f(application)f(program.)40
b(The)28 b(application)f(program)120 1142 y(then)k(op)s(ens)f(a)i
(virtual)e(image)h(that)h(only)e(con)m(tains)i(the)f(pixels)f(within)e
(the)k(sp)s(eci\014ed)d(subsection.)43 b(T)-8 b(o)120
1255 y(do)33 b(this,)g(sp)s(ecify)f(the)i(the)f(range)h(of)f(pixels)e
(\(start:end\))k(along)e(eac)m(h)h(axis)f(to)h(b)s(e)f(extracted)h
(from)f(the)120 1368 y(original)28 b(image)j(enclosed)f(in)f(square)h
(brac)m(k)m(ets.)42 b(Y)-8 b(ou)31 b(can)f(also)h(sp)s(ecify)e(an)h
(optional)f(pixel)g(incremen)m(t)120 1481 y(\(start:end:step\))37
b(for)f(eac)m(h)g(axis)g(of)f(the)h(input)e(image.)57
b(A)36 b(pixel)e(step)i(=)f(1)h(will)d(b)s(e)i(assumed)g(if)g(it)g(is)
120 1594 y(not)29 b(sp)s(eci\014ed.)38 b(If)28 b(the)h(starting)f
(pixel)f(is)g(larger)i(then)f(the)h(end)e(pixel,)h(then)g(the)h(image)g
(will)c(b)s(e)j(\015ipp)s(ed)120 1706 y(\(pro)s(ducing)33
b(a)i(mirror)d(image\))j(along)g(that)g(dimension.)51
b(An)34 b(asterisk,)i('*',)h(ma)m(y)e(b)s(e)f(used)f(to)j(sp)s(ecify)
120 1819 y(the)25 b(en)m(tire)g(range)g(of)g(an)g(axis,)h(and)e('-*')i
(will)d(\015ip)g(the)i(en)m(tire)g(axis.)38 b(In)24 b(the)h(follo)m
(wing)f(examples,)i(assume)120 1932 y(that)31 b Fc(myfile.fits)c
Fg(con)m(tains)k(a)g(512)g(x)g(512)g(pixel)e(2D)i(image.)215
2130 y Fc(myfile.fits[201:210,)43 b(251:260])i(-)j(opens)e(a)i(10)f(x)g
(10)g(pixel)g(subimage.)215 2356 y(myfile.fits[*,)d(512:257])i(-)h
(opens)g(a)g(512)g(x)h(256)e(image)h(consisting)e(of)406
2469 y(all)i(the)g(columns)f(in)h(the)g(input)f(image,)h(but)f(only)h
(rows)g(257)406 2582 y(through)f(512.)95 b(The)46 b(image)h(will)f(be)i
(flipped)d(along)i(the)g(Y)g(axis)406 2695 y(since)g(the)g(starting)e
(row)i(is)g(greater)f(than)h(the)g(ending)406 2808 y(row.)215
3033 y(myfile.fits[*:2,)d(512:257:2])h(-)i(creates)f(a)i(256)e(x)i(128)
f(pixel)f(image.)406 3146 y(Similar)g(to)h(the)g(previous)f(example,)f
(but)i(only)g(every)f(other)h(row)406 3259 y(and)g(column)f(is)i(read)e
(from)h(the)g(input)f(image.)215 3485 y(myfile.fits[-*,)e(*])j(-)h
(creates)e(an)h(image)f(containing)f(all)i(the)g(rows)g(and)406
3598 y(columns)f(in)h(the)g(input)g(image,)f(but)h(flips)f(it)h(along)g
(the)f(X)406 3711 y(axis.)261 3909 y Fg(If)33 b(the)g(arra)m(y)h(to)g
(b)s(e)f(op)s(ened)f(is)h(in)f(an)h(Image)h(extension,)g(and)f(not)g
(in)f(the)i(primary)d(arra)m(y)j(of)f(the)120 4022 y(\014le,)c(then)g
(y)m(ou)g(need)g(to)h(sp)s(ecify)d(the)j(extension)f(name)g(or)g(n)m
(um)m(b)s(er)f(in)f(square)i(brac)m(k)m(ets)i(b)s(efore)e(giving)120
4135 y(the)h(subsection)e(range,)i(as)g(in)e Fc(myfile.fits[1][-*,)42
b(*])29 b Fg(to)h(read)f(the)h(image)g(in)e(the)h(\014rst)g(extension)
120 4248 y(in)g(the)i(\014le.)120 4485 y Fh(5.3.2)105
b(Create)34 b(an)h(Image)f(b)m(y)h(Binning)h(T)-9 b(able)34
b(Columns)120 4657 y Fg(Y)-8 b(ou)40 b(can)f(also)g(create)i(and)d(op)s
(en)h(a)g(virtual)f(image)h(b)m(y)g(binning)d(the)k(v)-5
b(alues)38 b(in)g(a)h(pair)f(of)i(columns)120 4770 y(of)f(a)h(FITS)f
(table)g(\(in)f(other)i(w)m(ords,)h(create)g(a)e(2-D)i(histogram)e(of)g
(the)g(v)-5 b(alues)39 b(in)f(the)h(2)h(columns\).)120
4883 y(This)33 b(tec)m(hnique)h(is)g(often)h(used)f(in)g(X-ra)m(y)i
(astronom)m(y)f(where)f(eac)m(h)i(detected)g(X-ra)m(y)g(photon)f
(during)120 4996 y(an)29 b(observ)-5 b(ation)28 b(is)g(recorded)h(in)e
(a)i(FITS)f(table.)40 b(There)29 b(are)g(t)m(ypically)e(2)j(columns)d
(in)g(the)i(table)g(called)120 5109 y Fc(X)35 b Fg(and)h
Fc(Y)f Fg(whic)m(h)g(record)g(the)i(pixel)d(lo)s(cation)h(of)h(that)h
(ev)m(en)m(t)g(in)d(a)j(virtual)d(2D)i(image.)58 b(T)-8
b(o)36 b(create)h(an)120 5222 y(image)27 b(from)f(this)g(table,)i(one)f
(just)f(scans)h(the)g(X)g(and)f(Y)h(columns)f(and)g(coun)m(ts)h(up)f
(ho)m(w)h(man)m(y)g(photons)120 5334 y(w)m(ere)k(recorded)g(in)f(eac)m
(h)i(pixel)d(of)i(the)g(image.)43 b(When)30 b(table)h(binning)d(is)i
(sp)s(eci\014ed,)g(CFITSIO)f(creates)120 5447 y(a)38
b(temp)s(orary)e(FITS)h(primary)e(arra)m(y)j(in)e(memory)h(b)m(y)g
(computing)g(the)g(histogram)g(of)h(the)f(v)-5 b(alues)37
b(in)120 5560 y(the)29 b(sp)s(eci\014ed)e(columns.)39
b(After)29 b(the)g(histogram)f(is)g(computed)h(the)g(original)e(FITS)h
(\014le)g(con)m(taining)g(the)1905 5809 y(26)p eop
%%Page: 27 27
27 26 bop 120 573 a Fg(table)24 b(is)e(closed)i(and)f(the)g(temp)s
(orary)h(FITS)e(primary)g(arra)m(y)i(is)f(op)s(ened)g(and)g(passed)g
(to)h(the)g(application)120 686 y(program.)39 b(Th)m(us,)27
b(the)g(application)e(program)i(nev)m(er)g(sees)h(the)f(original)e
(FITS)h(table)h(and)f(only)g(sees)h(the)120 799 y(image)k(in)e(the)h
(new)g(temp)s(orary)g(\014le)g(\(whic)m(h)f(has)h(no)g(extensions\).)
261 912 y(The)f(table)g(binning)d(sp)s(eci\014er)i(is)h(enclosed)g(in)f
(square)h(brac)m(k)m(ets)h(follo)m(wing)e(the)i(ro)s(ot)f(\014lename)g
(and)120 1024 y(table)h(extension)g(name)h(or)f(n)m(um)m(b)s(er)f(and)h
(b)s(egins)f(with)g(the)h(k)m(eyw)m(ord)h('bin',)f(as)g(in:)120
1137 y Fc('myfile.fits[events][bin)41 b(\(X,Y\)]')p Fg(.)20
b(In)h(this)g(case,)k(the)d(X)g(and)f(Y)h(columns)f(in)g(the)h('ev)m
(en)m(ts')h(table)120 1250 y(extension)29 b(are)h(binned)e(up)g(to)j
(create)g(the)f(image.)41 b(The)29 b(size)g(of)h(the)g(image)g(is)f
(usually)e(determined)h(b)m(y)120 1363 y(the)22 b Fc(TLMINn)d
Fg(and)i Fc(TLMAXn)f Fg(header)h(k)m(eyw)m(ords)h(whic)m(h)e(giv)m(e)i
(the)f(minim)m(um)e(and)i(maxim)m(um)f(allo)m(w)m(ed)h(pixel)120
1476 y(v)-5 b(alues)37 b(in)f(the)i(columns.)61 b(F)-8
b(or)38 b(instance)f(if)g Fc(TLMINn)46 b(=)h(1)37 b Fg(and)g
Fc(TLMAXn)46 b(=)i(4096)36 b Fg(for)i(b)s(oth)e(columns,)120
1589 y(this)e(w)m(ould)g(generate)i(a)f(4096)i(x)e(4096)h(pixel)e
(image)h(b)m(y)g(default.)53 b(This)33 b(is)h(rather)h(large,)i(so)e(y)
m(ou)g(can)120 1702 y(also)d(sp)s(ecify)f(a)i(pixel)d(binning)f(factor)
34 b(to)f(reduce)f(the)g(image)h(size.)46 b(F)-8 b(or)33
b(example)f(sp)s(ecifying)e(,)j Fc('[bin)120 1815 y(\(X,Y\))46
b(=)i(16]')29 b Fg(will)e(use)i(a)i(binning)26 b(factor)31
b(of)f(16,)h(whic)m(h)e(will)e(pro)s(duce)i(a)h(256)h(x)f(256)h(pixel)e
(image)h(in)120 1928 y(the)h(previous)d(example.)261
2041 y(If)35 b(the)g(TLMIN)g(and)g(TLMAX)g(k)m(eyw)m(ords)g(don't)g
(exist,)i(or)e(y)m(ou)g(w)m(an)m(t)h(to)g(o)m(v)m(erride)g(their)e(v)-5
b(alues,)120 2154 y(y)m(ou)36 b(can)h(sp)s(ecify)d(the)i(image)h(range)
f(and)f(binning)e(factor)k(directly)-8 b(,)37 b(as)f(in)f
Fc('[bin)46 b(X)i(=)f(1:4096:16,)120 2267 y(Y=1:4096:16]')p
Fg(.)36 b(Y)-8 b(ou)28 b(can)g(also)f(sp)s(ecify)f(the)i(datat)m(yp)s
(e)g(of)g(the)g(created)g(image)g(b)m(y)f(app)s(ending)e(a)j(b,)g(i,)
120 2379 y(j,)f(r,)g(or)f(d)f(\(for)h(8-bit)g(b)m(yte,)i(16-bit)f(in)m
(tegers,)g(32-bit)f(in)m(teger,)i(32-bit)e(\015oating)g(p)s(oin)m(ts,)g
(or)g(64-bit)h(double)120 2492 y(precision)34 b(\015oating)h(p)s(oin)m
(t,)h(resp)s(ectiv)m(ely\))f(to)h(the)g('bin')e(k)m(eyw)m(ord)h(\(e.g.)
58 b Fc('[binr)46 b(\(X,Y\)]')33 b Fg(creates)k(a)120
2605 y(\015oating)i(p)s(oin)m(t)e(image\).)66 b(If)38
b(the)h(datat)m(yp)s(e)h(is)d(not)i(sp)s(eci\014ed)e(then)h(a)h(32-bit)
g(in)m(teger)g(image)g(will)d(b)s(e)120 2718 y(created)31
b(b)m(y)g(default.)261 2831 y(If)39 b(the)h(column)e(name)h(is)g(not)g
(sp)s(eci\014ed,)h(then)f(CFITSIO)f(will)f(\014rst)h(try)i(to)g(use)f
(the)g('preferred)120 2944 y(column')34 b(as)h(sp)s(eci\014ed)e(b)m(y)i
(the)g(CPREF)g(k)m(eyw)m(ord)g(if)f(it)h(exists)f(\(e.g.,)k('CPREF)d(=)
g('DETX,DETY'\),)120 3057 y(otherwise)30 b(column)f(names)h('X',)i('Y')
e(will)e(b)s(e)i(assumed)g(for)g(the)g(2)h(axes.)261
3170 y(Note)37 b(that)f(this)e(binning)e(sp)s(eci\014er)i(is)g(not)h
(restricted)g(to)h(only)f(2D)h(images)f(and)g(can)g(b)s(e)g(used)g(to)
120 3283 y(create)f(1D,)f(3D,)g(or)g(4D)g(images)f(as)g(w)m(ell.)46
b(It)32 b(is)f(also)h(p)s(ossible)e(to)j(sp)s(ecify)e(a)h(w)m(eigh)m
(ting)g(factor)i(that)e(is)120 3396 y(applied)27 b(during)h(the)h
(binning.)38 b(Please)29 b(refer)h(to)g(the)g(\\CFITSIO)e(User's)i
(Reference)g(Guide")f(for)g(more)120 3509 y(details)g(on)i(these)f(adv)
-5 b(anced)31 b(features.)1905 5809 y(27)p eop
%%Page: 28 28
28 27 bop 120 573 a Fb(5.4)112 b(T)-9 b(able)37 b(Filtering)120
744 y Fh(5.4.1)105 b(Column)34 b(and)h(Keyw)m(ord)g(Filtering)120
916 y Fg(The)29 b(column)f(or)h(k)m(eyw)m(ord)h(\014ltering)e(sp)s
(eci\014er)g(is)g(used)h(to)h(mo)s(dify)d(the)j(column)e(structure)h
(and/or)g(the)120 1029 y(header)h(k)m(eyw)m(ords)h(in)e(the)i(HDU)g
(that)g(w)m(as)g(selected)g(with)e(the)i(previous)e(HDU)i(lo)s(cation)f
(sp)s(eci\014er.)39 b(It)120 1142 y(can)31 b(b)s(e)e(used)h(to)h(p)s
(erform)e(the)i(follo)m(wing)d(t)m(yp)s(es)j(of)f(op)s(erations.)256
1354 y Fa(\017)46 b Fg(App)s(end)35 b(a)h(new)g(column)f(to)i(a)f
(table)g(b)m(y)h(giving)e(the)h(column)f(name,)j(optionally)d(follo)m
(w)m(ed)g(b)m(y)347 1467 y(the)e(datat)m(yp)s(e)h(in)d(paren)m(theses,)
j(follo)m(w)m(ed)e(b)m(y)h(an)g(equals)f(sign)g(and)g(the)h(arithmetic)
f(expression)347 1580 y(to)e(b)s(e)e(used)g(to)i(compute)f(the)g(v)-5
b(alue.)40 b(The)28 b(datat)m(yp)s(e)i(is)e(sp)s(eci\014ed)f(using)h
(the)h(same)g(syn)m(tax)h(that)347 1693 y(is)j(allo)m(w)m(ed)g(for)g
(the)g(v)-5 b(alue)33 b(of)h(the)f(FITS)g(TF)m(ORMn)g(k)m(eyw)m(ord)h
(\(e.g.,)i('I',)e('J',)g('E',)f('D',)i(etc.)51 b(for)347
1806 y(binary)31 b(tables,)h(and)g('I8',)h(F12.3',)i('E20.12',)g(etc.)
47 b(for)32 b(ASCI)s(I)f(tables\).)46 b(If)32 b(the)g(datat)m(yp)s(e)h
(is)e(not)347 1919 y(sp)s(eci\014ed)e(then)h(a)h(default)e(datat)m(yp)s
(e)j(will)27 b(b)s(e)j(c)m(hosen)h(dep)s(ending)d(on)i(the)h
(expression.)256 2107 y Fa(\017)46 b Fg(Create)33 b(a)g(new)f(header)g
(k)m(eyw)m(ord)h(b)m(y)f(giving)f(the)i(k)m(eyw)m(ord)g(name,)g
(preceded)f(b)m(y)g(a)h(p)s(ound)d(sign)347 2220 y('#',)24
b(follo)m(w)m(ed)c(b)m(y)h(an)g(equals)f(sign)g(and)g(an)h(arithmetic)f
(expression)g(for)h(the)g(v)-5 b(alue)20 b(of)h(the)h(k)m(eyw)m(ord.)
347 2332 y(The)k(expression)f(ma)m(y)i(b)s(e)f(a)h(function)e(of)i
(other)f(header)g(k)m(eyw)m(ord)h(v)-5 b(alues.)39 b(The)26
b(commen)m(t)h(string)347 2445 y(for)40 b(the)h(k)m(eyw)m(ord)g(ma)m(y)
g(b)s(e)f(sp)s(eci\014ed)f(in)g(paren)m(theses)i(immediately)d(follo)m
(wing)h(the)i(k)m(eyw)m(ord)347 2558 y(name.)256 2746
y Fa(\017)46 b Fg(Ov)m(erwrite)29 b(the)g(v)-5 b(alues)29
b(in)e(an)i(existing)g(column)e(or)j(k)m(eyw)m(ord)f(b)m(y)g(giving)f
(the)i(name)f(follo)m(w)m(ed)f(b)m(y)347 2859 y(an)j(equals)e(sign)h
(and)f(an)i(arithmetic)e(expression.)256 3046 y Fa(\017)46
b Fg(Select)35 b(a)f(set)g(of)h(columns)d(to)j(b)s(e)e(included)f(in)g
(the)j(\014ltered)e(\014le)g(b)m(y)h(listing)d(the)k(column)d(names)347
3159 y(separated)d(with)e(semi-colons.)39 b(Wild)27 b(card)h(c)m
(haracters)i(ma)m(y)e(b)s(e)g(used)f(in)g(the)i(column)e(names)h(to)347
3272 y(matc)m(h)33 b(m)m(ultiple)d(columns.)45 b(An)m(y)32
b(other)h(columns)d(in)h(the)i(input)d(table)i(will)d(not)k(app)s(ear)e
(in)g(the)347 3385 y(\014ltered)f(\014le.)256 3573 y
Fa(\017)46 b Fg(Delete)31 b(a)f(column)f(or)g(k)m(eyw)m(ord)h(b)m(y)g
(listing)d(the)j(name)g(preceded)f(b)m(y)h(a)g(min)m(us)e(sign)g(or)i
(an)g(excla-)347 3686 y(mation)g(mark)g(\(!\))256 3873
y Fa(\017)46 b Fg(Rename)31 b(an)f(existing)g(column)f(or)h(k)m(eyw)m
(ord)h(with)e(the)i(syn)m(tax)g('NewName)g(==)f(OldName'.)261
4086 y(The)20 b(column)f(\014ltering)g(sp)s(eci\014er)f(is)i(enclosed)g
(in)f(square)h(brac)m(k)m(ets)h(and)f(b)s(egins)f(with)g(the)h(string)g
('col'.)120 4199 y(Multiple)29 b(op)s(erations)h(can)h(b)s(e)f(p)s
(erformed)f(b)m(y)i(separating)f(them)h(with)e(semi-colons.)41
b(F)-8 b(or)32 b(complex)e(or)120 4312 y(commonly)g(used)h(op)s
(erations,)f(y)m(ou)i(can)f(write)f(the)h(column)f(\014lter)g(to)i(a)f
(text)h(\014le,)e(and)h(then)f(use)h(it)f(b)m(y)120 4425
y(giving)f(the)i(name)f(of)h(the)f(text)i(\014le,)d(preceded)h(b)m(y)h
(a)f('@')h(c)m(haracter.)261 4538 y(Some)g(examples:)215
4750 y Fc([col)47 b(PI=PHA)f(*)i(1.1)f(+)g(0.2])285 b(-)48
b(creates)e(new)g(PI)i(column)e(from)g(PHA)h(values)215
4976 y([col)g(rate)g(=)g(counts/exposure])91 b(-)48 b(creates)e(or)h
(overwrites)e(the)i(rate)f(column)g(by)1743 5089 y(dividing)f(the)i
(counts)f(column)g(by)i(the)1743 5202 y(EXPOSURE)d(keyword)h(value.)215
5428 y([col)h(TIME;)f(X;)i(Y])667 b(-)48 b(only)e(the)h(listed)f
(columns)g(will)h(appear)1743 5540 y(in)g(the)g(filtered)e(file)1905
5809 y Fg(28)p eop
%%Page: 29 29
29 28 bop 215 686 a Fc([col)47 b(Time;*raw])713 b(-)48
b(include)e(the)g(Time)h(column)f(and)h(any)g(other)1743
799 y(columns)f(whose)g(name)h(ends)f(with)h('raw'.)215
1024 y([col)g(-TIME;)f(Good)h(==)g(STATUS])141 b(-)48
b(deletes)e(the)g(TIME)h(column)f(and)1743 1137 y(renames)g(the)g
(STATUS)h(column)f(to)h(GOOD)215 1363 y([col)g(@colfilt.txt])569
b(-)48 b(uses)e(the)h(filtering)f(expression)f(in)1743
1476 y(the)i(colfilt.txt)d(text)j(file)261 1689 y Fg(The)30
b(original)f(\014le)h(is)g(not)h(c)m(hanged)g(b)m(y)g(this)f
(\014ltering)f(op)s(eration,)h(and)g(instead)g(the)h(mo)s
(di\014cations)120 1802 y(are)36 b(made)f(on)h(a)f(temp)s(orary)h(cop)m
(y)g(of)f(the)h(input)d(FITS)i(\014le)g(\(usually)e(in)h(memory\),)k
(whic)m(h)c(includes)120 1914 y(a)42 b(cop)m(y)g(of)g(all)e(the)i
(other)g(HDUs)g(in)e(the)i(input)e(\014le.)73 b(The)41
b(original)f(input)g(\014le)g(is)h(closed)g(and)g(the)120
2027 y(application)29 b(program)h(op)s(ens)f(the)i(\014ltered)e(cop)m
(y)i(of)g(the)g(\014le.)120 2268 y Fh(5.4.2)105 b(Ro)m(w)36
b(Filtering)120 2439 y Fg(The)22 b(ro)m(w)h(\014lter)f(is)g(used)g(to)h
(select)g(a)h(subset)e(of)h(the)g(ro)m(ws)f(from)h(a)g(table)f(based)h
(on)f(a)i(b)s(o)s(olean)d(expression.)120 2552 y(A)37
b(temp)s(orary)g(new)f(FITS)g(\014le)h(is)f(created)i(on)f(the)g(\015y)
f(\(usually)f(in)h(memory\))h(whic)m(h)f(con)m(tains)h(only)120
2665 y(those)30 b(ro)m(ws)g(for)g(whic)m(h)f(the)h(ro)m(w)g(\014lter)f
(expression)f(ev)-5 b(aluates)31 b(to)f(true)g(\(i.e.,)h(not)f(equal)f
(to)i(zero\).)42 b(The)120 2778 y(primary)24 b(arra)m(y)j(and)e(an)m(y)
h(other)h(extensions)e(in)g(the)h(input)e(\014le)h(are)i(also)f(copied)
f(to)i(the)f(temp)s(orary)g(\014le.)120 2891 y(The)h(original)f(FITS)h
(\014le)g(is)g(closed)g(and)h(the)g(new)f(temp)s(orary)g(\014le)g(is)g
(then)g(op)s(ened)g(b)m(y)h(the)g(application)120 3004
y(program.)261 3117 y(The)f(ro)m(w)g(\014lter)f(expression)g(is)g
(enclosed)g(in)g(square)h(brac)m(k)m(ets)h(follo)m(wing)e(the)h(\014le)
f(name)h(and)f(exten-)120 3230 y(sion)31 b(name.)48 b(F)-8
b(or)33 b(example,)g Fc('file.fits[events][GRAD)o(E==5)o(0]')26
b Fg(selects)33 b(only)f(those)h(ro)m(ws)f(in)f(the)120
3342 y(EVENTS)f(table)g(where)g(the)g(GRADE)h(column)f(v)-5
b(alue)29 b(is)h(equal)g(to)h(50\).)261 3455 y(The)d(ro)m(w)h
(\014ltering)d(expression)i(can)g(b)s(e)g(an)h(arbitrarily)c(complex)k
(series)e(of)i(op)s(erations)f(p)s(erformed)120 3568
y(on)e(constan)m(ts,)i(k)m(eyw)m(ord)e(v)-5 b(alues,)26
b(and)f(column)g(data)h(tak)m(en)h(from)e(the)h(sp)s(eci\014ed)e(FITS)h
(T)-8 b(ABLE)26 b(exten-)120 3681 y(sion.)39 b(The)27
b(expression)f(also)i(can)f(b)s(e)g(written)g(in)m(to)h(a)f(text)i
(\014le)e(and)g(then)g(used)g(b)m(y)g(giving)f(the)i(\014lename)120
3794 y(preceded)i(b)m(y)g(a)h('@')g(c)m(haracter,)h(as)e(in)f
Fc('[@rowfilt.txt]')p Fg(.)261 3907 y(Keyw)m(ord)40 b(and)f(column)g
(data)h(are)h(referenced)f(b)m(y)f(name.)70 b(An)m(y)40
b(string)f(of)h(c)m(haracters)h(not)f(sur-)120 4020 y(rounded)30
b(b)m(y)i(quotes)g(\(ie,)g(a)h(constan)m(t)g(string\))e(or)g(follo)m(w)
m(ed)h(b)m(y)f(an)h(op)s(en)f(paren)m(theses)h(\(ie,)h(a)f(function)120
4133 y(name\))e(will)c(b)s(e)j(initially)c(in)m(terpreted)k(as)g(a)h
(column)e(name)h(and)g(its)g(con)m(ten)m(ts)i(for)e(the)g(curren)m(t)g
(ro)m(w)g(in-)120 4246 y(serted)e(in)m(to)g(the)h(expression.)38
b(If)27 b(no)g(suc)m(h)g(column)f(exists,)i(a)f(k)m(eyw)m(ord)h(of)g
(that)f(name)h(will)c(b)s(e)j(searc)m(hed)120 4359 y(for)34
b(and)f(its)g(v)-5 b(alue)34 b(used,)g(if)f(found.)50
b(T)-8 b(o)35 b(force)f(the)g(name)g(to)h(b)s(e)e(in)m(terpreted)g(as)i
(a)f(k)m(eyw)m(ord)g(\(in)f(case)120 4472 y(there)28
b(is)f(b)s(oth)g(a)h(column)f(and)g(k)m(eyw)m(ord)h(with)f(the)h(same)g
(name\),)h(precede)f(the)g(k)m(eyw)m(ord)h(name)e(with)g(a)120
4584 y(single)j(p)s(ound)f(sign,)i('#',)h(as)g(in)e Fc(#NAXIS2)p
Fg(.)41 b(Due)32 b(to)g(the)f(generalities)g(of)g(FITS)g(column)f(and)h
(k)m(eyw)m(ord)120 4697 y(names,)c(if)d(the)i(column)f(or)g(k)m(eyw)m
(ord)h(name)g(con)m(tains)g(a)g(space)g(or)g(a)g(c)m(haracter)h(whic)m
(h)e(migh)m(t)g(app)s(ear)g(as)120 4810 y(an)32 b(arithmetic)f(term)h
(then)g(inclose)f(the)h(name)g(in)e('$')j(c)m(haracters)h(as)e(in)f
Fc($MAX)46 b(PHA$)31 b Fg(or)h Fc(#$MAX-PHA$)p Fg(.)120
4923 y(The)e(names)g(are)h(case)g(insensitiv)m(e.)261
5036 y(T)-8 b(o)37 b(access)g(a)g(table)f(en)m(try)h(in)e(a)h(ro)m(w)h
(other)f(than)g(the)h(curren)m(t)f(one,)i(follo)m(w)e(the)g(column's)f
(name)120 5149 y(with)j(a)h(ro)m(w)g(o\013set)g(within)e(curly)g
(braces.)66 b(F)-8 b(or)40 b(example,)h Fc('PHA)p Fa(f)p
Fc(-3)p Fa(g)p Fc(')d Fg(will)e(ev)-5 b(aluate)39 b(to)h(the)f(v)-5
b(alue)120 5262 y(of)40 b(column)e(PHA,)i(3)g(ro)m(ws)f(ab)s(o)m(v)m(e)
i(the)f(ro)m(w)g(curren)m(tly)e(b)s(eing)g(pro)s(cessed.)68
b(One)39 b(cannot)h(sp)s(ecify)e(an)120 5375 y(absolute)32
b(ro)m(w)g(n)m(um)m(b)s(er,)f(only)g(a)i(relativ)m(e)f(o\013set.)47
b(Ro)m(ws)32 b(that)h(fall)d(outside)h(the)i(table)f(will)d(b)s(e)i
(treated)120 5488 y(as)g(unde\014ned,)d(or)i(NULLs.)1905
5809 y(29)p eop
%%Page: 30 30
30 29 bop 261 573 a Fg(Bo)s(olean)31 b(op)s(erators)g(can)g(b)s(e)g
(used)f(in)f(the)i(expression)f(in)f(either)i(their)f(F)-8
b(ortran)31 b(or)g(C)f(forms.)42 b(The)120 686 y(follo)m(wing)29
b(b)s(o)s(olean)g(op)s(erators)i(are)g(a)m(v)-5 b(ailable:)311
886 y Fc("equal")428 b(.eq.)46 b(.EQ.)h(==)95 b("not)46
b(equal")476 b(.ne.)94 b(.NE.)h(!=)311 999 y("less)46
b(than")238 b(.lt.)46 b(.LT.)h(<)143 b("less)46 b(than/equal")188
b(.le.)94 b(.LE.)h(<=)47 b(=<)311 1112 y("greater)e(than")95
b(.gt.)46 b(.GT.)h(>)143 b("greater)45 b(than/equal")g(.ge.)94
b(.GE.)h(>=)47 b(=>)311 1225 y("or")572 b(.or.)46 b(.OR.)h(||)95
b("and")762 b(.and.)46 b(.AND.)h(&&)311 1337 y("negation")236
b(.not.)46 b(.NOT.)h(!)95 b("approx.)45 b(equal\(1e-7\)")92
b(~)261 1537 y Fg(Note)34 b(that)g(the)f(exclamation)g(p)s(oin)m(t,)g
(')10 b(!',)34 b(is)e(a)i(sp)s(ecial)d(UNIX)i(c)m(haracter,)j(so)d(if)f
(it)g(is)g(used)g(on)h(the)120 1650 y(command)f(line)f(rather)h(than)g
(en)m(tered)h(at)g(a)g(task)g(prompt,)f(it)g(m)m(ust)g(b)s(e)g
(preceded)g(b)m(y)g(a)h(bac)m(kslash)f(to)120 1763 y(force)f(the)g
(UNIX)f(shell)f(to)i(ignore)f(it.)261 1876 y(The)d(expression)e(ma)m(y)
j(also)f(include)e(arithmetic)h(op)s(erators)h(and)f(functions.)38
b(T)-8 b(rigonometric)27 b(func-)120 1989 y(tions)g(use)h(radians,)g
(not)g(degrees.)40 b(The)28 b(follo)m(wing)f(arithmetic)g(op)s(erators)
h(and)g(functions)e(can)j(b)s(e)e(used)120 2102 y(in)i(the)i
(expression)e(\(function)g(names)h(are)h(case)h(insensitiv)m(e\):)311
2302 y Fc("addition")522 b(+)477 b("subtraction")d(-)311
2415 y("multiplication")234 b(*)477 b("division")618
b(/)311 2528 y("negation")522 b(-)477 b("exponentiation")330
b(**)143 b(^)311 2641 y("absolute)45 b(value")237 b(abs\(x\))g
("cosine")714 b(cos\(x\))311 2754 y("sine")g(sin\(x\))237
b("tangent")666 b(tan\(x\))311 2867 y("arc)47 b(cosine")427
b(arccos\(x\))93 b("arc)47 b(sine")619 b(arcsin\(x\))311
2979 y("arc)47 b(tangent")379 b(arctan\(x\))93 b("arc)47
b(tangent")475 b(arctan2\(x,y\))311 3092 y("exponential")378
b(exp\(x\))237 b("square)46 b(root")476 b(sqrt\(x\))311
3205 y("natural)45 b(log")381 b(log\(x\))237 b("common)46
b(log")524 b(log10\(x\))311 3318 y("modulus")570 b(i)48
b(\045)f(j)286 b("random)46 b(#)h([0.0,1.0\)")141 b(random\(\))311
3431 y("minimum")570 b(min\(x,y\))141 b("maximum")666
b(max\(x,y\))311 3544 y("if-then-else")330 b(b?x:y)261
3744 y Fg(The)37 b(follo)m(wing)f(t)m(yp)s(e)i(casting)f(op)s(erators)h
(are)g(a)m(v)-5 b(ailable,)38 b(where)f(the)h(inclosing)d(paren)m
(theses)j(are)120 3857 y(required)22 b(and)i(tak)m(en)h(from)f(the)h(C)
f(language)g(usage.)40 b(Also,)25 b(the)f(in)m(teger)h(to)g(real)f
(casts)h(v)-5 b(alues)24 b(to)h(double)120 3970 y(precision:)884
4170 y Fc("real)46 b(to)h(integer")189 b(\(int\))46 b(x)239
b(\(INT\))46 b(x)884 4283 y("integer)f(to)i(real")190
b(\(float\))46 b(i)143 b(\(FLOAT\))45 b(i)261 4483 y
Fg(Sev)m(eral)31 b(constan)m(ts)g(are)g(built)d(in)h(for)h(use)g(in)f
(n)m(umerical)g(expressions:)502 4683 y Fc(#pi)667 b(3.1415...)284
b(#e)620 b(2.7182...)502 4796 y(#deg)f(#pi/180)380 b(#row)524
b(current)46 b(row)h(number)502 4909 y(#null)428 b(undefined)45
b(value)142 b(#snull)428 b(undefined)45 b(string)261
5109 y Fg(A)d(string)f(constan)m(t)i(m)m(ust)f(b)s(e)f(enclosed)h(in)f
(quotes)h(as)g(in)f('Crab'.)75 b(The)41 b("n)m(ull")g(constan)m(ts)i
(are)120 5222 y(useful)36 b(for)h(conditionally)e(setting)j(table)f(v)
-5 b(alues)37 b(to)h(a)g(NULL,)g(or)f(unde\014ned,)h(v)-5
b(alue)37 b(\(F)-8 b(or)38 b(example,)120 5334 y Fc("col1==-99)45
b(?)95 b(#NULL)47 b(:)g(col1")p Fg(\).)261 5447 y(There)33
b(is)g(also)g(a)h(function)f(for)g(testing)h(if)e(t)m(w)m(o)j(v)-5
b(alues)33 b(are)h(close)g(to)g(eac)m(h)h(other,)g(i.e.,)g(if)d(they)i
(are)120 5560 y("near")29 b(eac)m(h)g(other)f(to)g(within)e(a)i(user)f
(sp)s(eci\014ed)f(tolerance.)41 b(The)27 b(argumen)m(ts,)i
Fc(value)p 3184 5560 29 4 v 33 w(1)e Fg(and)h Fc(value)p
3707 5560 V 33 w(2)1905 5809 y Fg(30)p eop
%%Page: 31 31
31 30 bop 120 573 a Fg(can)39 b(b)s(e)g(in)m(teger)g(or)g(real)f(and)h
(represen)m(t)g(the)g(t)m(w)m(o)h(v)-5 b(alues)38 b(who's)h(pro)m
(ximit)m(y)f(is)g(b)s(eing)g(tested)h(to)h(b)s(e)120
686 y(within)28 b(the)i(sp)s(eci\014ed)f(tolerance,)i(also)g(an)f(in)m
(teger)h(or)f(real:)1075 880 y Fc(near\(value_1,)44 b(value_2,)h
(tolerance\))261 1074 y Fg(When)30 b(a)h(NULL,)f(or)h(unde\014ned,)d(v)
-5 b(alue)30 b(is)f(encoun)m(tered)i(in)e(the)h(FITS)g(table,)g(the)h
(expression)e(will)120 1186 y(ev)-5 b(aluate)42 b(to)g(NULL)g(unless)d
(the)j(unde\014ned)d(v)-5 b(alue)41 b(is)g(not)g(actually)g(required)f
(for)h(ev)-5 b(aluation,)44 b(e.g.)120 1299 y("TR)m(UE)e(.or.)76
b(NULL")42 b(ev)-5 b(aluates)43 b(to)g(TR)m(UE.)f(The)f(follo)m(wing)g
(t)m(w)m(o)i(functions)e(allo)m(w)g(some)h(NULL)120 1412
y(detection)31 b(and)f(handling:)1027 1606 y Fc(ISNULL\(x\))1027
1719 y(DEFNULL\(x,y\))261 1913 y Fg(The)43 b(former)g(returns)f(a)i(b)s
(o)s(olean)e(v)-5 b(alue)43 b(of)g(TR)m(UE)h(if)e(the)i(argumen)m(t)f
(x)h(is)e(NULL.)i(The)e(later)120 2026 y("de\014nes")e(a)g(v)-5
b(alue)39 b(to)h(b)s(e)g(substituted)e(for)h(NULL)h(v)-5
b(alues;)44 b(it)39 b(returns)f(the)i(v)-5 b(alue)40
b(of)f(x)h(if)f(x)g(is)g(not)120 2139 y(NULL,)31 b(otherwise)e(it)h
(returns)f(the)i(v)-5 b(alue)30 b(of)g(y)-8 b(.)261 2252
y(Bit)31 b(masks)g(can)g(b)s(e)f(used)g(to)h(select)h(out)f(ro)m(ws)g
(from)f(bit)g(columns)f(\()p Fc(TFORMn)47 b(=)g(#X)p
Fg(\))31 b(in)e(FITS)h(\014les.)120 2365 y(T)-8 b(o)31
b(represen)m(t)f(the)h(mask,)f(binary)-8 b(,)30 b(o)s(ctal,)h(and)e
(hex)i(formats)f(are)h(allo)m(w)m(ed:)931 2558 y Fc(binary:)142
b(b0110xx1010000101xxxx00)o(01)931 2671 y(octal:)190
b(o720x1)46 b(->)h(\(b111010000xxx001\))931 2784 y(hex:)286
b(h0FxD)94 b(->)47 b(\(b00001111xxxx1101\))261 2978 y
Fg(In)28 b(all)g(the)i(represen)m(tations,)f(an)g(x)g(or)g(X)g(is)f
(allo)m(w)m(ed)h(in)f(the)h(mask)g(as)h(a)f(wild)e(card.)40
b(Note)30 b(that)g(the)120 3091 y(x)i(represen)m(ts)f(a)h(di\013eren)m
(t)f(n)m(um)m(b)s(er)g(of)h(wild)d(card)j(bits)e(in)g(eac)m(h)j
(represen)m(tation.)45 b(All)30 b(represen)m(tations)120
3204 y(are)h(case)g(insensitiv)m(e.)261 3317 y(T)-8 b(o)38
b(construct)f(the)h(b)s(o)s(olean)e(expression)g(using)g(the)h(mask)h
(as)f(the)h(b)s(o)s(olean)e(equal)h(op)s(erator)g(de-)120
3430 y(scrib)s(ed)29 b(ab)s(o)m(v)m(e)i(on)g(a)g(bit)f(table)g(column.)
40 b(F)-8 b(or)32 b(example,)e(if)g(y)m(ou)h(had)f(a)h(7)g(bit)e
(column)h(named)g(\015ags)h(in)120 3543 y(a)36 b(FITS)e(table)i(and)f
(w)m(an)m(ted)h(all)e(ro)m(ws)h(ha)m(ving)g(the)h(bit)e(pattern)i
(0010011,)k(the)35 b(selection)h(expression)120 3656
y(w)m(ould)29 b(b)s(e:)1456 3850 y Fc(flags)47 b(==)g(b0010011)311
3962 y(or)1456 4075 y(flags)g(.eq.)f(b10011)261 4269
y Fg(It)32 b(is)e(also)i(p)s(ossible)d(to)j(test)g(if)f(a)h(range)f(of)
h(bits)e(is)h(less)g(than,)g(less)g(than)h(equal,)f(greater)i(than)e
(and)120 4382 y(greater)h(than)e(equal)g(to)h(a)f(particular)f(b)s(o)s
(olean)h(v)-5 b(alue:)1456 4576 y Fc(flags)47 b(<=)g(bxxx010xx)1456
4689 y(flags)g(.gt.)f(bxxx100xx)1456 4802 y(flags)h(.le.)f(b1xxxxxxx)
261 4996 y Fg(Notice)31 b(the)g(use)f(of)h(the)f(x)h(bit)e(v)-5
b(alue)30 b(to)h(limit)d(the)j(range)f(of)h(bits)e(b)s(eing)g
(compared.)261 5109 y(It)k(is)f(not)h(necessary)g(to)g(sp)s(ecify)f
(the)g(leading)g(\(most)h(signi\014can)m(t\))f(zero)i(\(0\))g(bits)d
(in)h(the)h(mask,)g(as)120 5222 y(sho)m(wn)d(in)f(the)h(second)h
(expression)e(ab)s(o)m(v)m(e.)261 5334 y(Bit)h(wise)f(AND,)h(OR)g(and)f
(NOT)g(op)s(erations)g(are)h(also)g(p)s(ossible)d(on)i(t)m(w)m(o)i(or)f
(more)g(bit)f(\014elds)f(using)120 5447 y(the)38 b('&'\(AND\),)h(')p
Fa(j)p Fg('\(OR\),)g(and)e(the)h(')10 b(!'\(NOT\))38
b(op)s(erators.)63 b(All)36 b(of)i(these)g(op)s(erators)g(result)e(in)g
(a)i(bit)120 5560 y(\014eld)29 b(whic)m(h)g(can)i(then)f(b)s(e)g(used)f
(with)g(the)i(equal)f(op)s(erator.)41 b(F)-8 b(or)31
b(example:)1905 5809 y(31)p eop
%%Page: 32 32
32 31 bop 1361 573 a Fc(\(!flags\))45 b(==)j(b1101100)1361
686 y(\(flags)e(&)h(b1000001\))f(==)h(bx000001)261 887
y Fg(Bit)35 b(\014elds)e(can)h(b)s(e)g(app)s(ended)f(as)i(w)m(ell)e
(using)g(the)i('+')g(op)s(erator.)53 b(Strings)33 b(can)i(b)s(e)f
(concatenated)120 1000 y(this)29 b(w)m(a)m(y)-8 b(,)32
b(to)s(o.)120 1238 y Fh(5.4.3)105 b(Go)s(o)s(d)36 b(Time)e(In)m(terv)-6
b(al)34 b(Filtering)120 1410 y Fg(A)27 b(common)g(\014ltering)e(metho)s
(d)i(in)m(v)m(olv)m(es)g(selecting)g(ro)m(ws)f(whic)m(h)g(ha)m(v)m(e)i
(a)g(time)e(v)-5 b(alue)27 b(whic)m(h)e(lies)h(within)120
1523 y(what)38 b(is)e(called)h(a)h(Go)s(o)s(d)g(Time)e(In)m(terv)-5
b(al)38 b(or)f(GTI.)h(The)f(time)h(in)m(terv)-5 b(als)36
b(are)i(de\014ned)f(in)f(a)i(separate)120 1636 y(FITS)31
b(table)h(extension)f(whic)m(h)g(con)m(tains)h(2)g(columns)e(giving)h
(the)h(start)g(and)f(stop)h(time)g(of)g(eac)m(h)g(go)s(o)s(d)120
1749 y(in)m(terv)-5 b(al.)59 b(The)37 b(\014ltering)e(op)s(eration)h
(accepts)i(only)e(those)h(ro)m(ws)g(of)g(the)g(input)e(table)i(whic)m
(h)e(ha)m(v)m(e)j(an)120 1861 y(asso)s(ciated)31 b(time)g(whic)m(h)f
(falls)f(within)f(one)k(of)f(the)g(time)f(in)m(terv)-5
b(als)30 b(de\014ned)g(in)g(the)h(GTI)f(extension.)42
b(A)120 1974 y(high)28 b(lev)m(el)i(function,)f
(gti\014lter\(a,b,c,d\),)i(is)d(a)m(v)-5 b(ailable)30
b(whic)m(h)e(ev)-5 b(aluates)31 b(eac)m(h)g(ro)m(w)f(of)g(the)g(input)d
(table)120 2087 y(and)j(returns)g(TR)m(UE)g(or)h(F)-10
b(ALSE)30 b(dep)s(ending)f(whether)h(the)g(ro)m(w)h(is)f(inside)e(or)j
(outside)f(the)h(go)s(o)s(d)g(time)120 2200 y(in)m(terv)-5
b(al.)40 b(The)30 b(syn)m(tax)h(is)406 2401 y Fc(gtifilter\()45
b([)j("gtifile")d([,)i(expr)g([,)g("STARTCOL",)e("STOPCOL")g(])j(])f(])
g(\))120 2603 y Fg(where)35 b(eac)m(h)i("[]")g(demarks)e(optional)f
(parameters.)57 b(Note)37 b(that)f(the)g(quotes)g(around)e(the)i
(gti\014le)f(and)120 2716 y(ST)-8 b(AR)g(T/STOP)31 b(column)h(are)h
(required.)45 b(Either)32 b(single)f(or)h(double)g(quote)h(c)m
(haracters)h(ma)m(y)f(b)s(e)f(used.)120 2828 y(The)c(gti\014le,)g(if)f
(sp)s(eci\014ed,)h(can)g(b)s(e)g(blank)f(\(""\))j(whic)m(h)d(will)f
(mean)j(to)g(use)f(the)g(\014rst)g(extension)g(with)f(the)120
2941 y(name)c("*GTI*")i(in)d(the)h(curren)m(t)g(\014le,)h(a)f(plain)e
(extension)i(sp)s(eci\014er)f(\(eg,)k("+2",)f("[2]",)i(or)c
("[STDGTI]"\))120 3054 y(whic)m(h)f(will)f(b)s(e)i(used)g(to)i(select)f
(an)g(extension)f(in)f(the)i(curren)m(t)g(\014le,)g(or)g(a)g(regular)e
(\014lename)h(with)g(or)g(with-)120 3167 y(out)j(an)g(extension)g(sp)s
(eci\014er)e(whic)m(h)h(in)f(the)j(latter)f(case)h(will)c(mean)j(to)h
(use)f(the)g(\014rst)f(extension)h(with)e(an)120 3280
y(extension)29 b(name)h("*GTI*".)42 b(Expr)28 b(can)i(b)s(e)f(an)m(y)g
(arithmetic)g(expression,)g(including)d(simply)h(the)j(time)120
3393 y(column)j(name.)52 b(A)34 b(v)m(ector)i(time)e(expression)f(will)
e(pro)s(duce)i(a)i(v)m(ector)g(b)s(o)s(olean)f(result.)50
b(ST)-8 b(AR)g(TCOL)120 3506 y(and)33 b(STOPCOL)f(are)j(the)f(names)g
(of)g(the)g(ST)-8 b(AR)g(T/STOP)33 b(columns)g(in)f(the)j(GTI)e
(extension.)52 b(If)33 b(one)120 3619 y(of)e(them)f(is)f(sp)s
(eci\014ed,)g(they)i(b)s(oth)e(m)m(ust)i(b)s(e.)261 3732
y(In)37 b(its)h(simplest)e(form,)k(no)e(parameters)g(need)g(to)h(b)s(e)
e(pro)m(vided)g({)h(default)g(v)-5 b(alues)37 b(will)e(b)s(e)j(used.)
120 3845 y(The)30 b(expression)f Fc("gtifilter\(\)")e
Fg(is)i(equiv)-5 b(alen)m(t)30 b(to)454 4046 y Fc(gtifilter\()45
b("",)i(TIME,)f("*START*",)f("*STOP*")h(\))120 4247 y
Fg(This)30 b(will)g(searc)m(h)j(the)f(curren)m(t)g(\014le)g(for)g(a)g
(GTI)g(extension,)h(\014lter)e(the)h(TIME)g(column)f(in)g(the)i(curren)
m(t)120 4360 y(table,)47 b(using)c(ST)-8 b(AR)g(T/STOP)43
b(times)g(tak)m(en)i(from)e(columns)g(in)g(the)h(GTI)f(extension)h
(with)e(names)120 4473 y(con)m(taining)30 b(the)h(strings)e("ST)-8
b(AR)g(T")31 b(and)f("STOP".)41 b(The)30 b(wildcards)e(\('*'\))k(allo)m
(w)e(sligh)m(t)f(v)-5 b(ariations)30 b(in)120 4586 y(naming)h(con)m(v)m
(en)m(tions)h(suc)m(h)g(as)g("TST)-8 b(AR)g(T")32 b(or)g("ST)-8
b(AR)g(TTIME".)45 b(The)31 b(same)i(default)e(v)-5 b(alues)31
b(apply)120 4699 y(for)g(unsp)s(eci\014ed)e(parameters)j(when)e(the)i
(\014rst)e(one)i(or)f(t)m(w)m(o)i(parameters)f(are)g(sp)s(eci\014ed.)42
b(The)31 b(function)120 4812 y(automatically)41 b(searc)m(hes)g(for)g
(TIMEZER)m(O/I/F)g(k)m(eyw)m(ords)g(in)e(the)i(curren)m(t)g(and)f(GTI)h
(extensions,)120 4924 y(applying)28 b(a)j(relativ)m(e)f(time)h
(o\013set,)g(if)f(necessary)-8 b(.)120 5163 y Fh(5.4.4)105
b(Spatial)35 b(Region)h(Filtering)120 5334 y Fg(Another)f(common)h
(\014ltering)e(metho)s(d)h(selects)g(ro)m(ws)h(based)f(on)g(whether)g
(the)h(spatial)e(p)s(osition)f(asso-)120 5447 y(ciated)40
b(with)f(eac)m(h)j(ro)m(w)e(is)f(lo)s(cated)h(within)e(a)i(giv)m(en)h
(2-dimensional)d(region.)69 b(The)40 b(syn)m(tax)h(for)e(this)120
5560 y(high-lev)m(el)29 b(\014lter)h(is)1905 5809 y(32)p
eop
%%Page: 33 33
33 32 bop 454 573 a Fc(regfilter\()45 b("regfilename")f([)k(,)f(Xexpr,)
f(Yexpr)h([)g(,)h("wcs)e(cols")h(])g(])g(\))120 757 y
Fg(where)28 b(eac)m(h)i("[)g(]")f(demarks)g(optional)f(parameters.)40
b(The)29 b(region)f(\014le)g(name)h(is)f(required)f(and)h(m)m(ust)h(b)s
(e)120 870 y(enclosed)g(in)f(quotes.)41 b(The)29 b(remaining)e
(parameters)j(are)f(optional.)40 b(The)29 b(region)g(\014le)f(is)g(an)i
(ASCI)s(I)d(text)120 983 y(\014le)36 b(whic)m(h)f(con)m(tains)i(a)g
(list)f(of)g(one)h(or)g(more)g(geometric)h(shap)s(es)d(\(circle,)k
(ellipse,)d(b)s(o)m(x,)i(etc.\))62 b(whic)m(h)120 1096
y(de\014nes)30 b(a)i(region)f(on)g(the)h(celestial)f(sphere)g(or)g(an)g
(area)h(within)d(a)j(particular)e(2D)i(image.)44 b(The)31
b(region)120 1209 y(\014le)37 b(is)g(t)m(ypically)g(generated)i(using)e
(an)h(image)g(displa)m(y)f(program)h(suc)m(h)f(as)i(fv/PO)m(W)f
(\(distribute)e(b)m(y)120 1322 y(the)c(HEASAR)m(C\),)g(or)g(ds9)g
(\(distributed)d(b)m(y)i(the)h(Smithsonian)e(Astroph)m(ysical)g(Observ)
-5 b(atory\).)46 b(Users)120 1435 y(should)40 b(refer)i(to)h(the)f(do)s
(cumen)m(tation)g(pro)m(vided)f(with)g(these)h(programs)g(for)g(more)g
(details)f(on)h(the)120 1548 y(syn)m(tax)31 b(used)e(in)h(the)g(region)
g(\014les.)261 1661 y(In)35 b(its)g(simpliest)e(form,)k(\(e.g.,)i
Fc(regfilter\("region.reg"\))30 b Fg(\))36 b(the)f(co)s(ordinates)h(in)
e(the)i(default)120 1774 y('X')24 b(and)e('Y')i(columns)d(will)g(b)s(e)
h(used)g(to)i(determine)e(if)g(eac)m(h)i(ro)m(w)f(is)f(inside)f(or)i
(outside)f(the)h(area)h(sp)s(eci\014ed)120 1886 y(in)g(the)i(region)f
(\014le.)38 b(Alternate)26 b(p)s(osition)d(column)h(names,)j(or)e
(expressions,)g(ma)m(y)h(b)s(e)f(en)m(tered)h(if)e(needed,)120
1999 y(as)31 b(in)502 2184 y Fc(regfilter\("region.reg",)41
b(XPOS,)47 b(YPOS\))120 2368 y Fg(Region)38 b(\014ltering)f(can)h(b)s
(e)g(applied)e(most)i(unam)m(biguously)e(if)h(the)h(p)s(ositions)f(in)f
(the)j(region)f(\014le)f(and)120 2481 y(in)e(the)i(table)g(to)h(b)s(e)e
(\014ltered)g(are)h(b)s(oth)f(giv)m(e)h(in)f(terms)g(of)h(absolute)g
(celestial)f(co)s(ordinate)h(units.)58 b(In)120 2594
y(this)37 b(case)i(the)g(lo)s(cations)f(and)f(sizes)h(of)h(the)f
(geometric)h(shap)s(es)f(in)f(the)h(region)g(\014le)f(are)i(sp)s
(eci\014ed)e(in)120 2707 y(angular)d(units)f(on)h(the)h(sky)f(\(e.g.,)j
(p)s(ositions)c(giv)m(en)i(in)e(R.A.)i(and)f(Dec.)54
b(and)34 b(sizes)g(in)f(arcseconds)i(or)120 2820 y(arcmin)m(utes\).)j
(Similarly)-8 b(,)20 b(eac)m(h)j(ro)m(w)g(of)f(the)g(\014ltered)f
(table)h(will)d(ha)m(v)m(e)k(a)g(celestial)e(co)s(ordinate)h(asso)s
(ciated)120 2933 y(with)32 b(it.)50 b(This)32 b(asso)s(ciation)h(is)g
(usually)e(implemen)m(ted)h(using)h(a)g(set)i(of)e(so-called)h('W)-8
b(orld)33 b(Co)s(ordinate)120 3046 y(System')j(\(or)h(W)m(CS\))f(FITS)f
(k)m(eyw)m(ords)i(that)f(de\014ne)g(the)g(co)s(ordinate)g
(transformation)f(that)i(m)m(ust)f(b)s(e)120 3159 y(applied)28
b(to)j(the)g(v)-5 b(alues)30 b(in)f(the)h('X')h(and)f('Y')h(columns)e
(to)i(calculate)g(the)f(co)s(ordinate.)261 3272 y(Alternativ)m(ely)-8
b(,)37 b(one)f(can)f(p)s(erform)f(spatial)h(\014ltering)e(using)h
(unitless)g('pixel')g(co)s(ordinates)h(for)g(the)120
3385 y(regions)30 b(and)g(ro)m(w)h(p)s(ositions.)40 b(In)30
b(this)f(case)j(the)f(user)f(m)m(ust)h(b)s(e)f(careful)g(to)h(ensure)f
(that)h(the)g(p)s(ositions)120 3498 y(in)h(the)h(2)h(\014les)e(are)i
(self-consisten)m(t.)49 b(A)34 b(t)m(ypical)e(problem)g(is)g(that)i
(the)g(region)f(\014le)f(ma)m(y)i(b)s(e)e(generated)120
3610 y(using)22 b(a)i(binned)e(image,)j(but)e(the)h(un)m(binned)d(co)s
(ordinates)i(are)i(giv)m(en)e(in)g(the)h(ev)m(en)m(t)h(table.)38
b(The)24 b(R)m(OSA)-8 b(T)120 3723 y(ev)m(en)m(ts)34
b(\014les,)f(for)g(example,)h(ha)m(v)m(e)g(X)f(and)g(Y)g(pixel)e(co)s
(ordinates)i(that)h(range)f(from)g(1)g(-)h(15360.)51
b(These)120 3836 y(co)s(ordinates)32 b(are)h(t)m(ypically)f(binned)e(b)
m(y)j(a)g(factor)g(of)g(32)h(to)f(pro)s(duce)f(a)h(480x480)i(pixel)c
(image.)48 b(If)32 b(one)120 3949 y(then)f(uses)g(a)g(region)g(\014le)f
(generated)j(from)d(this)g(image)i(\(in)e(image)h(pixel)f(units\))g(to)
i(\014lter)e(the)i(R)m(OSA)-8 b(T)120 4062 y(ev)m(en)m(ts)33
b(\014le,)e(then)g(the)g(X)g(and)g(Y)h(column)e(v)-5
b(alues)30 b(m)m(ust)i(b)s(e)e(con)m(v)m(erted)j(to)f(corresp)s(onding)
d(pixel)h(units)120 4175 y(as)h(in:)502 4360 y Fc
(regfilter\("rosat.reg",)42 b(X/32.+.5,)j(Y/32.+.5\))120
4544 y Fg(Note)30 b(that)f(this)e(binning)f(con)m(v)m(ersion)i(is)g
(not)h(necessary)g(if)e(the)i(region)f(\014le)f(is)h(sp)s(eci\014ed)f
(using)g(celestial)120 4657 y(co)s(ordinate)g(units)f(instead)g(of)h
(pixel)f(units)f(b)s(ecause)i(CFITSIO)f(is)g(then)h(able)g(to)h
(directly)d(compare)j(the)120 4770 y(celestial)34 b(co)s(ordinate)g(of)
g(eac)m(h)h(ro)m(w)f(in)f(the)h(table)g(with)f(the)h(celestial)g(co)s
(ordinates)g(in)e(the)j(region)e(\014le)120 4883 y(without)c(ha)m(ving)
h(to)h(kno)m(w)g(an)m(ything)f(ab)s(out)g(ho)m(w)g(the)h(image)f(ma)m
(y)h(ha)m(v)m(e)h(b)s(een)d(binned.)261 4996 y(The)k(last)g("w)m(cs)g
(cols")h(parameter)f(should)e(rarely)h(b)s(e)h(needed.)48
b(If)33 b(supplied,)d(this)i(string)g(con)m(tains)120
5109 y(the)39 b(names)g(of)h(the)f(2)g(columns)f(\(space)i(or)f(comma)h
(separated\))g(whic)m(h)e(ha)m(v)m(e)i(the)g(asso)s(ciated)f(W)m(CS)120
5222 y(k)m(eyw)m(ords.)k(If)30 b(not)h(supplied,)d(the)j(\014lter)f
(will)e(scan)j(the)g(X)g(and)g(Y)g(expressions)e(for)i(column)f(names.)
42 b(If)120 5334 y(only)32 b(one)g(is)g(found)f(in)g(eac)m(h)j
(expression,)e(those)h(columns)e(will)f(b)s(e)i(used,)h(otherwise)f(an)
g(error)g(will)e(b)s(e)120 5447 y(returned.)261 5560
y(These)g(region)g(shap)s(es)g(are)g(supp)s(orted)f(\(names)i(are)f
(case)i(insensitiv)m(e\):)1905 5809 y(33)p eop
%%Page: 34 34
34 33 bop 454 573 a Fc(Point)428 b(\()48 b(X1,)f(Y1)g(\))715
b(<-)48 b(One)f(pixel)f(square)g(region)454 686 y(Line)476
b(\()48 b(X1,)f(Y1,)g(X2,)f(Y2)i(\))333 b(<-)48 b(One)f(pixel)f(wide)h
(region)454 799 y(Polygon)332 b(\()48 b(X1,)f(Y1,)g(X2,)f(Y2,)h(...)g
(\))95 b(<-)48 b(Rest)e(are)h(interiors)e(with)454 912
y(Rectangle)236 b(\()48 b(X1,)f(Y1,)g(X2,)f(Y2,)h(A)h(\))334
b(|)47 b(boundaries)e(considered)454 1024 y(Box)524 b(\()48
b(Xc,)f(Yc,)g(Wdth,)f(Hght,)g(A)i(\))143 b(V)47 b(within)f(the)h
(region)454 1137 y(Diamond)332 b(\()48 b(Xc,)f(Yc,)g(Wdth,)f(Hght,)g(A)
i(\))454 1250 y(Circle)380 b(\()48 b(Xc,)f(Yc,)g(R)g(\))454
1363 y(Annulus)332 b(\()48 b(Xc,)f(Yc,)g(Rin,)f(Rout)h(\))454
1476 y(Ellipse)332 b(\()48 b(Xc,)f(Yc,)g(Rx,)f(Ry,)h(A)h(\))454
1589 y(Elliptannulus)c(\()k(Xc,)f(Yc,)g(Rinx,)f(Riny,)g(Routx,)g
(Routy,)g(Ain,)h(Aout)g(\))454 1702 y(Sector)380 b(\()48
b(Xc,)f(Yc,)g(Amin,)f(Amax)h(\))120 1914 y Fg(where)33
b(\(Xc,Yc\))j(is)d(the)i(co)s(ordinate)e(of)i(the)f(shap)s(e's)f(cen)m
(ter;)k(\(X#,Y#\))e(are)f(the)g(co)s(ordinates)g(of)g(the)120
2027 y(shap)s(e's)22 b(edges;)k(Rxxx)d(are)g(the)h(shap)s(es')e(v)-5
b(arious)22 b(Radii)f(or)i(semima)5 b(jor/minor)21 b(axes;)27
b(and)22 b(Axxx)h(are)g(the)120 2140 y(angles)i(of)g(rotation)g(\(or)g
(b)s(ounding)d(angles)j(for)g(Sector\))h(in)d(degrees.)40
b(F)-8 b(or)26 b(rotated)g(shap)s(es,)f(the)g(rotation)120
2253 y(angle)36 b(can)h(b)s(e)e(left)h(o\013,)i(indicating)c(no)i
(rotation.)59 b(Common)35 b(alternate)i(names)f(for)g(the)g(regions)g
(can)120 2366 y(also)27 b(b)s(e)f(used:)39 b(rotb)s(o)m(x)27
b(=)f(b)s(o)m(x;)j(rotrectangle)f(=)f(rectangle;)i(\(rot\)rhom)m(bus)d
(=)h(\(rot\)diamond;)h(and)e(pie)120 2479 y(=)h(sector.)41
b(When)28 b(a)g(shap)s(e's)f(name)g(is)g(preceded)g(b)m(y)h(a)g(min)m
(us)e(sign,)i('-',)h(the)f(de\014ned)e(region)h(is)g(instead)120
2592 y(the)36 b(area)g(*outside*)g(its)f(b)s(oundary)e(\(ie,)k(the)f
(region)f(is)g(in)m(v)m(erted\).)56 b(All)34 b(the)i(shap)s(es)f
(within)e(a)j(single)120 2705 y(region)e(\014le)g(are)h(OR'd)g
(together)h(to)f(create)i(the)e(region,)g(and)g(the)g(order)f(is)g
(signi\014can)m(t.)53 b(The)34 b(o)m(v)m(erall)120 2818
y(w)m(a)m(y)g(of)g(lo)s(oking)e(at)i(region)f(\014les)f(is)g(that)i(if)
e(the)i(\014rst)e(region)h(is)g(an)g(excluded)f(region)h(then)g(a)g
(dumm)m(y)120 2931 y(included)27 b(region)j(of)g(the)g(whole)f
(detector)j(is)d(inserted)f(in)h(the)h(fron)m(t.)41 b(Then)29
b(eac)m(h)i(region)f(sp)s(eci\014cation)120 3044 y(as)h(it)g(is)f(pro)s
(cessed)h(o)m(v)m(errides)g(an)m(y)g(selections)g(inside)e(of)i(that)h
(region)f(sp)s(eci\014ed)e(b)m(y)i(previous)f(regions.)120
3156 y(Another)f(w)m(a)m(y)i(of)e(thinking)e(ab)s(out)i(this)f(is)h
(that)g(if)g(a)g(previous)f(excluded)g(region)h(is)g(completely)g
(inside)120 3269 y(of)i(a)f(subsequen)m(t)g(included)e(region)i(the)g
(excluded)f(region)h(is)g(ignored.)261 3382 y(The)20
b(p)s(ositional)e(co)s(ordinates)i(ma)m(y)h(b)s(e)e(giv)m(en)i(either)e
(in)g(pixel)g(units,)i(decimal)e(degrees)i(or)f(hh:mm:ss.s,)120
3495 y(dd:mm:ss.s)25 b(units.)37 b(The)26 b(shap)s(e)f(sizes)g(ma)m(y)i
(b)s(e)e(giv)m(en)h(in)e(pixels,)i(degrees,)h(arcmin)m(utes,)g(or)f
(arcseconds.)120 3608 y(Lo)s(ok)k(at)i(examples)d(of)i(region)f(\014le)
f(pro)s(duced)g(b)m(y)h(fv/PO)m(W)h(or)f(ds9)g(for)g(further)f(details)
h(of)g(the)h(region)120 3721 y(\014le)e(format.)120 3961
y Fh(5.4.5)105 b(Example)34 b(Ro)m(w)h(Filters)311 4133
y Fc([double)46 b(&&)h(mag)g(<=)g(5.0])381 b(-)95 b(Extract)46
b(all)h(double)f(stars)g(brighter)1886 4246 y(than)94
b(fifth)47 b(magnitude)311 4472 y([#row)f(>=)h(125)g(&&)h(#row)e(<=)h
(175])142 b(-)48 b(Extract)e(row)h(numbers)e(125)i(through)f(175)311
4697 y([abs\(sin\(theta)e(*)j(#deg\)\))f(<)i(0.5])e(-)i(Extract)e(all)h
(rows)f(having)g(the)1886 4810 y(absolute)f(value)i(of)g(the)g(sine)g
(of)g(theta)1886 4923 y(less)94 b(than)47 b(a)g(half)g(where)f(the)h
(angles)1886 5036 y(are)g(tabulated)e(in)i(degrees)311
5262 y([@rowFilter.txt])711 b(-)48 b(Extract)e(rows)g(using)h(the)g
(expression)1886 5375 y(contained)e(within)h(the)h(text)g(file)1886
5488 y(rowFilter.txt)1905 5809 y Fg(34)p eop
%%Page: 35 35
35 34 bop 311 686 a Fc([gtifilter\(\)])855 b(-)48 b(Search)e(the)h
(current)f(file)g(for)h(a)h(GTI)359 799 y(extension,)92
b(filter)i(the)47 b(TIME)359 912 y(column)f(in)h(the)g(current)f
(table,)g(using)359 1024 y(START/STOP)f(times)h(taken)g(from)359
1137 y(columns)f(in)j(the)f(GTI)94 b(extension)311 1363
y([regfilter\("pow.reg"\)])423 b(-)48 b(Extract)e(rows)g(which)h(have)f
(a)i(coordinate)1886 1476 y(\(as)f(given)f(in)h(the)g(X)h(and)f(Y)g
(columns\))1886 1589 y(within)f(the)h(spatial)f(region)g(specified)1886
1702 y(in)h(the)g(pow.reg)f(region)g(file.)1905 5809
y Fg(35)p eop
%%Page: 36 36
36 35 bop 120 573 a Fb(5.5)112 b(Com)m(bined)37 b(Filtering)e(Examples)
120 744 y Fg(The)29 b(previous)g(sections)g(describ)s(ed)f(all)h(the)h
(individual)25 b(t)m(yp)s(es)30 b(of)g(\014lters)e(that)j(ma)m(y)f(b)s
(e)f(applied)f(to)i(the)120 857 y(input)i(\014le.)49
b(In)33 b(this)f(section)i(w)m(e)g(sho)m(w)g(examples)f(whic)m(h)f(com)
m(bine)i(sev)m(eral)f(di\013eren)m(t)h(\014lters)e(at)i(once.)120
970 y(These)h(examples)f(all)g(use)h(the)g Fc(fitscopy)e
Fg(program)i(that)g(is)f(distributed)e(with)i(the)h(CFITSIO)f(co)s(de.)
120 1083 y(It)c(simply)e(copies)j(the)f(input)f(\014le)g(to)i(the)g
(output)f(\014le.)120 1268 y Fc(fitscopy)46 b(rosat.fit)f(out.fit)261
1453 y Fg(This)25 b(trivial)g(example)h(simply)f(mak)m(es)i(an)g(iden)m
(tical)f(cop)m(y)h(of)g(the)g(input)e(rosat.\014t)i(\014le)f(without)g
(an)m(y)120 1566 y(\014ltering.)120 1751 y Fc(fitscopy)46
b('rosat.fit[events][col)41 b(Time;X;Y][#row)j(<)k(1000]')e(out.fit)261
1936 y Fg(The)34 b(output)g(\014le)g(con)m(tains)h(only)e(the)i(Time,)g
(X,)g(and)e(Y)i(columns,)g(and)e(only)h(the)h(\014rst)f(999)h(ro)m(ws)
120 2049 y(from)g(the)g('EVENTS')f(table)h(extension)g(of)g(the)g
(input)e(\014le.)54 b(All)33 b(the)j(other)f(HDUs)g(in)f(the)h(input)e
(\014le)120 2162 y(are)e(copied)f(to)h(the)f(output)g(\014le)g(without)
f(an)m(y)i(mo)s(di\014cation.)120 2346 y Fc(fitscopy)46
b('rosat.fit[events][PI)c(<)47 b(50][bin)f(\(Xdet,Ydet\))f(=)i(16]')g
(image.fit)261 2531 y Fg(This)29 b(creates)i(an)f(output)g(image)h(b)m
(y)f(binning)d(the)j(Xdet)h(and)f(Ydet)g(columns)f(of)h(the)h(ev)m(en)m
(ts)g(table)120 2644 y(with)25 b(a)i(pixel)e(binning)e(factor)k(of)g
(16.)40 b(Only)25 b(the)i(ro)m(ws)f(whic)m(h)f(ha)m(v)m(e)j(a)e(PI)h
(energy)f(less)g(than)g(50)h(are)g(used)120 2757 y(to)33
b(construct)f(this)e(image.)45 b(The)32 b(output)f(image)h(\014le)f
(con)m(tains)h(a)g(primary)e(arra)m(y)i(image)g(without)f(an)m(y)120
2870 y(extensions.)120 3055 y Fc(fitscopy)46 b('rosat.fit[events][gtif)
o(ilt)o(er\(\))41 b(&&)47 b(regfilter\("pow.reg"\)]')42
b(out.fit)261 3240 y Fg(The)29 b(\014ltering)f(expression)g(in)g(this)h
(example)g(uses)g(the)h Fc(gtifilter)d Fg(function)h(to)i(test)g
(whether)f(the)120 3353 y(TIME)e(column)f(v)-5 b(alue)26
b(in)g(eac)m(h)j(ro)m(w)e(is)f(within)f(one)i(of)g(the)h(Go)s(o)s(d)f
(Time)f(In)m(terv)-5 b(als)26 b(de\014ned)g(in)g(the)i(GTI)120
3466 y(extension)h(in)f(the)i(same)g(input)d(\014le,)i(and)g(also)h
(uses)f(the)g Fc(regfilter)e Fg(function)i(to)h(test)g(if)f(the)g(p)s
(osition)120 3579 y(asso)s(ciated)i(with)d(eac)m(h)j(ro)m(w)g(\(deriv)m
(ed)e(b)m(y)h(default)f(from)h(the)g(v)-5 b(alues)29
b(in)g(the)h(X)h(and)e(Y)h(columns)f(of)h(the)120 3692
y(ev)m(en)m(ts)38 b(table\))e(is)g(lo)s(cated)h(within)c(the)k(area)g
(de\014ned)e(in)h(the)g Fc(pow.reg)f Fg(text)i(region)f(\014le)f
(\(whic)m(h)h(w)m(as)120 3804 y(previously)g(created)k(with)e(the)g
Fc(fv/POW)f Fg(image)i(displa)m(y)e(program\).)66 b(Only)37
b(the)i(ro)m(ws)f(whic)m(h)g(satisfy)120 3917 y(b)s(oth)30
b(tests)h(are)g(copied)e(to)i(the)g(output)f(table.)120
4102 y Fc(fitscopy)46 b('r.fit[evt][PI<50]')c(stdout)k(|)i(fitscopy)d
(stdin[evt][col)f(X,Y])j(out.fit)261 4287 y Fg(In)25
b(this)f(somewhat)i(con)m(v)m(oluted)f(example,)i(\014tscop)m(y)e(is)g
(used)f(to)i(\014rst)f(select)h(the)f(ro)m(ws)g(from)g(the)h(evt)120
4400 y(extension)j(whic)m(h)g(ha)m(v)m(e)i(PI)e(less)g(than)h(50)g(and)
f(write)g(the)h(resulting)e(table)i(out)g(to)g(the)g(stdout)g(stream.)
120 4513 y(This)36 b(is)g(pip)s(ed)f(to)j(a)g(2nd)f(instance)g(of)h
(\014tscop)m(y)g(\(with)e(the)i(Unix)e(`)p Fa(j)p Fg(')i(pip)s(e)e
(command\))h(whic)m(h)g(reads)120 4626 y(that)31 b(\014ltered)f(FITS)f
(\014le)h(from)g(the)h(stdin)e(stream)i(and)f(copies)g(only)g(the)h(X)f
(and)g(Y)h(columns)e(from)h(the)120 4739 y(evt)h(table)f(to)h(the)g
(output)f(\014le.)120 4924 y Fc(fitscopy)46 b('r.fit[evt][col)d
(RAD=sqrt\(\(X-#XCEN\)**2+\(Y-)o(#YCE)o(N\)*)o(*2\)])o([rad)o(<10)o
(0]')e(out.fit)261 5109 y Fg(This)23 b(example)i(\014rst)f(creates)i(a)
f(new)f(column)g(called)g(RAD)h(whic)m(h)e(giv)m(es)i(the)g(distance)g
(b)s(et)m(w)m(een)g(the)120 5222 y(X,Y)k(co)s(ordinate)f(of)g(eac)m(h)i
(ev)m(en)m(t)g(and)d(the)i(co)s(ordinate)f(de\014ned)f(b)m(y)h(the)h(X)
m(CEN)f(and)g(YCEN)g(k)m(eyw)m(ords)120 5334 y(in)j(the)i(header.)47
b(Then,)32 b(only)g(those)h(ro)m(ws)g(whic)m(h)e(ha)m(v)m(e)j(a)f
(distance)f(less)g(than)g(100)i(are)f(copied)f(to)h(the)120
5447 y(output)e(table.)45 b(In)31 b(other)h(w)m(ords,)f(only)g(the)h
(ev)m(en)m(ts)h(whic)m(h)e(are)h(lo)s(cated)g(within)d(100)k(pixel)d
(units)g(from)120 5560 y(the)h(\(X)m(CEN,)g(YCEN\))f(co)s(ordinate)h
(are)f(copied)g(to)h(the)g(output)f(table.)1905 5809
y(36)p eop
%%Page: 37 37
37 36 bop 120 573 a Fc(fitscopy)46 b('ftp://heasarc.gsfc.nas)o(a.g)o
(ov/r)o(osat)o(.fi)o(t[ev)o(ents)o(][b)o(in)c(\(X,Y\)=16]')j(img.fit)
261 785 y Fg(This)22 b(example)h(bins)e(the)i(X)h(and)f(Y)g(columns)f
(of)h(the)h(h)m(yp)s(othetical)e(R)m(OSA)-8 b(T)24 b(\014le)e(at)i(the)
f(HEASAR)m(C)120 898 y(ftp)30 b(site)g(to)h(create)h(the)f(output)f
(image.)120 1111 y Fc(fitscopy)46 b('raw.fit[i512,512][101:)o(110)o
(,51:)o(60]')41 b(image.fit)261 1323 y Fg(This)28 b(example)h(con)m(v)m
(erts)i(the)e(512)i(x)e(512)i(pixel)d(ra)m(w)h(binary)f(16-bit)h(in)m
(teger)h(image)g(to)g(a)g(FITS)e(\014le)120 1436 y(and)i(copies)g(a)h
(10)g(x)f(10)h(pixel)e(subimage)h(from)g(it)f(to)j(the)e(output)g(FITS)
g(image.)1905 5809 y(37)p eop
%%Page: 38 38
38 37 bop 120 573 a Fi(6)135 b(CFITSIO)44 b(Error)h(Status)g(Co)t(des)
120 776 y Fg(The)34 b(follo)m(wing)e(table)i(lists)f(all)g(the)h(error)
g(status)g(co)s(des)h(used)e(b)m(y)h(CFITSIO.)f(Programmers)h(are)g
(en-)120 889 y(couraged)f(to)g(use)g(the)f(sym)m(b)s(olic)f(mnemonics)h
(\(de\014ned)f(in)g(the)i(\014le)f(\014tsio.h\))g(rather)g(than)g(the)h
(actual)120 1002 y(in)m(teger)e(status)f(v)-5 b(alues)30
b(to)h(impro)m(v)m(e)f(the)h(readabilit)m(y)e(of)h(their)g(co)s(de.)168
1214 y Fc(Symbolic)45 b(Const)190 b(Value)237 b(Meaning)168
1327 y(--------------)187 b(-----)94 b(------------------------)o(----)
o(---)o(----)o(----)o(--)1122 1440 y(0)191 b(OK,)47 b(no)g(error)168
1553 y(SAME_FILE)427 b(101)190 b(input)46 b(and)h(output)f(files)h(are)
g(the)f(same)168 1666 y(TOO_MANY_FILES)187 b(103)j(tried)46
b(to)h(open)g(too)g(many)g(FITS)f(files)h(at)g(once)168
1779 y(FILE_NOT_OPENED)139 b(104)190 b(could)46 b(not)h(open)g(the)g
(named)f(file)168 1892 y(FILE_NOT_CREATED)91 b(105)190
b(could)46 b(not)h(create)f(the)h(named)g(file)168 2005
y(WRITE_ERROR)331 b(106)190 b(error)46 b(writing)g(to)h(FITS)g(file)168
2117 y(END_OF_FILE)331 b(107)190 b(tried)46 b(to)h(move)g(past)g(end)g
(of)g(file)168 2230 y(READ_ERROR)379 b(108)190 b(error)46
b(reading)g(from)h(FITS)f(file)168 2343 y(FILE_NOT_CLOSED)139
b(110)190 b(could)46 b(not)h(close)g(the)f(file)168 2456
y(ARRAY_TOO_BIG)235 b(111)190 b(array)46 b(dimensions)f(exceed)h
(internal)g(limit)168 2569 y(READONLY_FILE)235 b(112)190
b(Cannot)46 b(write)g(to)i(readonly)d(file)168 2682 y
(MEMORY_ALLOCATION)e(113)190 b(Could)46 b(not)h(allocate)f(memory)168
2795 y(BAD_FILEPTR)331 b(114)190 b(invalid)46 b(fitsfile)f(pointer)168
2908 y(NULL_INPUT_PTR)187 b(115)j(NULL)47 b(input)f(pointer)g(to)h
(routine)168 3021 y(SEEK_ERROR)379 b(116)190 b(error)46
b(seeking)g(position)g(in)h(file)168 3247 y(BAD_URL_PREFIX)235
b(121)142 b(invalid)46 b(URL)h(prefix)f(on)h(file)g(name)168
3359 y(TOO_MANY_DRIVERS)139 b(122)j(tried)46 b(to)h(register)f(too)h
(many)g(IO)g(drivers)168 3472 y(DRIVER_INIT_FAILED)c(123)142
b(driver)46 b(initialization)e(failed)168 3585 y(NO_MATCHING_DRIVER)f
(124)142 b(matching)45 b(driver)i(is)g(not)g(registered)168
3698 y(URL_PARSE_ERROR)187 b(125)142 b(failed)46 b(to)h(parse)g(input)f
(file)h(URL)168 3924 y(SHARED_BADARG)235 b(151)190 b(bad)47
b(argument)e(in)j(shared)e(memory)g(driver)168 4037 y(SHARED_NULPTR)235
b(152)190 b(null)47 b(pointer)e(passed)h(as)i(an)f(argument)168
4150 y(SHARED_TABFULL)187 b(153)j(no)47 b(more)g(free)f(shared)g
(memory)h(handles)168 4263 y(SHARED_NOTINIT)187 b(154)j(shared)46
b(memory)g(driver)g(is)h(not)g(initialized)168 4376 y(SHARED_IPCERR)235
b(155)190 b(IPC)47 b(error)f(returned)g(by)h(a)g(system)f(call)168
4489 y(SHARED_NOMEM)283 b(156)190 b(no)47 b(memory)f(in)h(shared)f
(memory)h(driver)168 4601 y(SHARED_AGAIN)283 b(157)190
b(resource)45 b(deadlock)h(would)g(occur)168 4714 y(SHARED_NOFILE)235
b(158)190 b(attempt)46 b(to)h(open/create)e(lock)h(file)h(failed)168
4827 y(SHARED_NORESIZE)139 b(159)190 b(shared)46 b(memory)g(block)g
(cannot)h(be)g(resized)f(at)h(the)g(moment)168 5053 y(HEADER_NOT_EMPTY)
91 b(201)190 b(header)46 b(already)g(contains)f(keywords)168
5166 y(KEY_NO_EXIST)283 b(202)190 b(keyword)46 b(not)h(found)f(in)h
(header)168 5279 y(KEY_OUT_BOUNDS)187 b(203)j(keyword)46
b(record)g(number)g(is)h(out)g(of)g(bounds)168 5392 y(VALUE_UNDEFINED)
139 b(204)190 b(keyword)46 b(value)g(field)g(is)i(blank)168
5505 y(NO_QUOTE)475 b(205)190 b(string)46 b(is)h(missing)f(the)h
(closing)f(quote)1905 5809 y Fg(38)p eop
%%Page: 39 39
39 38 bop 168 573 a Fc(BAD_KEYCHAR)331 b(207)190 b(illegal)46
b(character)f(in)i(keyword)f(name)h(or)g(card)168 686
y(BAD_ORDER)427 b(208)190 b(required)45 b(keywords)h(out)h(of)g(order)
168 799 y(NOT_POS_INT)331 b(209)190 b(keyword)46 b(value)g(is)h(not)g
(a)h(positive)d(integer)168 912 y(NO_END)571 b(210)190
b(couldn't)45 b(find)i(END)g(keyword)168 1024 y(BAD_BITPIX)379
b(211)190 b(illegal)46 b(BITPIX)g(keyword)g(value)168
1137 y(BAD_NAXIS)427 b(212)190 b(illegal)46 b(NAXIS)g(keyword)g(value)
168 1250 y(BAD_NAXES)427 b(213)190 b(illegal)46 b(NAXISn)g(keyword)g
(value)168 1363 y(BAD_PCOUNT)379 b(214)190 b(illegal)46
b(PCOUNT)g(keyword)g(value)168 1476 y(BAD_GCOUNT)379
b(215)190 b(illegal)46 b(GCOUNT)g(keyword)g(value)168
1589 y(BAD_TFIELDS)331 b(216)190 b(illegal)46 b(TFIELDS)g(keyword)f
(value)168 1702 y(NEG_WIDTH)427 b(217)190 b(negative)45
b(table)i(row)g(size)168 1815 y(NEG_ROWS)475 b(218)190
b(negative)45 b(number)i(of)g(rows)f(in)i(table)168 1928
y(COL_NOT_FOUND)235 b(219)190 b(column)46 b(with)h(this)f(name)h(not)g
(found)f(in)h(table)168 2041 y(BAD_SIMPLE)379 b(220)190
b(illegal)46 b(value)g(of)h(SIMPLE)f(keyword)168 2154
y(NO_SIMPLE)427 b(221)190 b(Primary)46 b(array)g(doesn't)g(start)g
(with)h(SIMPLE)168 2267 y(NO_BITPIX)427 b(222)190 b(Second)46
b(keyword)g(not)h(BITPIX)168 2379 y(NO_NAXIS)475 b(223)190
b(Third)46 b(keyword)g(not)h(NAXIS)168 2492 y(NO_NAXES)475
b(224)190 b(Couldn't)45 b(find)i(all)g(the)g(NAXISn)f(keywords)168
2605 y(NO_XTENSION)331 b(225)190 b(HDU)47 b(doesn't)f(start)g(with)h
(XTENSION)e(keyword)168 2718 y(NOT_ATABLE)379 b(226)190
b(the)47 b(CHDU)f(is)i(not)f(an)g(ASCII)f(table)g(extension)168
2831 y(NOT_BTABLE)379 b(227)190 b(the)47 b(CHDU)f(is)i(not)f(a)g
(binary)f(table)g(extension)168 2944 y(NO_PCOUNT)427
b(228)190 b(couldn't)45 b(find)i(PCOUNT)f(keyword)168
3057 y(NO_GCOUNT)427 b(229)190 b(couldn't)45 b(find)i(GCOUNT)f(keyword)
168 3170 y(NO_TFIELDS)379 b(230)190 b(couldn't)45 b(find)i(TFIELDS)f
(keyword)168 3283 y(NO_TBCOL)475 b(231)190 b(couldn't)45
b(find)i(TBCOLn)f(keyword)168 3396 y(NO_TFORM)475 b(232)190
b(couldn't)45 b(find)i(TFORMn)f(keyword)168 3509 y(NOT_IMAGE)427
b(233)190 b(the)47 b(CHDU)f(is)i(not)f(an)g(IMAGE)f(extension)168
3621 y(BAD_TBCOL)427 b(234)190 b(TBCOLn)46 b(keyword)g(value)g(<)i(0)f
(or)g(>)h(rowlength)168 3734 y(NOT_TABLE)427 b(235)190
b(the)47 b(CHDU)f(is)i(not)f(a)g(table)168 3847 y(COL_TOO_WIDE)283
b(236)190 b(column)46 b(is)h(too)g(wide)g(to)g(fit)g(in)g(table)168
3960 y(COL_NOT_UNIQUE)187 b(237)j(more)47 b(than)f(1)i(column)e(name)g
(matches)g(template)168 4073 y(BAD_ROW_WIDTH)235 b(241)190
b(sum)47 b(of)g(column)f(widths)g(not)h(=)h(NAXIS1)168
4186 y(UNKNOWN_EXT)331 b(251)190 b(unrecognizable)44
b(FITS)i(extension)g(type)168 4299 y(UNKNOWN_REC)331
b(252)190 b(unknown)46 b(record;)g(1st)g(keyword)g(not)h(SIMPLE)f(or)h
(XTENSION)168 4412 y(END_JUNK)475 b(253)190 b(END)47
b(keyword)f(is)h(not)g(blank)168 4525 y(BAD_HEADER_FILL)139
b(254)190 b(Header)46 b(fill)h(area)f(contains)g(non-blank)f(chars)168
4638 y(BAD_DATA_FILL)235 b(255)190 b(Illegal)46 b(data)g(fill)h(bytes)f
(\(not)h(zero)g(or)g(blank\))168 4751 y(BAD_TFORM)427
b(261)190 b(illegal)46 b(TFORM)g(format)g(code)168 4863
y(BAD_TFORM_DTYPE)139 b(262)190 b(unrecognizable)44 b(TFORM)i(datatype)
g(code)168 4976 y(BAD_TDIM)475 b(263)190 b(illegal)46
b(TDIMn)g(keyword)g(value)168 5089 y(BAD_HEAP_PTR)283
b(264)190 b(invalid)46 b(BINTABLE)f(heap)i(pointer)f(is)h(out)g(of)g
(range)168 5315 y(BAD_HDU_NUM)331 b(301)190 b(HDU)47
b(number)f(<)h(1)h(or)f(>)g(MAXHDU)168 5428 y(BAD_COL_NUM)331
b(302)190 b(column)46 b(number)g(<)i(1)f(or)g(>)h(tfields)168
5541 y(NEG_FILE_POS)283 b(304)190 b(tried)46 b(to)h(move)g(to)g
(negative)f(byte)g(location)g(in)h(file)1905 5809 y Fg(39)p
eop
%%Page: 40 40
40 39 bop 168 573 a Fc(NEG_BYTES)427 b(306)190 b(tried)46
b(to)h(read)g(or)g(write)g(negative)e(number)h(of)h(bytes)168
686 y(BAD_ROW_NUM)331 b(307)190 b(illegal)46 b(starting)f(row)i(number)
f(in)h(table)168 799 y(BAD_ELEM_NUM)283 b(308)190 b(illegal)46
b(starting)f(element)h(number)g(in)h(vector)168 912 y(NOT_ASCII_COL)235
b(309)190 b(this)47 b(is)g(not)g(an)g(ASCII)f(string)g(column)168
1024 y(NOT_LOGICAL_COL)139 b(310)190 b(this)47 b(is)g(not)g(a)g
(logical)f(datatype)f(column)168 1137 y(BAD_ATABLE_FORMAT)e(311)190
b(ASCII)46 b(table)h(column)f(has)h(wrong)f(format)168
1250 y(BAD_BTABLE_FORMAT)d(312)190 b(Binary)46 b(table)g(column)g(has)h
(wrong)g(format)168 1363 y(NO_NULL)523 b(314)190 b(null)47
b(value)f(has)h(not)g(been)f(defined)168 1476 y(NOT_VARI_LEN)283
b(317)190 b(this)47 b(is)g(not)g(a)g(variable)f(length)g(column)168
1589 y(BAD_DIMEN)427 b(320)190 b(illegal)46 b(number)g(of)h(dimensions)
e(in)i(array)168 1702 y(BAD_PIX_NUM)331 b(321)190 b(first)46
b(pixel)h(number)f(greater)g(than)g(last)h(pixel)168
1815 y(ZERO_SCALE)379 b(322)190 b(illegal)46 b(BSCALE)g(or)h(TSCALn)f
(keyword)g(=)h(0)168 1928 y(NEG_AXIS)475 b(323)190 b(illegal)46
b(axis)g(length)g(<)i(1)168 2154 y(NOT_GROUP_TABLE)330
b(340)142 b(Grouping)46 b(function)f(error)168 2267 y
(HDU_ALREADY_MEMBER)186 b(341)168 2379 y(MEMBER_NOT_FOUND)282
b(342)168 2492 y(GROUP_NOT_FOUND)330 b(343)168 2605 y(BAD_GROUP_ID)474
b(344)168 2718 y(TOO_MANY_HDUS_TRACKED)42 b(345)168 2831
y(HDU_ALREADY_TRACKED)138 b(346)168 2944 y(BAD_OPTION)570
b(347)168 3057 y(IDENTICAL_POINTERS)186 b(348)168 3170
y(BAD_GROUP_ATTACH)282 b(349)168 3283 y(BAD_GROUP_DETACH)g(350)168
3509 y(NGP_NO_MEMORY)426 b(360)238 b(malloc)46 b(failed)168
3621 y(NGP_READ_ERR)474 b(361)238 b(read)46 b(error)h(from)f(file)168
3734 y(NGP_NUL_PTR)522 b(362)238 b(null)46 b(pointer)g(passed)g(as)h
(an)g(argument.)1695 3847 y(Passing)f(null)g(pointer)g(as)h(a)h(name)f
(of)1695 3960 y(template)f(file)g(raises)g(this)h(error)168
4073 y(NGP_EMPTY_CURLINE)234 b(363)k(line)46 b(read)h(seems)f(to)h(be)h
(empty)e(\(used)1695 4186 y(internally\))168 4299 y
(NGP_UNREAD_QUEUE_FULL)c(364)238 b(cannot)46 b(unread)g(more)g(then)h
(1)g(line)g(\(or)g(single)1695 4412 y(line)g(twice\))168
4525 y(NGP_INC_NESTING)330 b(365)238 b(too)46 b(deep)h(include)f(file)h
(nesting)e(\(infinite)1695 4638 y(loop,)h(template)g(includes)f(itself)
i(?\))168 4751 y(NGP_ERR_FOPEN)426 b(366)238 b(fopen\(\))45
b(failed,)h(cannot)g(open)h(template)e(file)168 4863
y(NGP_EOF)714 b(367)238 b(end)46 b(of)i(file)e(encountered)f(and)i(not)
g(expected)168 4976 y(NGP_BAD_ARG)522 b(368)238 b(bad)46
b(arguments)g(passed.)g(Usually)f(means)1695 5089 y(internal)h(parser)g
(error.)g(Should)g(not)h(happen)168 5202 y(NGP_TOKEN_NOT_EXPECT)90
b(369)238 b(token)46 b(not)h(expected)e(here)168 5428
y(BAD_I2C)523 b(401)190 b(bad)47 b(int)g(to)g(formatted)e(string)h
(conversion)168 5541 y(BAD_F2C)523 b(402)190 b(bad)47
b(float)f(to)h(formatted)f(string)g(conversion)1905 5809
y Fg(40)p eop
%%Page: 41 41
41 40 bop 168 573 a Fc(BAD_INTKEY)379 b(403)190 b(can't)46
b(interpret)g(keyword)f(value)i(as)g(integer)168 686
y(BAD_LOGICALKEY)187 b(404)j(can't)46 b(interpret)g(keyword)f(value)i
(as)g(logical)168 799 y(BAD_FLOATKEY)283 b(405)190 b(can't)46
b(interpret)g(keyword)f(value)i(as)g(float)168 912 y(BAD_DOUBLEKEY)235
b(406)190 b(can't)46 b(interpret)g(keyword)f(value)i(as)g(double)168
1024 y(BAD_C2I)523 b(407)190 b(bad)47 b(formatted)e(string)h(to)h(int)g
(conversion)168 1137 y(BAD_C2F)523 b(408)190 b(bad)47
b(formatted)e(string)h(to)h(float)g(conversion)168 1250
y(BAD_C2D)523 b(409)190 b(bad)47 b(formatted)e(string)h(to)h(double)f
(conversion)168 1363 y(BAD_DATATYPE)283 b(410)190 b(illegal)46
b(datatype)f(code)i(value)168 1476 y(BAD_DECIM)427 b(411)190
b(bad)47 b(number)f(of)h(decimal)f(places)g(specified)168
1589 y(NUM_OVERFLOW)283 b(412)190 b(overflow)45 b(during)i(datatype)e
(conversion)168 1702 y(DATA_COMPRESSION_ERR)137 b(413)95
b(error)46 b(compressing)f(image)168 1815 y(DATA_DECOMPRESSION_ERR)c
(414)95 b(error)46 b(uncompressing)f(image)168 2041 y(BAD_DATE)475
b(420)190 b(error)46 b(in)h(date)g(or)g(time)g(conversion)168
2267 y(PARSE_SYNTAX_ERR)91 b(431)190 b(syntax)46 b(error)g(in)i(parser)
e(expression)168 2379 y(PARSE_BAD_TYPE)187 b(432)j(expression)45
b(did)i(not)g(evaluate)e(to)i(desired)f(type)168 2492
y(PARSE_LRG_VECTOR)91 b(433)190 b(vector)46 b(result)g(too)h(large)f
(to)i(return)e(in)h(array)168 2605 y(PARSE_NO_OUTPUT)139
b(434)190 b(data)47 b(parser)f(failed)g(not)h(sent)f(an)h(out)g(column)
168 2718 y(PARSE_BAD_COL)235 b(435)190 b(bad)47 b(data)f(encounter)g
(while)g(parsing)g(column)168 2831 y(PARSE_BAD_OUTPUT)91
b(436)190 b(Output)46 b(file)h(not)g(of)g(proper)f(type)168
3057 y(ANGLE_TOO_BIG)235 b(501)190 b(celestial)45 b(angle)i(too)f
(large)h(for)g(projection)168 3170 y(BAD_WCS_VAL)331
b(502)190 b(bad)47 b(celestial)e(coordinate)g(or)i(pixel)g(value)168
3283 y(WCS_ERROR)427 b(503)190 b(error)46 b(in)h(celestial)f
(coordinate)f(calculation)168 3396 y(BAD_WCS_PROJ)283
b(504)190 b(unsupported)45 b(type)h(of)h(celestial)f(projection)168
3509 y(NO_WCS_KEY)379 b(505)190 b(celestial)45 b(coordinate)g(keywords)
h(not)h(found)168 3621 y(APPROX_WCS_KEY)187 b(506)j(approximate)45
b(wcs)i(keyword)e(values)h(were)h(returned)1905 5809
y Fg(41)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF