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
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
|
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.96.1 Copyright 2007 Radical Eye Software
%%Title: libidn.dvi
%%CreationDate: Mon Jun 8 12:41:10 2009
%%Pages: 101
%%PageOrder: Ascend
%%BoundingBox: 0 0 596 842
%%DocumentFonts: CMBX12 CMR10 CMSY10 CMMI12 CMMI10 CMTT10 CMSS10 CMSL10
%%+ CMSLTT10 CMB10 CMTT12 CMTT8 CMR7 CMR9 CMCSC10 CMTT9 CMTI10 CMMI9
%%DocumentPaperSizes: a4
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o libidn.ps libidn.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2009.06.08:1241
%%BeginProcSet: tex.pro 0 0
%!
/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/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]{Ci}imagemask
restore}B/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
%%BeginProcSet: texps.pro 0 0
%!
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0
ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{
pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get
div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type
/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end
definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup
sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll
mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[
exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if}
forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def
end
%%EndProcSet
%%BeginProcSet: special.pro 0 0
%!
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
{userdict/md get type/dicttype eq{userdict begin md length 10 add md
maxlength ge{/md md dup length 20 add dict copy def}if end md begin
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
save N userdict maxlength dict begin/magscale true def normalscale
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def
@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll
newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto
closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N
/@beginspecial{SDict begin/SpecialSave save N gsave normalscale
currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N}
N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs
neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate
rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse
scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg
lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx
ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N
/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{
pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave
restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B
/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1
setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY
moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix
matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc
savematrix setmatrix}N end
%%EndProcSet
%%BeginFont: CMMI9
%!PS-AdobeFont-1.1: CMMI9 1.100
%%CreationDate: 1996 Jul 23 07:53:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 58 /period put
readonly def
/FontBBox{-29 -250 1075 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E394A533A081C36D6F5CA5FED4F9AC9ADE41E04F9FC52E758C9F45A92BED935
86F9CFDB57732045913A6422AD4206418610C81D882EE493DE9523CC1BFE1505
DD1390B19BC1947A01B93BC668BE9B2A0E69A968554239B88C00AF9FBDF09CCD
67D3B2094C11A04762FE8CC1E91D020A28B3C122D24BEAACF82313F4604F2FEF
6E176D730A879BE45DD0D4996EF0247AEB1CA0AB08FF374D99F06D47B36F9554
FAD9A2D3CE451B7791C3709D8A1DDDEFBD840C1B42AB824D5A0DFF0E0F15B0B7
22AEEB877FF489581DA6FA8DA64944555101EB16F7AB0B717E148B7B98D8DBFD
730C52937E226545CF8DC3E07C5BA30739BAFCD0F2B44275A6D503F582C0FB4F
449963D0AD2FAFDE33BA3D77BCA9D1DF878DDAFCA2E22CC4BACD542B282164C7
97C2BDE318AF9D501CA21F6E662E7AAB75A5F24D2C182E598D175D44E88AB19A
E7CD59584F95B389183EE21B525BF52A3F23C0FE5383A5565A19361D716F508C
AAB78411CA5A4D27552CC1C435760D5A89D535B71C593E755C616661363308DA
A683F54ED0C23FB2C225A008392B0B719F66F11A946A090B7C00B662A3C69599
B4ECB0CC70C85C4BBBF207E0026F6C7A19F2ACFB7A60804FC98A4BFFD7BFFF2B
9529E6D9D4238002BBC255BC62959D6F3381FE06E0621B879D5FE5B541D45A1E
759A6E7DC32B1D1632368D09A97039DF255B6492B1B2B7E2C1434E8306ECA7D3
5A79B6D614B4979F10988BC76ED53A5F45315CD7DA216221F842FD0F3E050DD2
BAC23C984D506D8F7D614BCB6B244F5F41321549BB0BD041FBF3053307168680
3435E9C9445A59A7C666418C4F2512C32058B1CE1EA46C7839C6E372F6CC60AE
2CF46DD2F130B532DE8ECD42D9204500E413799E298CF6426F28D23BB7216BEA
1A618B3ECC61B44DDEF0BB22D640B47C09AC0DF378CE68FC9CD88BDAE9ED89CB
431A5CF9C3E9528FEE7A9936C2B1CF7B38DD2B95773F0EA0051607BE1B0B3588
A8B907A5EF011B4622C5093A7B107DD1EED6FEE9536DECF1CC96E65373D0F433
30AE3C094654ABF4698C07F8C74E71D023DFD242EE83B1306786124DD8C6BFA7
801E66CB944BE7EBCB3FE803EC97067AF7AFC8A4E9AC9D11
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMTI10
%!PS-AdobeFont-1.1: CMTI10 1.00B
%%CreationDate: 1992 Feb 19 19:56:16
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMTI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 76 /L put
dup 101 /e put
dup 115 /s put
readonly def
/FontBBox{-163 -250 1146 969}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F
21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6
06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF
55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5
B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86
0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9
1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961
7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A
7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402
356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B
19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2
C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F
244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B
AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95
592943209E846E55B4CB54F6658CBA3C0B29796D69D0435D5431ABECF3448C15
98CA2F36F3659E29AEB79355EC2ADF835CF0886C21B766B9DEBC3950B5B3B496
2E06D980A8C60305B273232D4604F12632FB4F1B2F9703952C823C098543AED1
CFB4ECF259A11985F0C944A57B5AFD853374FCF12305601200C2A393E2FC77FD
F78C2BED60AF8B7CDA6B5746055940D7754D9893E0E5644496F96B6A10D7ACE2
9D848CC0EFE167A3916FB1E339DBA774DB743B61136CB1F947D8AF1AC91CB491
216DF44F09E32F9CEADCD17F8D5139327E33DCAAE2ED1AADC19C8389E15174AD
B3176693A20ED0F5687159B92E079B68C3E13BC6D53A683407C92B9AF351FCFF
CBD0080F83AA7AF2129D3425BD7A56932D411F47DDFE71CC93F515EE4E0250B1
289867C2325A170786AF541F6BC298844D1AE396D195746502D050C33E38A75C
D5E76D6CED80B925FBA7BA64266C3DC9205FBCAD67DE0846E57C32067D454B6D
75AC24E2F5DD5A32CEDBFB6D8FFD2FBD76A9E0804DCCBE0B74DE7DF2DFA900F2
7B8FAC7C9FA87C0D0A10B4DE447483CB62DF69D545BFEF3AFA61A2C4E15D6417
11F626DCF70C075E33C88BE90B738213A4019BECED3E9CB1567AC5FEE6F6E97C
1711C5B0A571BA0D06C314F99CDD675D0DE74D5CE343F1F0A4CD704EE02972AD
D8618B23B18CC9E838DFDC7BA23C901EC380108DABF5DCFE2DAAC1A42CD0F813
76218D374594DDF79CD25BB6F390144348D565B48135F69DCA7B1C7990F1D425
21D28FF5AD9CF4D06DC3010A8237318BA8F736C23CC6CBA40FEFCBACCAF9C401
8AF0F3C2FFEC4CEB34DCC6A5AA9562F0D416BD94E4A6B9DB9C9024CBAACBDF86
2A11DF29CA392BC64B66B510C0F4A45E1DF3264F7DCF7505AAFA2B53A1116A4F
67F3D23805CBE59A8FC493D770D4DE96B25CC6DB30FAC5BE9B8A08687F112AC6
5D6385A8E40961D4C182C194788F0D7FE4FD2EF589A2471F6074DFACB4A33DF5
5A3855D12D1E6A84CCC783F2E3D68161E411C2D6E90825DA4EA289554ABE18DC
A57AFA8544E48B84B57BE2600D2301F7159E58EA5B942742F85674
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSLTT10
%!PS-AdobeFont-1.1: CMSLTT10 1.0
%%CreationDate: 1991 Aug 20 16:41:43
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSLTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -9.46 def
/isFixedPitch true def
end readonly def
/FontName /CMSLTT10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 39 /quoteright put
dup 46 /period put
dup 52 /four put
dup 67 /C put
dup 84 /T put
dup 95 /underscore put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
readonly def
/FontBBox{-20 -233 617 696}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0528A405DF15F03DB1C3DA8B850431F8
0E5F73DAC973450D1ED0530313057E971FC7E7CA88E61DA6DB9A5CD61F0F76CB
4DE9105D0627B8DDF51A655098229920CF429CDAFC3F7788C95E7AB30E84F840
8CED52E98DB4CFF161D2E62B0D28CB8B0AC82E7A8D2C007953BAFB3056D66079
8064956E257D31C13509FB81A250D9E875C77A4E91CC49E9FB3C0718B2F691D4
B4A64F351F4DD68133DED7629B0D96E5124584A16FD2AC7A3EB244A934FF059F
ED7297B0505F3C2994AD66A3CA5D2728B034DE94B64A8AFAF341601BD4DB5858
C9950A8BB9C598B8960609F48116ABA8C007190AF0ED335EB5BF61BA6871FA5F
EAB5A26AEB5C7C352EB80799CEB983F19EEFA801093F62086AADD0B80BB6580F
2CF61B1390FA56DFA1A0B61C58DEF96BA767A8A37EA44730783C600706606C60
4EE74EA99B7C0F8E2525C8847F3D31907C3C483EFA98F6C416B6B2C343DE6370
52FAE423008D086A76A1FFB327CC7FD84B1C66B203A4F41582F4599A82F8362D
38108452EACCC937FFC4F3ABBFE3628DF51367DA6BA3F6826FC6522D6AC5E8EA
00BAD300FFB6DEDAB93237704202BACD030AA824B1E97C0AFE17FCE8C75F4FA0
B8A74329A6CF1788C7EB34DA7307411E9AD7ED8D6582884456E06E033B4FFE7D
CD4DD8B06AD01340CCCFBC382C18CA451E4C886B01D082FF8CC5793F4727C3DF
B52B4F1A242F31D1EB79D1E39A1D4FD13D6C5E2A42AD4B4D1CC4EE7BA0E5F80F
802E5AB57EA15F4DE44D82AC408AA86D4BF58EF967FBC6497BBC7F017C0598AE
32CF865DFFF0FC7FF9E6DCE9B5F2F4C7491AC674F46E8E7660452CE0A77C1EE8
00DE382ABED85350033F8ECB97398E4E0A75D4877A107F6A909D0C76D14F9A96
8A6CFDE3FD9D79B6FD82693A9F354BD2ECF30C6D99F7AC522F8D6C93EA214F7B
3D0ED77F042ACDE9414264C0698E86398562E2C640DEBBA0734AB4C3ACE3907D
CC79E6B2C6C3C3F9B01526E8CD98237D4A9B403FF8CE3132222FA60C196A19BC
A2393AE6935C0F8B67FC1D1A12A38FFE95A66EB02C0FC15DF80611EC5F766065
C2F919D30115E4B9B2DF8E06119C2D412BE014B3250E6C19EFCA872A584AA020
8F164DA7F2EB28C7482E30355FD7F4D748370A8E0765BC18D8B02C593422CC9E
2BB241D1D6B25BC33ACF6DF52252D220C56729205B93A091B50B6950802C4AE1
A40FEC3B01F1893EE9AEC02D7D238C5F777B09A64ED97C40F65B0BDC0FD86071
85CFD0535AD50DF7CB998CD57531016A50C6FE0491B8AF86FA06911D4D41CA44
E66D39C6D922D1CAE808DCCC8465E5F4535A20223227982AAC9AFEF0B93F1949
51210B3E1C00DC3162385E641B2B39C78111CF5A22E6DDA34C544E3DBE69B2E8
01E1D210DE6109AB63B82C4423DBD65DDD6267421B0098FEE41043721B061866
3B94FBC877D92124C1B1946A67B163CE0926D80A8FB1168804DD07A58E9B88C8
7F95FF44BA0A7D765BDCA0B7D78A82D9BA76D916E24BCFC5F99E874423C3D0FC
F25254071271415A51425372B990CB341CCF507C4184EE044E2977D504B72D66
82D98EF7A8F6B228DEDEC6E580EA66F131010CDB0F410009AD324C5746F0687A
53F252F9C5816D8F7DC2531ECBBCCE77100F1B45420D3D5D17EF23EA3FB5B28E
17485AAFB0A84B9E2A8409FCFCDBC14F6023D3CDC5F6050B26D0A4C2F8A348FA
B242D018A7109B1E7E74BF83D9DD31F8C0ADB922EA778A5F22269B83AA935F06
96ED8AE63F3A38097E9742F6F86AC3AC02E0C52FE5B3187CCF376D75C160CF24
323E6AC504389C86AD376B5F7C8EDF8ABF062CBF42F26B337AADDAA6BC8BF6F2
88E12EA2D2D72FAAB44A7EB77B1BEB805FA0F17463200436554F24ACCADB73A4
F128E851A5895CA243E0B7E9698CE2B8B7EFAFEEC803760F1E195ABE25B94505
BBDDBF646C5D0DF0848DD7DDBADDA7517D72B5F08341B62D40CF66A8DD4BA371
A06C5A69BF65DDACD42ADE4B8AFCEAEA54F96160BAD5F265BECF5F7C0161BCE2
CBAA9401A15454D5677F4BD1082FD70709121F94EEC9D20E7203EF5B677B0DC1
5F322302E6A1337419864B0FF4590858BD2D48448449A0C56628D58EE84CDD9C
9F53E26A5B5C81DB56DA354F211BB58CF3CA6743325EABD507DC120D4B3D3634
97C37CF7B4F08E4DAC750DAEE488F315A8CB075978E8515C2998B0BF0F88870E
99FB7CBA579B359EB10C559A5B82B805B71A784C519D59E4181428337E2320F7
47A1A962FCECBBB7A20A73BC49CEDC8C2CB18BA8356CBF473A20170CDA6043D9
0D827D7A2F84B9DFE100C51B1E074DA6DD4CFF111BEB5092085F5F4E9D5F27F4
225617089AA74BD761047374CDCC50BFD1ABFAA1833C8C595824B8DDCDA89AD7
A09BED961FCF3AA7D2214A5F7E6BE8D5245E2DA5B4156AEEEA9DBCCB982FCF67
FCF11E687878F4E631F22CB7C5D2FF47883FAFD90F3AE940B9E06B783A9A62ED
FB3376A975019AE256AAF6FB720F9248A196449569B9E2FB0FDAAC7E41A3E63D
CBDFB04F7B86EA896A8B15B4A1AC5C006CE20E8B8FC2CB07F279B7A3C10457CB
37DB0C136F48E0FADC1BB30C0D6EE275B2E6C622DD03221484255A246E3FDF7C
CDCC4420629446257B69BA6AF63563F20C8BC01EDB150C1E4C647E6D4B839BFC
0069B108979FC6C4130A993A311771D12AED3D3BBE038C1408F4F0EDB4ADB0B9
F2B15CD05AC89FC1258DBFAB025D3307D6511A022B62C55C243C986D6733C137
6A9D1D962A0410142638104AA163448A75EA08C4B8A888AFD59A1259E998EC4C
B6082A1A551321553D60ED640964A7A6A90B9F69D2AB50C87B605D1E5C8C5645
CD1DAAC077020E3F728FA64BED2CDCBCBEE120183EC7E91F520D5CE4C0F56CD6
607C74BCEDFC98328E7E40F3C068F077F8F0751C1521D970E933904BBA328A5A
CF258BC044CB98EBFC5F8A769153D604AA2C2CBB194C87745340FD1B9ABF5E51
910813F51E093515CD87CE3D35670374B8CAA043422E1DC5952DFFBBAF7E39C3
58266C99E53AA6F13C9E4ED914668AD6EBBAEBD23B174544A8C5E8194130C9DD
487BA1ED33DEDCFB1DA3094ED90B2EDC7322B06B806981249EFED81BBED50A3C
1F61B7956AAAE19876EDFB712D864993C8FF3E1652EA1E49F185ED30DEB08191
3576ED39E736A040398574CAECB8EC40E3B94DC20668FFB7FE41DE9D03AE283F
6EF225CB0A8986E99E37F1552ED063250D99318D39D6FD5FE6674053A4C6DF44
DEA34EF42FDE894D55AABBEC2554C46CFB70E681F0C403B086748387C83D6F71
C96B1E8056FBEB245B3DEFB1B607E74B51E21DFB9A8FD94C9795F45EB8B91F6A
4B63CC3FDA0A76244B1BC29F2822F987EDC5C4B2DC92FF8743733B93D089C9AE
ACD96240588AC68429787239019FAC3FF62DCBBF1E4EE1256351B599C591ADBE
FA03E538BC26C6DFD6BC23A0B474B4029E7D12F29130E56C4A45F6A629F5487E
69FCDFA96DE4673E16FF2BA01C8B6AF4070DCF169FD53BC58692FF1EC6459254
60CF317C9B1AC883182CA39E2BFAAA044B221694934B4B09AC186C87DC03C225
6EBE47DECCCE9B3A8BFC16632044070FD12EFC2282260C926645E483AEA01E61
7531B7D24DB48EE833EA767325D39A7515693321745DECFC04392492D82D37F9
A94CEC8BB222FC63C9E5181BBD3E5E415E665D9A8EF90A1E36EFB51C4F38B398
F2AB969203BFD8FD30B3EF5B0B21FD85521A03C886AB0A0B88254A3C9BF03B9A
677BCF2C5EDAA35A020F92C9794A77428916B2CBE75F27F97FA6AC0B155132D7
0D29CDF8E12708736C8CC18D90A63F859082A819CD6D577C9F1314970D9BAF7A
6DF5826870E018AA9FF5BDFA067828B38FE84D5D5BCFF6A53777C4190B768511
A126A5DF1E5C5D1A16692FC02CB80E6BD3451A637D1821AC7BDCDA808D72C5BB
C64D94BD5FB1F06CB2BC6081D7328051BAE08CDAC321A48D7E3C02BE1D3D1377
61C9535B8E2100B817DD1F07693F0270E40041234C2D8846AB0518060EAFBF8B
A59BE72D2BAEC6EC59BFCD400C32F48D8D35339989BC95C2B317B666F414EC12
253ECFBB8AF78C513F4A747A5A79C0544AAB7F7A9F3413F5D91CF99F51EF8341
BBF3A84C3019FFB3F28AA48F1D87871D026369E6A0BFA296262EE2A65E4ACA09
1AFCD0C1F3043C333C6BB31B7257CA3DB4746A80865E4255CF40FD1E029E644F
BF345B2210BCF532A37C28BE20DF6F2BB81E919175FAB36A626256CEFD870710
E1550F2847337BC8395666BA10D61B09A6AF4968C60C772471F956F9C03DB7C5
AB15DAB8FDC5F72975358B8804F0FEA01F6D4B9128D8DA6B2DD541F58285C5EF
35C214839F2A5ECB14251A6C2FC3859F7509AE779F4878F452B12FE4F78CFB72
F098CBC4E6B0DD672DD615A757F2679F5D8D3A4B6E1526887B28D83D5358850F
4E28D691E7631A9049AEF3F3767BF027E841902694643B9BB27D3953C4456FB4
9ADE84261546F1D93F33D5FE8160DCEBEEE0EFE5EF366934EF19245A18EC451A
9C5254E4C0BED9948ECC53E60BFA1C2D376616F6BCF85008CC31165C854FB96F
857CF6242330FB483001001184512AC019AA8905DF23F06D0B7828791461A36F
1E08C0E36F059B6DBC443AE32018BD181C2277AD9D7F374D613170C86416334D
D1BFC6AF96E1AC36C836EB7CCD159EE970C7922FF5F58643B9501502AC6B54E8
515CE45E621F8140E5DCB0CCB7F00F38DA2E1AAF4164C66B9961C9363027FF19
05F762E796B93E3689EB2A97C37DB969C07E1E39F53CB4128101EA083631EE5D
F8363B28077E2085842CAC9EA549B2072167FD6EDB80B8BE1B6D61481F25B9EA
A584D5A477DE0596D47E8ED89FC7DB85544D5A840BF6441EC9AC68AE495E8F47
A120979C0CD25FFB7F4ADAB4D131992EBACEA1DD5DE834F6BEA84D13BD539E20
70199505E2BB089C617D25F54CB7F73252547156A4E575BBBDD6F75149B4E5B8
E85FCCA0FA5EA8C241B6C1504FD9134C7B22DA8180BCC558A72208F1209519E3
5E4C6E32F83D5F876699A48FCF0DCCF44FC06859E517B2C25BA00A8B85F0E301
D2A17E9D59F9CFD15C0F0E66375B1F6BDC500E02175EA8E50266A1C3B8BD23BF
12E79DEEE2AC1D4CA48C8D62AEE598E79C8A522C66A4FF1A1DF757C48E4E525F
ED6817933D4E872722CFDC18D3CF57442CBCFE57C59BA41265E0719D7677E26C
25E4611AF1D70FB3C5EA88380840116D561C8BBA7D1388FD9E183C82AD7776C2
59D0620F597AA45A9A345D8426D02C81D56F9740FCC8EF5EA6354D526D44A019
E9B1739BB02CC3495717DFC46C6E71EB0AE07E6715E1ECDBF7E1F5BE597B6CAD
E2EEAD219DEF40051D26326B93D8AA7E3724D7998A1B0745893CC9A0C02332CF
8C09C7293E2F23395F8B7922F766080AA7B0B0772861974D3F347B8DCC6FF52E
B3A1CF1E78F1867E80A93722A42BDAB4EB759CE89389080339644098F0321C17
8D3D3F7DFCBBD6CED71E05FAE86646FDC421D265ED7437927A2EFBE0CF11AD4D
FD4135631614A4307ECE4AA7BE08B089FFE2DBA93BF5ED7457698B7ACE22AA55
30AB9EB53BCBF034B1D22B8DED5FFAE9C7B8B484007C614A13C35260D81CDF80
E0501C2498C2ACAEEF03DAD15211E4287354D0BD7C57C6571AC023B708260AEF
86EA021722DC6113833C25790FABCD5C20822CDABFA4E5240B9B972F843C5FBD
4BF144920464967F50213B582DCDB5815A8D5E334A3DB9D59231B72BD6BAE237
D9030017A33A6EB979ADE115EE6A215B6AB11B9B310BF94C0F88C766C52B07D7
911DB37A54F9370509F88B43436A762755FA06A4E9BFCDEA7F6C22EC678ABDC7
0BFFC7BF150E980DF0260037EEC518686143659E3C3266E02C122B69B56D58F8
8593FCF82E1DFFB6DD26F11AE382C59A10FF02F4AF78FA0CE4A2283C46B32B57
A1499738C3F96168EE551B6CAFBB1C827AAF2FB9661FF1596891C5E195ACB9B2
94B4C1A430B23A4B30F4745D583BA753F3BF148D16741279A815082B7B31545C
63201DAD0F57C343DC98CA69130D9C25F0C71B7F6E95DC1DEFBD4010B9D70AAE
4237546BAE5525B4E229E54D4DD463DA111899D4F85C7E727998B36730D17AB1
117DEF21C2CD57C096C1720E10B8D59FA10D9F19FC4277F4DA8B48B9FABEDD58
09BDFF73AD60D0E5BB306E304F166751A8F48467E010637F884217DF3A6FD188
AC947911F550C212869ACBEEBC5746C1DAF22A125C43DD29CD02774DA9365E3F
A4BF77A5CDC291373935D632E8B07082120DCC312E158D355C0E8AAD26363B56
BC45360DE5846AC61F7625A2609DB34CD3485B602CD134008D0074F207294CF5
7519987EE1C5A7B26340A4392DE0FC79FE7A6A8F4265DC842D7BDAC7CA209148
53E63A45E6FE13B0BB8E4BCCE822D2D0918118CAC34A175A5DCA7FC1C6DF7422
9FD94C3C79A0F10A818E8AC15CEDD5AF3CCA4A3274C677B6C0FFC22C1F04E85E
87E8649DD07A943E939DB2B0C9379DCDFB61B3CEAF7CE841FF71E0B0A089B287
8A942EC8D603BED18EA74B684CEC2C0CBD447AE5970E7033458A9332F5AC1264
B72523C5C9C4CA5F69007A23E7A6BD045BAEA55875003F7366127204D4BA1B10
0E07F991B48DCC6961101502C12D3B555DD82BBD605B18A281244FB00A28131E
0245489EA450325408D60BC088B70AE5BEABD53899808503BA7D5464F37CE9AF
E66AB929236AE3C40A4B0123982FE7F32642B0CF4CD97725D1052C2E041ABB35
884E89D4B41159841B96C5C0CC702A657D998CFB41E53EEF9A030ED13AF70800
BEC30FC4E5E6B0E4C0A67A4EB98EDB480C4B8C925CE008AB99B4D4A0B43A3D8E
EDCAFEAF1533C1C2D8EEB4695D4DE181B4FCDB893DF84FAE558E6CFC33F9D2A1
E0D432E05A2CDD6FD8306C4C4B4EFD255B421B9DB727B36A649A93AA1EF8D635
E3DCF6750BF91B65BE42767D0668C4EEA2039AC4D07CBF04FC96E4063F8824DD
7ED6F09F13E086CCD73CFE70F2D002A3C37ED5251DA1F21D7EFF7DA4CBCFECCA
7B7CE736E75217028B76DB0E56FAA99B80A6C9B7C1B2D1C7B6CD1BFA6F0FF63A
AAE9E2160496F933124C60A739FDD86868C8024C1CA1473049F47CE59F3B118F
DFAE18F483E8D27C74C616B6068065703E39D544D32D3A1E126E4EE718E696FF
244F7BFE220205DD7FF6B875B854E9035F01B34F6245043414DD96D26FF92FA9
CA9C269D0747BD67CCE3F4FE25A73520A1312B52BB7C9CEF958E915E49CC6E12
E4D88202CDBF3C55165BF926AB8C48C65252435B4D558815CCE2A380A86E8966
835CDCB1BB91440E107B24778D2AD2E64AD6AA2FBAAC3C287DE368C9720AABB2
833CB80DDE605F3CFDD2AA3EC99E4BA5403ECE1A237910AA
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMTT9
%!PS-AdobeFont-1.1: CMTT9 1.0
%%CreationDate: 1991 Aug 20 16:46:24
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 59 /semicolon put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 89 /Y put
dup 95 /underscore put
dup 96 /quoteleft put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
readonly def
/FontBBox{-6 -233 542 698}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D1E
2931CE5F5D18C658602059F07BE66E6EFC9239D7AB2FB8A4CBD41675B8ECF279
650C29E53B14AC0E392A664848C1844B1CECBB2D5CFB72D0916B675C9A9A1E35
F12696A6F628473C604A95376468E06E295AD6F76CEB939D94113532050B9D5A
D2F41A9EFB9424D986612313B89EFE9C8A71313340B248F6853B1EDBF02B7F9E
F447220FE131D7D54CFB8AA1281DBAEA73E665BACB1F164552CC0CEDB63BD4B1
4A9AE8AC6FA02242DBE8DA46B64B6BFC11762F0784F216FC8B9120D688D1705A
438B14F5E5DEAF2A98408B3B64620DE3732A4DAE6D08D5D97E34C75DAE19EABD
BA0796165C1151BCBFB1DF8D29A63A8300DBDB9E3323CB82D0337598B83F4F2B
A97CF5196D4D1CEC1EDB8966E548C0D9C194C932319610FB43EA1B86322FE641
AB48770FF13BD475A7267E142388563D1A400419C585B22A9886074687BEDF74
D905BE8EE440BA2ABF28EAB673399B7F129B9729DD5564C681954621903B84BB
CAF89AC5ADB2932472DF29ADA2BDBDB4D05F65F28F5F4C529613D61858E0074A
082A852710A62A147C966F2B85B51B0BE85F11D2057C66FDD61F6C5755367980
9F4DE680601D4DA41B46F8D2148450000413C27AA39B586B74B977B25F0FD3C0
4BA1EBFAFDBEC531EA1210365091671CE3C86A6D4BC591C37DCC02570042575A
9D24252D6E01A8603753934D7EA5CAC1BE4E5AD2BA047DE8F3983B23A8A1511F
B08D373B69E5076CE4300137B8805EBCC0AAB89BBB312A77835795E3C069322D
42C893A30AD739E2BDD299679B158F7493764F2321E3965141B5ED1C6F4765ED
F46D391A646B30C90002B1C461AEE79E5F094CACCA656CEA3DB921CC5205F328
A2C69F817061D6C60B121EEE844CA5008F23DF098A804D202A649831727E89B2
5F8179E82F6E0BBD6D741E8E75BB167D18F2DDE43CD8F43C3BD0FD1E6F34E4A2
DAB0650F8A4A3DFDF9C4E92837335517A977460886B40A2399C1225F3C6CEEC9
26B415FF077511DF5F1DE65324915807FE55DE096F044172778C70EEC820D9D2
CA2393E85913E87579482C9F12576FCAC1E64FE646FEA73063DCE44707DEC332
CDC716EF7B4FD82D42A696A9745C140B67B9F54813135A1CE25BAD1BE9D5A231
692D233B201DDCE06718A7BE019AA752606AB1BB75DACF8DCFDF69A1894BD4E9
D4DF07A02931E7A3BDEC89C2D17945885C4D937BA2E1846D76A7B8E754796F45
C12E9229B33F9A489464D6C5EAF00C5749D578F2A0A34B0A8FE98AF92CDECD08
7AAB2D5B0C7FB609170C5CA186D8E2C1E2EAE9C57F6F17F46486E9C6250A5F4F
592A9A8F19809BDE8BEF788B51A2756F65D85B2EB851C77F7D9B11E0C217C620
6B0EF9796E51BA47801479CD6E3D5E68C7899DB3E5491495624A6F27DA4F83D2
22ECD4284E12BC1EFA7E13CA82A852A329EDBF490F68CCA1CA74C692B36868EB
2101B758CF94969214EE760FAFAB4C5E74E9F14A2425888B38E38ECF797F3C06
3D480D61AEB7BD90B16ADF37616D2C3C5D4F46D5F8992A6F1A9E86F84392EEBB
C057112FAAF0C65CDBD99500DA825A5B67C4CE68EA62E7E2FBEEF00CCE040D14
590868155482B9EDA4283D933D8EE98933BDD9FEF488F4D3D5C4FE48F2AB5B74
1EDE79A74D40BD46874F4AE52576350F72724F57EF9FF6D1F344EAE7E269B2A1
A97295F0DDC8CD2052C88CF23C70743A08B1E6476FF258462842BFC8B49821CB
EF81B20AFAE8F5F7275CE3B456A6AF756F335E037B80C9D9704221742FD0B246
C39138EF42430E692E959878110D15C17C7531DB2A780E80AC7B832CAA7EA31E
C634F6A786C4110D9004A8B9B5E5157D96A29449B265B614E8A830BE0E09B043
11BE7E6127F07D5CE73D752D2135FD38727C085743EBCDE9A0C055393FC1FF46
B7ADA8569D6E29904FEE75425166EDBBB9490193F1C4C584452A2DA28C7ECD76
3014C6C98E6C8E217B289F63F474067BEF274A7BD21DC01E68517145D3D137CA
0BA1B591468F10C50D5E5F3B94141377FEC079C3F6A2C028C0A410F6149B2193
8254146DD149270D58CF871E8B2F897631A09E9DC5BB25C3227DB9EFEC94B890
DD793EF3D5BBF7C229D8AF154D1C2CFC464A1EC7D17FF866E39D843AAC441F1E
CDE78A638BF27A7A578AF0A2CFEDE5E05416F7D4BF521DE2F48F13E61FAFF06D
C9A060B5774F41308040C9A45392A2824A3B6FD4869C7CAD87DF92F9E537BDBC
A963521E2B2B8477C6DCF37CE806B59A29D9677612F9A190CB733EB3179B8B36
D753C41E0F0A24FC3F58A236DDE642982E6CF599A1C37A14CCD521C4F64251CA
AA825E8808C5FAFB9050FFDFA358DB1D8ACB16FE127640E241AB9313DC418A05
1487A3D4DE759F176E41C95F9D32A1277B19B940CBDF9F9D4929D680C882E6EF
4B836EB33FA47F6949ABD4503B5981B365A635157485830D1FCEBCD106C5E4F2
AA22A2B75B10CC8D0061D3ACF79FA9314E3C81C26D4340085B893560169E2303
F0DB607ABF4DD14778D1469D1AE3B78E760F2B48FEE646D26995F7C27658B122
C1E83A08C0A387305F0B2022E2D02D9D91E8891CF266E3EBDB3EF405BD9DA68C
C5DCE5A5AA45CBDEC0FB828266AA280DBA16BA863194CBFB77B71EA6B17D7E0F
DECE627BCD3DD7F8D114EC8DDD4F0A786CA2AF10E8860CE63F4C0EA178E98608
CDE6C1E78DCA56F90662AE49132B8EF40D7B3F87073952D1DF7AE500349D0FF1
C5A1B6D6E0A4CBC8F19026179F61D3664872514538F9E3F28B626CDF46DC5808
FE23A48D774982C682BB817177A9F21BD6BAF0F4E22873609ED5C9A0EE74D621
0B8449613D2CE9784861C5603CA194A07F5CB030FFDE97C511A9A077F78356D7
7A75C2A3DBA26CCDB073FCA8DA90AC284EA64B02C4DADBE6C100A5948635CC59
55B3A9FD01A53C3C967989691EEB077D1925C649593782C132F246C09A69B7BA
F97C9C7DC81F5B404D1ABE791EC7F9EA354F66CD3AA4E8371BB3A9905F1C87C7
74FC4236D93CD69718812E90F273FFEF6B4BA8283D557C6604B0207EA0657B55
8465F4BC4AB61A3CB7DB826681C66BCA84A95DF63CB289B8905550A023203FBA
E61556E5B0CAD5A83A05C36843453AB83D72A96FAB8A11C7203E6B235253EAD8
5505BBA8239333DBF9730527AF330832976D7A31F2A2F8E5E883C4E90B3F37DF
2C3E6D01FED71FE2E212F37CD2FC027EE9DE51A19263035D530C77F2B323D309
2A48DCF2C8D4E9EB17A0A33D1B403314D70ABE9AD3825260A7DDDFE20A71BF9F
85D73933EF437B377F21A60CED0515E1B705FF94FE53C27DD32D2C73E8D2E28B
6F1E78C9A3686FF5EF5E9870E8D2802106AE28657E7F8EACABD6682A8D7F5C0D
AC65B1E292CE3C7F52597019E77B8517A661D75DE3ABEDDFAC189A39FAB75220
95D9225FF4BCEF1F9F2F1C84F3E2CF2A004173A5FC00389E0E0EF10744227641
EB461B9BB090008DF3EFC4CEF299888C1B3FCEB54B1BEB0FCC26E8F5FF8C90DC
B599647483495B0D941B87F2FE8462544C7258A56C036CDD55516F5FC09CC66F
907C005175065205BC8C83DFA626C84C2416DBA2943310349D0291A778C7C02A
93FBEBDA671459D87591BDE2F91159E34A9CEA92FEDF48B27E4BC10FF54BE8DA
89E4723D4C79EDD2AFC9A7E17486EAAC169D65382099C1F1FD18FBCC553C9417
501CF5DBA50ECE41016733C5B9A7E8143F63BEEACA90494BD9BDD91D0E2E3ACD
3A6259F1802D3C438BE4BD21CFA6C7D455469161E6B3DC046C634B8C886050CE
0DA516BB7829826E73EEA5E4F19F1D40E954286B6314330382C07AAE26F8AC72
CDE0C8AB3B05CCD194ECF99828ECA850A1F824A3DE501066B0BEC68CAF5292BF
794CF459DF48C2975256979473AA3D7EF2908AEAE79980C8BF90D8D8A8A41231
AF22074FB85E7456A552B2731BACC4071944FD926DB3C3BE30C2CF894A27AFB5
EE773F60E5C495A93EAF02FBB41984389B8A4B937B4FC144015017E5413A7829
3D2BCD17BE704133D38FC8E746667C3A0F0759A6EB1907B7CAC5B92746E84332
AE204C4039FFD97A50F225459A38FFA4C7134F3229561BA198CFBEA21A26574F
08999B6C2458F51A99322BC242A59E4BBF2E1C2FB5834A196249FE1EE52E80D4
7B99D1706589F733C2411C52DA478705AA0702C3A43821015905C7086E84C349
3419AD94A3EDF1DFF4002B91F0646E13983644C9F6EF430C10632CDC03B54291
2E602F33812A6561CF9D86656C1A82401CCDFB886271A5CA203BD22125E13D3B
FA2E4564875C4702484BB56D7D70579B4777407C0204D9B970902AA0E51E3335
B6605AA730328CDE247DB1CF494745541223A6FF09226DEB8E3BECC07D5A9ACD
E3D64DE4DD329B49D97369EFE959351B2DF49B3B31174C8D7D961D77DBBCBE3A
9E73C6BC2CE624598CB031A1261C32A540C45FBC089A6C9DEEBA069E2E4BB8F3
E90683AAC23CD5465005FAE0746E20CE38B4EC9FBF44DC6228C0C9AD50FE8BB2
58DD5A4DB2328F4D4285A0C4BCFA1704A1D203974B3639723E7D417E3A1F94E3
ECC4F799271B7AC61394F51F98C42D2AA476B6A0C57EB37B906A93186C092A09
F72EE2706D36B9DFAE84C08F86A261376172AD4F037F89A12EDBCB63E9E1D8C6
3326C0C76D1E3445BE6B600202F6AD8E8B139DA6FE7708DF47D3A8A041B9EB63
C8FB41834AA4E84CC4E1AB699A045201EA59EB753C12543B598602531C40A6B4
B06A17AB608636DCE7E927A6D2928B62D23601A6C6C0C85A6BDB3C799DFF560B
8D4BB430644952FA9CD29890AB55F276BA42F62D759408ACE8297E640B4F1380
1C4B71A95598C06E05F9CC27C18D7E801F4004DFA3C70EFBFCC4E5CDD6870738
5B38208E0843549FEC55E5D694A28B656343EA92A747DC91B3458054347B4EFB
51E7552276606BF404BF9FF90987EB578B57AE6CA26D3474B94191EF664FF1CF
DDC40EC35B48B7B1777749BC9E4DBF97939F6B9C2F70BEEF9A5715F720B4A687
5D81AAA165002875F12543F433A3C303C54A3AEC20822068F7FA827C68BD8E3A
C2A30F0CD08616741CE9152F526D86C3C3B9466C27A26C41A5FC9029B1C11FDA
3AA772910DF31E74B569B9EA1F44446F8ABD8B63ED85E904488C23A4645CB433
A2FFA3E16421E86F48A8EE1A6785BCA89EE587D37E18AAC159DD059B3A518EC5
D58F26D30FB5D6CE2710B47B9D5C486F061A755D030A8A699047093A728CEAE8
9207F387BF2F4822CAF41B1E32B3CF79BEFCDB0BBB9FC78A6AEB2030872D3F2A
AB23AEC857FAD9A757E33FC031BC4920A0328158497A51A70ACD4AA3A980DA49
F4C6A39873E5C2290697B1D4AC9F7A58C99DF276BBFAC7A2C543E7F1E879BD6F
BF64A0513BF3E0671E094120DD08FFFA8C3C4B6D2330101D8DEC830CA9C5D641
87B958EA2BBDADFAAD55DA8CC7B638EA9C509BA76616A6A32D24ACBA8C208F42
16C25B3EA130C26C944BC749EE78A24C0E8774F56A1837D8CB3AB251BEEE444A
40B3B901D2A8925719D9E51B4E9B6C7EAF09FE00B39DD2F33CB2C24E6801656E
DCB77457A5EC5EEBAE443A11BD0406A015BAB31685D418A85F01E31F88A21253
3BCD08C78917A5AC6EF8569E02FB4A3AE46B658D507A7FBC749A23315871A9D8
C1C906B0826A4EDA1C6C6EFAD0CE1213C1D94BAA9B0461DC285BE0AB633A8F8A
750E3A70FFA3FF5FD2E78E8BE5681E144CBD53DBDDC7DC5BDAFD26EFE0A1CF8D
D190C42B2D28B611FF04FAD27DB0E7C3C273E6EE2BC495189F229D9FB3924207
EC6CEFB99821198829EC3C15346E28FF963D4773777D33FFF4E534EAAFAD0D48
3021DCB24CA98D802983E212269FB971F7E80E55BCF97A212B2DE1AF2721C4E6
A4466FA003B81513463A0319B14CAF5859307E950D6B92D9CFA91AF4519BB63C
C3FEC8D7511CE974691D911C73D4E4304D78D6C34DA0F90A719A2E94C993DD13
A60F404FE777611552A15C7CF27578C7BE1E185A428BF6D25C06FAA323D0AA6B
2D450032B23D8F7FF3E9654F916924977E57DD792D191279D5ADEE4EB75EA645
145BF0BB844AA68A2893A8A7EC2FE60F17516F19947DABA9976C2889189D6A53
1D2857D1AA3F2C5DF63403370A884DCCEB54032FB1F79A7339B934183D6C852B
45FDB74251533DA40E6F7A90DB03EEF36D86BD690C025CD7BA8ECAAF269B8BC6
731DF3C2BB1502C47F27E267D02E9072501BA17018F5F4B2AB6E35B70F03951A
72610C597E35580BEA3FE6CA5D937E649FE4585481AD8AB3B4E3257559D97116
A015B5E45024055FF05167FE7F881C71F1BCAAD27A36E10ECD878AF1AFFFB1A5
17BF50513F6F35AA0C40F5F7CE59687C2D65B58FF9CFA36662D1A04294D932BE
0B729C3829F1FE85261FBD8E5A9B3AB35A9324203E58BF969936156580EAB14D
D1842F71B7B6DE7EDCF5DE8C54D95116DC940FBE3E5C96DEED5EB7FDC9A9B495
92067D334F1E23AE042C9D39ADFE188F313CAD7561091B1758BABA413F8405E0
B22FDC715FA860B1599FC0801EEB4BB36FAEFF94C6E19BF5DFEF5839533E98AB
9864EA5834CEBAF028FF0B15D40C61049CE789BF24118893607DCC0C72671159
3F7FDE0FBF721031BA49DF8EFB6DDEB8B208ED72C6123462E461D09F2206B045
373D36A16CD58E9688FE78994517F5FAFD4A40BC7D74251ABF8572E7E067D6CD
1BC02839681F508D70458CB5D2750D13B5405073B086C61E8481C59BE4F20525
4A697A16B7DE1540469A2AD9F19D76FC41C2EC5C0588B8D567C30AB706EE5EB9
66393B19F7D93F9A19D22A3EB740B0BA52ECC8CA7B232BB8317AF9C2F1105BA7
0F71B461FFAF34C3F695B7F73FC7CFA2140AB2D62C3DECFC62918D4FB74459BD
E0B2AA8B43A8727CB65D7D6157601AAA0B98947040D1B120072511821A61DD8D
E67C2FE28144B71B3052F7F45ACDB7E7DC4DB473E15885361BDB8DBD4424618B
CB3CE71869AFB06F4BBCAA8EE9C916F0027981751186FF84EB51FD7CA05A8353
B226848556193C1767A6C96CC1C59F0C153D3397ED0364A1C19B295F1715191C
F471C0B3004B1EEE106DB2750D8B127D2FBD6E3A5AB32CD7E15332A64DC3AE35
CB49263C6AC5741999328FF3C0F497D0E81C4A325605F8A0B3F57AF37CA785BA
2152EF6059DE501217F850AAA15CAC696C91469EA728B7D4A9EF658E4658698F
B3E5D034233A4687BDA4FD86105D91316B297E938830CE22285B25F271BEE72E
69D10C8AA433BBDB903C134EF2242BF70CC04AE6846919238CEE59913726343D
ACF16790D5BF8DC73A4E9F969A14C432ACA2943BA786E4E55146A0F1C1C11321
177E389EB97FFA3502BDA2CA00D9F42D0E2148189A075970D649153CE8A16D49
D9BC9A4221070D00B65BCD6DFE956B6EEE9D0B3E5FD5FDE15414DB11C4242BC9
E075F0905B716000A7FB5CAA551C95640C88363C7AE1BE77470C2FFC10EED3EE
43EFEF9B542A1DE5600DE9077F1FA3E18F3D2273598783DCD54A8512994C0711
1052650249E83A446290098F11A0C84F4E5A7AD7FDE05C52AA0CC71DA2DA0825
543336D3232195FEAE977223101E75155AFFAEFADF865E19CA5F243D18F3F437
32066AF3A945F4ACE9223D68907A65E9EC6E5782B7E4E3F1047DFD8B06D85305
9B469D85F759FB220D79295A9EB1FB47F07DAE3AE901A5C3E2043F2FA01DAE98
6BE9CF92073CAFE0C07E9F4F98D8E01CF6AE22CFFF89BF133E7F99797F46B4F3
36AD21D0559858CDECA5710CD7B111EF0507E86A3A18E0C2D347F37E78179D65
3587BD6067D6657292353CC073D7DD4BF2775B0E7FC70848FD84C1F323A60202
D3558DC3681C9DB9A75830A48873E680E377C5201F6C47FA95075AAD23BBB13C
A178B5BABCCCBA96E4BF9DFFF29E8A9AA4714B4E728A67AF0173D06E5549ADFD
2220C2D7B4ABA903C6BEBF09203BA2937278DD674E6EE760ECAF6BE24C6EEE31
F01ACF80BB16E04C979A09C4E4A092910E3F5DA121FD710BB18216E9E1BF3062
677A332EDD2769B817910AAB61657DC94670D56D6B6D9091253681F4024ADB37
F15E30DBC1E959E6526498876B57073C6ED0E98CCF9901E1A198FB13789B97F5
85C330D6FF458A0BFEDFEA84A5D10942BD0F5BE238538B7CBDB9D27876258F71
A0161CD549C4C487E6511B345F6D648204A0F71160DBB1CA392D3B17AD92A36B
8137CE1445620E8822F77C22C70156C226CDBAE8F371AB42A7A7DD13C56B95C7
8F281F53501B7BCC8736EFEC5BB91C556EF927ADD8CA96E817DE5CC696CBDC33
2C4A7C12FA2ABC18D902ED6A91A39BB7A8630DF7D8A2265206558B55C8F0382F
FB04CEA4F8C0C9E77B54011E84ADB5C07D715BD47CD25ED157BE4A2CBD0BA74E
8D4BC16906A21B711D8917B96904FF810E629B4885EFE909BC545E1F7327C82C
5CE0F93DB0A03D339C882C4BD02428E97304776DDA22375FB49512DF95587A8D
8F0DBFAECB3B23131F964CB845DAC2DEAB78A12EF8DBC37ADD6A002C2534DC33
188FFB4C5972A3218594FB86A945BCE64240A47C513C16AFF4612C70409F1FA8
634B54012DFA344D86A43BF00D8C80E67D16AA6CA5B52709A2E313B16809A3C8
228CF5EEE29F90B6C082AF69DFC3E76C2979C867C8CF8D72DEA12B904B4CD7BF
C3A85121D7DA6261BFD78AC9E649D0F4E44C4983F3C1B466D31009CA5D04142F
71933AE710D645E7B35D05A62FD7003D13064529686F25A3A3541C9F74166E4C
3716CFA8D0A54F920437DE8358CA9F73C4E333977FDB5AED7A4F0DE613C5CB6D
BE3654D3C4D5C386463EF12F2238CE517909A0D54F154B6F6154E84696F267F8
EE588EA8C21A7A061DBC7F376589A18ACFDFC1DC17DCAA2B7FFDC062FA28FAB9
A2971EF4B59EA569FDCE3C5C27B96E26E1C0F50A5C897EFE97E989C9AC94EA62
84B8176F626762C23423AE63CC3494ED614F3D05C89B8ABD6A8FCD38ADCC3820
3A0D50E597AC2954C0DC03BCD9608944C49120C5C0BD99748D0ABBFEB2141C9F
A596082083B7D53A54DBFB784EB116BBB8D205CA475B63214D6B8A68EE48E97F
E77C2D527DD9D33B8BD158DB9EC1E4D0BD49C9C2106F8F5A8D7B17186C894917
C5E054B53E20A3837E05C5B31F030BA65E3EB65F4660A5BAB5DE8BBC777112BA
C4DD53A4C2EC5E65A70E1F39286FDA64CC063C674F34FAA610FA705EBECB1145
94651C76855C71893B5C618E35D2C1E62D3DCF6B0C3F693FC25E9CC684067CCA
B2E94AD819AE08745E60D9E947ED4562CA1942BFAE082D3B2227A18D04FE045E
BFA16AEF5F3C2080801CC0AC5B2ECAE125643F7892061EE9FFAC02F8956B0388
06A5F42BB942E387BF76F6FFFD65159C44BD01EEC5AFED0080760B7EE519418A
15AF69068B9EF860B800433C5F319A4D8B1847103AC4EC96E5A92BA74459C0CF
1AE5F7B453AE0F56F18785F9FE0CA8182C9325FD75A5F8F16A16C7C91A22C33F
F716CF4FAB7AF7433BC495C3F1D9D51B924BEE1006F7EAE654287B725E58F82A
31A998D78B74D8AAC07CF24E97C74E6360830B2E80F70F3EB0DD009051F5E318
E8D984E17891B74996A444C9B3F2F495D3C5C8A15B6BF744A99A5B24939D0E67
9E51ACEF55FFD307F9F62064239ECA7CB34A6308340C43F2F838428E9BFA6F87
F8853469B6D9692800600388ED0119E9F0A17E972F08ED8C46A82AF93F17BC10
DA59A7EE56608E1322F47484F4D555B595CB0C96405D517D6FB5F00B3F30353F
EEAC18B721F4DC73E47CAFD40269C38CF1C16CB833C93D6B2248A78860EE9A86
CB5A93213075E44F117389104674362E7FA8BEE8F81013F1AEDDE1FAED6737CA
7A01A0A4E21B4FF043292BC393D6839D04222CB1C4A9BEB0F7A3F6F01DF15F04
6D818FDF54100FB6668ABBFF7D6AEF73A9DED3FDB5DFF3ADF8330167FB73E3B3
0A0731A8C5D3782A7A5FA1FE3A60B67050498350A9B8A8F1AF5B8C48B79CB391
987A15DD82A3AF09C4ECEEEBB647387B7A57438434FDD10B799FE58CC14EBDDB
3C74A77D6E083C6E27C6EAE004503F59781B23EF42F4789D7884465F34782E36
360762983DD10F3F6D408B87C19FFC65CEB9C5AB28F82954C81FBB1A3DE010B6
072CBD60B190C8F63FC850F8F09E8F0A04AD8338B27161575294BA01AA7B8FCA
03E3EB644731F299E03197A4F29C6E920C4116D7365B89DDE872311ED9E9DAA0
D14564C64E2879F074472CFA3480D436B764771AEED75DED0E7E416DA73C7265
A413F7556848004E4388CE6A78B783993406A2C1F7883547CDAEDF8757B4EDB1
9121B1EDE0B694E836CC4BD6805CC09028F30A6099995B6B39FCE5CFBD29690A
E3C799490362448D0A3B1B29193569023AFF063EB85A7C1F44A800F9C030EE4C
DDDCEDBD031E6C714787D342C298A343525495568A167C1D0DC1A8B8F6DD8BD0
9B1BC4790FE506F0A161BDC3D93B910C9CAF1AB7872C593DECDAD7A02348910A
6E38E1D2E30E16776E243DBB4C455C42D9CBD7563996013CC56125CA8F759999
8682342933FC67040AA7236039BB13478A4F60E2A35B18CF3CA1F3AE2C9A36B4
B13BA58C9419FE3A04FE576ED3BF1E1AC5D242220426F64F03542B976F6FCC8D
426C47C8BF80DD4D483303A57796B540D65738DFC9B042776CF36029FF79347A
BDFD44FDCE6266063440450080D75CF4F58D518E03C919EEBBEEB31FDF6FE7E7
F175874E2382ADEC5B2044D74E487DCD68A0A862C459BF1B47BE8F2FEF16E9B7
005EFDD1D4E3FD2208174E4EFAB81D43547FCCAD34344D6DBB9610B3AB1BA5D2
555496386C93671ED0F3FA55DF330E53984444AA3C6A775036291D219B759453
D5540F81AFEC830D4711CB741435BB1246A9046663BCBC819BADF6CA5421952B
5CE28D7871D877F6E4DABB5FABB667AEAF7AFF0C7D70951619F9898211DA4501
2A0240D93AA06235489DC9C4BE4BADABEFB8372C8F9E1E79480937CDD1B18FE7
A1F10965E2916DFF744DB5B2AD6B86CFAC15C2E9D677532959A3D0C792F1CEA7
1E823DF82BF43CE7B5BFD6D0BB09619F6921673FEBCA117670A9B2A26F1C8CE8
CEDC915B586E929346B4C553E032AE38A16E5D523E3FBAB5D3DC0CBCF94E82AC
E3B49E88365EF5C0F2EC2AFCBC3AE7324C41D533185E8BB4ABC019A3E23D8EE9
0D099A778ED742D7383790DE0DD3CC41357B04E3EF69A45BBEEB52CFCA7424DD
F904594DFBDB165CB0617900DF8F8A2F5449B79B18C37B91B3A29A81A012FAA4
3460699662AE6832D2265AE6827A0EE29711DD118DB31A20B87FF876B3921131
2310DE93FD6AE2E2F2B2DC5F8AD1E9CF967EAC8A1129BEB01D48F59015531E1E
8637D4587D24ED735503C005D8A246B4173992799C8D20426CF9C510F92B8181
9D8FAFFC069FF63A91DD5FDF4033D1506C8D31D44118A8D4B138BBAC9FDA926B
3C8141627A5314C1BB586BC957AA92020251B325B5FC201A3C8210A1EBAC7231
BAC905BC7C4AE833347A0B98F0EEF976781BB7C9332FD0E65A31CDFC43070AD8
3B49644D2DC760B8D0A24A280AB501B56626751E83AF67AE7970F15A3A451757
77EDCB731EF90986082A8C5F21342FC5D15A8D0EA3083FB9DE0172E52AFF460A
F16C3382F27BB145AF10EA64D388E2F35D6BFFD70534251FDF84CB58F0E4FF65
1D866D278F04F896386EED1A02925E3F0CCC2019A017591C26CFD7430AC7C697
CFE586E3CAD128E455C4D7A3D2E128A66215CA4B0B0779AA1E7807449DB6AD68
5A05C186FC7419AAA97576A8E41D4AE55E60BE96A8F7EF2A93F63DEAB153451D
F5D0554806F1718046B1A69D8F9E52C4966D1064DB7C6022B66103573A0A0D75
87465C4E2E9F38EC5D2A3F02EF9D775D3895075940EBE643B0B135CF9A426B7A
CC3828BFB3B17C46495585FDF20FC3A73CA0AFB8CB8C4EFFB3F5AF1893CA47BB
CD2EAC786B8282A2F915E95F178E18C67C926F176130B0F4A7BF6E4711F30BCF
30819BFA8B6420A6797C0E5525F8D187BE6EDD1690BEE2B68B660A43DD1286A0
F503CD1E337DD42598BF589FB789FC23D0FB249C5794677D2DFEEF27375E8C29
175BCA45902801D469C8E9FF76E77B3A6D4457CD6F391C65243E693ACB263A44
CA2E1E7A9F0D0A9634FBB485DC4C172AF9DA72BC785F5A48A397F08E6E53C662
6D1CB33AA51501FFB3673CAC548865648AD274C168239AF68F5A52E9687F3C83
97D8D53B9091754F005BFC4D388E271E624411D239B00F62FA2D3179A0D56FB1
6C15935F4DE766207C0FA4C112658079C33080375BAB96BFFA97F867B54EF656
B04477EB12305CE3D1BF171BFA7DFD983B72C937762E518E67F989BA168C8558
9D85DF89609E4B23694E4C5012D687B8A73FB85A2F8D08512D55F07934FD7FC1
1416E9A09A19DBC6826FF54B74C5F148042E05BC8D6E083E48F2D7CB7A14D18E
C67765E99F670580C1E73C098963E2C99B5A65F2D65F9A900CFB7636156C9D92
9048AF7B4EE5E38A2206CFCC26E1B00950C72DD74A3BF416757226DD259056D2
D7E5B4D351F2CDA6F3B4B567BD15A333574375FDA65FCB6BAE0C2389EFDC4309
3A955E74A4C113E12ACB6FC131449722E62D3A11CCBA313232D89E7E9F0E6A8B
43CEE7EBDBBCFF9950741F1B1397F4154FDB4EA020F38F44176811439880847D
F844B100EDCE25797BD233D726F5585928E944931EE47BDFDF90EEBDEE67BE52
87314BCB5C301EDA11AAB7F37C9587EC364977635636605BC8524486BFBC1F52
D6F67A1544C6CCB787A86C16F5BD9006F90F5D677091393771AC1BD14320E8C8
FB40417EA7EF5638188C4F898002350A086E450D051840DEAE4E684BDA6EAC0A
3C4E38EE80B9A455D4A2828BBAF6B0534993D6DC0BE157983E4387A941C05477
EA6B361F5D7D2EC752CE40F623481CB12DB6F2C6723285421CBC616B570878E2
B1B0E8F5FEEB178F6C9BD97BD6FE1DFB0A9D0966198B49C46C3058D6B53BB31C
CB81C9A3533BC04C5237FAD7138EFA7CE4A25781DA9E8258A1E60D14766E9E48
8124B160A694852B2C2C1981BDF4713BE5B38B60BB14C32ADB4BB71BDB0DD3F0
7BCB71FFF47B23D50325235C6E7C4E1D8AEC3CB717BA0DEB0075F44939BA1FBA
8E1A87FBB2242E2DE5967014DC127F8BACE8506A09F9F911B896EAEB18F6796E
13978D1858984446E3B4B86E923B15567229D9A8254CF57D54386CCCAB51D7A5
236303F2A2D34663E3A8578BCF32681D6AA33A1C73C1D6A802A2C2B40AEC9CA3
DE358C77DF89C399E7CA310DB5404C774D9FB4ADCC3DDA025D5C5F7C874927C4
3C088DA823AB1DF533F01062C5CB0A249D5AD6340C8F3D5C80716C075BBC6EA4
650254F80C6F164BD52861521A117A8530473A7F896EB7880DE92C2E2524D485
AE76B41493CCF04ECF190F8F770C48F5767533A3573B5D2B1BE4AF98BDA1A9C2
CB38344481422DAB6029B032EA8E65D229AE20476434DD140EEE4F6EFF51B3A8
B0C577AD02D87B4D6DBA8AF5D6AEF68CC1CC59FC926A9F7E4BAD2D2A929C7FE9
6C7E5C9BB1B47754F5E1136A03C9E8FCAAF59F1B125E9C5D3ECA0FACBEF4E620
F2E87CD22FB39F35B0ED05C5C48741F0CF7AC235F52125A06F1AD8C76B9B799D
0AF9A17D173202E6ADC7407339EE56A80BF9C14A2A45694E823BBFE84D08D2F0
76F0443306780F20C5855407062DF83C953F1B83520E1281C6B33DB6B604E017
820B9D19EE481EF4FA68572470CEF5D5D9510C24A3465BD7568A8CBD2A8D4E41
E5A3CE779DB6161C6E889DF510A2800041A334AC98975A7FAF9D29E326DC065C
9331BF6441093A5F07009243961D8FE68580C93BC7426CFD71820189114E28AB
3337346B6BB3A1037096270C8FF66794D8C4926CC9E5DD379E05BE591C4AAA7F
5304B6038C69D8E2AD3479419564AFC9E725DD05AA52D6F48FA32685
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMCSC10
%!PS-AdobeFont-1.1: CMCSC10 1.0
%%CreationDate: 1991 Aug 18 17:46:49
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMCSC10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMCSC10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 97 /a put
dup 99 /c put
dup 105 /i put
dup 115 /s put
readonly def
/FontBBox{14 -250 1077 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A30EB76029337
900ECFB1390CA5C0C3A04528044F266BA17BE487C79B94FAC6D6484684C5BFEA
87BCCC77D40AD11552035E95E3007126418ED49B68468B38A14E88E68A267B98
076F1C9769A5AFBC285E5B158EAC9F926F1D6C0B8F1D57D9C31D25AE27123518
9D2CD92E5689E0213089BD268DA5E47525CB8EABAA4B78A15AEA34705889AB3A
FFB8953B5B3482E52BFA0940630ADF8C0AC2177D907324299EE980E850F203CD
B627962F43D5A678C44243CDE97853BDC6AB45FD5C09AD274DAF89929F583CC9
CCC24BDFC68B92111055ABA5F26D2DC67C70906F71C2957701D65AE746A60C30
40E6CB24B97FCDAD0487AE38A201FBF0E41BABD2181981A71940F1E707F91E5D
C8CA50CB16D8702D188E56D014D92F76CE0B52ABDB9110E32438D2BBF3E6A40B
7B005F10BB437812CAC6ED2996F7606DC962C4FDE207FF322782C343DF44CEC5
FF06A55C630C20E9AE1B0D1C5673753C43BA0767D65D1B451CC6380D8BB3C4DC
81E8FD8AA79BE993218686F29D3CD925566DD587F541A0DA1B1CC3BCEA2E6C7D
5E1016F6917A871F1BBAD96AF9E867735017119A381FCF33EB2D3E1E7093FD90
CDB0CED4818CFD9E201A03430CEC713620BE0D3254158931FB657C6877C1B3D2
24030F377820DA58F4B95CFE645109F3F1B80DB5FACFD7D05AE2909EEFCF95AD
9CB286C8B6C075CA2267C101B736139863186C193E31085E7C9FD88EF8BBECE3
933542C85309013325B4BBFE9A5B606780C8580ABDA2F5D0064EBFC23939B307
08568C3B7F5F053BF367DEBA349FABB9F760C44D100BDEEFBB01F27BFC61F886
A05B2870FE72E963C4A8189809A2B2CD9FAA7F16449612753E497511227DC378
14FF12E39E88C5918082D372E253B61C7538BB00D130E9AD5E26A039A33D0694
91AA4D2571A3565782107291BE4D4B9AAB3DB1EDF984D5B64217EAA28D8B2F19
A645B4FA969DFFE2F64F1E2F0ACF92E01DC32E02769E040D6F59F707E2441238
C7973B0E5752A0F3B7C7E328F5AEA0BDFAACEB66018CC5D7CAB286824D7F2364
AFAE8FDF6961641A5790B923DBFE0F908E38FF0695FEA7BFE993EE6B8D0CA848
B7062133BBF02A6B1750F1E4B8C4175BDA65A6FEE6CC47E0BE9A2EE144103A08
F8903F8F494D6604A0BD7C2A298C06F30C4D90DEF3D2364C85667CB0DF8B6C2A
956CBE240FDE42B27B08C8787D9D3BC807FE4E4E9C0733CABDF626577589671E
64116BD5A69FCD6500B63EC97C57B9E0DF00BE29664C4C17F899339AEC17685D
FD335BD8FCD875C7101451A5FF3DA0AA8D7619188EAD019351F412D77BF4CB86
7FA1BEE9FD546AE66D3B7BF35E10DB852592D917720577FB917238FDC282CA2A
C139DADF9F3423E419C530BC6B8FBA73733BDFD5535C20EC95418A5C303F328B
401E5EC69CFFB2B8A28510E5F4A9435361E9AF3CCB067801B766A143D489B355
F541FF1E1F32C5E17BBD9A6131150955B35B63FDAA564E70413A7308B1ABAF2E
6D87D9A549DE51A62204343CBC7D7A38ECC5D154A01A4A7054CB6937BD77D357
05DAD31FD5B8B38450075277ED6614EC89564EAC1AD2F586D062F21EA6D52BAF
133C280E1DD6C3754C31BB3CEE7E6DF43DE7E15E0223AEA7A016B09200463C1C
9A361B95AA360DF3B174BFCED0BC1C6EE261D64AB20D2479A92702C00B7A5DEB
C9E262B1447CBD53DADB8C11C6C68D1A3CFB6902F3D37E85F4F05588E6F88D64
0E53CC634BAD0BA1EE0F16E7466317DDE2E6521F5B4B9AA68094FA7E62688890
46FE6BFD6F0F733BCBCD75BB8B7605A2BA832278988F068A879872395797DCC3
91C47345BA010403760752E140D5281B766ECE69A1D3774B21A3594057C1492F
DFA0BC409A1F6CB9258E4B61FEDC26CFDA03E0C6A827886B52E9EC7B6A99F200
115678FDB267140368ADF66F503FAA7057
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR9
%!PS-AdobeFont-1.1: CMR9 1.0
%%CreationDate: 1991 Aug 20 16:39:59
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR9) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR9 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 12 /fi put
dup 39 /quoteright put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 87 /W put
dup 88 /X put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
readonly def
/FontBBox{-39 -250 1036 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FADB679CF58BAFDD3E51DFDD314B91A605515D729EE20C42505FD4E0835
3C9D365B14C003BC6DD352F0228A8C161F172D2551CD1C67CD0B1B21DED53203
046FAFF9B1129167921DD82C5964F9DDDFE0D2686875BD075FC81831A941F20E
C5CD90040A092E559F6D1D3B0E9BB71733595AE0EA6093F986377A96060BF12A
A1B525CD9FA741FE051DD54A32BECD55A868DD63119A4370F8322CCBEC889BC2
A723CB4015FC4AA90AE873EA14DE13382CA9CF0D8DFB65F0ABEDFD9A64BB3F4D
731E2E1C9A1789228FF44116230A70C339C9819676022AB31B5C9C589AE9094B
09882051AD4637C1710D93E8DD117B4E7B478493B91EA6306FDB3FA6D738AAB1
49FBB21A00AC2A999C21445DE3177F21D8B6AAB33869C882613EA6B5EC56476B
5634181ECBF03BFEDB57F079EACE3B334F6F384BDF9D70AEBD592C8ECF21378B
54A8B5DBF7CB9282E16AA517E14843909339B5E7C55B038BF3BB493F3B884A1C
C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F
11930B1D97C17816C85B1BFD9B973A191B33CC3B391815AC46268691C741B2D4
48A840F1128D9B2F9CF07D0709FE796B23A836417BF7B5B12D67F74453C82F5F
25F7B30701D6F6D4F4DC623C0C27D6A6FBECC7312A3CD10932FC7C10851C3C52
24B75DEA8A648B7F34F5711DB0E843C914E25663C510185BC37BDB7593C1C259
21D8DDAD33982C336BF272BAB2F48E68217403FE9F54877B243614A87E64784D
2796EE4179FBF96123D1BEE3EF89D682B427BA4F12A1318A57F18BE5DD903815
2617BB7392BC53E3083A6D26B81E4E9973CDEC5B0BD15124A5B404A4031C7101
C5A86A74B053F123C60C9F42613E19F6FA9F26C30059C103444FBD4F3CDE3A9A
93FE31B79F5C786BABB27C298F3633F1A6FEB44A520A8DCAFEFDA50F81B1A5F2
2BB04E99602CD8E636B6F5512760BE75E43F4114D57959749E5792A9843D594F
AD1FF6B8007458D566CC5B213B86BC5B484E1F9074375E6D1C022AA4CCEB00E1
E77FFA2BAFCFEF5F146BC20989B2421A1B9AC14C5569116F2274BAB465EE239F
B503BB298527DE89F133F263C9C34002A736426C07220A9B7A528D358529A2B2
1565077D352A93C6BCD530A84578C14C5B0D11CABAE5BBD61951F4855E854877
A4830823618D7320477515034DDAF779BF1BBBEE6E90546D45EDA07BE44A2D1C
7F6D704A5B8D114295A04C8F4B1DC8707C143E8F0D708861F2136E5776F68095
A8118A87546F68B92BA4050ED94A37DBA6D7A412AF2DFAF50578FA29D7B9C4A2
F5895355204187F33E1FBA8A4B56429C3DE2A409D6F34A35761146852B6F3614
4E53AB8B906694A58CED48FFF1167FE58676B6632A99E4C948C924E736E24ED0
92D7127F4108C13F6C13FBA180E2D485E86464143D65F18F7C2BE7674C927DD8
D39FE17E04E2C92FE5BC8F344B3D1B698C6297C0224697D32221C15F0B488A50
634CF2F7A23EE47E02CBD8B2958D3986CB0F8B429FEDA921AA846A77C66929A8
08DECD5381235609D4E48C86348D74C94719E80F76F2FD63DD4BE4D05FEDE835
FCD28D5A7B3D16EDC816413C473A8E735D58759E36EBA2F378AF2FB74E1BFC73
EB715901E131FF5770611CD5DA96ECDD1D09370A707B87C91055AD6DF2FC557E
B383BE1652EC800381AA475BE5CD966BF4897D58C84D06190203737748DF49FA
1D8A82B5A6328FF6E1448B1FEA221ED9B3890228F3DA57EF9F3D53DBD427AC16
F5304F40B10FA4311114A2298560E74EE0CF45DE63EE763D0688B3A4CCFF2421
5F8C22FBD806658AF38912EA127B897091F30F7916A699F3D840B60B82F3DE88
B56B14B0CAAF5A5567EBA4E748625F832F77D08FE5456BB3516A125BE68A579C
02A0ABB6B551944A94053822D982F4BBDB86CAC4BBD2CA7BA9F4208542C51405
4990B498A20F5829C48C5854B373E4F1FFDE81AE89C920AB8121EE93191EB679
31DF0832A075274CA6405CEA6FDA723ADB4E032746FF1C75A897A1DF46D6281F
0206D7F6FBFB5F4785C8AB5F4AC587C262D69BE3BB7E90B19E1586A6655C1EB4
CF1338C480B334C56098099EE7FED6B421E7AA57FF24D98F65E542DC792622DC
A5F9E748F6C9A6FC12A8189F2EB04C2231D3C404E163E20D97D0571AADFCA8CD
48808287A633ED839692F052B4B56A5EF88F3D9C98A897F6E8D10DC7AEB25242
925DC07B1043257502DB86F7E261FE8DA1F1BFB37945521871750980AD5EB888
5A8C1C44BA3ED6B4524745E8484F0D23CB576CEBE7E26A7E6A63890412B580B9
5FDC8CC91A985818AAD59B2D5A625AAA885AEC6E4B19A3F8159B55312C9988BB
0714FDA6BD652CFDB5EBB888D0F69E4EEDAC6DB15B176329BF80A89CA0FD05F0
FF9BC55311C49A00F0E1FC81C1A41B3D8B706D961C6E74A98B3130A845A7A7B1
0DBB96452AB8EF5E4E98E9A83E6E14AFA9F3325497AD5418D2A48185F3F35F30
8450314BD45D531CAD53F67C451BC1AF214C94E9B9F99FEB1256762C8CB08366
ACC8CBF019FA2B3BBEFA71FA2977C952C54E15DCF7B457BC338CBD24374BFF16
D258A8F785ED33790328455686A3445C97C0694B335B1E9F9035FC4A44A47953
F45E876C3585EDF3E97C1AA0176B78F2C9E03436FE29B946A62EA1EA5809EC9E
743EE7CF478CD7712D285882A9693D9A73576B80E67B5872F00F5BBDEDAB091B
E8428B4AA21B38B2C449FE0CD5058E83D123CFFFDF2AD79B05FFB0B1F7E203FD
2750D93F2F72D4697E6B3F816E4DADC32914F8CD8536538880FE73BC1BD6EFEF
9B61710AAD6ACB492530297AB6F8926F2270A972681094E7AF268151939E9554
5F3AE7BF894526F14621133C1F31F0FA29A4DA880146344B69C7006BDCAA353F
F6C1FEF5A864065BB8E3EC2B0D7DFE4A5213AB7ECC9B063CEDF84BB544098B6E
2F1D862C235F2F870CB49D0A3F39E4A5B7B46B3E1A13D894FF2211B3C6F6AE4C
B7F5A70AB1C9D62BA38DC2131AD4B33AB9AD17E8B68A8A116E7A85ABB8982152
A4CE796EE02D6BA7FE8B84D86674F4788D4DC6A3D3AE8F781EB618640CE65F75
75AD1A78C1243D06DD452D6F11295060B48398B65933361080E033923F8F2425
C3AE2C74B21C8F12C24CB147E64CC28167FA2A77E7C6723BF66544055B33F46E
6CA8CFC869930194A0948EB002B27002C1DB362EB43E8B8ED50DD1A8EE9C99C3
870C2ABA0B79352553B57E004E03803D09B9EE2776E0670819A5A3E5446B31AF
545390EF8190D97344BA17748FD291FEF54EAFD856524EF79883FA2898173542
24EE10627FCBD6B15B186E448AD0A1DB235138189ED6CB676ADE745ABB8E8094
41FF1569D45AFDD2C5F330AEC4F1BBE8690A72C34BE5EAE98323B5D5F5FA3BA9
6D6CA267235E7A3364FF99B156ABC4E80F907CBA4191B5C923212A90433D8A98
FE4ABE72C5581B64126C3E3FD1463AAF7E8BB1E649248970A2A985A00F703FBA
E3F0E7C8E606F42E0E1BDC0F7E7F3277FA28AE997EDADC4475B9CCA23D7B0E82
4AE6FB7BD1570A62864768ECB5D15B086F0C675F8D4F947A5D3EDF6FF8325AF3
21DE3224B8C24CCC1A205F8A944B9F0ED873E7BB6426D33AD31018B2971E4FFA
B06B2E1E19D862DFD715945389ECD93BBB34F4C98BBF7C2F02959CBDE931A563
60B4AF21F544DC68F15E8F2FB20A7827271D253981456C11D4FE8978CD00291D
CCF7C11924D1CC66A51DC9CB399DFEC173362400977B3C1F8F4072567C20B90C
683216B2A1AE31A4E269CAB4062E940D358F0BB5A0933A61239030CC82AAA06F
98817593279B49CC21ECF68BF4FE822D838CA5A68C63386E7E1DD996E8ABC119
39B326A20AE20A8EB4637DF9799BBE213E27988523FE5B4DD0730DA8E10FC8C9
41AA60AF990C30DA1A0ED5CB1DE01F54AEE53A20794383B7B9526C526B3A5F3D
9D30ABB2A38C86ADF7A275C0FA2251D5CBAD519514BB946A6295D47D5530A94B
96A175D1E55E9DFBABACEEDC6AF1C1B1EC08F2EE90B70853ED6CA4DB84C0A069
F6F96FFE3E4A9F256B26E30A8A8031DFE638EE15183E4400470DD744D0CBCA53
3F9E205FA7EA6B662AB40E80F7E83BF3E0924EFF0740F0A94AC5F04D3E652253
75CD014A8C5AC1C0E8EF721CC5D6FE68ED3F020A7EC962644C922C3EB2E2919A
934DB5B62E9BCFE44340BA9A6C5C99BFAC2A6390071BB0A04FA4CD9DBFDFA8F6
99B162E6A4D82F3ED43E1C5FB097F421AC99EEDB99DA08F6B3A33E545DE52167
ABF41C7D06E0673E72827FAAEC745A3F2F985B63D88D8D5710A9AC335AF1F216
4490B5C2FF6C1758BCB893798CDA889FE19CBAEBB0976A20DCCB67B4DBD3FC15
EA3CEDCB6630CFD84B7E81EAA2266BC4D3DD0FF50E7FBDD24C33529A2122FE95
9005C9FD59F3DD01FF9E4CFC448D83BE0FE5903C7381D8220C21CB6FDFFA9864
24B8C1EF9051D95EBD56D2514C9D8888EEF628AB5BC8A2DD047FDD8075DA36E2
90009D75D46F29737A170593F4E8A392053E0027DD2A2D6D6D9DA6A41E3DE6FE
C76A9215E206EEC232E888E659DFBE5A3F73E35721E5DD65EE29AD7919059538
EFFB4E1BF3072B4EB814A83680DE7DBCF22D717E80F7450A559F741F2ADFC8F6
409D5272C475F1DD164B3B4C530DB38566118F73C38115A8367696669BADB2A2
BEBD6A647A964D5ACDEB3ED949C1D39876E3EE4BCC63086AA81819A537D0B7F8
E5AAEA15071DD71BA41C52B511CF3D69A47009BB9EB4C2D4CECF604490AAD19B
AD75E069FD680ABE98AFAD64A6D0DEC190FB8BF9D405C84A88A8DD138C28E3CE
928E56A59EE2444D8393ED3320968E12A9998C876D805BC7858AA40842F21B31
2432520C13D1FA9715BD44B2B9AE23444AEB3CDA3ECCB1114BD1B0FF983E39AA
CCD6F5762867198A98B54B9319EE1AEBE1D13D90BE771A2D4B8D69F24E22EF2D
50FEA14D8F20C34B2C6964A7FEA6D3BF9E8D4911A109117BE557782CA74CE283
A423FF0A8C6BD9A951E2CEB5F14013ED8CE7DA992D1F92E13FDF86520FB7D04E
880AD275A76713CA250CC47E59D4071FB84A58479562A6C7228C9926670A28C3
780099DD09142F1C4FB497BF24D14211553F3C7B648EB3459FEC6A25710275E5
B5EB9DC1D53F0FA82CDAF66BD77D22DB60B6D7D27383A9B366E520A3EC7F8D8C
771F55B6DA2BB061B2056A70E950DF86B7FF0C0B35CF1665E1E22571EFC7054F
EA784AD83E5A4DFEAC8E19656F15DBCBA0E50E6A56A839AD796A9EBDFC3ADB58
1CAA6B88CFA3BFA809862A94404264B0C4BD46817C6F8958ABA1E2EB0819A674
1527DB2435A5700D279C56EF8F310C32089B6066F1D8A974875ABCAD86E0C4DF
0D96E4140E95612F8566801A255CF3B38E80F096F85A9416F73298C8B72E6D70
78110877E30B187C033E0CB83D8B8923451139CA4268C03D610A4EEB92BDC8E7
50980B5CEFCCCA7CC6834FA86C4040D9D2982BB8050F4EEAA0002C345715F922
5A80D2743DAC2CE4D5A7EEB4AC868DC9DB242601B376EEAE8A21DB04254A03B8
EE7E053592F015F7330D7DB46AFBE015A90F539DBDA68977A5B9C86F558A67DB
2B7DB8D1B34006CE10B1874641D30F1F2AA24591EDA2CBAAB4D8E35DED3C1DD6
5EDDC56509BF8DB85E85893EA6E13019606580B815BB7384D1D2C09FC328E53A
0CF89C389201B0807755A494FDF0AD37DC3BBEC35C8F9734E5DE86293F494C17
D090C05B5ED442FC61ABBF5D3BFE750D012A062D9A8FB91A616C6024305BB92C
246157A7DC2DA670A9893B974EDD6468F99B5CD0FEBB9ADCB23E87F67095D7A0
72A0E5D92903E8A133B16C9014825B131931DA721E3D31544C559F1A2EC051F5
EBD6022998E85B6BCC4F62CD8732C6F8317C829D70A08179CFEEFC4DB358F872
97D54E8C3022C15B91C581CCEB74037E40AF15E808CB70EE27AEFE86CF413651
7572E70AF71FC8DCFBD8E50AC50B9B6FDBD2B69BA2EB290B0789A89F17009B9C
9FD4C8C3864EA22FFB65B6C679A4263AE1EBBC9BEAEADBA259FE7050C77439BB
FC5715C7D4C5AA50E27B8F22E7642C959C21BBBEB590D663E1D19D52B683087A
0C92D362D44126EBEBD5951DF7809BD462ABFD7694892F145A5B28CCD4C0D23C
2E1194B6F71563E9C6EC35AFA7C43513DBC6C37CBC2F5E2917AB63949A69E772
48A1EE85ABFE9FC88BD8355245E4F93C77FB8BAC3669ACE72455FD29AA42E7C7
10B306F1123CEA48B2F62D7C8923B4A72F49648DB2B96ABE733127303764B840
399DBA7C925759A5BA232650A6F0175E3B1BBCCE8A42F5677912633703F584CF
91E1BA76344D76129A369F343F2089F1F75E71597B4BF52E30A2FB76EE331F5A
0406441CFCE7BA928C48485BCE6B049475F934EC4FF0375E0C8E341C986C0BFF
DDD38238431CE2C6C347E4FB320515BF2976FA0F9EC2D7B71128574A9982DDB8
B0B7B1F30CDCB5938528CF8EC4095F327D92852E8199EBE75354134EFE1E5406
949D64EF5BDDFC72A86DB8D3CD50D1185B17D56960FBCF2236C6823D2D55017B
6A11229CE4065B452D67502BA3CDB5D70AB64DD9FDC7C52FE6249583122C4C2C
E96227FF85114BE428041FA2C86914A5D17D4E85A1A50AE73E74FBB293C7F7FC
0935E09C4A1296DA6DBFC1B8A0CC025192548F8C406D8AFAFFA8ACD4B6468AA9
23EFD2CEBE8A868E60DAC1E5F48544AFE09DBFCAB4FA476CC21A31712C4E5467
82E9C238E9F316FB059B674E4543898675A3CFE6A99BA6EF5509334623E53A26
0956A5D26F188A0F874AA5215B6FC33F5944BFEC555BAC70FF75A4EED089F33B
99C6BCEDCD639A04C4B8AC92687E21510FAF79EDBFE55C0440A2967C345CA0E2
70C472F2B5E71ED8720A81D3990A38096B0934DC6223155E8647218E655578C7
ADCDD13AB4239978D44351C26C84E57632C3C6DA90E43C8B6905F6F858E85342
141A7B9FCB5D8F0DC728323A45CBDFAFDEF1C1F374F49C917C18455A9F67ED46
C0FEAB128665BC17C8356A309CE2CC92FCDCBEA57AEAB2ABFCA14006F367207E
3837675CDB0717FB007F032A6059AEC815B7E059F6D9D54A2FA2F8F1DA9F6190
684AC5A85E9572867F96EAE194E2C2470A6895F268B8495E0A2A25F659D7F336
BCF2F3FF232EF6291201D7579D67E3EEDAE9377CD1DF4A7985403C0B06C481CD
0AC5DFA6D8060D30753A401777AB4842E4B72D69FD912FFEE599035F4BD6899D
52926142474523C31FB8F2E1AA531B88297E0819FFBAB4263BC7338DEA6398D0
61525249682F1712E15B635CEEB6B5D47CA17A86F96E5167E81B92C215D79A46
28B3089933364D371C8F7D3F8438A2BD5D49F7BBBC95CDEBD62C6CE4D2D8C8C2
CA14CAB451F12EE3A5C607427D555202514DC3DE14B02736BFE9D41F55C710E4
5C8144598F71991958E6B38C00430C385A6C696883BBB40B2302EF08CC44FD10
34ED8BDFB37205BD522FF132C28DFA72BAA88B147B04F011C9CD1CFD5C993417
EA649438D2129A62B131D5D8BB5933B8D3509ED80515174A00C5DFF80B16090D
9396483310D0420D3A27899FEAD91504BB4E47F0AE22F617EE617A395CD1E042
513E71328664C6D48426B9F227B005257BF5482598BECD43B4EA56B9CD526246
D1F04EF94C13362029F567A5A4A7BD523EBCA135A5B632488C1514A1166FEDAE
A144B66F60C5D0C074D8FEF55B7A06EB5B6F798F6EE2C0CF31361E7C87BBAB7C
019EABAAE51412CB31C2D2AC62229E9D8750E9EDBB38901A849D03B46B6413B5
3927FAD29B4A2ED55CF0CAFC43925EBFDDB2D28BED2D4DAB642E501E28E74EC5
2E05049825F3D5B507DEBEB3FB7C4EE48849B4F957D6DF8312250A1E27F3B254
09780C724E1BEE6CE16CFFBFFEA9431D484ECFCD968E4E9180509413756844C0
9E4FE065C6DEAD311740716545C09BA9DCCFEBA6230749BA622099FBD86CAE22
2CFC8914594ADA7DB5CD9100C69DF355C1F0366D65AD5B7C5F29FF77AC2BB8DB
E3CA4249505DF9F2B1900913567C8B81B4F57DCB0A9F6E71CB0204E1C49D4A78
DFA9C982769F19F864B91948BA17C9FC23512C911805DE99FEE6F4CB8BE02CD1
5C99E7573D357861E7DA8411054DD146B0BFDDCBA7C21B61A705AF11FB67D91E
DFD051B253F7C94008FC6D9CA4E5212A7915236856412504E19EDC145FF53C7F
A2BDE21BDCD750459124D3B37473952086C45E732619EE4AB5FE901FD7DC179E
B842094F6FD065F0130EA42C2308A6DAA0C09FDFA81D5A1219D97F6769310536
1CA1F9E4028034ECE5B235A1A9746CE317523AF8519C9EBEE19CA302ED3608F0
A27CD487343D4671E9AEACA83F243AD005817D0BF28F9EED6637D16D442E5A8C
8DC79E2180534A27364679B4CF3B18845C66D8DF6664244BD1144EC7CC1FAAFC
C0FA4111AF7340A42A9687561549C4C2DF9711358E2D7A18BBF27AD8733703FF
A333C48A6D0E8B0E5AA8B95A118A9682A1C5D3222664174A9A7B3A7830D0D719
B16E7C48939049955798DE36B3CF99BF30BA5122C600E534FD817819592BC15B
E1B8C995D0130978BCE27C4D155B1022B166AE2E728DFB484BCCAA65F459B546
7E1C5B49F7B08981B3B2565A60BCA3BCAFC7F44BA8F1B4CFFC19F6E9FA464478
781CE54AA05AFD90B0059321C83C420388EF2E1EBEEF6064FDEF091CDE5B40FE
135C50F6E8BFD7663E3F4C7059EAA999C06714FB226063812F18C105038735E4
EF910F204C63EBEECC1AE1D7BC788ED9220768B2151977288E8BA42E0639F294
E487FBCA7E3108B15EFE58FBFC2E38BF3E8A098B52DE7CDCD4FB563E1D65ABFC
9A4F8CAC455C6002BE8DA60725CDB3131B81EC3C5D1559FBE6BFEAF2CFC08310
6BADEDABF228F35D3AAB4C429BC3B9772BAD33AB4AC1BD70E0B257E96B4C3C28
53439C4131EF3B68DF0B30826E29FDCEF3869A8BBE3ADEB7200DE8D9CA4837D8
D5381D755F1B68C6BD5066F3B287C7789666140107E74C1BB57B8DFFCFAD3786
E84F93404F2082FA90A467D3DA781D4873B072C9258B8E1978B498BA2D0EE45E
FB1825112ABD00D80B17613D70C2800DA533305AC3DE581E5E6A06E23722C95D
7457A5855AE4C9702CDACE6E7424E8E7739628B66A6A585298DE1B3F66F0DC9D
18476623EB504B3BCC9EEF22F2F81D62161A6502FEAFEEB65FA310895A834918
6020A62DA7A19BD56D1FCBCD2C3689E8B585ED029CC383F33B171AF26941D417
FA69C043BA91230BFE1F584635BB797E3687E1B3DFDE74C313A77453154BC2FD
C0D4F92F2BE9B9884F4462D62CE852BFF528527B12C31AFCD4D56BAA9832C25A
E3EE5858DF03F89D2C9B468A1792DBC92FD5F4FC5C73E830F44740D0EDCAECB5
B814D117462B37880E9CA4F443732ADA720368061BAD2DC5EBBF3F23AF2F5FA9
84389EA2D619F9DE0BBFCE588EECDA8F074086CD0097306B0286BA6C3A7B1E1B
1788E069AA80029517D39A1C34A172882E4DF72F9EB47D1CFF6096F9F63FB633
94D01495325F0EC22EE4B393C3AA1007E0BDC36CD2C835B6EFAFE88B54FAEAE6
52143E0F077F1042340DED2C469B0932E84C33CFB2648347128142BC66253AB4
07AE5688E22DC244365E136BD1AAFE4AD7E444C76A7E9B0A88CAA4CDB6905883
9D6F4B5F642437940E24B3563408F975E4A78B9049B9D24825017AFCD88DAC9C
81F9084847B55B6184A91CCB9F14D07B30302A44215FF3FDCA416881452E2218
313A1E7E10D63BDBDE3AF80A36B2C2BE571253BA5E29E2445DF3DE0BDE61D674
BA01E976328E80DB2B7EADF67C4C563DB4F0FCB7FC3FD0F6502EB03A45123716
EAAAEAE665DDB70C6C9277BAEDBC35B549D9D5BF99F5AFD15C1CA7D048B7EA06
00AF405C441375292CE9CCD2ECB22655563B8F54A4775A4714DC8A9691149F33
5ACE63540CBD5D949E2BDB2D5CAF79B76AB20BF2CD47BB60A4D60F039410CB61
2CA03DFBDE4B3B90CAC3C6951FFF1735B0C3A423A17C1D855BCD3EFF9C4E1F96
28D0796CE3DB55FFA12B6BE2457402B33FBD4E11501217A9A8EBA1B468A67620
38CB3EF774C7BC11AFDC2AD41B6C25737D586E58ABC5427E4A8CD89ECF2CE47F
E88D3447580CF09B9349C06D9300E37429E8FA01E23F8E9A7EB54935022E7CD6
1D55AA07C66C484659217668173ED4B9A124C1ABA72C3C7999D67266E9789DAD
A77EEA892496F350A013B3EC5F29BE10E710F5262E9BCC49ED04674C5AD270EB
B6DD13A1884D6A06DFFD99619F1DAA570E80D889BF2DE4EDE13E94EC3D039F56
31F6533178F1B3665BD650420A339A143CC238F58A0CEFD811F07D4F47B732E0
E0AB6E4CE1939333E101826EA4EF8BD1B2A91046468D982746D880F511D7618F
4B3A8F15006C88C42F0E5A9E66A1C588AF8D152AF024D2EA6701666FB87937F7
55C45E22CC7B16B7875F2A3A7F215C50E5C14252718CAD44C84866FC3A2A94A5
8416D344DFDE3199DDE726C19E6B7C3954EEB35801C14FFD7FEF644C5B1B707F
3579DE344ED3724FDBF1ACE9F47097778E4C3D6E729778865B560D629DC33A98
43E3C6468E9F9934943B542B9FE913E45F3551806E6BA0091C4860183540C706
1C56E5F23ECC20A3BD09884DB4CB5E713B5FCE9F8E8F5EE3A2011B1B9A3C5D90
CAAE71841F71A2E4D7E5860FD41628398EB27A6AB225027014DB734BFEBD8B07
5017B427AD8510143BFD00978EB79D22078B39A424AEC36416B8C8161D4E5565
83ADDAF869C8037B7C8D108E85DC28C67CC0CD7D5B852445C17F7B37E7136615
F25D25D241344DA10D24555BD4A08CA1C1C57CED7E1474AED07B3CBFF7C5FA39
9D1044850DA1958719BF9B09DFF66341FC8978878DBAF865DB2C269EA90D2590
74C4F7A85F307B956E6ABF59BE3B3DCA6879C58A69609FE799E2FA8B72CC3ADA
D9847746C0200ABD07180FEC6028490786EF5D95A7F428C22A4127098D981AB7
0319A07E15151A61AEB44C21841FD2073D858C6BC3CB138293E3DB530B16870B
1F269DC7ECE923462ACD4696A0AC9D5D871508C65DDFAF99EA280D295D248991
7F54BA5F81417BCBAAA8048A8A285BF071D6FB6181868E1E8595F355D470427F
CF06571A9B8D02813368D7859E00C1796C8E9EE6E9F8B1F8459130032FA2E2C9
43C806D9D474C05E84E1934659781105DAC31549B3871EBF0343EC1A0BE3AA91
D59666EC36C13AFC5B4AAA385C1AC6D1225B6FAC8A1D8CECF878F28936BB31DC
8A32BC985031EEEFB5E5A2C1243665BF5EC263FE981662F5E44058510FDB49FC
19C1691854EC4BAED03315C9006BB19A3ED8D16660C7B758E7CE44EA3B64922C
F1726154AA4FE7FE5C80118205B038485247D883720008DFCAD72B8BDCAFD73F
3BE7002DCFDBF32C77C4FD22989C1B6990DA2B5720A883A2B7893FF46BBCDC13
C86423775F421ADC51B5586CCB6540517E807BCC7331551955B1F6D9070D8B34
8A2DE1EA25BEBA4CEEE4E86ECAE2A826C38BCA32150C4DA9B834858CD44708B5
9C047F2364863AD7986326BECFBA910BBE858EB33E7871350A655020FCC9A89D
85AAD4C7AC3A5A1D6D3ABE4A1A072E0885A0FCFD9C76F97645F2D4E6C9819CA3
C97AE5B423D6FC336DC1BF6B4A7B6EDF4E6CDB2468E7CC572DD1CF25A24E4D86
4188FD5D820ED6DC9E7FF28B3FF0E81768F835767D1AD4BEAE2A7AC7D2A21443
0DC0BB6BC3342C0380741E0DB8E00A93B5B180441C0B0A984A77875074C9D581
77E6EBDF58298E73D8E4F7D0E9A90EDFE71E2913F22D4AF4C349C6819F4F82FE
088A053D9F3643E519BCE6A4479C99EDD780436D050354DCAC6BD9FF446D73D0
E326B7A769A0185F65F60B9AAF38B1FEF392664F26CB4E9E30B344C057E8B271
1E80182B3E2E6CD579EFF55630C9276AA9C98A5E8084E5E6D48D11589E675BEB
32D8CAADB0DD356231DF5EFF557563ADB88E5668EEE2929756C74C600D23302D
FA053182E78B2632F16140D30D98E5186863C987B5CEB244C5D343785A662638
F67B5F899237A601554A774A30A261606779B43C448916214123EF4AA304C102
09B960B5FCE004EB87CB8C5ED612FC273783C1ACB6867ECADD4EC80F4AB4E52F
9DEE3E5B8BB8FD884B544ECF4B035D2A8849FCE4077589F228E5B18BAF182618
04E7F92B23636A1D77721E8F938AC82651F9C1DB87D6EF82B80F046C3D5CE87F
D49DCED31D341CC923ADD205B5E29FBBA7D8404BAE05CB1CA944B92C10849098
9BACCEEA6BD4BB6F1A85E298C83C12516BE77C78605A4612906C0BD4CF18BAF6
7F6B843E3401CDCAB031132169D524DA6A771C5C9AB13E97EEFEE7F1F557388D
1733C212F85189293D38F5C807AFEE54775BD21E30697F07017DF147B08363BC
93D355FBE2758E5D7E2FD803C698ED5733EAF3C133C983F7EE52163667C70A5C
C774A3380AE9CEB7668B296B0272B087631A046310BFE6B0C462F4E9372C53AE
EFBE48D95271B2EB3C1E8B504D4F3D56F8C0ADF8FE6A5CC9504E53CBDD435532
5BD279CA878149B57B9B9B14E59071CA023FC285B40566DC570C74DEB3320FB3
4D9B679DA760BD7E35D91AB29B9FFFBF4F9F1EA059EE96261D868E3C26F4923D
3B26E33A8C98E05F17AEB05C52260D5942FA881582F97F710737839442BAAD02
32305ECB5DC933E3602CC902DFE60A1B8540671A0B8EE9954F8F58AA83634FE2
E658BE0CF42F54F10AA55662B423A8F631D2459706D84DD5C6667F0FDE86B982
34BB685D3EC6AC173A3E60235868C4D1913AD360FD48E0A34E64E66FFA27494E
6C28C16F11D200604824ED9D4469C65AE5ED653FF47FBAC7676E8BCCC84CC42A
1634A6AEF74B8D1E513737D76A1A83987F04EF2F8DB5E359A2445222911374A7
EDD2DD82A9D350B1D241BF74184FC1AA5EC4E5018CB63866AD20E417D69138CE
18ECEF9537D18E673321DB10E5DC84BDB50AA96DFA4932FF57DA489F6CD3AE06
B739C1B3164214EB6702DE282F85BB8991C8ADBD5633CA158D6D16AD45E211AC
D2D6411C900C37CA4C1C88BEC4CE887BFD45E588CE96438E7C100C4A82BF19FD
67526521024467BB615FF11666EF8DF79D0989AF0E708901E3DABAD804E9D35F
82AD091FEDEA2FD0645DF99F5F4A8BFA4E95126851BBE51D92DDB8B4E3A63A45
2522B42D723B2DA6D3EB1B309139EE74F8303947626AC4E55438FB6A68CB6875
AE03D79201F27F95A90F1C64726E8BC5538ECC87921A9AF91616158BEB31D67F
646AE3703B68E7BDBD01E644618BD2048C83A50CB1C2A63054CBDD451DCABBB5
3B12D5C5DB3D42C3B9FC91AA63D6009B38C1EB1C6AE2383562B6B15B6912C889
C42A20D606CA0591737F3AD52769FCB3299E6E09C045E6F11E6E3ED6D1779BEA
0E6A361CF5E761C8843962384F55356732DE0153246B3A0BA1831E2F0D532604
F66FC31FE550F761078026504FF4FE754DF2348ABC36E47C71FA7E44FC000CE1
A6B4792D3CE52E7BDAD933BAA8EE620E48246044BC19F14C05FCC0D912024F03
2A6076F4E30FF3956C38C910117721423C4DEF88831DA8A55F337CE2D60C126A
EB038436BA68231700452FA4860898F4179089319CBE73D3902DC703CEF9B6CF
C63CBE242974258F6F700607721ADB43E8238E47485CEDD4625F34750BBCDE31
48FDA025B4DA88F077C53C8C720A8E94E297155B5CB020B3EBB697C4E021CE45
E25C99DCC70150131074E86A9431DAFFFDF6727B0DD06045CAC3B4E1C32E11A6
7E83BFA598AD9A812EFC7976333D75420721701A13EE25A22E245944716C873A
ED3BAEDEA3D51D38A9F5B9615E93F21C0B67F920EBA8C3D188149E4F6B63A489
319842591134C5F20B2C4284C531AB375DD5C1A14F8321FBB20101846BBD1D87
0C6E5281BB5E33D3A7BC3523A9D825110590721E984FF2F594C8D3DB06633924
408FB6E916294F6BC537B734558877E3C46278F6543D86723D33511745B365EC
37A9AB31E309BB27D008EC0F179663D7DA80A93ED2ABF09416E6212F811CC3B3
E820B5060F7A20E586AB216308471F04A3E699BD4CA40B0D40F933B9143B60A4
23A0FBE43F7C03F9ECB120084AC47A8F711B252ADF822D51952AB0BF30643B13
0A761232F443C38E7C8FD1D2CAC069C2B979057505B48CEA22C06F427B591B4A
25BF9CC9BC26665D82AD06EC449F0E808820B581E46C2661A2BFDA975D214DE4
7B1A5E4938F2F0C8953B0D6DB23EA51E2CBEABF961444C41CBACCAF17B833E12
FEA13D328511EB5CE0A700C1182DA143BE521076DC56FDE705D1B428A884FC2D
24EA025943C9BA9722FBD41EDD4467AE41C205B0BC82EBDAA91DA455E1FD4674
0A861090134E602CFAE94061DAC71B37D5304E8941C62DF255F54ABA16D2D9C2
07227711019A0413B8A46223710E91097D666213F95172303DB81C6191ED2A5D
1C6A5CAB24741AC9F82F5F3E985658E3153AAA42081E7D46A3670EB7A8E03CD3
D9D942E88B48EAB7CBD0032E35402E0C61180205E16304F8FB53
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR7
%!PS-AdobeFont-1.1: CMR7 1.0
%%CreationDate: 1991 Aug 20 16:39:21
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR7) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR7 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 49 /one put
readonly def
/FontBBox{-27 -250 1122 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6CC3F1E9AE32F234EB60FE7D
E34995B1ACFF52428EA20C8ED4FD73E3935CEBD40E0EAD70C0887A451E1B1AC8
47AEDE4191CCDB8B61345FD070FD30C4F375D8418DDD454729A251B3F61DAE7C
8882384282FDD6102AE8EEFEDE6447576AFA181F27A48216A9CAD730561469E4
78B286F22328F2AE84EF183DE4119C402771A249AAC1FA5435690A28D1B47486
1060C8000D3FE1BF45133CF847A24B4F8464A63CEA01EC84AA22FD005E74847E
01426B6890951A7DD1F50A5F3285E1F958F11FC7F00EE26FEE7C63998EA1328B
C9841C57C80946D2C2FC81346249A664ECFB08A2CE075036CEA7359FCA1E90C0
F686C3BB27EEFA45D548F7BD074CE60E626A4F83C69FE93A5324133A78362F30
8E8DCC80DD0C49E137CDC9AC08BAE39282E26A7A4D8C159B95F227BDA2A281AF
A9DAEBF31F504380B20812A211CF9FEB112EC29A3FB3BD3E81809FC6293487A7
455EB3B879D2B4BD46942BB1243896264722CB59146C3F65BD59B96A74B12BB2
9A1354AF174932210C6E19FE584B1B14C00E746089CBB17E68845D7B3EA05105
EEE461E3697FCF835CBE6D46C75523478E766832751CF6D96EC338BDAD57D53B
52F5340FAC9FE0456AD13101824234B262AC0CABA43B62EBDA39795BAE6CFE97
563A50AAE1F195888739F2676086A9811E5C9A4A7E0BF34F3E25568930ADF80F
0BDDAC3B634AD4BA6A59720EA4749236CF0F79ABA4716C340F98517F6F06D9AB
7ED8F46FC1868B5F3D3678DF71AA772CF1F7DD222C6BF19D8EF0CFB7A76FC6D1
0AD323C176134907AB375F20CFCD667AB094E2C7CB2179C4283329C9E435E7A4
1E042AD0BAA059B3F862236180B34D3FCED833472577BACD472A4DE3E3F6222F
7A252B780C86447859579C68E52691E144F836C1C62F19A12EFB710343D33262
1F7955FE5C37074CE5F9C7ABF1A241078519A4D7913A0AD861E0E357B50FB730
E757C0D26390E6028FAC61EB0E9414716AC8406A6E35DC70A7C1AA524804FC8E
985CC3604A2BE0A8235CC895B2B33CB7EE85FE4F2CD817BAC3D27ADD295D0A0E
BC0E8D849952BCA7325DC261A785CD2305BC377AC61AC5E5B2CD3164CFF033CB
5436B8000673A4D763ED26273130702447C75A774C7799FB8C3E54A2E34D1710
CF7883A9B05285C7DF30F314455A4428A5369D92C0348D45BF4AEC5E16611D16
1E5EF015900F4DF63A58DC233BEE88417B204DBD110AACD1DE3D750F9C
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMTT8
%!PS-AdobeFont-1.1: CMTT8 1.0
%%CreationDate: 1991 Aug 20 16:46:05
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT8) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT8 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 97 /a put
readonly def
/FontBBox{-5 -232 545 699}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0187316F83DDE3E2D27FCDF6C5CE4F95B6EE
3317BD91B7921F3039DD35FEA387D5CFB6C6E9DC84C178F3432994FC7FAC6E5A
ED41A1E2EBA350178FBFEB45944511731BA827167DDAC238FC69A5486B995477
C469E2E27493B0B711DF8E267D3D5613B450011921685147114106C9472580BD
F531022F6DF5432B2A4EBC51A8032C7F9689B6FA942D849B29709631613DA68D
4DF7B6F059A19304F40A3C3580CE3B51D79D42984194D4F178801720892FB6E7
61FF43C63F9256B5E9F4227B1378222BAAD4D52C77462DF01892220E11129C16
6C9E45BB9F01ED7C1AD5D8B4D72BE0E12969AFEA90FEF170603CDB91CB243173
B19A56084D10293B80A35275F41BF78A054DDC98F4A1FFF592463D944960FB31
6BE5F03960F9B1F213CBCC7FD448657FE388F10104D42B0715FC9571CC60CF23
C72560CBB8835A0CA208FE06676B3B48B093CB7FB2C0C53AF17EC5B372A9771B
BFD52FFB7062B4FE0106A01A2A1A1DD4EF5C8C7623EC9324A2CB3B402FCC1FCE
52BFC8662F8A39D5F1B41C97E7CE34E16AC28A1E94007AEA7D4C519399F1B7A9
48FA7DDB671067244F09C29F95DD60668223F45BBDA8B1C452E930A9F3F341C5
351D59EA87462FFB30277D3B24E2104D4AAB873BB2B16DA5B23BEE25BE2C8128
C4CF2F4F438A4E520CD932BAC455BF8775C27AEA6C73EED3EB2F8DB5E356AE27
41B35C8AEFE73C4CD6A591AAE4F45762EBD6D3636C03F08C552BBFD0A13D11D5
491F8369B4BAB8ED9D6F1DE7DB7AFD383986C4338D3AA71C9AF2B8A0955CFD86
0345F16D9798B25156DDF826A7CB6A0CC4CB43078BEBD3E499DA95562A08EED9
7CA27B7A0CE3FA7EBDAA87A601B7CFD9F935916FED5048313D1B3A9C69223314
19C61BD2DB628C4E0DB5300B61C5282A4B81A78F7CA59895DA00F3AE9CB57C4F
D9A1484BEA0A9EC07E95A5092633295C1F84AED8C6385AC4F1FB14658964BBF1
7E971BA26F87A51CA5C602BDA3E6C78B27A51954460E2D77F524470946E822AC
564E1CF430C883E4CEBAD6E1917D0342007216C06F310B87F6806E3066690694
08D9218C6D2D54FF56E4C315D3F55E1B1AFB671BF963AA7AC0A03400B2F8F860
A03642464D1AEE2256228C156984FE524B4007DCC1ACD8EA90CEC168BB95A249
70D7CCAD7C06F230544279CD0F003857D5143BC3C2AB7F98DFCCB16E595F2213
E30BF107390D67C478CB27B9FC1ADC13FCECC7A772797EFA0377DFE106503DEC
ADA04FFF9CDD4772707FC10F0162E7F0E071EFE3A7E30CC474E59FE150B50E6D
DE6A60E021E23240DACB1F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMB10
%!PS-AdobeFont-1.1: CMB10 1.0
%%CreationDate: 1991 Aug 20 16:34:36
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMB10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMB10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 50 /two put
dup 57 /nine put
dup 58 /colon put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 88 /X put
dup 89 /Y put
dup 91 /bracketleft put
dup 93 /bracketright put
dup 97 /a put
dup 101 /e put
dup 108 /l put
dup 110 /n put
dup 114 /r put
dup 116 /t put
dup 117 /u put
dup 118 /v put
readonly def
/FontBBox{-62 -250 1011 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82
7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378
77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18
2DB0E39996C010F3024A5A3C69C8485664A4E3AA81348AE21A30280D0E3B6542
A770F048F31907891EAB8B57DC70FF775574D6CD26B8AC9C3E64C3631325BF0A
99AB413BDADAA3B51A3E168B03A856EC7D346A38BBB0A2700A23B2CA91120B9D
2AA5BE5A359C60CD78F055253785CC9701F5D670ABE4967D74838C3B267C6563
C9651AC41D8684AD5E913A5C9C547CA225A74782D1AC62020FC38E29C356950A
00E8F2B0752CDBF81EE4ACD59BDEBBB9523AE4764B995855F3A401EB4B04EE56
B10758196CB661448A3617B83CA88C41756EF131CFCE0C968B94B6C69AEC1E9F
BF8B21837BC422D766B5089D81CF35A807394A026FE3160580695B1213968D90
8ECD1611E719A871E15C6085A17906F77B5B2DFA6AE670976758E67F8A4FC362
FC7299D85ECC3C0BBAD4649B9DAB4A2FB248D6481CF0CCF274634D37A5AA4DDC
31F3138AAF10998FD66F3817B77060E71C6D8F17205F9C098D81D952E0FE3831
2264C55D73215176470D8D75E7BE6E44514984B9D20208DB3ADD4767CAC09D41
9C8DAB6EDF4FA1AA2CB285CA28E30972B3BFA4F8600DB9216487655F91CD091A
DEAA34823397C3D1CAF14A0F016A4EB2A2238881A285C0A4D2850F1D942637B2
A6BD6CF81D1A3A8B0E9ECE37710AE059A3DD5D5236726BF6EFF89C97B4E1C735
DBCA03EAE44BFB56C90EC7472FA83DD86D63E9FF50ABBFE1FC07FAE9ED061B73
6B15923CAB0A8F3DCB7C607594FAA48BC5D060259663B000B14B012FBB1407D2
626F8CAF1E097ED3B0D6C7D927ACF3383909B4E85803546AD4388E63D83DF79C
0C8ACD827D22A39B8E93BC17909BCC7F6684F7AFBB6561C95BCABD7CBBF0CDBB
02C93EBC8CDC004674B88AD2DF1544043B9DCF51FD29A231D000205EA2D062C5
117DCFA64C49ED7B297C41DCE94DD83B8BD28C640850479DC7D87F5BC5BAB130
4A2A3707CD8A08D86A5A482F58A40B944CABB6692C489AB9A0FCD3225D134A52
FB1C1B80C42A64F42AA0A780EF316A27F461DEBFFB5A33B9E83402C1177A0066
9971FE6BFBB0E4A1D32739BC69ED830C63BE1C8DF78FAB37D82A34CA9C98715E
C9EF417F7407A74B920CD71B37691A6DE7947B8035068C9D741C87D691A91097
423B9AF5111851E0F5F7EF5EB6500F716F675B2742F2EA6D8BD044EBB1652792
A5D763717EBFAB5B524EC2DC159E57ED0A3C18D7CC204D30B501A8E2443C451B
D32376EF7964C5841425EE1BB5453F2915857F6C6F969AC2CFF51EB350F6A567
2833D980AE73160B4DF681ACD32F15C64D2AD896CFBC876C4D08E99C2C44E132
830B7DDD3AEA94344C90FAAFE4EA1A907343F08DB10F5257FEEDEC9A52D9F0BE
B96317024F1EF27DAE0FDF09038ABB642A191E5D3A1ADE30948CF6B2AF833B04
C141449022FC87792B47D8FA8476D9334CEAA98FDAA6D386CF2C329D94008863
546D6870DF9DED5805C4580784171E5382B8FD3A6A04DBCD038C6CBE4E014AF8
A9BF9531267B3BDFFE4C1D5280FAE6EC1D8BE45AAA1A6B900D9E5D25AD8DC6D5
62DB0A223C909E2549B90B6E565CBF3CCB7DB2C4643FB506B43AB1FE090B09DC
194006E6A7F742008CA8C6B01F8F382F5E5D44A5EE43CE11655A844D59A4E12B
B2D2645ABC3209A73C9D6643CE6C2517CA5E032A202E50EE591D967A90BD20D0
0186B595F9ED7F3737A55791A390CFB1A0B2D55C19FE04E24C584CC17204DFAB
5A1EF4CE19B751DC7A867222A1A1B6024C37B8CB2EADB32B4CD4541AD8A789FE
CEF1987B972042402C340F87D71B1425C4F243F48483F6C6BDDCF40C95DB0C0D
BD28FB223279B4B2198222E535CCADD67FB7BDC49DAC65F113C28A4E5E4AAB24
F31F5D5ABB9ED9F9C43590EB9AE572757A105A08E3C92CB5963A7C394678A072
51CC8F317E8999B87951B0861C11AF617165CDCC6B085FCEE3D30386FB150704
921F596935BEB40185C46E0BF6988C45EA04E5FD4498AF6D61BAEC15E51FD8D0
3E7D76109BFE11393AE4F0A258A14DD17E19A61BBC9FFB955264A4CB9BB79C62
54F6138B2B84595444AD38300F8FE57DE807F46BD7466B322F17AACC9DBDBD3D
D41AA0394E5BBBF6E5C1AAC13B05810EDF8557CE10493645B6428D00C4E3C1AD
E192C93C7477A280D33E8F0E0D44F967C414DDDC55B27711614AF630EA7A0ABA
813E55313185CBEED9B09712CB10533692B95EC02E62F1AE522320D1990092C0
32ED313F4CCEBA412F4C4363BCC5B05B6A22EC53D6DC9625E6A1B5F9718E0091
557FEDE52D760F323E4EB6A770926C437BC8CD83A668477B3F330273DDCFF83D
2EF231C7290C43A8D092DA2D47E0DB51CEDE14CF12C6C6B6F1F0B713465719DE
E779705B06A4EB43F871A992F9B5DCF314C34C2785B967D4DC46654711E44823
5E0EB645261AA411DD2CBCE6168CA437B780D2BAAE6CC670837830122F28C4A4
93C3BA1E996FEB5613A0A92D97C7466FE9EB5405BA6D100B2E079B8856B845E7
C8E06F9DB80DED33DF5DA02DCD8DB11D5DBAEFE7E9A45F83E570E8E1FA115DDA
C1F7FB44C944710E77E669A65F6F0405792F4D9D0173864CDC589C6570328987
E0D7C73A9D9AC181D54C9A98969A3014C073AE433B60D6CD0D17CB6DE11AB4B7
52DB0735076E292480C39B3CC197C042AFE54E002DC4534785847750636D43AD
78CD0A0FCB785E325DEF1164844638B9895BC2D85FC6469B27C975F7D56864B2
9E97C82B980EDF08DA87593CA677764D465C109C897388DB6B94C5FC1192C048
292E9B21A0277D7F03653C5B8BA4E1E38DBE96024D4BF4D2FAF8166F51723A35
C40B3486C61C198D8A80B019DD02AECABE1FD5B2501C52D6EF48CD123A4A915E
1BDB1C5F38652AF26C087AC40BAA9F88BD344DFBB54E33698169A158D4E185C7
EA075083FBDA2F389FB174C653656B0F0F6969382E17A47F35E4BCEFDBFE79A0
09730206320F0E35024FA3DCFDC27FCFCCA3C7235A655F35BE66F543C0E83435
831AD26FF7533FC90534D5F87C4A8EC0BE9734C0F9CFEE094E4C0A525F17B9D4
8EDCD1A74D9A477FA50B950D815E6D5D19DD3B5DCF15860DBD71958CE0FC1E3F
485F58748DD5DDA7E0D1B4E843A5B3F33E3DA21772F13CE20DCF842877EF214A
E5789A872B5EDD19FE55BE80B95CCAE7B8808BFE4076AC5FB0DDDA18F9736905
08B9981C76822F26B7B99F9E16A2818D14AA73F646FA6C5C36F659E5D4C3FD28
162EA957F4B325832CE190C51088DE0E960C6C4C572FA288F5B17E271FDF949C
048402C9447FE6AAA64CB3659BFD1D7E6C4103905E9E9D7940D7363A8FF01F32
90CC92BFD59CD8C4DCFEA85D9AA7C484F68DDE7E2191198A1B8E8A27C0F8D1B4
57225243E747F6DBD26FE342038A24C5E1E64DB6A7CE71A5F0EE238CC6A4A4C8
BFE0E82CA3C232EE8D2384DDD546807A7041970777A5361C4B81999410372B60
69D97522962CBB2A07811D0382B3BC5C62C6E827C3BBD0D29F6F68FA4F3EEFFD
642431FB624E652E7CFF5BC98D903D61F5CF8649FB553EF90E37887CC7E55A04
D681C3CC9D7E4538B031E32E553DB782FC843EBFF7D002F3CCF3E07AD61896BD
7F8CA47DFA46AF166C78F2B94F387F160B1B9F70A0FF6E6822FD676897F211B7
873DAF36C8B181065E3D76BD6FF367E484E1B8234AE840DED0C342B70D979DB4
9CBE5D67FD476D9E691294E449272159B80D668F1F736C43D28CAF46BA0E1CA6
DF94BBFC9097306E15F7CDD9E19FEF9D270051DA1C9FC0DD781E561D11771B06
3D10FE112B53A6DD12DA2AD1447DCAB78C2C5A9448A854418729422AC297536C
FF69E81BFBC23C9039570FC9FDFD10C762FFB18A593C7D135375749EFCCEB23A
54256277DC4A1E0452C1EDA586A80F66D75CB5E015771AF66D500161AA32719B
5DB08207F7E69D9686C0B9087E250817F3F39A2750DC6DD773DBFA27872CF87E
9A1D4B8BF11CECF270B09A32B3A6EC54CD461C564ECC48B790356192B0AC08BA
EB1FB2F07AF56F3F08B0C23AFD65DA2AFF4A622434C19D1E662B496727F4AA8A
00E46EBC49467B84577A78ED782BA27B7ED1DF4A02AF0E76B4F21F2B0986F549
FE5F8149240B4224EBAF882BA76E128F3780D7B772D4CD5EB83690E95299A320
9260A51EA5F9E85F25D251840AC7FAD5CC901D38F9EE55C75FC98018058B7709
1CF96465578CEED5AFF75725BA8BDA5185647EF8D22CA3AD5BE1B04AF0D7AEDD
E5EB04B2E84E48AF881DE23C6592355F62AAD449055ECF3F7E2EA8EB08C64DEE
9999CCDCEE5284D22BD83B448DF2CF10F78B545D881F9AF3F81E2C392818D959
70135E0E376572AFC72B94E5357510D0019FD3446F239F05F8B40D7ABE1627EF
F5D222EF4AFA00C46C2749301A8E3DC60D448D6A78932878CFFF976D732FDA14
E6C9A4FE37E4DF7D778221335F22E5A0A78E51673D44346E8ACDEACC2ABE3023
2E1D4E80A3DC1A2207E92016E94EA4C7D835C89A287022CD8FE6CA1FCBEF23C8
805836B635575855D38349D9FE662F96FEF86FF93B3207C4B6B3D029482D46CC
7A0C37151F29E8D74F999E7AB60090768EB3938C9BB16C1C18984C83F8CD9A69
C20CBF5F7B99264ECABC93DBFAE2DC3D99474967131D920D9314E7CFB3F096E1
9188691A00872D663CC355760A9D39904B5575D067A7D4C9C2FE76DD4A028A31
C2C59C8175A3D9001077D15A810D535481731B58ED474CAC7E3EC76087325BB4
0E6871F90B0ADE99AD4C7BD3E74C92550627EE1993BC5E5FCB05AFF3F280EEA2
4EFA1A06C64401AB2194CA242E47111B1D66278F6946034061FDC730A012CEB6
0FFD54F3CBA7DE6303312F5551FF0D9EC381AA1E9A4EBFE4D7C132CF8CCF91B6
10BC6D96BABBB29300F000C530CC48440D7E3D89CF9C13636C0679099F016324
7CBF982042408A97871B9145BE29DC299F23259910A8C8BEE4450033C0E64B2A
B420B3CF55AEA545F290AEC72FFA4C0404AAE427C261776A8CA416D38E934799
0B9EEA2D0B76F48AE9590C87225AABD5E5B20520808BF371FD52013663A82C47
850FDF4CAA3DB92BA04AEF661CD6B81D5181FBB682118E9FA5E1164AC86D3FDA
5D89726A9CE83E0234801BA777746EAC0AF60FE3B30CB527478889ABDCC8526E
5A6B116595F9ABE3E4911C17B6C1A49A9918D9B34FE984CF9DDF06EB4D00D97D
C04191844E3D2DCCF972BF30D2D73A3EA410840FDB3BB42E5F56DFF122150C7E
82E9A880C4FE746D5A69C0653B2D0A627A7F40A2766B6B0278FF6C7C29C084AC
09D821EB1ABCE3E5128CC08C2B271FDF715A268DAB6098ABB4348104084B83CB
62D49F4C84B9A18491E0C6A7BCB9319D58E3439DDDB1D9EBF5BB9A00A8E8FBC0
EBAE7EEDB0884FE457383A41BD6890F1D89B2E097AEF5BE6E9D5FC0145C8CC77
8A91587C6E69241021E712FD064A9717D5050872784F69BF65491159B60CF21E
8428249D16FB8936217BAF22C858509CE9C9BD76885F9857076D06A05B80F3C7
A98359601504BFCAF2D2F0AFB06495CFCAAB0F54645B00944F25D9B884FA23B1
0709974B40B72A112B346632B13190FF3EB6AED7D83620C47452125ECB9D269D
F9339EBB4C44EDD72E1C371C667CAEC4EE2DDD226A0BB14962713B535473B295
AB1ABA8DA68F06427CCE44519E38460B719CF3020219D48D1375DF327BE9A71B
756E06EE448ADF351A5F5BBBBE1ADB3334F9A8654C3F82CEB371A0D78B529CD4
A5138C1712CD5019325F395D69338662BE8BB257665847753E24E579C7FDF836
0BE78D092C6D6E955C07757B74D6E8E9FB004B20A2DB756FF6097610A1023E98
611C846ACE1700F1C03EB8A6E710EC904CCB111CF2CB3B09F3F4B4E9998E12ED
EA7A61706259C7FEAA2D90242C64D5CF97D27530C55DD688FD53F22A04F1D062
2F7C936D9B93956BEDBEB95C14C676F29932994C56A0B97394AF9D4E21A53745
C7D1693911306B054109094E5A113DABE7A2FB5F08A1C8573684517B0FC690FA
2B43EEF9346F5E98DB82B45AE7857610B647E5086C4BAFA5C4FC32FB0FEE11CA
AD5BA013CD988E5A5574074A0CC43FDBAC0435EF30328CFF19B726999ABB4CC8
A0086C0EE2D64AF26DD727639D4390382B51BAF4508738F21B3DBB53911FA062
F165E668633A2510E18362BE915583831ADEEBC25A75FE6C9945474CD4B16C98
63F12E468A9DEA27CE8D795B32A5955EBC5AF5F4848C3489BD4050FA1CFFAB22
8E177FA778BB388BFE05A7D85036F5E2DF6E4FB6041D9F82D98511F6950D049E
2CC740A41D7233652255B19098D6F78A610227EFB5748098FDD2F9832BCAC375
FFD5159860DDCA3E859D4A4274C0E21A0BC5EDD73EA5F638F649FB532584B461
FDB97482DBE3D0FB1C6F0B223D9B388AA252FC85E24B775C24732D53062C3F87
2BEF8AF1E65FF8B84E64E91EB57680E062DF4D95B7EB69DF49C5969EF4D401B1
BFA9F0E3E05AC76BDEC93A2FCA2AF2E73ABBFDC3177A5108D423E527041E8CD4
16784B4081DB354A4DF6CB23D231E402F545C000F1CFA977C5AEE4FEE287E263
6E5F15EC9B4FFEFA59F8DF76E22BE6FD799CDFF99B9DE7CC5059566116714547
8516F7F53FDFA4A030B01A0E9CBF4D41F118157506F8B19C8B35564AB4C0E669
265AAEF7437D4B6CF5E6D88D65D66129E5A78F172DA51F447C80E3FFDF8AAAA3
A548A15938C146562A110638BB100E6B39DC4588D14E936475A262AFF2962F50
75750B6EB2B77C4FEFC8000129AA22B773ECADDB6F40C8E6EECDDEA8563EB616
C897B52C81EAECB308BCF1AFB670FA567882EC577BA242B8C092B43C17D8F5B5
C82AFA9AFAE3ACF378644C4BB28CD51958C87EAFD708E3558B00A7D624BBC5ED
F88FDA5A6629E82B55F0B05032186A5672863D344D002BFC86C6E4E83F305E14
829A8A6F19BAE34E3526DC3B0011049559F156BD08BEF383BD23B4AE1F160917
5903A87A9054B3C4934C20A2A12B3EAA52682217A9B6E4B4279BC168E72B54A5
40905DF94E30C3058EDF5CBD612CEBA426CEFBCBF76C364E8B42EB5D3128A76C
30A6875B31208567170B50B1BB860ED4E84436946AF3E4E2CC594D28887F0DD6
29E358E20B6D2BE494CDB18B408C3DE35675FA7E774FF08BC178CEBBA5CA1D76
EB9423F28878EB308717C5B8973A1260DDDF73E01694C6D3D5812D0E9326B24B
A5105D8A923730FE95123B949B3C235A59D919CDFE841EE97F62317B219EE4E9
C20B861F99E62F18F8F48B875D9BC3FB30290D42FCBC716F77EF9D1564E7E186
066FF691C92E429AB26C3F96BE1BC68127E9A746197A635B216D9B4F7DD660A2
CA571A908587CA1BDB53A0B29FBAA2A97EF52C5DB34FF6073496EF7BC7E1A585
F18DF5D1B2B92AD1679F9187774F5EA7A92770EE9902AFF1A210B288232E92C2
FF38BC7D6DDA8E75917B48D448BBEE5F15E2FD512CB6A96956E110CEFBCA33FD
C3F363595C34C30CDB6966014787E926DD2690D6AE6B0F0B945BE2C4419E6423
B35AC87A168D515530FDE16F87FDE438A579E1C24E5746F3BC69DBBA6CE65343
AD54198A9E74D5EC6009AE3DCE24D3CC9672E5FD0930D7D622CC0F093B5D9488
B36086A5E563FD3ACEBB5573C2A07590FB12C50EB09F3413F968EAB2140FBB87
43197132F839629909E73B8CF3DE13282022DFE7AA073E8764D92BD3F08CC22F
8D3F55320CAA5904EAF87356D0AD6A0E23A662DAC8758CE7F2F4B791A9ED93E2
50760BE1F270C5108570A5A0836BC3969DE378A7C6F82142C1F2A04DB7AB7268
0E587B969B48E16A7EB4028D6F71AA8FDD8C0AB4189CA38EB4A321CA087B2B8F
99785B86F0C49F5687ED9CF37C0DD01650C423992291A0FE8617D4A84042829A
3F7E3155B330708ACF52B2C9FE86B4902743927E5D672852F3B333A05F4AC103
F85B8A9974E1A3570FC3FF9258DEC0EE127737E1B88D5EC850ABC41E10CEBF5E
DF83EC4F48B0D250FF65C228FE594A53A3F5FFA223B6829C0AE37F4AC5D4C015
EF33A79677D24ED59BD19C952C5F6D223A12D59198B12EC7BCBEF553AFB697CE
DBADBD1C6BDA46737D6F0789997A04E480A48076C30D942011FE8735D6669FAB
A5220545F94234CEA4190A908964778F4B19C6C7E7856A7C20F57818A55301DD
FC7F746BED448C81ECE1163CF687BF5C2ABAFE9EA027606FE41D844FAA205D32
D461F99B8B9447C027D347255193003379199FC9D62DD7566552311A03F0BCE7
93F86EA46E2B111F682425DEB1E34F227E410306725B89EE10A10996D0AAE0D7
65896F910F97363B9464914C1627D6336BB8F09187F280096696F0E83F7067AC
2BB763046B58C206B664D37CA9AFE9925055A00C997A12A28CABCE6E96D97F78
2E030CCB2C728053ABC09F42
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMTT12
%!PS-AdobeFont-1.1: CMTT12 1.0
%%CreationDate: 1991 Aug 20 16:45:46
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 45 /hyphen put
dup 46 /period put
dup 50 /two put
dup 57 /nine put
dup 97 /a put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 108 /l put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 121 /y put
readonly def
/FontBBox{-1 -234 524 695}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E
C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E
3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B
426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D
D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161
E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32
6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5
A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE
0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC
85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF
F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4
C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC
12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D
048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8
0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725
741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB
9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE
306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371
CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC666
1353CC1FC512D59DFF847ACCD04A1C36D8C678E99A0CAF0B7AA7DE226F220BA1
8145EC4F43D390DE65A99750CCB976DF6CF79A1ED03B3956CCDD036FAD8C4020
94448A1969529E625126AA23205D65829F9C640419EAF13C08981E729EA1E006
2D2261D21A5106397E0B252A1D5D4DC72D7686C6E5BD72EBCF3B88060429C02E
9237474EF4021545C8B1473292C8B4F5A86ECF68495A50C9A33C60D49713451A
B1B95CCA5B66E2092DB8C0AC8C92CEA275D9F50670D3DACBF601C53C2F737885
BE986233D033729ED21CCB7B0E329AA1DEDF73E7BA502C1AF2A48DB1ACF054BD
109AF4402BD380183CA9EF3C2CEBC041764A017D56C9C49492B58A34F80CC409
A336E14BE6A5589582F1D68A72D55B2C16844A9B242A50D6BCAA864B700333DB
DD3AA9667630F07EE742D2986D6C2C178B8C969AEB01FD69B65EBFF5EF8E1FD3
9CE443DA33161F7ED5E48FB03F33E4C10F1D0FEC65D5D36BFA719E1B8DC734E8
8E89F7D8E1BD3253CF3428854F178E4AEBF916D17E4668EDC79C472B92E447AE
91D17352FBFC8DCCCDE0D49D3B5ACAA24D2B16AB81919CEDBFAD9B73CFE9F5BC
E34D67E3676AD5186B21053CB5E467C46BBE1BEEBC0E628DB616678CC6D0EF60
03A6E9CBB6B392BEB7FB8E8ACA451BBB2A0BD796CBEC995CDB5EA09508E3061F
2419C06082708B23EAC1927ECA3D07B8B505DDEE7BEB40B54B1FDFF16FF266A4
C0ECCED523450690021E5274A0483CA89DE0B328BF401FBF787CB92DAE99359E
DD9139BC23E443CDAE380F9F4E0616D24A101791F0F856A0E02E25B15BAFF333
4E7861E3092AE03C275D15169FD927CC6E86758846E22CE6F36EB1DE2D55619B
83A8F89C58321AC26E1D35F306F38035100B104E782D2BB8F2A750847FE1A617
1360BABFDAC4B0A1F9A9FD9700FC9F371BAD46E8D3A7DF7874C0B1FE2D565115
E56E0302A9A0EF84BB3E9F35953BA85A215358BD85A8D72F47AE8752753D8B53
164864475F2A54989762E03D16130040B091C55EEDE24821549C1F766545A987
832D44CF9557AF60685C108D356C4EC4943379C4CBC0A0063D55513C4ADA97CA
96A041ACFE92EAB64B8D91C686836C0E70F4F353B7C550B57D933C7BA7D2E874
DE91390D49B49375D634768F955E9C37011895214079B0550D1A7B797CE74AAC
FF11E00C50556E87E09E3D0C18F3C590CF8B6CE518CDC10C2CC674140095A3B7
65E8768878E6B741C8F3C457DE96AD99EFCACD22E3ABB2377A63CF9B0F8C4D81
3CA3187D0EA3FB76F9DB6209E6BD462CC8167E7EC0636D3BF45E7B0F7EC4AF9E
65666B9D3D9ECF70EC8437B70F2E6DBCC68A96E10223B55C0E6C112F3CE81368
4EE8AFAE613F6BFCA104FDF696FBAB3A2A2081E348A1681270C5D76BCE3B4034
0292FDAA134C525A0EA3541BA1E2EDAAA35DBCAB607A80A7D022C1D239B334D2
588EC7CD9C24026FC59F5A5001F839DD189D719BB982E7B77F59D5C49456E42E
220009928AFB49F0F3B7AD46630B8E81A8E540F25EFA5B11847D508BCF47F03F
EAE135ECF9A10ECB931E5AB3005FE675CB936FDBAC5143FCA1577CE12968CE0A
72A8E09569130A10F74BC2834665B35810645E0F830625BD979B32BD75676F98
AC1CB6E754BA9A133D603138617E374366160D94812AA0ECCF2F828FA8B2006C
6BFF184E718A6D7BE45EE0B8C843468C6EDA5A3B1342C028B54D97862CDE4A9E
E8EEF934AFD84F38924460D99E8445657EE19F573F8DBD247FB47A4E42A86C2F
953E9192C2696619D0EAF84AEAAF001CC04AA3CEB12B7CF96608C4BDCAD93804
22B74AF4A40DA3EA630EF90B8E3D9D4F87BE54BA13B5FD4711D27886DDADA67A
71AFE803ECBE23C5D8BF8EE533751209119552772E69FA2B83BC44E8727E57F2
013FC888C864ACC9F79F5DD28F8E9B5D943215918B092643BAC49D564CD5FCA5
0F7DCF8C9F279CD792BCD323C7EB44AA0EF21AD0C3EA63188D07CDD69B34D44B
8F607B7A4B4295FED3694B2BE859BF329435143B68BC052E67FF5852AC1ACE2B
4015684091641CCFF6F6C7238833C8EC4C50F45E91D3A789D472CC4C3EB0AF0A
A7AE19988473DA6944ABF286025D0B128F41900B839595203AB0B86F7BE2A9B7
3142824A7608938BB6687EEE9489323586C1CCB9D39F6FCE4100EDFAEA894264
D13197A4A79B5D148254628556D534490939D0969496EC1F27FBBCED177B650F
FBF0B0351C20A112604860B9F89C6CFF8B5DCBD1513EBD4AA5EB688843DF5F94
E2BD9EC54AA89286AD268EB121079494BBFE2226F3FF539852A093582A09AFD7
8B0F4D956A73DCCB1FFEB9003E5A69C6A1637C19F0E6EC538DA5FFF5F13DC7D3
9066C0543F524E73D48CDA40CC1BD8BA154113AB041AC525DD2E6F7BF6039409
D969A9494879E92B80DA5523121286842DB13052C4B853DD724B9B6855825DB3
DFF113FBAED2182C0FBEB6CF5C9BB0AF58793D2E005717D6CBB30710E24A620C
ED2A2A5784D4281FAC189328F47B5B302429D2445E4EB15D3D6C32284CCF7547
37398701611A81628EB7937BC14CD1F17221C81FB95AB7D1E7B0D140482635AB
480DA51C8B63ED4E3F40E8CB4106D31766135420E4FBE859A0668FD9FD1DE7A6
B922563A4CBC2FCFA0D688B5BFB47C179E3C98691A3F0ED762364AAE0A64CBF0
13AA295EBC07B3D0DE1416A629AD7C1AF3098C4C1D6B89606905CCDD9FCE1CB0
B7E72671FE36D3F74D68D409AA9EBF9B94EE8A8447EFA34F5068A424B643A842
994DDBD21FA88295C0A1EA4C587A14C1AF270BFF70BB2BBD6629C760D9CCFA89
571302ED016B36B4856D28BA7E8012025CC7F00137C6C17EA65C281AF321524F
CCEB8FF657B973BDF7B74E8633D104862B94F69CC2908DD5EE46597433F64017
81D360BF71255A11A33743AC639DC0A161FEAE40E28E72945AF4212B2599C711
78D5F1E8AB9171F64BC0EE18CA4C2CFF1BDD126B580539D84920C05AD85F4E79
EF3B47B81E0328E0731154E62EBAACB0B4B78966D003D8BC0E95A5E1500D8A65
46C87619AB596C3A9B1E4049F2A53B4D613C1B0F7CCD43EAD5BDEFEEF0467AC3
34205476FDC67B53755B44388033B315C0E0BCB7AEA007C11155B20D22AA2572
EB7521E661549F53DA826FDB1C5F23EC646EF2B68EED20C0BCA23CD27E3A6A78
56F4484F3E045C4BF77F9D6687CAA070EC0FEFE052EADBD6B27DBE5FA734529C
D9FB9B9A9A880DD696588FD7E0301A606FE9E21580924E24FA589D738FB1B532
12C3FEDBD58FB1C11C02B80DCBAB5EABA4CF22A152CB0D9E6911AB7318C7A8F9
2BFFA6DE576CCCC886885610E32A693A23BD0FE5179C89FD0CBD09712866F45E
C1D793D766AE275A3BBC2EABAA7F824D766F0D4035CE7CA8E968DA47189AE4A6
05BE6390D5EDB1FA5EF23A1CEFCD8FE1D5B7465253500C08A00965345E1DD654
C1B9A46CE494BE85F5BFB7ABF40FD9A85F429704C83DE82272E1834EEB3A5E55
1BBA74D660EDCB87D5C2C182AB1EC98C1BBD8B45717475F5E04FA5E5E0DC77DD
8A94D6456DB3D5F32AD8259BA4EB3CC51AFF89158FFDD895ADBDACB42CD19277
15F370F82F4C188B2B974A3B381EFBBBDB58A711B70A15274C5B22F6DD7F00B4
3D9E1130091858262966E389AA213044A056F1C4FCA042EF1FF065872F2EC57C
B4F67CD982B9257D3F792CC4E185F7CF81A2BDC01742E530A1E9E96EFA1BD539
F1623E9E73D5EEC5D2C8445D27956F4D307002EFAF3C9C83FD8C7684A1FA71C5
D4113B6E048A18486CC3C1A05C56B37B1C688867A306193F55EEB01C845C92BC
8821F5C3D66E1A3DF8753E30B8CA706172190948F7B42E9C3CAB6E62494972D0
6B52332A1ADED17965484EF3454D1A44205C61183DACDFF072894CF4227669C5
4CD15981875AF120A9F383154900459966A8F2D7FD7A43C16DA178621C0D384F
243C883C7AD4356D6D1F94A77B032239003556406E7CD0F35567CAB62FF557E6
8895E951F17283D7F75A8C88380B2163CA57D157F281F0A4BF1784C7A53BCD2A
6AB1735861E1C038FC7405630D4FDF518ECCEB3611BB936E44DDE904C6FD5965
3097626626B4C5D46463644EB0706177DC6D4ABB8FE9BE62D8C87911DD671BEB
D09F1B5D9954A8C7F184AA2F1766726B237B558C9252A79A494A6CB46AFDE6F7
2830052B5AAD88EBD52822E3B3C2C996AD188368D81D09B6AD7E87EB7D66D1B9
141367065E5922A25E0DF08E9E3478C881F9277496703F813D6F1B1A1DE98790
AC5E008CBE312AC9BCF7859B1E90DA2A28D77B55A331AEFC90350E937C16AC2C
C44CE5D98668B3AEE7250051FAD989A05D4069534E49495AA8C72624EBE2BF83
EA16061C0399096ABFB7BF1AE2429569D7BEB42A7792B97A5F21D372C62B9481
430286E68890A8339A0A71CC827F3369CC9E30954375106ED9209B9E5143A2E7
05DC5D4EF73D51C3095374EE8BD86B9B
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMR10
%!PS-AdobeFont-1.1: CMR10 1.00B
%%CreationDate: 1992 Feb 19 19:54:52
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMR10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMR10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 11 /ff put
dup 12 /fi put
dup 13 /fl put
dup 14 /ffi put
dup 33 /exclam put
dup 34 /quotedblright put
dup 35 /numbersign put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 42 /asterisk put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 59 /semicolon put
dup 61 /equal put
dup 63 /question put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 81 /Q put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 88 /X put
dup 89 /Y put
dup 90 /Z put
dup 91 /bracketleft put
dup 92 /quotedblleft put
dup 93 /bracketright put
dup 96 /quoteleft put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
dup 123 /endash put
dup 124 /emdash put
readonly def
/FontBBox{-251 -250 1009 969}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4
87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F
D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0
92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C
295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75
409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C
4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF
2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E
0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E
B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008
24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B
43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF
D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575
5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC
96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3
7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65
0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830
B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D
AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007
97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8
FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5
20759B6A4C4466E2D80EF7C7866BAD06E5DF0434D2C607FC82C9EBD4D8902EE4
0A7617C3AEACCB7CCE00319D0677AA6DB7E0250B51908F966977BD8C8D07FDBD
F4D058444E7D7D91788DEA997CBE0545902E67194B7BA3CD0BF454FCA60B9A20
3E6BB526D2D5B5321EE18DD2A0B15E53BCB8E3E01067B30ED2DD2CB9B06D3122
A737435305D42DE9C6B614926BFD44DF10D14402EBEDFF0B144B1C9BD22D7379
5262FEEAFE31C8A721C2D46AA00C10681BA9970D09F1EA4FA1566B96E221864A
45A24ADAEC63F61C9FD18376D3984449A1F998C318A8FE36D0D5020E18A49625
0F3BB603BA1F3E66FF412F6A32433FF8BD2968D79CE4273AD0E0CDDA5153C2BF
F8A46A2244F9394A49D339F763F5A7411A3C29336B21CCB01723705AF589B078
3763035411FE36AB5D744E81379106890688CB5BC41184548B7FEBA08DE7288E
E6570FEA20C51FACE8E8F824BB61A4A038AB817C47B87391611B77928B2565A9
3B27A573C05D36ED01D8F27CB2C793370FA9B90021B5696280A55F2CB6117B64
293EAE0EA5A243F56FD007773CA35DF71B3D28643C25210CCE25F37A5095D6E5
9CAFD99DD1DB0D7EAD454C13464DF6FF5DD42339797AE5AE467084550FC00139
6EE818C6365007B2FD6E26285B832CFE6EA7E99665A224C9813C036CED262639
3FB39C1F05FF8F31D2DEF37BB9B883334F51EA124581B786A3D5FE6424B19872
AE7CB657C8D9528934B990B94FA4A6D61BC9D2CA9B4E95A22CBAA066043F44D1
AF32F545B9E123536914A7FD7FE96F12039EC25128C810BFF546AABC609DF57F
E19D511F324E32956177C4376D191C691B9F0B21FA84BAF3DCBBA536CD710A80
1DCD4C83C02E69A140E1A4CFFA3B012398F21DDD96ED8060DB98EE133F430022
41BA1DA473F1C99F0D6CDBD35188DAF712AC83E0EDE08EFC3CA2B4A21EE55692
CF22799274A5CFAE84C89C937AEECF9CC71A328015B63C1730FA68A18871E174
D035568A73346EBE4EBCAE410A4F2505370A0ECB487FB40FD823065AC56CE66A
9D8440C5B3F74B855EDAECE69835137D4D76FC0FEBA53998F57EEF25C7E3D9A9
21BFDBD66C84D8AF7D8A3B79FAA9DA2963FD47689E519FBB2B7793CE6DE04A5C
203539BF94A5A700E65B5A5DD37B051EA4348BDC4CA39909ABDF8C4102A58FD6
661206115F7EF6C29E12408BADB83AD40071F53B501C15601338467BED90B659
2708D01CD77E109ABA63C19FE12606511639C5D9D5522C80692D1CA874E17B9C
753AEEF13718DD36A008B2D39D618F4F766174423AE972CB619634766A5DA025
F9682D9E2A3C752D0F6F18B0D58319FCA606BD6DBC4F83D19DCAC84A6165B460
AC1A0057B12E2023F175E6A51FC12A4852043F6F2F2625ECFF6E866293531437
1C060C9383278C81B8DF68BEED88C49F86B7617C5B938457D19FA336C616D2AB
0A430B489EAE7998EAB74FC8C037550E12EF9AC540FD37473DB1A44B1747A4C7
4687624D806FAC32A53BD65A333DA3732ADA2774D6621BB59BDAECA5637F1F41
CD2AAEA8DB9774C2730DBDE3A2F9499C719A0E9D59FF37C4F4E6E54D5EC402C8
6599488AE21DD119CA2BF54EDB306B26351D0CC4C82040835580087C60327110
9F8A1277DDBBD25823AD30F0E960604BFF9CE454C5C841119F73535F3093FBD6
8E47B1357BA56E3D906EC70D68E85465479539187B56EC67A64DE38FC444950E
A82B014254689B676BD02A3068ED7ED5D4C9CA1839ACD730A1796A6FEE8905DC
73D95625C5F6B4364B1507A313B56BDB2A1DBEBD436AD80F31439C84BD00248C
F900452374CBDC6ECBC496178471EDA30464C1C4BF38936EC7E7767FF4637CD0
34D3C202285C0B3ACA5515977C253F00DEDD878F6AD84BA9A1041553A3626EE9
A5B4C881E77FF893293253F9507A3B8F955BF288562B67E2A99DF65D86D14B48
DC7587B628505B75A6DFA4CC8DB2CFCAC62ECA302FF5FCAB51FCE19FD7BB7675
D747A66872C49954B0C1547A8759E42FD7219E7D9C87F62451C47B13B46D9619
D0CBCBF138ED5CB03C8793626FBF6B4ADEEC391FC7AB65269CD899FAFEC8A9D9
DD838E4AC1249C33E3CD4539F09989D0407AD5A9A3C99BA7A24F62D428406A61
862D66DAA7EDCF0D8EE84B4399BB7FD1E117F90046F53CB268327B3333C0D82E
6BCBD0A6BBF76130D08527593DCADDF3B1D76A9154C5919562D5BA8767A899D4
DF546740D7EE9908EAFD91CE8F707A74696ED0DE86F6BE6C1E7DF1534E1A645F
D2315D77E06A87CF2093119D5CC415783F73F3561E7D336E3774570D50569DDB
F5DC496B875A91F2A2074DB8A7E44F86698BE3701727D63F644FF0DF38ED505E
ACB70239F0287885F27B6D1487A9CDF5817F92866613ACD932B6347F5857B242
95C3C47EE9AA298763F9BA372E0215161696CCA5C5EC4CA9088AF24D18AE43BA
1D0F9C25C23645D97AA5E9C05C59FD2E7B5CF123048FEF61080F6E16AB0D852A
0A0F0DC41D08B6DF137200563D61539C3B5DFB979889AC756B8A42A81D422DA1
9DB2215B060FDEDE2AD01D4AF60ECB81C94B66E1B8036B71CDDC8721E3D270FD
CD92252E2F73EB2CFA581A0AB5B196EEF05E926E3A8C45936FB43F7E726350B6
FF5C9D68CC477F4C4541E37210CC0DC917B9458699100283BBED7DE5634B08E1
E8A1275815A358B4C0D3787313C850999DF7330A5165A70BB5B5104415A5F973
3160B501075FC60DAF1C8C6DA3A674331DDE8854DE916DDD0491906F4EBB7F6A
C56C4A9D6132320E2E021CFEA843F7C56203E943D3A9B12D8321EAABAE3580BD
58D81B6C551BB86D2FB83A3E6B4924EE0D07E961E5235E7D473647322CC62C69
EB8DDEA11AAED833A80339E58330BD4AC7BC67B692ABA6A34D4D2D7A1A279A45
91974DF964E64592E3856B6D72B26D6E16241437159F3A09A5F30A4360083530
C76CD71780CC61C31DDE51A144E6E656F62A579D808F5FA729F1A66382EABA98
B6E376765D96FF4015BF46B3314B72C007A8DAE08A2E29F3461FA56B4BA6DBAF
6AC06F4C94FE3F2D692913E13F99B6AFABF801C0119625C51F8015E35BA453E5
8AD266F5BE4EA6E839C605AFCA7F11B673E51FF62A17D6BC824119A89599F86E
04D3DF374382132A2F1FB1F9E307DB10AB21E627C4356DBEB97C0A6205AADC11
22176F33DEA813908601A242263A845256234C6A3C9242AA2811F9E43BAB934A
024BDEDA3CB1E7DBE07BD210EA3341582B6D2A1577185C01E6F38CBE50E63DC5
0C27D22533C60F2FA74E15A9098F5B0AB07B31A098A88C9629F2BFE3E51379F4
43E54F4AC11B6134C39EA3F16B0AD01160792AEE382FA08C171DE8FE8D78B8BF
AF4B630DCC09B8C548ABF9AC0ECE250D4F18F481EFD5AF1F00B23DF090B57BC5
7825A72FB1E529CAC192DC16ACD2D77E8FC158921B4E9073108E69D69E191B7E
8E1840F83F758C840A0DA59252EA309DF1828E5C01FB9528AF8EED2A5DBCE0B9
8CFAEED4BE7BB81293E49C382F8662548F7CB5579C809007E665A50BBDD51B2C
E1756BA9E84AB65F970FE5E4282417D5006EF7786C02D0817D3841DF95E00C87
CA35863F66C06860C9117A4E7E5008D45B70584AE3154BFDCA49006E9548C978
D25EB10052885AEDD07F8A050E5A64C5BE3270EA594D79CCECC92996C2FFB2E5
FA947080F1EF2335799A8DD8BFA215877BE32C2B5A633153F1F8EA8C93B8362B
A3C7452B8D0AB8E6EDB16FEEBE51B64FCD0601F8F9FA99EF4241CEB58F829128
F21AAD148D8D681F84E51F5A53F6C13E5CAFEABB18CCF22180C0B911A37624E2
5FB908863CC80ED9C93B93AA72997D13FE0C71F0F38F274B638D461A44142142
53CF8EA0F89FF54F775FBAF2540C02E895D0BD75B6F03DBB65124BB41F8743FB
B67D53D6DF9A7D134CC7858F32872969147FCF1912C54FF72B609E1A10AE4F61
7068CADBBC35946AAC508AD9F33FBFCAF695F68C279933D9CCA93229CD03282F
5E5343EE96D7133C43AB880C39443F3AF6E04C4DA3CE7D929D128D1215700E45
F297B6517A367B9ECBB65C342E19A3767946B9DD60876E832524575E0289C388
FD13E3132A1D3DF3F36C77B642D24B0ED5D1565675D126D851A443ECF57B1806
FB9F35F99CBEB2FB577BB977377D7A0078A6882D81E44E9EB7C3CD28D1F24090
744B6CE1F5118F08F3E7F8F87D783C0FDB032942D78219CBC36C704AB9D62B8E
D908D6D5490544EFA10B481C6DFC44650EE3B24C467C67587BB53B2F0BEC46A6
CFE5F4DAE1BA4F2F53E8E99C10DD03F1A6B8D6D7345FCF2ADD777055BC911BD6
78331DAC5E9D58A574BA42EB444E2E6D9E3971F8A0995E552D38BB18DBE605A6
05598018EC62C0911BAFAA8BEF2AA3026B574A05C06C5B09EA81EA2D44E526B0
AF905F7344DB4C8E665DE157572835EFBDCE23C08182BD6C88E754D33DFAFAB1
D598596BF72D234C9B3CB4F863EB0C0D82C0CEE9BE01B07BAE14867B52B3EB88
D13930435D24F524FC4DC2306980CCAA8EE2E162CF5244F02DF6F2AA2936C03A
86394C9A41AA3B7FB94D21A8859FE976738E93D43DC70323E5601FA2B4493F41
0A1C509CD367B5DB76E015B34B1F72F560405453276665A5BDACCE7A0692A0DE
CC922A68F2D93E90AE381C4D1AF81E9B89875919FB8793BAC481F0CCF4E3C5E9
1029CDA7061B66473784FBE92A10DE8CA6C84BD94D1E3A13D192C830EC5F9028
E48426D99124CD83A8227580ABD894E9D77978311A635A827E12A72ECE2F32AD
947DEA382F773C28E06DA5097CB8029B5B72F7288B42D1C916558ABBE10CDF74
56C51DAAB215852BE0ED396764575A3AB5B4A89F702C444F6674DA9D73376AEA
EC3198028161BA0390B6B2939E9875833ADA7A21ADF4E6D72D1C8DB3D26444EF
543CF25E128835C6014E72268E92DFE53B8738257FC352007C17878F42AB21D7
0A72AA2461CF6EEF556B006FF1804E883918881AA448BA38A4BD8555F5A67B19
0FD667D74090CD79F1AEADF3B08E61747435090CFB7FEC2536E3DA126ABAE2C6
35697ABA2F3D7934D1C933B9F125091F6BEE1A1EF576FB3EE511F739DD4697A1
EE2218F6901623F9789B62E6189B86DDCC11CB4E8AEEB13707F4B20B6544C76D
23ABA706ECEFFEFE9A66C39FA17B9716C7B87507AA5A4BF61A0A9E9784ECAC33
77012994981273788B497760BE6287D590D5D0ADBB3BDAF1C5162243CA9090C3
F64C2196D935515A4261EDE262CD9DD5B4AB530A2A513B96FAF5E2240C7328C8
D60B475DE444CA05F9DF021B970A8FE30C6B4DD16087BBC61833CD4542E73672
188CF60488746694A23EA1FE198FAE888EC3CA3C409FECABBF89436F560460A7
D7FD3A803F77CAB7BAA903D7A3DA3390F757E8EDAEE43CAD1E46377EDF0C552C
C47B240107E39EDB0945BBEC2F1660254F053EEED312DA47D844631826C3B56B
42A18F68482E2012B460C152F413F9106B392BB0D255173E8E37EE818993A03D
8CE853111C89C3E2F9125FCA3DC4C999656DA1C33991F57DEC5AD6926F45EF87
E624B63EFC18893870E05250AC4C3091656874AECF48D4587E51BFBDB09B4126
F9CF451C2F87FEB303E7BFCFB0610C332B05150E1FD9E4D73DB8F911190984F3
C660D00B0710647439053139B8CCBA7507212CBDFDB6D5473410DFEFC59785EB
4B81C585763401F95F364379D19CF541711332C1D3CA5EDDC643A9CD7434DF80
3702AD35647D3A794BE2E25323EF239F56699CE11B08DA20AFC4410D06DBF8A6
CB6174424312CF91448FFB95A718388CB9DE6EFF3176AE7412D8D760780B171E
B928C6168089E79C54BFFEEC2EF6115D724B091FECB5C1A47132DC1EBA407839
B644B4746C2DEDC0507DFB64D57AC07DB6F48E8592B126106825E7A791FB5EDD
1C6A51E8F27ADF467BE79A4F20B0FF87C997A9BF6FA2DF429171210FCE2B232C
EF4FDBE0EFA00ED1CF27FF4A812AA00C47321FC0D172C06CBD3A4BF81C45DDD7
6D90F7662A5C561660CCBA192A28C49027AFFFFC8ECE256B10D6D6FA290600A2
DD8E6117DBF228D7727BB76F6E40AE7C315AF30AA387FED52B29BD0625C94356
6A3061FD454A3C20CCEB8D06F3B2D0A5145721472C42B8AB7D575EABB053F9B2
44F31F10A2834C4C596836A9734EAF172FE123392687A3C966906795AE51B6CF
DE5291637EC6CAA764978E6CED9504788B7127B1E064AF5F3A056C1801265374
2D488C6483D21198BACB12FA032D053B3CA74FAB9AE98D47BA037E205D1B0D86
BA0ADCB5E8CEE192F95DCEFCE8953A295408781171CEEA76762E668B3409C726
56439A91DBAA042AD2983B7A42C823423860DE9139C89762FFDEA2A7B183CC91
D1FC75B26823D7F770ED65D7E4BF5C5F110E4FA08028087779986CDC2D1CB8CE
C9B6AC5C76FE7156B887CCD19D0D996ADC957F415B7A42A9D7F28CCC6ADD2CFC
1A3279C4F5F38546E4A07E1DE7C3AC9F7E1F0A089A218866ACEB50FE58BF051D
E5E9473B5B1DA2116AA4DB3B3C57F707881AAB3DA1B5A917FE2D08D7EECB213B
571E8936FF4FBAFA5021000806E3D989E7D22EDC24738DED49ED93F99046DDA0
A94FEB8C45D8EDB85F22BF00F229DBF3C5C095B85EFE6F536E1A5B53725BB0D9
9BB1E4DD3C9C1F9CFCA20A9D6B03A1C6FB9B5AB40082A76604860F9C8B5BC0AC
87CE2F6D3544DE509827CAAF913627CA366F811CE1E81328343E58E054F2A5AC
05A87873FB2A82570E095A98C5595CA0D5D2B7E43572CDFF033A5BD16C888479
DBB6727D400321F6ECF236F96B8F16700BEA3E5773D581C38847041ED7984A62
520087C62EAD37D9D440A0785E17EC0B0A2F55F634CED006CD53F06E17F01ED9
70170544C3C110A1CB4B6224D0F43CF6710336050AC67707C43D7551C2C084AA
C4D944BCB7AF4E559484D1908213AD47F999AF24C23753942989D9EEDC9186FE
817EB6664ED84E61A218A1CB7A9B16774DDEDB389F4712CD7A5BBDC50417F86C
96BC5B09F9BBB26648BC514D3B69D44B7CD3335C57FA656991B7D3FD7F552A7C
1423569715CEA9F4C32A296EA243E2B4E52430E7719FB737AF26696B2432F692
A4139C642A6AC8ECCB04C51CCA80F22C69F38B4CF2C4F5FD76A3AF5921073D20
0AC49A469997A2619CF3669D3709E47C665783D2F770CF9EDD8CF60F3F75BF2A
C201879C490940785D0B3ABFD50D751A16E8944590DFA5080D2E910C257BF866
D8A35C1C6F64F937FEAE266AE8276FA4E3B054CD3FB6E5A4C1AE9666D744560F
AF055293BD19A92FFF045DD9000D6FBA24031C5641B91229AB1309FECCF11ABC
21665145A6B0B0B8B7493DA3D46FEC8E8124F2A21C016AB3310E0B4CAE136BE9
9E345A3A61753FFD19DF4B67CABFC2C504F6D387B5437F4A51A782895585458D
EB2A933D34F076953DFD6A38BB06D42F7ED26F674833250B429B4A5FFB5D2D67
AEF74107C3D05B94DD2E2193DF025E789F380CC7B93D7DA329F5CB7F23B2D6E7
1D9A5E1C1B827EBDD7A2E5C93C06554FDAD091B20BEE28EC67BEF4B8210394C4
BA691E15BE2B98116637DF1630E6B9246F35EB13F8674775EB2DF40754D5784C
475EA36E2B31877F2EC16F3C5F002910D49B76CEFFEF175630109B50D14B0B63
97E2AEB3155C0272D6C90F8C9D5A2A2C91A728F4FC123AA6199E84DE2F247C9F
FAC1B10571E48EF12D85FD57B906BC17F6250A441F3A05BF6EAD8CF0F440578C
CC049EB1A253625DDA18F20E2A237EFD90A660BE1A7BACAE8B84D2A041F2914D
1F1B486E4D7638141C4961787D30A40C943486DE20E41F8113F9F76299776E0F
CDAD2F0564AD6651B100F696C2ECCF0A564D8FF247619C37012AC1F2C7FC9C1C
16077FA7A707FD58F018556C0F0C20CF73C382DEB386DB189DEB12E7EF5C92ED
BF9210B526E9B5A487919077091900E2C7D931E89077CA0C878DE20E3DD498A7
0D15FEC9DFC851B4B86B133A9F2EF63D7543C91803C30A885A2A54F4493572FD
626FF72F25ED90E0066ACB6D15A1EEDCBBD560B45F94E3DCA516B4042BD427FD
09FB77F5745FE41C040C2B8E30BC99865F7E67743C1187A359A6B4A1CD902D93
CDB759DFC4D526915EB5AED75A645A4520C1F76B3B30811FB6B42FBAACEFF7C8
6058E70F81CE6246AABABF42CB88B489088460EC57B2EB400C47A80E1B37B8AB
8015C6A058E5FEF761DECB1C26D19495912A27B61C6FE53FA1FEFD9A19310C6B
079FA431591EF5AE9A23CDC08ACFD982DA7E3D65061DE21DF9DD51C35D207848
A2529226630A319F25CA99227A36FF3FDA9BF9ADD505B39DBA5BF3CFD99462DA
EE8D74566BF11309B6CB94AE4EA8C86DB37702A279359BD4DF2A247440B9FC70
D985CE292515DE8F6CFB7D60030B44CB66F811397C68D7A587EDE2EE6AD712D3
6E9B5096A8772E8C512E79A4E71EFB70551AB481D59388272E250720EE93CAC5
38D4DCB0B50942D1DF0699EEF8305C509B56808F9B9F60775B85C4A17B9FA504
2E7B22DD6801FD372752212C04BBE54458E2CAD1D417F159E7E2ECAC0AD76242
2EC63437804E2FBB466F6C6C6F8562343BF7A1848E44EBE4A24CC98937D435EE
34196BF6ABA7B0A202CE761F5CE6A6114F0EF8EAB268760C9C2DFE8B22C34AA9
6BCCA903500F29877A6822A9ED4EF80BD896ECFD6D449F8F833337B3D986E515
547090365DAD1E1841D672F7A4604DE3E6C96F057AD96BED34A041258BC0B530
0E49B36D287E756D4E68C92EF8C98F4ECE38521BAE9D2CA68EEBEDA3F24A14F7
C0F1A88547FD9B18CFF354CA4F963FA737515319D285EB43B632D4545DCD6665
A246C3251F52C8FB8074D97B05777D7B5A6E3E12F5C0445A81886D3C3FE28306
A678308326F8B26BDA47440CF9521D69AA533AA0EA4A4CB8FCB11E1A07D85912
07C4F16D93514FC8F14DC401BDC2B827025564331E3BBF00A6B2C22477C4A89A
5E74C5BB2FC0751271A297021360C49117E6DE0F0A386CE0F0F52909F9767F84
8B3863DA00C9B99A2E3855335938EFEDCE6DA54E0EA6690D68B9C30476E686E3
FAC7145C09E48D09940F3F435A75B69142572F4FB69A5A2AA38E00C6B2203429
5306635A47DDC99324617D06EDCF5B1ED25085537210088970EC7A59306489AB
F8D5FF84817C18C972337A564693BDF1B95A06EEF8EAEBBC7D00ED0B23351C22
D84337C757597A52C2EE483BD135ACFE2242F27F0127AE9076A225FF6007D841
DD71C3940C8247DAC21393C47294627C871A94EAAAEAAC82CDC813463D6E4800
D12058FD859C3AC8E48AEF7A13CE4504F11A483D115D86B812E971961020FD11
3E3D376386675A5FE01A608E1C3C7AAAE82F7F95787FB4C3EEC4B6C709E768C7
7192B67DA962CB11D99AD45512A44E1A5282BE71FC048FBEC68A664A1CDDEA66
5495C294925AF22ADAA5800D32036D69EBE07FC80E778B75C866C465D6233EA5
E9DA48D7A0A6F962C49922EC96CBE4FBCFD519C12AE511A42F94C7CEDED3C793
56C27AE1EE810E30B06E12974ACC7C7E6419AEDA99430B6ED8001EA3AF4AFC0E
F6113DBEF54436CF5D5DE58C13998305F9FC0D519A268BCFD05DBF5ABA0BCC5A
EDB441A82B0D52CA511D2B350690386157F77B44876644800E764A5486D19081
6F3B2496F5EDD8F91541EC0D1E2B88EA6FD42D8639AFED7256F75DDC53DC91D8
F9FAD34D7ADF226E2FC2C8B95499201CD8F74406580E7A02355D67DC6701E2CC
6B11C94DAFC8E59A80CE95EBC0648108A6F8C807618E13F2BE4943535727E538
35477D1F39C82E97C3AF66F5921F4B9827078FF5897FDF9BE4B5AC0622FA2391
206F7152718C70F409273176D9566E0DCD77E4A4CC12B7A6DF324A6A757B35E5
8ACF36F2446D23ED8C53F1A1FCA5FC298EF15E70D77AF75D50B79453F1554F1D
C282BBE6B58DC045280A86BF5E80426EF50BFF0A1BDB0C8ED186765C9E3C0E8C
BECDE2AA1CAB89C06C724910407CE3B700C593E41C37AD707DEFCE1512CBED72
E482DC57A09DA91756217BFDB572D7F324EE1F508BC340336BFE31584F2A82DE
14398FE0200EDB3A4297364E061E6649D4EFFBE4640B0AE6122D25B7990F5D9C
483154312B2A326BCCC3070109FEB658A684EC173E88EFA5117306889D5565CD
9E5273D94D6B49A1E35671E27D01A2CB6DAE52790D9399811107E8CD7C3648AD
820A74A1B3F6680FB2A1F7C6DE142E497D400304E18990EBFBC567F850C3F1EC
1D716D6A24B2FC7CB3FA94492F4E7685C932D259F59834D66093E033A7124DC1
F5ED963EA72AA19726B07472E07AF3AC25327926192D27662C360E5C7B00E4C6
D913E89C8622172C4A14DF036488705C246F67156C3816C98CB62F3C1D86D099
5CB6914BFACD5203B876F33741C033A24220A3DCDF12690ADDC72D31DBE945B2
BB4C0B3F0A2C3B0F6B69684ECCE1EBBE3037CC70059DD6E3777DEEB2B83B8599
1FFF8B1C0EC734912F2820F3A24C6DDA965B7F8A363B501F71F6EAFC84618FE8
46BC589A416CB026E71BE97EF649FBA66C54482E3FA15F9B4E5ABD2F6B461029
211B2428EB1873E373C9DEB3311EED7C0EB7A2338DDD4F4699AB8346CBA3CDEC
EFFC028220E333F80BBE687052C035C1C0A568BF76F186DC0EC21E38B0583E09
96C385F5C1492769E3C9A344F7329B0272E2F4B2FFFAD9B61DE95E4DDCF778FA
66A8BF212AF3252D4147F8BC3F19D798176C47F7CA8C9A3E94D417298F505E29
4D43171922FA7F8412E12879F41161E3D4A751680CC3354BF6153A4DD5717EC7
FE9820B2111C877BEF12C7DC0E8038AEA629AA6C1DC2567EF272417CCF48FB93
0A2022ACC4A9E98602C2C10F628C06352A434D63D456399A39E48A3DAE77184E
65B813E48F9FC2ED1CBFC8E1E838BE189D6607D9FC6963080E7517D17419D018
449E252154AD17377AACDB252FCC355F00BC387DF5B665988BCD6770767A1740
9B1AD5C0A84A9C660691E2A5ADD222C55A2682C2CFDB39FC696202246ED7AF77
585D76C6C1B3DEF521ED4B41B125F30A6C95C260379BE84CB7D7357F7F18086A
B8076AAEC9F68AFC2668695A3604A9D96C294AE3137C27501941FF5B23F46519
65BAA0787514C0C42BDDBEBCA583383B3377D3B620FE6F37F9338A06C2635A08
B7CC7A8E3BEC5E77740DE66367FCB2BA68990F51066A7D4A2706DAC419F8CEEC
C9E11089D23B2E65799697AD11F023D386257DEA0D29758319CD3DA33980BCB1
9510514CEE074AB9829A889A9E2DC246A02D4E9B433B0EC9980877BB97FC4E93
1E322BA201501E4993227D31BC1C5BE85B8316DA22B9BD45D3CE2FE9AA14CC47
0B26FA0A901EC93F2957E2CE9F10DD6F9EF845016328E8AAC1F4EAC73E1A4484
04E37068F4115E607361729AA474675C119F64EE21A38CBCA5966A6B5E5EB044
8F8CBF8D2213B5953EBBA629AEC8E061DCDDE3B9D15581C759DBFC62C62CFC60
62140F6B21E4311DACD25283B1BA8B0D9ECD0A097CD2FCB97084134B67E7E539
EC0380B332B9E031FBBFDFBEFD95F5A47DE16F25D8DE7EA159AC00ED456F2C07
5BD391B5A5E89ADC16E3802AA778A8075A346C2FD51EF4AD681F1B2EAA9324E1
DE1D679E42D11BDC272B3312258E3A82DB42F8E4419A38A7361CF038786470F9
BC1170A748535450217AF5C71D83241282531B845ACC3F7B2E6FD636A234B2B0
CABBB780C740A9D743984DA3E591076BED22D92CF8AF04483DA96D215E7AC6DA
8F813D1ABA3017F8C07E8F9D214D9C6235200E29E3E9C0C139D3E52F5536D521
82ACF921BB489F721FB6F817FB20019804A2B9FD5276F51256040400D4C027E0
45C5733BD21C79BBF5D10DDCF69B627C4C7C0426B624BCE0C20533900A419CFB
23413EFDB1F538D46F9AAD15D274418774B1ED955CB2559FBFC6DCDF50D4C537
5449E4098B069FB8FE21FDE02631D7BF0EF04DF7294D065BC00DB1E4ADBB4AD9
7AFC5FEC13AEAE111A089F4081B167386B68A9E3074E433A66C1868F5D3EFA1E
23BDE9ABFAF4E2E960B7F9C56F06093B76E67B53738E46020AFBC3E40F014F12
327BB41136150B24D6962D56ED3E59CFE74F80FEF284378D59AB8CE97AB052DD
017D9FF24EC7A8436E7CEE11FDEC9557CC21920645E8446C3F2908DE1E0662CF
3F224DCC5F97A5F30CDABDA80DC3577DFF16A39CBD7AE72174528031B8EE393D
261922CC6A540E7DE1F194FF0875066622D517C17DE1DD910B51B4E03B2D5271
59CE99A289A31F1840A32D1572A5A60AA5A86784C94B35D031A9F7FD49F697AE
B480746D738B70CEAD909B279445A5F20FD29FA9075BC0116B33BAFFAE518FFC
749377B143879F46BB48FB564D51DFB7F5DBA6F3D112EEBE001C4A5A4E605097
BE6EA585854CBF30F2842D69A8CFBA29154473BAB1980664649313E454AC5C58
3547D619DBA2604A5FA0238772A33EC5CCBE2F069116D8B382FAE00F552921B4
531314FA666CADF586AC294D40E7E681589B73BD1116EAD917FACF5713942C03
7C69B88A086E1AD91D164DFF0C08BC7139491D36C0CC782DC150A6342D5A1CEA
80C76D63B6C37CEA9961B871A7D270B66D0B05D0DB07DC6A6FAB46ABB3665CF1
32BA793BC11B7F73E1EA8E1D26B1D6070544B687E704F1999FBAABA9326BBB88
2D91322196BFF44298774529009DA9A33B9D14E712C607F0994B3AFBD9011415
A723F061934EF2EE77CFC6396A9DA6BF18A0D298C7A6C68727EA2553CA39E13E
98813DA1A114CEB833FE98491CCC354989981CAA876F9E78D6C750B02BF2BC1F
4536CF7428C7FD5BE56D02AE49029BD2B8A96D7A0C6BF3B05610C28455360976
9C8B306B9ECBE42B4808BB3A9D36E345F097596EB97DA5E22E51DBB5E910F9F7
17A6E28FEF9B12E0D02A1E13C1FF687B0CE5622C815F35B2213A8E288A566823
B90C23370988F78420AA4043E1864629FED224E8B58457CE0A49F58931D9FAEE
713A8CE4C7852A0580FE62BEBDB20D12C704B503263E8D6EBD8F93C77D491FE1
428D27671F1D72DDFCDD1A0837A765B1766530F94AFEE9B5C9DE46BDC6C9173F
7E7B479C4220CD777559B35BCAF212459B68F4770825617AF932D714F28D113C
B7D44904732A67C2D50EEFDB9EB329F43A0113BEEBCCE178E6E717DAC159D5CB
BC96B4C50AE6D4DBA3D55158229F6D97A20AB1E45AAD87360072C18EB3F43244
AFBEEB087F7A4987E5BC015AA048CFD2D83DB96AB6B5746DEFE533CE8481A8A8
A19580300B2DFCBFC5E12CBA1E3BA649EB66FA725CFD02DF87B8EA185B6F4D6C
205694C15CC26A6D11F318E0186D89FFF17932E5BC951C0458F80871919073F6
4679128370AA852F9002026F494095F069D5000850910D8513A0B4E2713E9A49
2DD5E7539E7FC1AB9D5B572E2BE096F90D8285E533B98EEB25A67642988EE3AF
C8024AFFDEA924C390952BA44A84A94B36F37BACE8CA3719C4584D509CC0BAEA
F438F87C639953E72DB2033522EDDA21D2B42C6BF884BA9EAC67246A4B8A73B9
CF7F43BEFFEECDC7ADA4974F958026DE1AF7AA232D816424C1AACADEC195DCA3
E7AE83E61A52175CE6858CDF6EFB880A7D224F0C13A21390825403A4681A074B
04AE6AB5FB0C4A146951CEF5478B1B32E1D84640D11AF5D139101547E253AFD7
B7B9DEB57D631C9C0E972B592277BB2FF5D95A136A7B0E0ED108A8FCD64F18CE
630496FD8CB69AD6D80DF902FFC227A5BFDAE88B7C358FC4B3DC8098D5A61F6F
CE4E594AAD556A396B7BB5209DA21553318B7B911F5F7BDAA4DE068C2CAA4B65
6AB82C9F4397B0677766EFAB0BE5C749D78B8A6438AD7563052189FB60C7E8A0
3335FF01CFC124FF7D73A9B0AA469D3A728D73001208ABF90D950271894F3D5D
5ABB72BCC65D90459F59F72B67312ECA5B94337E884413C813C3E1081D6F4495
EB8447C4CDD0568134FD4043DD9ABD8E2318192F9DA8BB39AC22F5DB70A0BDAE
F60B85431F4935B728E16E1E331C0041E118C20A7627CDF2543732DB38E47369
187FE077A35C8B94333588CEBABFF0E8E51492AF29454D6A6701339AB87784D5
2F0FFDA934984AEBC73ECD964156794614D87E8CA8B13DB155273E792A2833B8
17046BFD0F820F8B0DC1BBAC8301F7ECB07B8E9ED94921AE04C2DA26E6CFD353
3AC372A77EBB312DCA7FC9B03860A21D3C8177A868AD3ADDBFE13B7343FE445D
6E2D241BDF5B176B961722DC335F5BE9964ECD43FAF947D91AC4CB7262E8BFFA
55F9579B5CD6919AFFD8C11F8204F38626C9CCF541DB9D8DA16149B911FC1234
AAEC14F7D9153A22F8B2C844D3E8EA389E3338ABE56DCABB344A7B5C121E1E80
BE38DE6F5EA457DB0558BE5C94238FB3C2150DA3825ECCF3A0F1E0D215323EE9
429B2481A931CFFA96A383EE1B20CA02C4BD7CD2ED574E69F7D6CF1D408A171F
AFFBBF57835635D1187C48D07FF5E1B25BB9BCAB7A3316B789655122629FF5A0
560DB78C89D82C0772D8919B3E7748D4CD562B9EB6660C24A79982F0B03D78CD
9B13C20175AAC320489D70CC4604694D39853D53402A79AD8951626C4B30F4D5
C3D46486C72283698B1633FA187FB01659B9A0F368DEA848299A8C33DB0239AA
F6A7472CBEDAED327E2D809C5F596A355A6E7F6D93AB7C3BC6E15C3578D99043
956890A23B46A7DE5BE56CED401BBCBADBAF297652114CF00839F3FA7ABF2C9F
CF02F28639ED6BF424CA843B40693E3ADB057826C6559F9D335E1FFD591170BB
7E5B885C03F6FD05E0131DC6F1579F6FF27B8CE2A84ABAB2BB7AFBE6B6014997
8B134A6D47FE953BCED1091822C7E35A132863547F07EDD1A60B4790655B7FB2
C0C6D36EA3C8847EC0AC732E2C860784623D8BD2DA07D8882CDD68650D08F8F6
E4908EB944E7DD2F120D894DC449A6453A8BCB960EDA326C577EE33CB0BBADA0
3C3987F804745C1C1FA648B3ADA27E202F8FF522DD1C87BD05E5982731DA36DC
CF10D8D5DD6BF090689B8C5F36E48A5AC2454EE187C691761AE58CB8CD264F74
50776165C58DFFC960CFB68F0A50D39360FC7C2FC6DC1AB43B1CE79A04FA0B32
FE09C04EED4B52E240C5D28314D6D049EC3FC10574740B4C1222E2F40DFE80EE
96753C3552DC7877DC4AAE96D35838D3F0BB530EC99A3493780E6B824089E728
311772C2526A6CE83DC95B10F38D7107C084E0EE38CB2755669F4A784EB2943E
4785275DC68B2A4F21862510AF7BDEE0FB056B0448702C5E781C8D595B2C3215
C7AAE06DBB6C779DCC0EF8A645D6B2BFB15BAA45B12813451B17ED0048AAD4F7
396D61B47241E7E1E10B5204E612C114033557476E31B5B0BBC39A5303CAFF82
8702B694820DD374CD9AEB875B4E2CE3761EF7C19FE108770F0071C99573137F
1A19E167A2C0410D4CE779E3874487257D8572FCCD455214C4E20194D8C1411F
E0A856901AF5E122EAA82D5B03626A1A3D9F25C3BC229A893B25067965187AB0
1138B0897ED3B234E8AB8A1A3E03EAC6FD7E0096E0BB5F12F217454B728C4E2D
029A441DA211A85CA97A1817253283F936979A2246E3DF44FD2B9FE2AAAEBC73
C7EFECD7FB32ED53C9A25C1B8AC3DE43BAC81856783C502C95D8E25C4E550397
0FCDBEB5CD911428C2D1386EB5E3665A024F2F7D331CAACA8A554F6D5C91F2EF
69559615527E7CF74D8BB692D0CF814695F6156BB070D6A6694C42A829A95D19
D4723C4222EEE0266BB0122F610EB6E375F3A762EC5B8D75FF9865B8863D7158
A448FC70ABA1350AE45692F20EDB6CBBDA98AB3F586B02C52AAAA0E3926E79DC
C752813C53BFA759D6103355F079D8EB278F2CB78A5AF17C14DC43203C72DD0A
401A9F277E279174DC8DE113C5C57769AC0B4E899FDE66FF261885703073EA05
6A96630CE170D13FFAAB84D8DF5B72F96D2690489671D66CA3D3F640846DF5B5
08A340465805EAA2CB5CCBBBEC404450FD884F1079DD2B518046FF355D11BA67
ECBC6DBC77F2B34645F8C72B56779B34FA15681E0A8B193E8B8EE5CEA8591C03
6B1A2A9471B8265ECFFA8EA0039087E8D6EDCB96FCD8F428C81C7605BDD45DE4
2EAF422807F36D656F8EE90810C990151DFDA77BE22224A2DF2A2BB555FD9133
C66FCEDE73FD33330CB8FF978B8FFED25FCC5FAF9EA60E139F1740B5191E457E
15CB57B84BB8913874E39BC9E56791AE6D34920FEEEC4F0ECBF3CF3B7CBDF443
FCB2DB6D80DDF2497A62E26EA64BDDC148D8DDC9ED8537F749A2000EB4E62457
22AABA75C3B7F6604482132950B73A8744A1FA31624F6E3CD08EDA651C0DF6FD
74105F4BE188574FD4140B98932D0969DCD41855826290107F3E6C36D64A6B12
4CD04EEF21D234D799C28CEFE03F1EB0C75C43F8C7C22477D0242A172E7EC2F1
A02993D45852841B395F367EC77A24D592C20B4DE8986D9F92AD3B59DAA7FF87
E991835823F2EA7A3D638C46A423BDEE7584DDB6B04098186FE196A65E330B34
C6FB5F5F6D61DEE4A47D8E1A51957AE6C3F09F80A3E2B72F667E1E76D689A21D
4FBEFC07751D50A639020F11019F467B067370B5EC9E60A289B5F364320A5923
C234D2269F60EDC9809FA5D5869D30744EE1A35391DBCB3D9AA856F0F107AFA2
DEC10C44043D812B2AC72EFE3EF1A88C8D2826176B857CADF5C11C5D81C7A46F
BEB4CED58C954771E4C9C7B4E49CCA9EA94EEA1292812BDB0909B2B52C5A1449
9B6A23F7DF81A565187AB4429E6FE38D5BF910304B2B6FA02E0D08BEFC6B9BE8
A75A9E6F739FB3F64254138559A5A14CAC5495E3CAAA1DD81DB91317B66BD3D6
A7A1833B39AFC931BD7563E2857E51203DA55E7626DEDE895B47E259C6EC964F
11B396F78E065A02C3D3768FC7FAA74A715C18D38A63B8BD64D928DF273B280D
CA06722DECE0BF58A69100C903478C2815A9EFF6CA2293332982D5DF18C14C2E
912571C2442D965616B81F7ADAC4A0643D73B806D11703E0017B9C8D4490607A
29B23D9F3F8ABE3D9276F0DD73D7B9356C1535E147EEA224207476879CFB99CF
07DE8F6019AD6C35AE5C1154D573D491956BB3C3151B057BDF788B5907AF2A3B
5E90CBBC343077224FE12DFF4D64520F253761CC08EA51F57C6D933CBD39B6B6
038EA7600BA094B46470C07CCE4ACE79FC07974872AD65C8C2908775FDE40A0C
FEDD45931D0A7FE3DE0722D8BB679F1A3F1E6612812C3FB0360575F38C9A603B
6CCEA66783C1AEDFC4898196466FF0D01005906CDC28FB170C308306D023657A
81B1EDE75B8343C0C5CF82811C44998ECF6CA249C3CCD2067B0BBF83D820E3EC
A047A7451F6D9C5A63CE5426CADF329055FA71ACA99790903381472E4D54FC39
4F150EC9C5F19C7D9924F90DB504605E6AD0123F65CE47CB0B2FB8683291017F
337337EFFDE5A510E90421990AE3FBE02F47FB8DDB3FB3EAA9F062C801209A6B
73AF3D0E6C3207D302081508DFE9635160873AB9DFD3CDE4CC1D2EF221E43BAA
E1BB64E175BD5609CCAA1AE89EBD7332F4E4DA5BCEB34720D7CE8B3619917883
0FFFECD917C74A6FC604F6CFF0D5BD609A444B16C1622677ED437DF68B1915D7
B46AB9E6E35968D966E3361BA90B6694C8182CA81900D028C7825E4BCF1CBCBE
362A6E6E404D0CD9AFDB6AF9408B816DC713E682EBD906D19165CBC58EFCD0EA
C75A430384DF868BBF99C85AAF497D20C1C4C44BCA5F1F0189822C0E0DB22286
C4DCFEFE23A2B4939DFBEA0D96E6B6E575147635FA1F31C44DDB74A482F69352
C4B666FDB94BB8453DF3472BE66C31216ECC3F682DF022C4072C29BFE203384C
8861F1B9C37715B1F63E6669915E657E645A15EACF749B4A20AF60A9A3DC6E68
C6C24AE640EE24B53BD2958DC4CDFFEEBD555FA1FFF64DB57036F73C78E9CDCF
4A7DA2F7EC0FBD5A9D2F3FDA22DD3A536106D5790399C255240BFFFF51685673
9FCFDC620BDD2616E96362C10CEEBCD628A8A3A5EC32B50F6CF5BCC85EC2A2E2
77BE93049403C5E01E15AF4BA546D85D2A501E3D37EBFA3BD91A50E4DDF68F06
8133EF263F27C1C22F05AE00FFE199020E92865217CE8AC524775022071015B8
D898989BA6624585813A21C3DD0DFC855DAA95B574E6A590CDF3953A5E64DF12
887B09E24144AF02CA48C7DFEF5DD008C7BBBC91F3CC6950462722D7049A5CCE
E2BFA459DD67244275C9599DD78E3CD11CAEAC3422D6216DDA27A94C563D5CC1
834F9610B28A0041656B0FEC8983D72D5ED0C91FDA32D778F545FD996BE51FDF
A548708D46A908CC0AA2809B45D8F84D50B3F7F7E6332E694B4162E9622D1937
7E413BD3F00977D38B3A81CC172EB29BC830763D48A4DB5A4EB3FB79453B7512
268ABA5FB487D6E426B86C1A9B49487F389D28A7FAC85FF65372CA0464559E44
CC8E8EED91DFB425FBEF17B0626EC215A21F2B89BF644A661C3BAACF2990E97A
9867179CD5FA82CA52F06DE8C62AF286C3C8374982F1B6E4576A5EB1FFAF7567
81E4633E3CFC62FA2C043397F6899B1FF0083982526A4C1CBE3A2B52E44B368E
640292F3119AED62E747808FB96A36F4660BF04C46BEDA931AE73A97C0AA247F
05669132DD83E5E531D5B5854957D89C6C6EDF615F0A942F5EEFFA27A26B4DFC
F305D32BD15726C85D2C95622172BF8FA12A4AEA7BBDAF4C381D2A656D6883EB
0CC5BEFE088E28562EDD4C6DB3DCA58D1FE445BCFF25418C6C7B1C208C13B22F
77170A385D5AB647DBFB569C261019845F6E96A024AC1BA9951C5F61964B3ACF
66D2CB795C426288EB73B67FE1A1DA7DB94FA128FCCBB41E7B7DE16EC96BABE3
FA63F1F3EB37258EF26378C38EF0054ACD3CA0AF85F29AABA37947A3A9A0DF05
E9A35602687DD9F65740A36FD7434C9710E606F1E52DEF3D159F2348705CFA38
A806322FE998CC0938DF33948027490BC1640604AC6B33D50D7246136DC1ADCA
7C21338F2BCDC6700B7BA93E9AB565BD324A39872728DF7F2D2388BE9969E26D
D3D06C2D0914976E63C40B87E2EE66F757B6D7E9038F77F70B3DE9160CC66AB6
7EA6C9BED2B744699663597619C75F2725DBA99BD23C453831350FEEA2CE697E
24CABAA4783B87AD4DA8CC4E7D8CE49AA3EC4C0D947BAC3FB7A29AFFA7D7E21F
F76C48F4293A3EC09E90B95E79863AC6913BF9B8FFA3B64BE7450241892CED7F
8408CE8B37EF182B9709B70DCC1C56D60FAECAC1823DECAB7834F25EF6F92FF8
A88024018B012055673E1E1AE96856846424BE977D5E2391E681CF421F9E8C59
426613FC9B11A1E74CA3307FB4E2C9F8A8FBA1365767FF8213F65AE16B1FA538
E20131DFBEAD359A9B66E8E0580057D10DAAE6FAE824F062BC8A5B2E92E4F9EF
7A66EC864B3E9035CFFABC5DC951B0A0EC28A17DF908DBEF74A4CAAB716CA651
A3CC954BE3734BB41A5926F0AE2FA13B2301EFED79AD14B41B69A2266698C431
A26D4D9061578487BAFAAC24EC62FA64E98DE73161D6598BF390FC861096FF22
81EDC90EAE8F81DE832E4FD7E42A01F4E44D5AF8BF62593E7DD7DEFFC25D37C2
F25CDC47F6D0A2368BC0F6A3AC86C7D011BD62C95CADEF30C5CCC0149BA380F7
4714770E246601B2804240A8699DCE88BFBFB8173E9CAA917A2E883978F5EDC1
144AFFBD1817AF97121DC66DF0F4A690620EF80E3ECDA7CA4F21E3A669AAC0AB
84ED83EFB39CDEFC01C82A75ADF732487FAA5252308245A4CED3FB029BE8D629
674C52201D8A7A6CCE4204D234EB11DFF592A0EFF39A1175F8946018D9A7B4E6
AFE1310C534B419E1E22C40A015EEB1FA0F75672AB5D870DFC246939757548B5
43C4DDE217C436C617EFFA273319E420A28697BDCF988CAFA5A7D1CB18AC74E9
B3FC568DB49F97A341610377D6585C0444BD272D73C6D72CEEB601DC8F39458A
03B98A948E89CE15E6596DED91329BC248D1B1DC5389DA9FA12F457A5AFDD389
CFFB5B5E4F4102AA66601DEE2991DB182629921E8C32683BCD6AF216A2B14054
F4F31CA989592B429A94662B37A969560CADD0BA02E63BE7C73BD813997C79E8
684DE5F9BB7C18EC19EF5F3EFC11ADCCD56D454FFD2AFB914D89849ACC7A94BD
E2B475B7BBE434E66F99F720D2C27118DC12C841509590A0963AEF4E38E57527
313AABF75C7F557D14175EE0B4FC047F4897FD0406C3683FFA365EAEA8DDB6C4
EC77C47B57D2A4C15F93C265899157DEEA790761F7EEAB88784D22DB7C2838E8
8E3F1234E8676A524E74A1B84869FBA97038F6AF4A27D5526E74468050D8151B
E46D6FAA8C04C4886AEFCAE0538A59C85A50952953F798E1ACBF036A32347856
4A2995DF127236C87E0280F9B72C3468A5476D773E50AE89B531EFE8AC7B571C
18CCEB07E49E705FC805B15752D12E2473FD582A8D06A23E1C8F1B87423ABEE8
390FB806037CBAC52D7704CC7E386700C6CB5C9A1D46840AF2A628DEFA34CC7F
7434B93444177D4929BBAC35B12EE4D01FB9981D821156822B47B7615BA83333
611B1F6147EE47CFFE8D7F5FF04CBDEA17CA70B928D812B37828B78E72E69439
A0308FAA9A4615B5641D9425011899FBC40DA6B5C84F03A253468F90BB926348
FCB7CACA43499DCDE02DEB32F52E3AFDCBF49DEC1099C67DA32C8AD16D1DE524
D6332E8F31BEC975A47E79AFA253994D0DF5B36EEE927BAFF88A4FA9996A7943
576748159A0C4175331034AE8E44E5462B454A4F55D8B8735D3EE2EB3705D3D3
0A287026BEE241994BDD413E35ABE8283A9E419233E316F8504FE5D531E12484
94BA7F9D85749BF297FA174DB67DF9DD1128DBD9867F8AAF8E52B9CD2D3E4B41
5E92C10191448BD281046223DCC1E91CB59A4204B3BEFBD60DA3C3888DFD11E0
F99F6313F7EA4422190B5A0F516874DFF10CA5EDBC7EBF23A2DED06F9F16C7EB
8148D6BE942AA2C1EFFB13C75C069390A683059C0D6ADBA9E27AE476B43BB341
00EC4ACCD3006BE0B12C1EEBB4FA66646122A3D2552D8CBA8B0A96D090800CED
22DCB22763B3256EEBCCF4BDAD836782710AB630002FE24E1DFC483068103EE7
94F225EAD78DC3C445552581F877CDCB11AA8F380F6B31D7D465FFF7CF17547D
98D495BBF383D8AE7C44ACE65CB15A09C94ED54D94093C194AA500C9433EA048
157C21E34267C1676EF18B22F5BD4ED51DEBD2908CBA51F6D9DB4F0B6F86BABF
131F1D2EE44A966FDA10CDA2C3AB36EA89B329E7D974C1CDD5BC0F413F1C22BC
BF33ECA3A2B2D8A5353C68577729329FEBCC31E8E4DE19BEB9D8E0D16272C925
F2E4F3B798A07F0C5599C8CAEED260743C0C7767FA57B505584B30C751A0A423
5C68B353A6C8055E4E3D0DFE631F2D5CDDD1B6D3C122F361A093B08CB0667D99
8CB6B76DB11087A64B1F4329DF39F599965C6F827E53DC5697CA9C852C97116B
626AC8F5CEF457733D6EC4D3876ACEB1CFAF747DD866855CB12F8D2B6F70392D
55DE07C6D07CC22114
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSL10
%!PS-AdobeFont-1.1: CMSL10 1.0
%%CreationDate: 1991 Aug 20 16:40:20
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSL10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -9.46 def
/isFixedPitch false def
end readonly def
/FontName /CMSL10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 12 /fi put
dup 13 /fl put
dup 42 /asterisk put
dup 44 /comma put
dup 45 /hyphen put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 57 /nine put
dup 65 /A put
dup 67 /C put
dup 69 /E put
dup 72 /H put
dup 73 /I put
dup 76 /L put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
readonly def
/FontBBox{-62 -250 1123 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9429B9D40924DC059325D9D4CC0344F3F997A99E6CC0676735EBCD685AAC9142
08DAFEC78BB41AFC2F1C219910BDF41D6279284EF600B69776CA15BC8A34347C
30783C52AFA60FBE3E353E2AE354CF87B558776A22C776C7A0B5AB5CE1F941EF
C2D9CAC37294BF407A671F10E4743BF842143F4F7DFEE643BA3BBD8BB9E3F24A
BCCF7F0ADF8BA500620C81033EAE8C4EF2C1DEF13AC575F1B3BBB66F093D3B78
5412B82B67FFA087AF57182B2230F9F2137180CA58A7D9B2C822FF04BE6CD01D
43B2CA7058C7B953F6D9B5D6E91ECBAA5CDE1159B0E59C83DBAD96D6C8C8BAB1
374EF652D10C0F3EE7104472C98DD3572AAF2D45A70BF7061447E21EE3C3BF23
DF39C2D1B35B42CD5297BEBE6BC94F7C9DC6E61EC67E4F677256FED9064BD3E4
B51A71B1D27CA4E5AA9E1D8080E6DAB5310711EEF87C40859FA935B19524AE83
63B163FA8397BDFF443227FEDF7DB27DC35D89FB1C5E435DA0619A5C88AFC73B
89A2DF5E767C5B536BC7167A840A0C32BD57A14DE69A7D0D819AC36FF32F908A
5070F32983BB007437E3500799DF5E0AD3710A4C0000F0098D5BE99F2EB9C1C2
C444FD9552D0DCA098A94B3BF176F511CEE13DB7EFFAED7C47B5ADCF8D4700F5
7A5FD1B49560969BF5C44F3749370663A04776F749DDD7B50674D93254426C4B
EFE264BEE7810EC93784B7C01A7F29EFD92547E13A2C7851A2E709FBD5B87850
4A44F08F56A542DBE072D2FBC58D9E6468E1AB858DC35240E30D31C7AC13D6C5
7D2BB634BEE96FA0E10F842B11A789F72A333DD6DDCB1BC23227EBC406E50B40
30AF0C48E6359AB0C46898CDAF1118E46BFF8B00F54EACBC2AC262AB898C42B9
2E080C10DE923C18A9F0E954B2CDD2A47766760B18BA76463A1B03BA5974D6C6
B0B2A85803651BA403FDEC112BF35604F783099829C4D22A73654C00F407D36C
0C61487BA5E72FDD8D41F6CBFBC4D3B4AE631D6E4328AADE2536692822D2D91B
D5AA15530AB49F00D62A6FF719C22144227BB63A19D88D648CF92C5D40C3C8F6
BE67CF57CE549C05C79488F8C49692F8AD8F2B4E0CB5E6EF25BBD6F6EB99DD62
581FAD2AB1324A5998C5F510F9B94E625574153B1973219495C75C5AD324489D
25B8BDD66182F7A2408446393A21B1700CEE16214E0800D9FDC7A49CD5491798
EFC6DFAC756E3F4623B9EFE0C58CFE01CBCB54A212C39E84EFC05CF3419F6117
F136A26001586493B441B825C0CDB1F264A55CBA443BCDAF8BD24C65C41BA504
E8FF070C502998068714908443B79F864A5B18D5C3B97E0D7F3E9762FA2952F3
6FE89E81AE05666444FEA875BC79194552C79A7E76777A385BC7CA1227854AF1
189E05BA92036059F1DEEDCFD372F83F104252766EB583AA79C127254F190871
79E42714428063ABF47575C79E74C7F6A8BE3EA25ECBF8762B380576FA012162
15EE389236850B67235024FA77E0684B49C857E40A04F15B6E38334FFDBCB85D
E58E2BF343ADC3DE9F93B2366CA9C6F6C6BAE8A895A9FDD3B28B39865B223182
D14266AD9687F8C53A5DE67449A7467A30E28FE327CF8BB29E6E49844D55AFC7
59E4D510CBB3036A54666CA55F59AF1ABA280C3B3718E756F1CCBD5DB5B4D29E
CF666A95DD63DDDB4674825A1B1E0621929AFFA4A1C5E80E89B60C8ACF2233A7
393EA28344EE66F6F1265945DAB95531D7743F951636DABA81D096A65B3479BF
26E64F5B54CFB1D2A9C649482C997677E603B82659E8393F46CB71C30FDD5A01
B12A9A18FAEEE68928FE51AD5401CA760ADC4349657E102C114ABAC0E396D9C8
7EA1764B3C7DDAD73B4EEC0AB315517DF4CDD3593E2B4B69F371FD7AC5654C01
382D06680FE0BA9663EEB766B229E25F9F23B367ED5432F8895EF03830942D88
02F6B1F7CB27BEF68A56C444A4450E6CC210D921EB7FB070C8FE07B4FAD0E3E6
11E3D69F98F63F701E21B612424671AC79C7B8E423BCACC61778A5829E2F9D5C
4EF8E3D2EE3D98F3C284F01CD541C48F2496E144C73882378732F19EC4E02632
9E043CEB548A1377A28FC609A6B55CFC81C7B5F5F6A3EA1A174C5A50D5BAC0B8
EC8BA2D234D15E4310AB267A1856FA97F90CAADAD12C125ED65C9DA079132C70
188BC79058C8A36653035A48E140B8B1AA35DD004CA12A72D02120FBB5CC9C01
942B607049F9950EAD2F7445CA50A2A1D145E30FC73E86AEA55FB80B73BE75B9
FB413AE5859BB5275075BDD2882FDC1E4D85058C574648392D6CD13449C2913F
B0C8726A898D840AE68F7B444941A0727DACA168669A1826A566C8AB8A4E561E
80A434F3003C627B64E75609B5F8CC05049571573FFF298767F035C7580143CB
69C8DE4F52F6D6610588B27AFF794D50AFC6CBA0EE7928DB01FF2DAFDFBE0AF5
BE068E92A8D29FDA8D2D0383D215292F567C6F4BA7E9BA0E7BE3469186770B02
0B360986BBE0726A0BE8C121E92200B8C01CEDC24B6080913F17ACC0DDA342BB
183F59487E45102DC42FCF492774595E1F2FB6A5AF2E71AE0976BFB1D558CD6A
86AAC975962543E2CD977AB00F9AC742E8A70AA886B3511EA99BA61DBC15CDA7
4F1E85F26FF72107766A18621FA01DF36A7706302AC43677D59520B607234784
EA249126AB9CEA68B5F2EB82218047F783B49BB82EF2DE182C29CEA33AE841EA
0A9826D206E65E00A98451325113C8563C24E7003225460C37018FBAF8253F16
B7E5962DB5D31BD7AA758D9C0B74BEFD740FE04D12397B8C83DB55CC88D9DFDC
4827B6492D4AE67FA402C5BCC7AD5F60C8C37E038092CB79EB5C7C195ED57B0E
1788039EADFFD0FBBB3DC5BC4257F0056723700E47B40E818A4EB954A8C24DC7
57B2255437B89F3B0BC34C2E0096C3A660FE483D332F2FDD78AE51B3562C731C
D9B0AE2E0589C20E9071CB9DA9052A13F493E5D2FC7B3DA4F25E80DE9D917C59
67DD803E72EDBA97BCB5360DAF0BE68D31FB4F5B70B621D3E07E00A95B813D7F
5F39888738079370FB7EB5DF7DFAC38DD019997E368B83634D4B32F9C7DD6131
E70FCB84A361977066A87C2F0FEEDBF8AFE021C2EDDCD7102E21062BCF4303D2
E0858B762805DA107979EE84781B5D2EB9AE67E599431C2EDB1C834B397CD26D
6365A249D3CA70929B443DE027DAB5BBD9E9DC6B073D8E8225F5C3BEE7B189DF
14150F3B26324AB8D2487C6DC0A3B707B401DF7CB026DC95CEF9C2FC4B9B5ED3
D72D98F1A49EBB5848D485B469306F31AB582CD9B2806399A4440A87D1EAD458
24BB96332F6B01F8CED714EE8DE6FB0C36C0BE8C881AD9215B773F552ED344A4
553384F842B0D796AB2FA18C80611271136731B98D35736FBEF23D6B109B9C9F
19F0DA222B013365EE56D3018ABE530665BF403E76B94C1E514FEA27AE8B5A44
55CA0BDCDB2838B9C7938A14F733B2000AA4C0C2E7CAFD86F2EC23F991549127
BF197F900A0FA7A691E18F0CCB064C8E2B1258B48592896873A71E3F77430A59
C077EAFCB47B2847F980EDF4BE7D42F7485DEF63DF43F1D8276CAC0DFD400BC5
124DA4E28443DF89DA8E743222FFA045555705A2C9E8D0BC65BFC2AC49EC5D09
5A5BF031F227D4C448A9945795513C2D69F83364C544C26111123950ECDAF20B
981BEEADF7E43170A1977AFE3950163B0872723D1D3460027D2C847C3D6D629E
E3274F212345918038E3118B5FF097DB6CDD30544BDC0A11C059BF15C3B712E7
9E831FA7690FF4C10D2496BA6D3F217EAF61F4B7298867550C266DF821F5491B
4CBBC911390447BEE7C30EAE8FD8EDAD09DB7977B62E3955F04D00848647E877
EF771A4757C09DD2115F041CE322310AAD0C1F5FBEC8ABBCA81018531BFF7E3A
A19995CFE9FEC5220A9F486143F77D1FC340687F69E2760479712E4FFDFFDC6C
C7A9305272A81B9269533115648EF5B583A142F5C578CADDAD311ABD410FB75E
72757BB937BC92BD09BB1D5E256B71BFC3D3E47FFC4767C0E66EDC934D9F01E9
94F68B5DD56EE3A3D698C6D6C596ACBCDF8088F706DEF0A7648783D8D44EBE9F
FCFDA50A3087D2CF00C4635C648751B7688A2578E5946E72181D92BB1565DD85
CA7D809C32985B9BB591933E57BAC7C889EF6642108B1FFA550761E77E35A8A9
4E2016980200048564D5A4CA17F7603C3AFBDA7CC5DA042AC047281DAC2118F5
A5244F499C8EE13FEB0087D1F37B478388EF8E43AFC33CD06D66DEDBA387F298
29B3239DD4AE2230D9FE4C2A36DB7E56B0FB33ECE4BA44579E254D39331CCE1D
10004E96142DCA8A5651268193DE533B8BB98EB072C99B174885914E8C0D0AC3
FA3F5206BDE0A45D52FBE1B20C95D055647B8F0ECA4709185B870D059468355D
F7151D75A0B99C7EB7A2E663F56F92C74402B02372BDB58FDA1417F57311A33B
65A5D7E7A98397698C612E99C62DA43FC5A3DDD3BD8732B1B7509605511FC965
BB7FB9ABAB8196A595C7B9CA643C588BC5887C45C9316360410044A7CEB44025
7A3119E38E97CE78809F0164ED1CA315A424C7F634CF0C5693DD0E392E69FDE5
4B9E4CDC0C9F081108526A81AB3127B6E5919AA4F6756CA248E221BA3EC18A74
D84BA73E076B69F32B39F09ADEAD334BB2C66BBF2752DB34656CE9092D94707A
ABA67E48153776BBAF86FA2E9AC671EE9E1AA0873B0B25C5CE737EBC36872909
12C57D83BF26A445E8B5699FBB2F0EB8E898CCAC414F3AB41BE96C964CDCF422
051512D974D8BFD0774312A3009356DC7A36CDF7A4E785C398991AE5A6CC0F8A
4AFAD63CA90202B4254C3E79FB7558BF2CA032C3094103AEE0B69118B05D9F7A
C8642804A2A41F059C6D8AB6611E313B684939A37608A285FD8C23F9B450300D
5CC9B500B37261CF16F23AA761A65C5925AF88521CB805A3BD5EF454024DCBAC
64BD704EA0F455D49D5206746D1DD4662E46083CF3200842323F5683D7168942
E65BA2D4DA0C082D5B04693E166B353D55EE55B7524E2D6C6D2A038788DF2E97
2C279B04B25FBAE6AB0E1614ECD0EFD391AE5CACF709BFF7B54171A7BAC9C086
8E92FC76789D55F60630E735079E20991B2D601C5BF7DA054AED37522C6C1395
F9B2E37F15EEE0321A2A5278969712E76A944F539CB708F006926B582D7F682D
30E21521BEC47724DC5A9AABDA94AE66B79A05B017DBA87F8F50F764CEFA37B7
B5F113204E7495C3B59B3CAB0C3FE1165261F78391A4E4C7F30096095FFB6DEC
352A1E75F834E6F18672666FD8BAA66C3D6088136E26B3D22C557568D14A4976
37444BA1AA0143A9AF2C80E04C852999157289FD31B02B307B615F551A9A9FA4
828860E130345CB35ECE3029ECE50CC9BF98AE2365DF70AA5C760A296039ABED
D59ADB94C0F71038887C5C23B5BD9E6EC494E0F54647451D2F1E67ADEE9CE39E
D28A5EF8488F94E9D3D13C788E8CFEE8221E1607B25B6C426ACE110A9471A158
72352506183032EE559F33288F22E9D85BE1E8815ABB8FF33018597CB727AEB2
995871A2717D0922A7FE8EF55E4F82A541794E3245ED7E4E9398697680F9DED8
0B3AFF78885637FB309884E6693374E76543C9831CF968AD44319B9B96D1D88F
54D910A68A3EF3A353D0CC1C3583A724115C3BE4774F66FF7C6F1C52205FD5BF
4EF3F8670C28E1208D336131D313DA816BCA3CEC3DC52D672E6BF42748B2C20F
071766EDD1569261465C1176813D3EA9220A8A4E41D2F3170DA7FEB9B60156A8
CAD278B9FDCA1E8D91742BF591340F1610563BE5678A8C024F4290D4BE13B11D
55FFC8B9623404845209E97F24A62EF1412CB517031AEF1B90D18B305A337C97
D6FAB04012883D1B8D38CB3A407E451C301451930BA6A8D79414E58FA626C9DD
14B9AE31D99AA5591A31F08CCDD34C3013F544A3FAB7E6B0EC2A8A420A436651
33837EBDF638E5FCCF2BD47D27A8E75AC0BBA67913794F8856861933D605207A
C613CA03ABF1894FB01C97BC88F4ACFFC93E832A9C1DC6496203C5B965EB0422
C04955DEA7A6689821AAF0A489924EA07F80D2A511884B6A9F070BAA3F56DC4A
733DBEF4796C0053B4A3D9ECD45EA1BC941D9E1C16E3D0854481083A26FEFBD5
BB0DC639C03039ACC86A7345256ADAF7854F9EE4B9C0AAA5CF92897A9E3DF029
92F379B7B73156BE37A246970883CDEED03E350ABCD91E5919FB6B317D65D3DD
4D6B963C8DC138FE22EAAF18B88C5AE497342F40BBD6BB9CB8F3C88446ACB926
1AD8E1FCB7BF4A492AE55B7FF9B784EAE8A822F794DE4039220ADECC5A058A0A
2892E2933B25CF434BA39289DDD25B03F38923AE9C832DB2C690F1F055FE4BE9
08E66AEEE8E9C13735BC28DDA341CD71B615C3ECA4960B92D478F8B351850713
432695987E12B201599B70DE7E59C44451A0B693B0A4CBB63AE6FE42C8ECAEA3
9F60D60EF5DD8CF6B158370EE35487F5CFB54639094689CCFA806233D837FFEB
D9AA22F59FC5D11752BC8F933559AF0B87E5031A43B217A789963110428900BE
674614D1BC07BE56B8278397B8ACAB495567D168FC3F6F3CB0E0D0620137FAF4
71E2F836C4B7B4A57764E96752D432D76964FEFD9F7C2B987CCD0A4439C5DDB3
F41772E63F283F5648909B1CFD74D59D6C79FBDBBA86A1CD40AAE0519E3EB48D
1E873DFA91AC38C8E7AEFC6ECEE9E725C66F0E0191BC63C5B8F990297082DE04
96F2A6462DAB2D37F93722025EFD41FA7F7E8C1BD348A4E75B39B4A8416E3BEE
8C4D7A7E0A7590392B40C9DB1CF368C8B21122EA67F61EA311ACF68F229465F3
599189F597A47AE5E9BD71EED32CB197B8E55C01B68840E365B9E27C9D37686B
4EBAFF8C6EC48EAD141A43DF74FFF1E84EB3516AE564F6C4B7096A3934040E81
A464BE8EA9EBED5DAF152DE842DB0FE60DBBDEFB08BDC91481E1D1528F2409FA
08AB7494FBA23EB323B205C66F7D5E2B80AB17461414A0764AD31BB6B1450310
48628486E8365215826CBD1394BDBB9FBAFBDBD829FE453569120736A0D1F42C
90495591A800C8134589941A28ADCD06C9E5E081D2B0655F9B03ACBA305019CD
E37401E8EAB0328A56CA37735549A0329F50B2D19506CD596182BC8BCEC4693A
284FF66D68034C62514C6E9956E1980D65DD60D7E036BBD9629B3DE5A477F253
EFF41297DE0D21785ACEEDA56FDB62214B974D974998246E6A52B069E21F1411
690B6F1308815CD13A433ED8F063B6A7E9E2FBE556AF63EBA32657E769B09B98
3153EACA3773C63A340F1810A976D0946F05088FA7B785FE7BEE0ACDFEC82F59
A5123527C7CDA4468BDB2D5E26642EA897F59E3C849F07DDF9A81679DFC1EC51
64EB34519DF9910D256F65917A1322E026F2383C794097A440E54C94DC71F1B9
7DB369512B5F38E4C00E6067CE36B58797489B0E397D141C0C687C3A7B7AA622
80896D39BD755BD8F3102777DA6170F07B8902174DA4C8C1BF1ABEC509B96BAF
91F3C8AD8961DB8404907D602C515CFEA9E727291FF8AEA1FB8A5804D5E1EBDE
68C29BABF382A5AC17608CFAF4E4481421A88BE423027EADCE6C6029B63D07D3
8EC2815D88A5296A8416F6D92352104C44284377D3F26F2E5DAB747C017AAE15
9E704EE80FE27568264D6C8F6FE713ED5599D60AF9E2E2390054CF9EF2F20CAE
7AD35EE403E518A695A75EBB1EEC258CD01B7BA8DE747FAFDB0207D2C5E654B0
028FAFE787C8AA137267508AA292C15FF1AFA7E902E1C27A3BA82D0AEEAE20CF
02EB1B32517745B604DB88FB49948C50CCA6300AC22814C05629AFF55CE34C6B
A2F8E13E4CF2BD90D97CE5C0E9C78931353205B23A41C7E73FA740F66D1C9D20
C722160C7BED8C7EE8754AC8629182E0C76AF70073E2614A9E0B3302F11D7D19
5A795A4A318BD6C0A762B004F2AED4850663471C10DD756902C53904DF0E2794
2D329A8E8744E96F9D78071305A6A13A912187A7C7A8DA75888CE455880C2D0E
F565AF10B59B9489D7665512CDA7E717FA4F820BC48066DC566284059F38B560
9C94FD00197540B82667C5E8D86A82275A4B1D11CB28E0530B1347BEC54706E8
977B58FB00A8840D909E0E9D2FA7B92ED690B78AC4974C543CDE65BDDE37165F
E8AC9CC950070C1DD65453CCA27A292FFDAFAEB081A443A74CC8CB5395176CCA
65CC0033CE7A628D33B5766AF50FC5A9DCF1DA43A0B9BD8A123A0F596FA212A1
6DD44B29E203B03D6FC040579B7C7B68DC4B12B8488CDA75133F12CA9D095784
1541AD9DBE080EA86B939B452F179E149B9B7BE9984F0AEA78E1DD0A4F7D4D51
74B6372579196A4261823A4E62ACABB3056D216AA0C10B546F511C1BAD1D298D
417617DFBD5C6AD164F72B6E199BD9AC7DA5FA002902738F32CA4DF7D6825EDA
9B4698B5271D77AC0B7E03DBF20036E31DBBB3B239AF908C6233927A81E8F429
5737C31D7203660E68D9962424D7F0DF4811C66809382CD133FF045CCCC0BAB1
96EE7519EC91582F5B8B6817FD510918724F01084BB2DBAE94ED64718DE50A28
62497B88E0F15A9EE44CF924235C37B72CBE9A346E3D8A83F6B22CC432F116C7
D0E822254119B31FDFBC15BEC4B3F4407C4EC9A76978EFF2A6C454AE10A62A01
DF14C05476E4107674ED1F35743E46E53166F2DBEB4A4A6EECE8FC21B1908D03
1896C088135F68E34D2C3FE7B21290F53C31C038B605916E0F64E25718C56813
590D3A0D1FB4C666DA273AE0C58C594C0B3E62C8A65EE92E5BE6BC3B65DDE1EB
621496702FE78A22E66B58356B1B148F4EC4C7058BBE3F08D566D9CE7D0A053A
E62D3E3A00CC5E195F60A13552DD51C7E8792D18F6F34E8C06EA06684D2281B9
EDE27A504951A19D09F748F1EE97B632E80B735E41BDE266912A4FB59F14745E
EB30B2C480A183AED6450F3F94CE6865568C9C5D8CDB92669AD943A93684F1F2
C98F7C7A8FC0D6268EDE430E4A110D9319F89FE4A6776CF46D17A976BB9E3B4C
4A9348F189BC6653C10A45582AC99AADAAB9EFC72722BAEB79026E4EEEF14373
14DB7FE7A5ABBF3934D6DA4936D9CC3EB196C4AB43534EAE3FBA4EAD0BBDB95A
02EEE47E9E97394AA7F1C0D2D262D6305A3BE50AF503B3DBFA5AF3346B584479
1D8C57ACE0D91000A43B682195455F7F630553DA1302B4818A994E8F061E3735
2155C42B836174C4F81A8CF82C58A8BBEA5007FB7F524DFE4CBCA3A826426C96
136F1D8481834B10608B9F95BE0FE9A013175569255BA45C987B55EFFCE99DAA
F255A1D5B60CE1C5550BC3FF80B77AEEA238BB071EF7E688B94A23F05164DEF3
ED44410D9AE40F1A6722B59D9F5DFAFDB3DC7E5193197054F15FB77ABB62EF4C
5783F3090C0030D632285F81299735949703735CD0E1F535750D316CFEF6996D
0957EB49C5182D07CAF72C8D8D7B8C3FDE9256FD36BD2DB3FA25C5BDA4441C76
11FB28447222C2F47AB0E3DCB3DAD6071CC213696BBDC96BECD64157062E741D
1284C13E40D1D3AB214A28915A90CFD1DB7FD02AE3B63126FA815C9D54595821
FA9622D072CA354FC61A525487579910FE4A836753BAA76B95DD0F7FF0892D8A
3F6973AAB33A7ECA3B68A99DDDB80B8A4A11BFC372F80CBACC367E99C67EDC74
639C54ED6CA1E3487C213D5F9CD719744446A4426FEECE5BFECD2D131AB766F8
7035E91A1134CD00C935F21051220733C14604DD882A960346E7751948E5680B
1FA8C33D7376CB898D0D39E24319EE83C6A298AA9129BD9DD1EF1C8BD30A8C1E
5D5592B757FEA47D2F1FAEA523650C4B568BAA0A60A87560599F81A0F1C2FE28
CDD87F0135E23E68332BF544F04D74193540261B67ED1E30B370DC5B02A017F4
FCD8BEA2A685291286D4BB28D4755DE2D3CD949C4ADC0088D8EDC8F23CE0E7F9
507DEAB1B78AE36399266EE3AE8E1F17FF718D43FDA571204E8C4DC1257A3AA2
A07CB07B91BD864E6F48A86B48EF96C57F255671108F4A7591682DE6A0CD7E1D
284C960D5A59B982C2F4F47C76C15E21CE0BD909C690AE462F8A57FA67F03C5F
79CD9E918114367C95C645148A8C5FB642D90717730B019F2B4C89F1D09F701D
A0EEFA0F509E22E10EC5588066CD19C9E3C4440B1624FA368B51F0BB18A11329
933748C5A46F78BA27CFC4744DC3E481D31300381027A25C2D066A799A84071B
EFEE68673FE7EC418633D506741AB3F192F749F162C11BAE1EADA7DDE810E14B
7130E17CC7E13173D283F9B00B5BD4BCEB253C39B25D5B5E61E130E1BCF510B6
031429BC917BD9E6AB4E0291BF22B6DFB97409C95985CDF2CC035E33305446D9
440C7276F9921E2040E6FDC97D3D8391E191FB6397BF029875715955ACACFF8C
CDCD28DFBE2C76469E8FC53B7C21761284FA59B4EFF23448846BD5D76551FB44
3E52711F0BE0D1D5A0649BEEC9CE79FBE1379F18679AF18C6A39E3155383367F
B9500CFBDEBB0DFBD789E69891AA9A17071C3891D5F37FA0D208C042F5222089
6C1E7FA7C652E56CEA9F520023249D0A9417DDEE0CCCF9589B1459C09AE7DBE7
BCFA6841FD60D53BABB0DAC7A0D34F703481CC6B21812230BEEA4CF6BE379E5F
A2E7472A97407E340B4CD0A933936222EDF3F239E53542BB0450B7442657436E
F9B6EA424AE5CC6608AECC864F1A4CB8A53BBCBDED146B2379F2C7D190FF4BF3
F00D21CBE040EFF75C35B4D871E68D29FB6B35E9CD7A720B17B0D89AFE5922F3
86D865E4BC48BB8C630034CA106B66ED45EF6C8D973501428494AC3E4241B2DE
462C7EB9148CC4DF778A58A58A4534FC63D0DD1964873DF86DD854DC17B086B3
1287F8CFFFD80657463D7C06A3D6BCDF249C0EDFC70E048BD243068300DB8AAC
3C57A503BD4C263F6ED8661D67040A3A91782D9A1FB9FC4A1ACBD1E33EA87A68
2578D68C3CE4CFEF906E122D3B76B72285CB3D0DE5C60ACC1FA3D90A94C44AB7
D5140DFBCC0C6BFD572EEA526E90C885170AF9E0EBAB38368F0EF682BB277BF8
6B38EFC0C2FB669B4AFE65881D5148450E40B5F69884FFB2F4EBBE46520D1B50
E97AD4E7822F1BAE161AB5F23C25541F6AC883FE62CC7E82A67F09783CBA1DE7
FB5015C5362A81402697A0B05443437E45AE4BCEB1FDFE52FAB8BB054B7E5F35
5BD29857B7191B1DDC0C61EA92781B1E72E5AA14A8572B5B9C0B269F373187F2
E617206395E7F1B2C5BB934E34E8ACA4A9BD00829E92C85EB9BCACF290FEE863
E4AE35BDEB7BA67734904D29C6A7036551CA13E36FD66F53AC8C4AFEE3B8365B
E33353933CF395624FD152F9C89753CF9B229AF6F54439FDB93CBC198A80C0FA
4E14F6E8891F21C39C0CA650039B9694B1B706AC4D415D16040C7DEDBDE92062
D96A1799FBC52B9A260E2F50940B62ABE66782EFA2B52BABD46B535F0E51B3C5
344F39A0E5C3EEC57EF8D309C6151C49E40A4865F8042CA1F3B151768FA0858C
05747665EAA42DA2E0D32FE90570C12D3694ADC1E6D616CE643AC674D64B9829
7AC75473CDAE83B8ADAE03B5644E502F6A30F6EEC83E4E7C7CD0CF274458407E
AA19CB2992A9AD1C740DC91C64D734A05F83C78E07F34651136A0C59146F8679
EFF939254634CE5B524055EF6E512511AA524990463FCE80F92B339063A55BE9
D723BE0DFF0E3F1E2A3F8A2C1D45FFCCA590CC429E9076DBB12C49BA3E15FFCB
7685D536BB45834660410D6812CF2D98B7EA4DA2AFD43C8AFD11AD836CABBB61
4206227E056E147D984B2F5BD3C64EF03D766F7B8D54B20ADC7268F772997A6A
D9BB3385AC0C76BB47E1D844B386B3F4B5CA9184AA923093F0B35EA208F8227C
91C432A2CB158E9DF3F700DA93891CB62F9DDFE34F03902C29695B055BDB88AF
E8673BB1A6E5850E74FEEB69F0AC300D592EC10917DCB2459718F785F08D87AF
3B518B4804375E005F6018198A04B7A1DF452E79190931EA844ADAA6C5EB28B4
2D4E2CDD026C2660B4E8330293EED88AD05B7C43408B37FA67C1DCE55EB5026C
9829D61BDA7762723D2F12E04648141904D524365838ED42C6BF470F4A84F7CF
A9EDBEDA76E83D9111EAEF1AEADF3D6B4BC0656ECF83B1912AF4F50BAAB4855A
922E1941BB5C1F55608EB6F980315626D6BB1AEB601344587E9F89EC01D42A66
4D145749727E5557B8219DE14D067974BA9C101AB59D96CB935E3D3535FFA96E
4712574DE4AE9D62F2A89EB608DF3471CA8AEF6BA326A5143E55192C076AA66D
36C2C3DC3E6759AC52D1DFFF8C390F234221CBFA52EA5E8AC076616E70A3563F
2AD444D7E5A63D9E8F141DFB6EE320D36F5AAC599D442CD972AA3902C9E44938
285497AB7F387735386396DCD2DDB0C24285A5F13BFB0E822FD541AE3C2E9194
8ED8DA31D539A8134E21D467A2577F096A6851C4C101C43F52CDFB085E62739B
93261DD01216B48B0A3CA43FCD5EF298AFE02900503C9519AD656435B1654A1D
46EEF1FB48B129811C8443CEAB01AF95B96B2317E5D2814B6EC158FB8B66D8F1
63C074BCB0BC32479379C8EDF6D263910777C4FAEAE2
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSS10
%!PS-AdobeFont-1.1: CMSS10 1.0
%%CreationDate: 1991 Aug 20 17:33:34
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSS10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMSS10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 40 /parenleft put
dup 41 /parenright put
readonly def
/FontBBox{-61 -250 999 759}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5CF7158F1163BDCEEA888D07B439DBD4E8B4C9
D198C03874B5E6F8FBF4922065A92BC3E66D05DE53971CB1424510E892442858
D69CE1F76E4DA76C87C763A4B2FE36321E54B1328C9155B8ED6361855A151723
3386AEA3D042B8D89C8C0E9A33E5DF3B466F7BB8C2C8A4ED4CDAFF55FC6D3EE6
0AF2CEBFC1AC3A6E6692F8BB81F82D86BAE85016AD62FCB05467082C2E5AD348
44D1439C2B59F65590E57CA0DE481A7A34E79931B1513C4C30156170409A4BB8
46D412D1DAF88AD30722F12DBCA1CCC6B4BCC28D06B0D29149DDEC520C8FBA13
6B82E2E1790F00B216282FF122EF0D47B70A1B29514DDF7C0435ED238C14BDF5
6DA243117FBEF7398F97EB95597707ED63C6797EBA1B46EA19ABB1DABDA171B3
16CD500F5D64CBFBE4F9CBC3E66A34427D3C4D0C432710289381F9BFD91B4FF4
1E3A896C3EEA2F3105C218877D6C0C6B763760FA364D00065E1CAE9DCB5676ED
286A9ED0D1C946DCA6A2A670EE0936FB4706CC62E234CFEED34AA615C48D2872
A087F30990C85E64BA68F3D5C117123467DB411C9F2D6F6858CC70C1E352C477
713097321B4C4FD4C5CDE305415F998E7245908EEDE6E056A736EA77BD8C639C
3A79FFD0B74B3D28F0494A115F2841CF8A8827AB5608F96FD8998A5F40FB3DFE
3AA0C7696DE4E1D18DC0D6E84B943175FC38FFC42A9C0CBB13A908978C98BFE5
034F88480F32B9DEB2FD228FF6CB0B89B045AB02020C82E3F5716DC640613185
9F597CE262729BC52132F43922B9E28BB71A30AC8709634561B22D13C4FAFE0A
12C4451969226B220038AD8DDA990A4E2CAD53DBEAB698898BBD3046234EB4EA
901287E71CB41296C431383AB85F18882F65BE36923F6C0FD6FADAC5B42FDB68
64C06E047434FA7A659EF7F3D1AA8E547939FBF9C2ED7AC829F03CA59AFFBFA5
A7AD2E0FC7BBE619961AE1785D09444B333993199FFED007382B54DDAEBE21E0
1E75E0AB6D309DBE53BC7BB9F95D342F51798574D70B95021FA40163A86BE6C9
342536A5730837C522D5314B1289D9B7E4EDD108BE7F35A20AB2A16608F6F007
6DDD702A5A9BA1325CE2C1CD020DF677872135CF04F4E4F1E9AA6B494E2BC22F
107C331A7E80718B030A1103804D144802E3B03EF7CB083BCCDEAC7B43F1B4F5
C1BF6016741B741CF7E12B4BF95221A72CC9F4657264771AA69C73DA1DA29102
65D01A0E61F3024E672AFCCBE13CD0B7F54AE1418B72E357A0BABB4D03073B1D
F4EB54F899AD4A41A9F94DC200880A0DB99D67235A2451B25F710C29A882865B
A922E56E9FC16756014FA5CBDB1C32750BD6835A70EB715CEA19A8872041905E
8C660BACDCA26C8247D6B3C10FA5DC240E433E479AC6AFCF57CF96697FF46BE6
44748E
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMTT10
%!PS-AdobeFont-1.1: CMTT10 1.00B
%%CreationDate: 1992 Apr 26 10:42:42
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.00B) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMTT10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle 0 def
/isFixedPitch true def
end readonly def
/FontName /CMTT10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 23 /ring put
dup 25 /germandbls put
dup 26 /ae put
dup 28 /oslash put
dup 33 /exclam put
dup 34 /quotedbl put
dup 35 /numbersign put
dup 36 /dollar put
dup 37 /percent put
dup 38 /ampersand put
dup 39 /quoteright put
dup 40 /parenleft put
dup 41 /parenright put
dup 42 /asterisk put
dup 43 /plus put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 47 /slash put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 59 /semicolon put
dup 60 /less put
dup 61 /equal put
dup 62 /greater put
dup 63 /question put
dup 64 /at put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 81 /Q put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 88 /X put
dup 89 /Y put
dup 90 /Z put
dup 91 /bracketleft put
dup 92 /backslash put
dup 93 /bracketright put
dup 94 /asciicircum put
dup 95 /underscore put
dup 96 /quoteleft put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 106 /j put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 113 /q put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
dup 123 /braceleft put
dup 124 /bar put
dup 125 /braceright put
dup 126 /asciitilde put
dup 127 /dieresis put
readonly def
/FontBBox{-4 -235 731 800}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19
38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF
D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204
EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727
A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593
F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714
4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA
6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E
A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B
E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F
1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438
452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF
8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369
5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA
DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9
BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19
741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79
E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712
E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7
D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE5056B58A9D6BB1DF8
769A7F75476761E687A8C04FFC7C023F4A610B105CB4E2144C82181C70A2A97C
96E46DDB637486F5A5AE16B8B27E8909626114A5A14782944D1C0CAF1B916827
18E0762E3B88C957946E58BF74F9EB39B3EE15BBE771CC058A5CAE1327243C3D
00DA2631E3E83586547677F96327E8F49B3AD578C0D9FB003045884C89A31725
65C32B1D1632368D09A1FC23FE4C1AD48F8140573BFEA443EDECEA28FDF10B96
EE1FB793597F4E2CC092E2DF9B35F469A8B51ED4C842FFB59319762915DAD84F
33F73A5A139DBA47B733D58786C3F6CBF1A6FFA490B18E3D314D0F81829CF252
3414D6FD6F3D5BF5D3A4E30F8CB52414FF143F96C38F225495EA262713DA7EC6
AE644B331C25AA451691FD4FC6453F990B95A3B7EC5F4CC17A1C2FE905D2F36E
9A954D8AFDBAC7A28A8E6FAAB4F5F8A48ABC1E34F3EF0A58F330AE36366F37E5
48C6DE0FFDAFF0F4C3DA957C130A3936C4504264CD1D9AA781169DC6ECAF6EDF
4E2E45E5E8E54EF7FA1C42AF3E670E0FEF9C85E3365633ED40BE32D1492269FE
EAC9B2EBB288AB51CE23DED80B13306AB96360FEBF829410D65C4406EB08F5F6
670457E00E1DB0091BFD9EEC400EBA065CC7E904BC8BAE1E39432CCD10B22C17
391E8D53D5D294B48A4CC84E1471F7A62DE9A66C31B9C89E4E39EFBC4A51E35F
493DA12600759173358D8661650BAD0959D2F95FA6D2DE2B2343FEA2BD752B10
43BB9F869A604A2C1267EEE7235A1B584732DAF21371D4E2B8C3DC0072C46553
8EE9BEAB540BBE0ABF89A902EF916FB1477C796F575593472B8E25DB85D5D7E0
19DD2DEB414DFD0EC0884A884E0FE0BB79CE6C646E44A917BC1498D39F6D2ACF
89225E8DF1ACF4EA1F71550220B035B6AF47EE962104493CDF9DDDFFE6FEFCDC
0E7D527A023A317C122A6F4FC597D325BAF4404BDDCEADEFAE714A0A6FDBB0B2
3808EA4BAC252A603B4B98D6969C3E5A27CF3F037DFD723460B816789074F2D6
23721D38E3F5C55055A36CC105BCAE93B82CCA448EEE9EBC7129676CFFD08955
45E908778DBD3D4A764EF76A128CDB6043B9E685058910F2EFA60EEA24CAFCCF
B5D27894D0FAF70427018E44444432DA217576D9871ECC3D6004C0EC5F43B32C
9F1F08C2A9D21EA336CDB7BB4A5A437D2230E8B709068CE066960AC2C49A0F46
46788F984A5F6458A44EF166FF986A7D063C27C6A2A2ED9156A7EE4B34B024B2
778D7FE70460423FDD889886319E84BD5203D8DCE42B54DDBE7CA207B2B331CD
0C7DA5B2D0462B9C428DEC4DA9AC80F21ABF25BA97A93D3F2BC428BB4708AD27
81926594A4119F4E482790F67E37A2305CD35D821BA8DED6E76756AB42F41E53
30E7D96E58A9C8CD0413201E14AFC50EF52F87A36D22C4590FB6EEA9DE03A06B
B3B9CE2F312121C6D5DC0653C96FDA7F93F8C88CA69F468FBF029299CEDD6FAC
5938D32C45F216BA707C93024DFF0C0C54EA753C09F79C46043E8A6D8B6A2558
1BB3D38D9CBBB7633E7513532C7A8B2DD6BB6933E1F7B5F88485309F88582B8D
0FE83BF9C846786636B00A4C6DC92FF6FFD3382E230A033D4C8A3CFCDDCC725F
40632A66CA5A0EE73FABC80EB23BE44CC4496B6D4600013A767C89EBAAC29C4C
469CBE1ED529DBA8032E8BEEAD379133F4C1A4DB34AD0602FC4278BE9DD1B4BF
4FD05E0DB2AB659A953192CFFDE0C61980AE4C9CAD97CA33D9329DA73C748AB2
DF59081ABC4F41358EB3C78AA2679617B223CFC0E0208D2C0DCCCA5FFFEE7C05
CCDF79F43CBCC4D0DA203C2AF51B5407D07316C8FB7AA49CE57283AA76206461
7107C54AAEE825B3DD4AA96EF621A2D8D74369862CD3BD09C8B2F15976E6CB77
637DFC15B13FD3C5DE0E365067492E44D24B98A58A14DC6FCB9D81C861AF1761
F175304B25B1EAF3E1BAC49C2C8E5BB08F47CB9AE447952A6E467987EEB21EA8
05D336BE0F60ADD3FA1422152456A4DBCB82F76D67DF167EB24F53B0362371C0
4FA2254BC05924B1974A9C35C687214A9A8C9F0631F889212B10BE3EF9E6626D
A6F9433520CAF11AF8A92A72B0DDB3235928635FDD84C966016EF1DBB48E5128
4609F90B563AD6A4F0A4C90064AF3B79A02C597C8A714C318E3DAAAA188DC210
D10C6B973A7C9E6995C530694CD30676D6D49A5585B59B780163E1205BB67696
8BE110CB0598CDDC51CF1CD99A4A64FB15F904D43F883E720BF0A3100A91487A
5457549018BD7DB4EBC8E53C543866144BB7E4F4D9403445DF7B9783B17F05E6
22795D137FA3FD749E97256A555BEB391675E5D07AB4EDCD46DFFC6ED4FB8D6D
DD8AAEBAFD2A8F66FD487CC39B85EC446FC82B634515F89E231B8810C1ED00F1
3F81AC5CE6B36917AF46FAC2F7C6183C48EC3F1A5253DE5A3B091B8FCF03F2E9
8461E6206AE3A809EC8B34715C9D2D15C83D54BFC7837E443BFE5B85FAA9365B
0FA0B2629656369B226EAF89FA7612A97A3D3BB48B4045CC7FA5FEB1B97A1D1C
0F3E4A3A6F63F0FA3B7A55B525D5FB480D92081283C33E802F87C639AC4DD469
94F86AC8B01EA3B8437C3A66DE31E2EFC930967F3AFB983B4CBB12672FBC41F3
C04020F66D7847339FD10685B859F5FC0A317ABA2B9D2A322D6C7AC3B44DB449
E37CC18605F7D8E7A47EEED5E43283958CF3987C22F29F49925CF324E9FEE21E
FFF783DD57C0CC0ADCBA34B16D9D640D2D8CFDE98178247922446262006CFB91
72425329E91B3194D5C364AEE73C071FA73AE79E097E2F36EE42EBDC894C82DB
99DA0F4D38F9ABF56EFA06A574E75F49DCAF478F5095C34725B577AC936A99EC
E8586B46FBDB118E4E8EA6EC427120E34F31BDA887A7A9BE84A42B5071E89C00
1CF7DACB95EA4B12BF3E4E74C6B8632A5B05271588C04AC716D7D53A3F22176A
89C780167D1E395FEDB7FA3F320F3C725309DD96B8AC453827627A3BCA36F550
AF12EF426F696F7EAAB7441EF576F3EECA5065CE54585B1F928C4366FCFB39B0
8A26BF570D90950DE77D62951B5FA635EA4C474C96A3E02F2FC6A82334FC5E5E
E0E8CE5A7FD855A83045D53F63598EDBE8FB12BF2B4756F926AF21A69F9742CA
2A4D31C5C82AD742CC6E84B7894E96DDDCFCE252C4CF01ABBC4961239AE69E6B
9CFB2C66A1C336A5E6E99626ACBF0092831CA748254ED1BAC31883ACF7794F16
860EA61BB3E7CFBDC68CB0CC21C1D23189EF251CDF2EF3900376F45BA7EA815F
ED8235EB2ECA7F60BC35DD4C54153DB987C0A00BDE993E56D2474D06F998D431
E92FEEAB1848D8E12C7AE197ECC9DECC89E0F5B29455A59C3C2BB67EC207E6A4
19EE67307C710308665E56369ADFD9D28F858AB1356C82C1D85BA24C70FFF139
146F93DFC545FF204A77CE7C15513F786B5F0819FFECBDABE103DA156675B27C
48EBA9BD3D60F6B7F86DD2FD6BF32BCD75932D40379D75E0D4DEFB33D96A2607
DFE57DF2F8B187685CD003F242C97DBA3026222D8D1101FB198A6EB5CBA03B16
72F308201CED928A4CE46909B73D0BA7103A2C40A00D2A958575F953FE66D6E8
F93832B922EBA8B26798B23932CA67D264FDD54E16A853F5F5643E9E82618C24
4AD08B7B7D0C2B38990AC228FCC12890D20628BA24B44BA974BF584C865C6062
C8E89BDC224D0D4ACDD3D68C9AB628A8AD1EBD43A7472D9243597185D4914A1B
875032A0C828AD874F2F5D9795F31C98DD44A9DA68CFA2EF9E69363F0C5ECE8B
C15480228CC416E4DD4AC40C2333B2F2E468CF04D58AE511ADA9F46222A2B68A
37BCA2348586094A66EE4440B6B3301CA9C46563DB03F5FE36F0954FC81E2238
67D2379EB97A1189A435B2D0E8823BB05C627D8142CF90E0ECD8D8E026BBE8ED
1DC380E81225EF44C2483308B0E19640B72D5096A42680A6A0E550D095677F76
1A09CB173307DDA591CA84D65CCA9397FA7FF74760BC20651EB35FE90813B2DB
37D75A15AC56DF67750E7BB7BAC493266B6C2932E86BA407BE86D0731D66BB86
630779CFC2E021ABFC6B2A101CF419849CBAD036151E5223F164244B2E7F78E0
ABFB0107C2CD5A7BEBC1E06E74836A8C1461725DAB9383E508559235FD7D081D
879E29E0296F4A2C4ED061D360E53DE27C78CC142578AF4F45BDBA5A15912ED6
B6B26E522791BF36E9A9B91E0C8205FDFF62210228396DA50E6B1273D167FCE6
D750B61D532EF6A59BE698B92CCC3229F0B9215B4300AB8AD95CC0ACFEACCAF1
D4F9FC8F90D6E8D9FA2B8A8C2BAE7BEE1C93A4F160D397F4129CECD96331F3D5
68F691DCB840B45B118E420C1A378FFF14198703C021C9A3DA10E1FEEBD74B49
6FA10A7324325A4DD7564C9A63DEEA0EE1A7A64432D89AE8E36CE0694076A733
FBCF849A3924EF174AB63623369E4FE53C7846EF2300E38173F3D7A8C42E7B33
54D280A916BFDFE94896AE6DB4B05DF783613B9924635DDD3937196D0EDA7D30
06E007CA14CCA4701DE89F30A3637C3C296762C814257D0043E82BF196AEC92E
87B2BC45E4AFF73689B5B4CDE887B6DA6B38C385110379895FEA4547A7C6FDFB
88950F547EF5CF638145CCF88514461110C87A1955912167630591BEE8321F27
188D1B35E246CB05C11F366CAF668E071ACE72D3ADB42572882518FC20A80AE6
C8DA60BD614F1841030968281F2FEFED639729D1D10C60CF6FC66241C6418B31
0FF5666D6B89F5165C4B575DE6FE6615ACD9942C6F126AC0C179C2D7363C7D39
8BF85824A7DA149B6F7467EE6C7C99432A11DFF7315D9963E3AD202B604BB93A
B955ADE7FA1C4E709EEBFD25CF2205ED3D45C56B843E83FA7A1C44E73AE6933E
048EBC341E3D9007163E99F0078E15851FB63F87AB9CB083CE2BC9DA4610802A
077CDE49D801F017095BBBC52C5C829C63E6E96E73CD6D74AC21116BFA1CD9D6
8E971EF0139B30AE4E70B622CE9FF7E886BFD8FCD5DF5C6B8D539FDC5F055E18
167FE0BC00CBEE23D559E1CC0C36FE7BAB0318A665D5E0A2393D2BC9235FB29D
588AFE3A3174CA20CA2B78A9E5A6F37703A5F7FC3E0AC6E70205020C6ED53DA4
DC7FAC5176CA4E2304D27D25472877940F4EEEA3376D4FEF76F4C8A16B8F23FF
4146C736470C6EF10E905D8EB2E3735B05E7760EDF96AF9DB4516238EF129758
9693A70AF9DAFB479E9B76490FCC0EB5DCAE4B9BD2627E5C9EEE2D27F7513274
8387FCA829FB443E410B8522A03D4CD1907787D3F3D28430DB3CF6073269E336
404909C7DBEDDEA4E36BE1B5EE3FCB545E0567F34D6B9FA4A5F44B94F89DA1FE
E64E3012F6BB81D88F6960D96F1C4D732CA4FC6AFED77A79EFC2A62363316F0F
EB94106ADC51BB332B1B287F9FD8DA71F86D36AC03DA8B572AD6A519DF050AC5
7F8B07A5498CD8907713A7DED63BCE3ED4A1433B0EB4F1514C44EACB2D84C6C7
F2F7DBDEDAE6AA114CD7BFA6C678469168D320B1A5E5F12AC4020A5B7715CE80
F557C4D88B5BD36AE164D9AF9DB2B2D9670470ABDB7CA15FF735249BE4121ECB
921D17D784559C9177248E31BC87A3C48B4CAF1FB1C6B4FDF288E221DF36C2C0
7F5A2470697722ACD33751A73E49915BE3A21708D0CBC1A250DA06BE44052F0E
6862771B42D1404C5A9CCFE638C028B211282264CEC3A4C9F539C201139E9E21
32F2F3ABF2374B3D7949C97D1B57748E3742CA077B926A84404B5B0C39ED838E
BB361385694E0B7BF97FA50E7246E4D7E6570C69B7E6099B6B06E56B2311EF97
A99103CCD087478FC429B3114A39F937676125786DDC42E54810E35651709F46
0A97749A09DBED1EFE6638B9224AB103A67FE53046DB40E78005F84787D9AD2E
B6CAB5BC5C84D370AF41D7B3A1B06C8C9B154E2E3ED1D5E929A052EE75F21C4A
EC904ABC0EA93F87DEC10BF057BAD2E565B02B560CDC55F89E2C3ACFF474BE85
2FAD5EB9F288C7F44408633D08DBC7496836BCC79DE77D297E917A41ABC351A0
71A44FA46E06F2CE8B9E8F9DB9682958617524E93DCDC89E406F83EA47A94E8F
E52FCAAD6E3729D2FBD94CFEB2C8ADACBC8688DD8F049C541006BEC2EE408F48
0F4062760B7022EB7CE3AF667DC16BA2260BE04B5C7CDD3C69299DDC3F2BC853
56788E5637ED9540647DE4748E6D61FC54BE197809209DD6A3F472AA3271F91D
C09D8C64EE42B72BC1845145657E9D3C41A3C06B03F5C5D094274AD688990871
9DEC6555169250C15A0690D461D35F7E962E44CC6BB88F29766FEA1B0C2DF59A
7E793F38FA14BECA1DEB33C917006D2112D13A6D9E7BFD7A059CB5960680DD25
3919BAB349A5DB979B9E58A6527676A08E654C2DEF87CD44803D8F7CFB89BBBD
E4DF715D9C0AD589515A4955789E2F9E0F0B741510B272138AC0E88FC8A26AAD
F622D37B2B3C1B9AD4FCE9DC1FCAE999C8B3FE78DC0663AD8D0B7357917E6E58
3BDB824FCCC09A3A870D13CE823CE3D9D701C903EE00B9E29BBB90F7E521D7E4
E9D56698EFB7787FE47AD5F7C7FAA107C042D46C11411710B59A3D63AD0A3911
6C3B99857F55C2BBFC0C5888000CF19C58E6B5A93E0E39FE9B4FC9F80BADD8FC
6494209F8CB56A9A5E23C201BAF91A045A6196E58D3257FC9281F96970B1D7B7
9D2E181E408353BD2395513AB5A43464D9E687E7B755267B5ADD5D8F1274AA8A
8A2C050F1251365241EC5A4537C497742A6D740218ACB6BCEEB65D9F800AA19F
0CAD86CF2BC586F5CF07BB3686E5B4575F96ABD47DED0C084510894F7C24781A
1957029AD2AD97519B7ACAE24895B95F76EE922239E0316F988A5996E3B4FF76
BF60D81781B18894FF93A11EBD10D1373D41BC92004A1B9900A37CAFDD4DF543
93EF87313FF2429BB4C7872E589AD856C45B0164C07D0CA89794F964A3A11FB9
56034CCA30AE6984C8AA2D5F582C56BB290709223BD193D77E2F58D7D2C77553
08D36EC1B358E0BAED507686EE355C375C2059AA89FE1DE788BE916DE4F6DCBF
87DFAE4FE7670A48438163E4036CA82D90BC5ED55B9F6352B1F825670B331324
1CC94F4D2E804BF30F6B53C2F9668C797B677281EFB31751C6CD24D2FF35B6E4
5A63C4929499EA9C438C89EC8A69760D173A2AC63464A9C96EC9FC5C1A908A34
F60ECF28E37DAB9D1EFC7F04B362BF1261754B8E8964303B101F2B3D2516F2F3
677A83F9335243CDF091E681B6F9332C33CC1575D1B6DF0E5164E123915406F3
C5C198EAB46CB19135FB350D9BFC913CECB646B607CCEA5F6705A2F3518E5177
4A0DE296791A918338373432A23CE30558B3531674D6C80E1CD3E91F22BADAF3
9E607FEFF9A62962FD7820110C2F9B57847BE7D5423DFF6E4EB491540E843664
B6D26F3F5C86E4ECA2709B496889EE9CA84F08D9D58736E290094EBE0AD1D1EE
1AB15586A241918AF634C7BBA4E69086BC523F3ABD00347CC37FD61DDDB94263
89CC3E3D5E0A92C50B633C30FD446BF824B71A1C5F1287AECCEDB4A76E19A12B
A4703BEC33CA0F0FAF543131AAE5EE5DFC62F043DBAB28AF6B560052D12E59F9
6DA5A7FD570CC5C03249BEAC3F38A16B5F8BD31A3588E9C4E90F751B8F5FCF86
54351B3E883E2C4230F00A68141563564E3A93ED8512D1BF8AA250C453379704
709069A73E10DE42FD6B4863567027B4B3B0A531D593F070046F307636F6ABD8
1EE2CB549BF9DCDA801D67302110C70151343D5ECBF27956BE844937FD2165FD
91B2B47937230C39B054DBA086B9217B132D3C155AF2B31AEF8014F8D70E4034
3FA97DE401F7A651D78DE51ED0BD29FD79AFBBF73827D9AACC4E9591BC4AF5F3
F38B32923D9288B6247FF2D40329B623856F540BE99C0FB26F983239393B0523
FA2738DCE926BDE82F3F0656036F51D45B1490BA5F599EB432FEAE04691BA326
74558B998480293F26845717B284365B1AA2B895EDA9C46F238F1A621F061282
931EC77693E03AD9DF7D8EFD123488665796F8594F0359ABEF5F6A042C430787
1A2AA87486B1837C44C561A971BCB136C316C2FCD28D5A7B22DC8BC91A101798
1F5ABC1562B2BFE962CCA50D275742F4B1E1EC2789DF21948C9B7AD567361814
89659F8330AA7DDD30166353EB30A5F90AFD0F57A6FE6DBD3FD29C227DDDDEFB
242AB7E5FE0E6B18A0A1C5BDF34B132C61F357785BE5A0F3BBB6988143A3CB89
3540E0DB51CEB3068E098352102617C17A7AE9E72641B23860D5CB6C65D85B83
E4A4C6BC47B509F7562DAEC8D4172345B24CE356502C213957753D9A3EDB2B77
84E39FA189A90E9A65BB9131FC22C185DEBEAAC6A87A754927C28C6C2C3C78AD
4E8AA7F95A1AF810C7C64CF5DCF59B27C02D206437812FB55063D40BF4FA3CCD
013561BE542CD70E3E8D8D56FEA3AD43C0DE02E99CDEE4FA5087CF3ADEA6DB80
33315076948F9D28286EF1C2E41DB835A0E494111540AD56564D0EDFB1A4DC0B
3BD15D4A6107F8B039D37777CE6012030FF496A39BA401243A9590CEDEA200F9
4A88339DE3E3FFEBD0130A895AB76E10B2A41FF99375272D7D576C666B054E65
11882D5D4FF66C72274E32AD21AD7746027A232C277141C1BB076C05A289FB68
0ADD33A4344C63AE90B0DE698795DC941DAB787276BF19416D12B24339A216AB
DFADF1D4BB64128BC40394E142A812F40AC5F073556DE7EE199ACFE2DB53205E
D64154BAC4CB401CA1A1C589146A6EDC4337390DADBABBCD3A8790AB9DA3B339
BA89054C0C52EA86899210FABF873F5B6F10808237354C271FC612AF5BB39066
AD9B5C0866D9D50379DF4A260D882A56862E5984CD2FFCA2953A84538EDECF54
348B0DB9EEFA8F9548F487631174AD5866D7B2AB4622C372616733FE7346AF9F
E557F895C798ED59B700EE0C65D1996760D331ED3DDBAF0F53B9E10F63D0BE41
517C0FFA58C20FE5B10C4BA9D1BC082CDD991CF13B6C6D0ABC5AD4CA3F55C966
E4B14F176DB97F28A6EE72B72167FBFAB631B4E3DF34AEDBDC48DCC9173B0702
DE877053893792F6CAB43648292AAD3C5FE2785E7AFC1FA1CAC89D9AA26A3F06
37CADE97826F8BA63C3C390A94AA6AE5D0BF4E52D8384A290D64C552A4011981
8CF2B50C604BF2B780AE28A8AA5851F29FF44D124A1D64A7B5BD7A4C603A80DF
8EC03EBE26083353064F6B2BEF9477FDA6343FCD29FB9E8070760CB84BE5142F
3E8BBFBDF0268DD4B3037126CB8D5176C38B588D31B63094389650FA866D57D4
49CE8193727BC70DD253CB19EB65348DE5BC33304898946301ABB1F96177ED57
5C2447456BB7DC2F5B8BBDB830DBB44886C795E484F76853D91E3920B8D3E9E9
027F12E6322B0E41EE72E3F728AD90E2B9E41098002EC62B6095EE8AA8BDFC57
995E603A2E67786D752CD9F302FE342F8A02CA462DF39D585C3D73CC7CBAD1B3
C286822D265524D62D58E311FB845166460C83B656CD4B4E31743983DB6FFE38
5A07AA89685B20FCCAAE86255D44EB8B1B3D3E922A1FB574B5C8BDDCE5CDDEB2
D8BBE0C7EAC54540A40F254C2A90A507BF8B59725F5E36FC40261DF34D29243C
3BC9C65CE7E6D50E19E3C3421D2B5D84BE2D7CB1864843941528145A3A6E1F67
94ABB555D73CA6C45EE6C891AE96BF224D9FB3C9B0B47B21A699DC2A1B8DF8CB
DC7252FDA006C8FDD6F641948BA5B2D5F6FA454F2C4ECDEF1660ED33D1488797
6B2B8400928777E6B795E40CC17DCDD90220A507E72DCA1D893090916211D3F9
57B15C66E0DA69845BDE295346413C30CB1222EE4C1C6536C14040BD426788B2
D0B8F366BBBCD119D8736E26C11B9280122F6A1A06A33B133FD78A35186D10C9
7D3C2A18853AF7237690410448393FC1993915FA421C57BEF15422EAE58C84B9
4A03DCE4CB05208B0025879304F98B2E645036EA0E2A50703750503C414FD481
59ED89612409F61EE3E8794BF6120D19F66B876A7FF4ECFAE639ADBE17B2F1D4
5C4DA9258D707555836375F170B01A451EEAD81B9434041BC67D84673AD592F6
10740E221C48DE4166F13DE74F98E7F0A9825985AEC57C51BB8A58ABBD1DD2D8
2D31D9BC4EC992950E15C4F6909D58F8128DFC279E971FF27E07F4E7EED809E7
58C8253E4BDFA87F1086739D57A8D57DEC9ADC72C1FDCC1C5ADCA391C6AA1551
39EE932FD41A775C6BC80C5B47B9642446CE137A7D8E85492C229217AA90FE15
4F1CF1DB8894711BE82AC278EAC0E970C624C3EFE0F974E5203651C4487D0953
B7ED764FC803CE2220EED53A54769B046ED35DCB0A3BA31EA49FB26B67C606BA
912E7CFE29DF3A9E63DB2CAC989AE8BF9E24F61F09408D6C0EC279C3E502575B
34885F4182B1E48587A0F28BD9C37200B29EA57E0B2EF81D1703815867087127
244340E2C0AC28E1377247EE3424FDDBE111010A2084D243F5A6DDA37A983D29
3B6798690DFED6AE09ECC39D9C0EAAD55B1DECE5554D510E52B01271DB4E1421
BC767765C125A9CAE24418945C52D60D9C7AF61C3E2AED45798D4618351E3E4A
E0291C63829D55A28828B99444D49F70953B19535C069816076B29468C1719C8
FDAE1D38710D0EB2D2E965F75DE15431563FC843DB9FC5462367B1C15DB0A27A
79CF8D863F42496C03D7014725A3C14233BC2D800776A46858A5E3A026DFB90F
2EC843F94E1FD3FFAC8642E800ECC8C5866FF777EE010A4DA9EA2FDDF00DD0A3
D323FEBFD7FD089716FD44A66B5A7C92837D3C6963699F0007792999B361B007
73CD354739BA61FF60307CCCD2D20829C545E1C46336BDF2E321621BBDA8CC6C
4DA1B6359039D0B367172C2D6F03A09E4A0C6CB22D876882AD800B8F2EB42A80
FF637E0BA29B3DE49EBDFFE6B4B20E2FD0AB55042ACFCE5BFC7EEE08693FEA17
B161F226DB515948EFB62327F3D3319276790754B87945A92D1C6ECE7426CDD5
98F5182A9221373C64EBA95A09783A1E6986817F7C1B2A450A49F6C83C74721F
EF428DC7FFFEDFF46DE550FE5D5F224F04C39B22C5EBD956F3DA47C07E206270
5804F42211C513B100118A81A9B69D709B7F23173640B4E0002C7A37783ABC5F
8DF3CEAB740CF1F46C0751435CB6478CF952AA66DAD3A89FB2C20CD382A9621F
7FAA723891A1C7BDE39DEB1AF05D49D85B730B0CD9A8EA73AE53D0CFC48638E2
C58E11633573A602399031779688887D418403E8813CF28006C655488B58E51E
3FE78702416106FA78F8F4510CA2EDD76678D0738B4B90087AE541EE0F9D9B92
E0246483A64CB9E98555505F8154CE165CC5C1C5C53DBD4167A41B4E8BEF64D6
C02E8EA6F04BF247B7A4DDD7F15753A20955307A2A0DF8EF9F7259FB17BA4072
9BEBAA3B17300F127401FCB79A9EBF5745ECE0D928A77B6C981A4A679060B0BE
F2D2A6905CA4A90C37B7A91B8D24A052967B334CE50BA0A2217BFC64831E6EAD
EEDB56CDB42D87A3DB4282DCA71AF6AE97E05E60AEE094792ACA1B36B92170D0
D109086F0A022749590A98392761F56D14A2FE06D1C3F24A9971EA5E965C6E4F
8736880AD9EFF0F62B6A90D8D531D1EFD0524D273EAC1EF5EFB640BB3D985968
D22B870106950796612D485EFC2501703997480E5E4CB7FD4A10790B67CCEB22
F662C109923CC09B078CF5AB0EBC60C3F546CDC799D95516FFFDD9C1DF6EDB03
7C04D72C9050C7AAF14A86A10E839D7B2AE7BFEABBFD387858CBAC05FC72188A
805BDB5AFE3568EC326DA47083F41870F2EB62A934DCE65CEABDAF3D56F606AA
562E9953C3EC0E8D507A5045AE33743AF01007A5E4FC1B8E75181B5F35043BBC
F5EE392857E54D02910A8A6696A7E69B296498212232CDDBF408DE302986E937
FBE4A0BCEC1B45C50A5F5954A42F03A06EFEBB8950990154B7A12BCDAE5A7E79
815163E57E40775EF8C5070283906D6AA694740965D14784E3C6191C38A6790F
E506F098DF89D3E5BA88DBD521AA030D63CB714F63BC22BD8939253033BCB71E
67F5ED3B8489F7674AC747CB8751456C5DBCC90A62A541A2C64E423EB8F9874D
D1ADC64E79246DAC95CF4F4AC54B1520E56746F304F7237CF548564B9F19AF21
2575849200F71BDECF8458F1B704DA3022AEE342E1B58F5AC762583771E50603
02951198C2F13CBD9D5C9D712B65892B904F21AB2D12817F37A1EA094BD5228E
433A8B834FCB549A4AC827E3A354FBA436A8F9CD5C549308CD6C8511A4874069
C24250400DA5B4AF622585B192E215B522C24CBCC903BB5C6AF81823CBD021FC
D77A63DF63272264C0881A9CDF5C06863659E153B9B32C661C8E2C5518A1F0DB
F6703929E7A3F5F59489502D4A684BE823C3CD4C248E8FFAE9EB39709D0EF868
4EFC680E48EC87D258FD1BACD98049F7E2785AA8C632EB8529AEDB213CA3AEB8
F440E53A51D19D13FC0780F57A958F858EC97B3EB29119007C82137C429735A3
AD3C87C1F957B557AB80E2FC0B55F744B333FC1E49DD5B69DA98BF4118C8CF84
A4FA4EF636F797CA1258DB55C60864A09AA75E90C5672944E282552A3800AD7A
12A2990CEA5E60255C4D57F469F6C79FF6C7D902935AC62D9E078A2F786A926A
2063FACE68DAC7E39503C708E42097D1556B4B3F9C07CB81D2FA93D498E307C5
E83BEEE06B38A344CC332338E4E566C0BAE2A271E628ABDF8F0DFE2E4F2B3295
D13933C0DD6D045E9757FE536020F5D529D1A018D34561BCE245D9BF37B249D9
1455C7CDCB757EC8BD8B422D1E72A30CC2C3ABDF933E42B8B5C8608B4B66E45C
5F697CC7B6A540B83D74B5A3E2DB05F1696B2BFFEFB1C9DED89FF7B23B423D4E
BAF347483B1DB41E73B91665C5F236DC6D723C52E685CDDB87A89153EB875BA9
3013CCA734D0F953BB286F15CD350F0806E6693175024D6ED4716D7530D2CC61
4F18A7C8316BA9CEA2FA4370829DAD71ED13A7C64FD1D3EB614CAB3BCF49034C
54A748AB40CCC5F9C8EF1E7C674BB8D16C2CD98541621E921FAED15AFDF61844
8A4DE6F69E2E5A829B0B0E4652EDE1B39D5666700A6089131DBDAFBDC0216308
AE9477B3387EBA373A1D6922DCED787E9B387205990C0AD14F8987FF7F943E88
717046574563B81FDEC527D71E27A6930D9C7A80A731E87F625BF2FDEB3DC8C2
E4DABB309894441E2A9042F5BD0F873F110A2C4C3B6B656E4E32B4B50DEE998F
6A483A284FE3CE1E9568B3BFB5C594DAE1F6D8388DD57F7B997EC0283500634B
D8AB357DCA4BEF3EE15F90B5ECF129671C248ECE8AD54F0925D01B91BF2A6BE9
4DAA29A24FED710E98DB260E960347F4655118DEAF07444B6B357487FF4B1128
390DB70513704DA8AEB05270F8ADE1AF7864D3AD3CC5A6B998F8FE342D96C385
635E4D9D603B6CCEEED9B4564A96C34AFDCAABA0C5B89AD2A97E7576EB895DA5
E3E2C11B376C8A938D9F4C8D4B417CFD93F33467E9A0D8D5C9645A985A75FFBC
99F55E7F918D4F9EBC0D86DD42DC3ACDC785C4345DB9D41B04DDBDD99251EF9C
1B5EFECE31F81AEC5479E7CDA0CE66F6849EBDE2D5020B6724EF1F4E86A34328
A099BC8D3AC972A7227816D67847520572A897BE0F8C40A8E1BE23248A938BA6
E7E693062D0E3B08207C73D0DDF0B1D80D7D1B023375E68FD7DB8C430CE24643
589D7437AC26D90D302E327A352CB3700F360DC788720BE66BA728774242B8F2
5D09C3FA31BF50B20AACD292A73A00E71466BAAFC5D62A3308656BC000F63539
69D8716585B3B53044C9AFDC867BD2A84CF27C1CAEFC22E9DBCF85646D31D133
53A2E024E9B476FF1517BC724706F13656BFF89D8E2FEC269F8AC0E861FAA906
16D346483CC734D5A60FC0908AEFCA959AD94B0D95578214C363ECC752A88855
CC4122C827F07C9AF43E8D3767C744A5FE425D83029CD3A1F9692B9DBEE359C0
76AD3E9BEFEFBABB48C8E28FCF3005113F33CF35B47DBC7529AC0F1C6DE49D09
6CCB2E31B50345EEA24555F6B3DD8E0C8FBB4089DE5B922406EC4511820DFE06
85200EE1E4171461844FC866C9E8CE869F99D1647179A4C0E2F930DB66DAFB25
5868DBE7B7D4A8DC6000100B1D51787524BE58438D5EFBA81C21A189EB2D512B
601196068714204EEACF95D1059B88B1275B8584BC28A462DF8BCC41AEF514C0
41309C9485B15F5BB34057A5963F0C4F3CEAA7B9AB4B254C81439D3AF79123E0
F43126E76C8A547E751432ABF428D6E9649E5D2BD08DD18F75FBACFBE4CA3679
4FC557345493EA705E3AD9158820801AF324EF0F5F31AEA85086978595BD7DED
00074686999C025380634D66DA0AD60CB71A7535F065E8D60B1B266BCC303966
1898A1232BA1F41C5FA6F12C82DB90C01059EBA861F5DA515019D8F39589D20E
C6D20B1E018AE32C0A05A7C3F2210BD1FDA9E235B6C8BF690DB53624824B7787
593610563CB1BE4005DDAF12BBC662F0ED166456BB68C541B8725B3D24A1BE4D
A4241215771CC5175204B3E246558713A8BE62C8E9DED5D0EF82330FCA43B07D
38E5265389B47EEBBC4A54EF3578E8B27C61604D6D23E32C061D586C230D5543
BBD863585E6B7EDF6AD9204D7BACCA0FDDC35B8F7315C9FBF3B72E764E9A5DE6
DB7D999AB273C37BC6E3AFFB126C6D0B72DE2439D224879AA4B94D61A43DDFA8
76A9164BF74FFB8CCAF7BC1AAB2742F8C88E03E46135C0E743904B30E2666F4C
33E5201D39BFABF299BC1714FD5F019FDC26C87B4C36D6082183D510E41F9DF5
A85151153D2C08AA6B2A07FB04AF1DF373B543F33C37D04A522BA6CC3918C9D2
D794DC60366D622700C73712A3D18C9BEAC3DBFAB04039CC3F7FFF3AA33C63D4
B97686F209782809B8B691107EFDAC1A50ECBA2DC0C57C5EE625A0FFFC6E587D
B8D83AEB8910266DBD4F8AD6AFB3A79BB2DE6EE8026992F2BA4E1FAB49409E13
59C074095706474855803781875F6DF1BFECCCED1AAB006DC49BB307616AF322
6039748F8E9183078AD912154DDE6B6656AAE47A6E667EF2043F200779AE3B43
8CA13FCD07E34929647B421503AF311DE50D29E3B419C90E2B7EB4533B592C51
F029F3E02304FF4AC70B6798586BC422D49C6BACA5A1BB979B89B8985D83214A
2914EEA06C6DEC0F3B8875F6075403028199979A7501626708263453A8377E4E
8EC049FBD087E375E3034A2D224D507D1AF80D88B57DBCF3E172CD420C6B5F08
BDB576F29BD7619FD83618E4CF7A8EF06DD99C2653DF7883D308BEF9FFD29114
7FE92E461B5EE7B198B1CCC23A18407DCA12B2EF2D9A77C7548F59F8E8B4EB89
6BA07BF76AEBAC8A10D4C7EEE5C41B1E431D6CBCF186EDAF170F26ED80F06C56
9889AB624E9FD5D9FD8EEEE73FD5654FFC0BDD9A0056191ACC0C6768638E569A
C555019CE11C670EA6815679235EDD06510B9EC6B64C8CA4471ACF893AA895F3
812C0D7EE3817F0AE3865C7394F534881BC67664319EBF4CE1CAC61CCBB065EE
84FBC8D2962FDB6E4EC96BF4893C6441F87C0E7DF11A16DE9682CE21220951B3
56D3CCF5EFEAB2CA605879323C49D3FEF5CCF78192EA321AA8F6B9A4C6372083
3433944F5C45D7D81B74BFBBC715CF4B88D92FCD27341F88348FB6124B472F31
D4A29E3A45ED4F95F86CBCF36FAB540040EC6E1E43FFC406C09DDA8105ED5F0A
A09778F7371B591C386C3B3B366C404B8F06AF75FEC0A1788B2A87EF4C4F97D8
9F18F9F813329832E849A77CE449CA5822712E6A8E6BE012FA6022C65106643E
3A9453CE70344AA71AAC485AEF6363F55DB6B0F84BD8B8C1A322A5240B604E5D
63F850AD5E9E4E34C9B403C3F37C6C725BA23D0B84829288BFDC8C237079C009
E8B4965B30A14E381C4413C38DCAEB433E4267BDCD435A8150B4C6F02578DCC0
09538046A1E22CCE81ED17FA7692D2D801735638B9A45ACFC00E097B7A25323F
CCA89361DEEBABB082E01685212EBA99B0EA448F04E2AB80DE3E2AF93340EAD2
F01B12095AA1A27B6104ECC6F37AD8A7BBBF107C29D66ED684CEF63174DE287A
DDE42E48BC75F75CB60E42C07C100309B5E175A668B968F4F610E7B1A1303EE2
422E3A07D1CE7E6F6B178C9637384267F5E2036C5E931823F03E893E67CD6841
5930E0A3C95068FB600B00A24B7795CB87458CF9A3273F4D9F109A7ED6E8E7EB
F96062A5B917C07FAAE3F23C1C959F58CF0DE0A13DEA29BFC7C90A9CCDE3D863
E1F33AB6D2B0E4F0542F998BBA6CA65017A501557E3490635C6047991BEB7FAB
0BB7B21708DF55D4D72C6297534B5233DD995F4C139FE32BEA7B35FAA4C58EFD
6D0E5AB5B63406AED8B0DBC45EB3319FD0FF48BEA8AEDAF6AC9B2040B11DFE46
B8E2020BFA7DAAAA3E88219A5D708FA2E468E58BDDE1D5C34A86B3207C8797B9
22F3BBCE7A04AD47A5818E9D0E5D4208B69B399A2FC46D530D1F0B6E5A02D369
58AA32F3EB78BD731BFBFC629E1C66780F5BDE5A7AA9B3A0E8B8B4D9903049A7
3086701B5B8CC30C5FECDC10EE651649AFD6EA38352FD24A86BE537D3EEA4F78
DF1D7418152EE6BE44773B1E8D40722DBAE967018FBAC0D0924B978F5F0EF78B
0667351921F6B5C69E95ED3024AD6F7EA51456C0B0C6A507D5283A0C658E7794
115F4790CCE777B12C342A8D9FD424733AB87F6CD508EDCCEE7315FB2E35EB79
F5EFAC06821ACC757075B8F35DDE83B67DE3829FDC8D85EC7EBBCB40C919CF14
34841482FFAE2152EC762F03B85D2CBC989338248866FBDDA72520A4A290C73B
F325FDEA401E11AD0D6FF97B3C43FC734DCEBB822EDC7FB3FEFDC1DF266C2808
D59319BE47F906CFC42B0195425BEF65523A67AFEBE1023105379600358DF8EB
167B4D18985D7693A4A9D65362EA87AA15952E1A07C6EDF801540F51DB9ED625
9BAF06F1C86D3501B02FDFE58182648A606E117AB9B3A76F9172D35E49955634
61F39042A5C7833149728EDF03DEAFA96A0EF488A50326EC3B3D66EAE9AC7B40
1DE6E4D22B1FC2B2A1221AC31C4B7AC5E5DF5F4B08125F6833DBDAE183402A06
808EB11C4163EFFDEF76E60120FC6258A43FCC7AEF261F1D5D3716062643DE36
1C6B9059AA254C0B371E02B0D682DD0930195322873A4FF8451283B694B90F6B
5CB0C285DB88C29ED5ABB798F8ACD99F31C4DC38EC1A915BFBAF302FF8D0B9E9
4CA98E78F6418E5082CF09115B0670E8907031AE9D56D3626D1D851731D32216
35656561E3FA730A8FDEA875055D68131C036071694F237EA99B8D0BFED1F740
903C9A87FAB501B475A1513761E50B92E1858577EDE8FDCB519B2C25A5CD8EA1
B9A7BDCDB100235EA911B4B611422DA4F5F546099B0CA06349AF74C497908053
C0E16A196AD451DBE3BFA1C00408288BAB7F90A07D91E70D619647FE91534F40
89DD83A126878281E9C0735B86AC49C2B998D2CCD6C1538BA72EE028195B5768
4C3FB0378BF7277FA2E5F8320D5F125D1DED74BDB940E87E6626A207D368894D
D4F9CA9C5999C671670175D2FBEB3AF02A052FE64C56BE8AF131E77A9BE4CCD4
95DA08DC7382AB34654A5B8D4BC0CC795B17A15E8338EF32E073692CE7B8EE8C
4B99E8C071BCC02AE52E77F929A8A3ACF7DB34871AFB4F5415400FE3B70239E0
37B13043C93B94C566B13845D601B04D3715FB78FFBA8A37A7FE55BB6156CB93
246BBEE8CE5827F441BAC607618FF9EDA6E33A8A3BE2C212941B637712144242
8EDD10ADA0CDAE27B7184F4146A81B71D33228A74EABF6F50DF87652D3B3DAF5
1E56C7203A4FED366321CC356BE9762C24D89320F3F505876C61F6DAD664B387
BC33221F235BE6A85958B4DFDA82240C20D5A63331C3C0FB7749E14E9100D516
CF2CFF63C3D18D2FB522EF3FD51BECECCD678A22E71ECC8C543D01B2A6B4F526
254EF9E6ED575100C8882A19D3600C7B9CA3997509102159D06E4968A6C586F7
C9FFE27A5157EF0B5A8B53F5BD0731AFCF46744D919B303E46C0090E55D2010B
91424E9B5E691734773FC5158DC5E67D09B2E1C9F702730F6C94CF06D7E97834
1E5905CE5A61255B9F6886E5EBE4D4C0B213A22364440B2613AC4E9E35D6BD7E
BD96FEE8E15C45A650E9327BD3540DC329E841133F081438674E04E1B4FB06CF
F8A654960A1C4836F7C9C72988637230F0CCC6029E84CE6A76C7247ABDB0C735
963D94977C209B9DE09C1E9EED4B64579FF0AF2DC57C4146F25E93AC906F06A0
C0A3B0063F4A5B5B96181E3CFEFD724018F25FB3ECEBC73DEB61DB15236C229F
9527E48E136CEEADA2822C02030BA795A466351E5E45AF71956673F7D5D35D27
5AF7EF45352A3D0BA52E5599C30C54D5232BD9985FC581DC99FA6D6EA33116BF
12388D3A5271F165825B08B8575ECA7AB3332FC8150697EB7F389D3021B36E69
A37AE45229B600A6F1D0CA04D0FC950D5884E2ACB39332B24111D0F4B9D11DCA
C043645EF6CA812282608E991D4BEBDAAF63B85C046CFD0F2636D7EC2F56E429
774E01E08D5B5A1002E75200B12A72D39B592CD5738DC47165F2B920FC2C6886
BCD87569A396C864AE173A5BBF2726F7F4C6D506B23B8F20DC20314F40F1DF6C
4704765C8EA0BC21898E0CA8D908D0913EDEDBA892FAFF7A40A1B4A25DF02D1F
707DC35B2B46B7985D49891C41634F86153FD3ADA0758F627712BA940568191D
A64EE0F93BBD4DA10F6EC71E44BE92D46B31B937AF71FA3B50E644B30C25F9DC
C11EC4D286F0977A15E615BF2E72BEE4EECB76529BAD81FD420A4A0278A6142F
CC8FC27BBCF3726A41E13EC9F64A67B21390489B4834BEE73E77EA35BEDB069A
C1D791CD9476D8484F10DCCA690045F1577F8859EDD19A7B5FC5A2B2E78F47A0
86F292FDA42D783D10467A4DEA7767A351BBCFA5792555A4557030757B695D36
EED918EEC3772F132EAD28D998DDC99A7FCAC8854AD90A38B7A25A9270BF0EB8
70E452CB4026CC7C163A6DA5B5AAECD950C4593748542FD80FCB3E5A6253D0E0
18F692617E694539A25FDA688BF874EE4FB708054902567019A1F5C4DECFC561
10753B00A81004164A0DA0D124C58ECC52367BE5995082431B80AB76D2ED130D
04704AA8C25E92DBBA9552466ADC3B2DB8CA68B9C88EF017B09D48ED8DC37F52
A9C14C40EFDDFC0F725EF574B575E75D260A7926EABD120D8FC69512186BC598
13720A3D4502BAE525DA499582D59A67485573432B179E595381C13DDC012A39
AC702B68AA3A0C10BC3EC93B8598246BEEB279FAD0DED97341EF3C4563539B19
FD9C37DDDC01466C97DEB627783E12F82878579AB6ED8CD1E019633A07D9736F
41B43A22EB3FEFC329BA87316AC8722CD1BBBB32DB2A1C6A579B2DF85208F67A
41BFD2E0ED61336B1045EFC237E22DD1B6921537254A0A364681322D5AC4CABA
4E353AE59FFB06CC5C0F91DDD5CE97CA192647C93311486F986A8BB8C75AF6BE
4C2490EC3B518FC3D903E18637C71A5075D535D81C59A8CCC6FBAB9692E64470
AA868734B5EAF12C1399AAE7E48399516CE20D9CA2BCF3FE9BA0C99C6EADDAB6
06FB7C4164E1F801C22A350CE187171E9C62C55A50A11FB48FDA15BB68D98261
3D849E7D288CA8B341FF9DEF3F581221E998AD58FE7923DCADAAB6C9C26983B4
D6D833011B19C32B0C53735CF223D13ECC2F8BE42EFC6621918728B868D0C854
3BAD843A701FE1E791CF3A44DC467A08263CBD04F26A07BB3F508AE0423C46E0
12D19C569038C49B2DEE45F486EC52493824728C14B39918EEBD47C5397CB821
D634E4F4338F33B0F04BE30B2E221D1063D2256023297257FA1CDDC103F9FEB6
E8905C0FCDA28F0C6EF10C107C3B84607706F5945ACFCE13BAE0BE17279D41E2
AB4CD65C880C8A15F6A0E431E6F104A90E091A4265DDC746929E7871642786C4
690233D7B26B40E9A39D4369A9331B8812C3414B155312BCF45831E47BFA8F6E
B90AAB07B11CE98E6FEFB004D85A7718974E920946E51A10BDD246CF79C83A2D
44FFECFB76C1351951B80F6FC8D2A106BF0D8A12FC27E81D51444B95E40541A3
88CF04B9905851C5FD2598640CB0E8D8E9CE4EC244D788517F6E62D39231E3F3
2DBB2137788AB2AE9F97E56981708E61F49C561F679CD5DB030DB3CA2C042907
E18CCE15FBB0029FC98B122EAD5751C8C71F0D63B05F2111BC5755EEDC61B44F
14556F5E5486AE348886126EA7D666F4F5B1639BB00B6FB4B5D1AE78A8BE8976
C551AADB26C734DAFD7B93D69936FAF0D0C504D34B62F618F7250749F7780CA8
ABE7178066509E26112076B813D49F77320D3E0CB7174231BE6D0B8BEF004F62
D1ED971C9596B263640CF03530FB6AB8F47DC04A588DE1064D7C1179168BC8AA
A5E4FCAA0ED0AE38DD0A1CA92A522BC97066B7A64A40C69A6DB09F840D10AEEF
4ECE16253C85F258058E03962F9B61A3E3C9F59350734A2DC1B4DAF3AD1C34F9
C42818E94BFCB228FB6B41B92F1F9E52B36DE3F7272AB1559A18C937CB76F650
5ED72AC284008BFEBF601BFFBB2D1689CAAB81F98403ABC04B4A6FD3B5956C9B
15BF02E470D9C7BFCBE04DC00E75DF902314350EB8BE7BC6F21F0B6B2811EDB5
76E409CFC70412EE0C1F16611A82F89F6882921057C3D6764300C96DC0A0EAED
A1DB30C6E7439BC705A346EA1CA3B52459F4775AF3EE9A00CCD580ED27C1E2A1
4BF77C036D466F48F5F40EA39FBBB548354DBBD4D059D3C3CF2B1E9FAD1113F2
5255C3AC319C87E770332C0428B8ED1A10D00D5F5D1CD110C2765867F610BBE3
382AE901CFCC3F907D31D6594F50B6AE926F4064D4DEC6B0791EF0266B99E881
1F3C7056850A97893D2A00DD677EDF9BA3E12F977A1239E44FE5FACDEE92BEDD
A495DE8041554B6391A2808E9CB2FECB553FE7BF35CB659BBBE6B37918C862EC
446BA6A5F7A9B01F7554BA12B050C86B9220DFBB9008012AAFB56CDEB172E27C
6D5CF3C835E45D9B1B8C3C044090310880ADC36B2C056447B034C1D8AEF332AF
64B348C56A9A820AA3CB4D78AD5F423EC7E9F2844D7914FFEEDDF38F790E9518
9D1704CEFF9CDF736457D64FCCC8E0F7F9E1A4A321F36A554F3AC749CE6EE742
6D209C6CF009131C868C9887550F52115D0756DCA26E21B2399AE37F4FB20ECC
A35388ABC07CA8B6B60E3CAEB64E7FC1E054AE495CA80DBA6E97C999B3BDCEF8
282AC2433C5800B44799F055732ADD4BB6E5869BAFB3194217DD5DBCC864EBBE
3915FA3D4058BDDFA143F880671E3B5A9E9E3C0035686E6FC05250F08D2E26C6
91C95F62C3DE637A34A50A483F52FCF0BC54DC4400EB29721C337DFECB9085B4
354499A740AD101F63C6B129644D9328CA80295654983797F3EE6F5439679EA9
B320D777819CC341A2B24CEF879730413E13B6D067D5B0D3098032508ABDDAD5
20D39762408DCEACCD2C0E01628E3F8EEEE05A02D46D34F5FEBB18076DDAD189
DBDA369ED83F26DC39323E72D091DF89868137B668F7C04E3929F892C134E6EC
A1DD4B4F02CDDE4BEC28158D8AFE6D7BB80FC3926375CB6FF2F91B4B2ED211D1
165F57F05945B09C3A1DF23709BF809328B73C523416941F4DE20FC7B729193A
9774952BF00685E8E3264A9E6AECB785EDBD595900F4DC79FEDDDBA09E62B326
21242DB9201FA07FB6243FC522B67A44342CF64520206F3499D3C6516FD3A7C4
002160C36860A55F023D68618861A071E3EB7DEC409583A2E935DF2CA41D29B1
B99C395AFBF964627351D9D0B1F6D7441D2E95C5A2DFCE5194C3143CF55BB96F
4B25A30DD9322494D4CCB796F57811E956F515FC373846842DC50313D5A89FA3
58F69DFAEDDFBBF71D0A990ACDEED7580478DBAF4B3413C9
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMBX12
%!PS-AdobeFont-1.1: CMBX12 1.0
%%CreationDate: 1991 Aug 20 16:34:54
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMBX12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Bold) readonly def
/ItalicAngle 0 def
/isFixedPitch false def
end readonly def
/FontName /CMBX12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 12 /fi put
dup 35 /numbersign put
dup 44 /comma put
dup 45 /hyphen put
dup 46 /period put
dup 48 /zero put
dup 49 /one put
dup 50 /two put
dup 51 /three put
dup 52 /four put
dup 53 /five put
dup 54 /six put
dup 55 /seven put
dup 56 /eight put
dup 57 /nine put
dup 58 /colon put
dup 65 /A put
dup 66 /B put
dup 67 /C put
dup 68 /D put
dup 69 /E put
dup 70 /F put
dup 71 /G put
dup 72 /H put
dup 73 /I put
dup 74 /J put
dup 75 /K put
dup 76 /L put
dup 77 /M put
dup 78 /N put
dup 79 /O put
dup 80 /P put
dup 82 /R put
dup 83 /S put
dup 84 /T put
dup 85 /U put
dup 86 /V put
dup 87 /W put
dup 89 /Y put
dup 97 /a put
dup 98 /b put
dup 99 /c put
dup 100 /d put
dup 101 /e put
dup 102 /f put
dup 103 /g put
dup 104 /h put
dup 105 /i put
dup 107 /k put
dup 108 /l put
dup 109 /m put
dup 110 /n put
dup 111 /o put
dup 112 /p put
dup 114 /r put
dup 115 /s put
dup 116 /t put
dup 117 /u put
dup 118 /v put
dup 119 /w put
dup 120 /x put
dup 121 /y put
dup 122 /z put
readonly def
/FontBBox{-53 -251 1139 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712
B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99
AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26
7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF
20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390
B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D
68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809
D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E
26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D
F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26
77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299
BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E
C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8
30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5
148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C
E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7A71316B2E148D
E2A1732B3627109EA446CB320EBBE2E78281CDF0890E2E72B6711335857F1E23
337C75E729701E93D5BEC0630CDC7F4E957233EC09F917E5CA703C7E93841598
0E73843FC6619DE017C8473A6D1B2BE5142DEBA285B98FA1CC5E64D2ADB981E6
472971848451A245DDF6AA3B8225E9AC8E4630B0FF32D679EC27ACAD85C6394E
A6F71023B660EE883D8B676837E9EBA4E42BA8F365433A900F1DC3A9F0E88A26
30F5D8CADBB3C1E3238EB07CFA0721C8370278CF356E3C0928DCB2FF192C55FD
32A12B22535E518EED14BD541187436BE7A4BBA4B7AE83DFD043D5E332B6230D
7ED3C4DFA4ADEF53E2EDB4E7A81933F3D283B228572E03197E402CC609FBD0C5
35D0847A11866EE335A4DE822D635ECD9A93F570E44B0C1A7095B55948645CDC
60223365F28F6722FF4286711B9B82030D3E8D27197C4EA8A9AEE96A85C810E2
285943B16D382014423567AAFFEC1352BD2528BA782A91B3507FC1C2FF4D1427
1991C3BA380CFEAB225AC64319056726CFCB9F5B9A2CB301A54E83D60B73CFDD
DE5C3E6C953FD7BFC588A7EB1A697F97968059303478994EDD1E8FB4BC9E611D
AD154557B4F64BB315051F72AC52C9C9C874098E609F8E21CDB7A53F9C0250B6
A52D91F430821F2640AD52475CC03356BA0DC8AB33317F57805A8A3060D0BF1D
00FB88E5AC560B97DE6543EB4209DDF713770B96DCB421677D80C18F26FB2F3F
AF8214688B0837A2D75FC30215F146A7705F19644F503254C063BD2C6B8011AD
CC5EC760FDB4DE49D7977136C5C52C39607C99DEA36483EC81B84AC43FA741CE
1588B84D618B3B8A85A9A181BD376504BF97DA22F85AF3712BA4DAF9AE888383
0AFD785AD5FF362FDFB7E4634F90F05888C09BF22096E2E6BAD82DFEAFFEDA69
FD410B0547607664027309271703BC5AC1C2AE0CF81D12D51260D71791DB2ACF
7953F524DC1D8FE6400AB0A202F27BF4DAD70FB45221AA1BA1B75E65DB57C6C4
8294345620E935F65E674D96A9E03215E2F8C3EA3C613DECBDB03E7933985D4D
2C3A1FD2849CAD2759C5BA12448427A3B5379607E092C2D1408FA85B50F2C17D
CA4AE57ACED1BFD7CA0BEFA739DD287060B0C465306E7823EC1DCC4458E95F88
0F5C234D7D6AC3834705EFB6A97391D05519BC6DD793C5F505EAB387A2EBDC70
7AD4608D8CBAF92641F02DEC095E13EAC05609EB292BDA6181063A4BA0470F28
7EE7DD13BE6204DDB71439142B2650A9C25CC59F6E9047B320A623E69D38D3D2
D8525E5A7EB256C8C56731EB17C819151118FA4DD309BDC2A23DA03F3CF3DF2F
EA7E5263EB4E9F1CCDBC3859CAEDC8F8AA3DCF8C9771C5B3D1A972F2CFADE48F
400BDC235FFFD1BE0AC7B70A8BB534653BC0BF620A5F076CA49D58AB295D8ADB
61F9A9539002ADB454497A0425FEB21C85376C79CEC495E784B5D33E6D1929FD
8C18EBA31803656CAF7EF3510139345B775074B736461EF106BA5E7061BE46EB
0E0138FFBC26018B4C8987600661367C95D7F4308068885D46E808B67FA874B4
C6565F725A9FDFBB6F6EAFFDED566B0037C4718C87226813EDF9BFC5D52DA7E6
784839ECE642AA483DE318C3E62EAA6486A7B1F3C6FA6E1941B7B8728496FD6E
713C2101A5BA74EEF2A87058247BDBB8118F6BC90191565907A67B4015D3CE69
2D5CAAEF03D97DFD18E4244D8E64B757334F57545A636398DDA3ACEA39DDE44B
BE7197F61BE2BA63034A58F1C7A1276A007A5B0E3C2FFFE04F3AFA221D337273
2CAA055FBB377F02B99D4C9B8671A2EF80402C2B35CDC63E106525463738D5E3
6E03AE050CE5615F01E984A32A43C5DF31A065D10C3AAABBEDD89C37409E1A21
8E454817CF35263E3DAB0A962E9B5523C73D6DB4FA87DD75B5F9B2355E868CE6
E2C0D67F78C1B20EA9D94D29DD1D0E9E86BDFBADD6861D5FF59FA8C2FE48E326
C1DB24BAEFE3A07D3160D94F43CA7CF102FC547323D02FCEB03E811EB0E6740C
9E1C5CB845E98379FB0FE22275D004D4DA7D3BEBCB65DD3798F55C6ADACDFE74
BA80489E2B7B72203C0C60E67C9E4641C35940FBDB8293FEB74F2FE3F7E9B0B4
B262523A231C02056E79351CFB588FE853239FECC939FBFB048C076A94ABBA89
804EABCA9DA1CA335512E7FDDF79DFB83B46B6B58778E02437F461802F6C1149
65CD5074EEFBCD2A47E32C918A0A69AB06E7298ADF1FBE8350AB7E4EC9C99FC4
82997D968420480D461CD953E32B087466AA41250E216D4E7E050C406E687ADE
30D671E0C9C1BAE8677CD9EE726795BEE70C52C1CB3495AA8B6BC9BDA1A93D78
24DD0CFBF2597E6D4A7FBBF8148B6E3C8A287949294AD6A4CC18AC476469434B
A33710A602EE386472CEEC6DDE115E72C06C2BCA6D39608FEE873EBE25F3267C
6BC5E893DD1BD942384EB6BF33201CA202A28C3FCE4893153D77305F118EA9A3
EA7E5B68DED09D320CF809A13E07EAD2DC01EE2A94875C7BAC7804B57379F98D
AB6218FF571D149E39BCD685D708B117FBAEE4C3AB49A0D6B2E1DA5949D8CF59
D5F95739345DCF026F694E331439CE61C787C285A7E0C5A34918F2B6969E4B52
08AD9A27CB5AB6985EE5DE82A811B3D7553A707052342FCE58BE426C726A4075
EA6D663A442F871FE32248E4D4F9E06E89420DC6C6C1D063FD3758739FFB46D9
22C2DFA68F679A7132CD835CD38AD25300E83B981A9AB8BAD0E2C4A1960C7A46
56708C9EFADF3731708C13F2C9056A3BCB2118872349F06F25ACD2A3DC889598
2077FEB3A06A06800C8ED000F56A82BD073347E434D517B0F87FCFFE1361430C
DEDBA293C660527F0813DF894B7661B5345A1AA27AC95B4DF6C8CABBC1724764
CA6DDF1547EFB8CF84F349681FED8D666E120520C4B7D6DE50A5D20630821CDD
D821D9AEBFC38DA2989E7AEA822FE0929D6DF06787D280516A97671FB4C968C7
D6E78D0FCA042D3AADF6AEA0B26A0EE20CB5B4073360BD6FE1F913E43F65D309
A4794732FB47C1B11E8E40FBF73121219FD2CBF4666BEA01941F395EA768192B
2DDB9126550D6313B16C3D681B19D80F5A1B79E16AEE4594623BD1CDBD56F933
A7B756D8358D6A19E06440D9ABF9BE3C8D8178E720E9251812754E30018F4DA4
413ECBB17B76F5BF57A1AAC9F4232115F7A17FAA390C7241AC16E2681249DC67
B56F992477849BB16672958752AE26F17B691D99AA07DCB5ED924339038B5400
3A9E59CBA4CC8D7851E130EB0E6598EF1AA02DF71564299DDA622A4E61F15267
83E9E36A165A57FF8FB3D61299CB56F318104E4C77C743E82829D432ADC11C90
F2F4D8B45241DC95F8C46F320A5A8AF01430D6669EA99BEFBB97C75E06850112
7E88350FB6B616E4CB2AB584DFDA7E86FA9BDFB8FE3C938DCB3169A488DBA29B
58136DF8D6B8F1B7EAD48BC3944F0757D37CB8A0CAD66D035FA355BE2631F7A5
FACB13DB97C560CE15CDF49856524D5BACF9E5445A2B24AF3ABB2ED577B700AB
48814397FBC7D9DDE35AAE8FBF9E494725C90F5E73879B19A112A901674A14F5
AA43EBC61C9C83CED10D18F3B187B7F7A8D3E13C4AD12C530E761A6786E08ABB
46545676C97C2692DB1BBE86F84FA593931A1A82FE98CFAC886EBE154DED7B75
737B03A95660C97D7AE54D19696BF4C10150B0BF65CB58975EB0C9A6EF5F0114
1263F02F5D5D644048F8B2E9EA7DA27261077C2782E8F3E8614215A455381F04
EEF4F5AE6E8BC684154BF9B8A76504BA2B6B3276C817ACCCEC919429A89D1F27
4C575821F5969465255EB21B64B965F904DDF602CB4501BC79F2C329F7866505
B446470591C295122F2C39496736E4FC889D91C031BE95D12857B5BDEC836AD1
FA7EB8436DCB5E873BADFF8B6B8C0146E60D0CA830057B9D731FB27BF31B0398
1BD0895896963013C7FFD633D0C3B425FBE4D9510848E3747AD5A0804321005F
FA5C2A72F4932040280C22E7FBE15A11A6AC2EBA8D4B38DEE581FA912A9E5F9D
2C041DD13B6E8B9A8411B01D3E8C8884600239E16AD35991D36C0144A0480391
FF3A9E10CF1DC56A9B3AFB48BE5FBFB4D136B339C9F6BB5408291913019C2838
380B7313EE325F034DD074A7F74E3F21DB10C7C059B5367B4CD199BB69C1BB2D
F33258E544EEC09EE43241D7F4BD8DD4A2D68C919A23C4D4A8C783F7E9903C2E
0BE5D4BA64BE0621ABED53238423433FE096BAD4DABEAEC068653FA72B1840A9
20928C50DC9D7E41E47B804D0146BD91A2FF56E2FD5856D0FC6F6899FD493C6A
49C80DB7EDDC1489D59B1B41D7E597A747DF141CE8392B1D7B1BF4601B5991AD
67E068CAF2DB187A339F6BC3ADBF27024A09FDF25D5CCDADD7B05DCD801ED00B
044669D6DD3EE80700386344D96275CCD621EA3A39031F1CD78AF3B32A175A0E
7D9D83AA8AF8373A66D7B4F8E06E86C1C669FC9ECF2F6D45C5B72DEF384657DE
6E82EA09A2AD998588F94681D4CA62108D42FF708BF814059C5C5EBB4615FAC4
4AB718AB6A528E752F25574829333974B08869602B5DF61F704E3F6BF1540997
C515134EF7A5F39B5566B6BEADCFC0C8A0DD70EE0AAEAF59D6D9DAD8CA683505
8ED1655A005634447AE9459912A2217BC042CF8380C74D2EDD52AB2630D63C4C
0E5961BC7806F9588E9EF22F0C32F48F68D401C686D21B8986C6EA9D886B955E
643D0C107A6E5940E79F4AE63563B33CFF51C46B936A874006143646874E7E7C
9FB57424751F03D09DE8B73EE44EE35A1AB96FEC93632E095898FB057553EEA8
AA79106C5C0D6682A4CDC2B182529EDAFD1F4A64B97956026BA6D9C4ACFC230C
8B36B47FC9A78318B1CE370B75E3150F774B20827251CC2E2E748EBCF2D481CB
A7247B41E8BD742B36BA7D3A2D1FCEF620F7781E712D05900B7A841B63F0D992
75E10A8A6D686D9AB28A49D39726F262D81963C47C65D1E1AE23D1951E1BEF0B
51E1EAFF5C67D7208FCAF18978D5E24E91F123FCE1A7C2E5770CB4BA7E90EF12
4C41BFB572862C590F63B223EFA9CDE450ECE1075188AA4C582C021D8F3B42FD
1CBE679304CBFB9F154411B4B7B5F061652FFE09040DD5DEAE12B45DCF4AF830
1D516D6DD177CA467BC83239324B84F84CC52A574F30C3EFC4BAA573C8C15845
68DFEDE6D1A1072DE055BD480DEDBC6B7B11771BB530B1FA0C669C268FB72124
D54B0CA70812F5282EABBF4CC5783483589A25729C46D5D944216B1B4800B141
3A8C860106DB3440C7242075415A61DCC65AA816E00428AB6FA9681A61A590AF
995E3D5B4C1F6E12B79C8EDAE42A7C12CDB1400AAACCA84302D54ED14DAB0512
09A4E89C635D2348907020C1CBC33FFA0053CC5907E9B417D972B98B7C6CB425
C4B6A59ACB6B3CCF163049A78BA173E6B8AD1BB9FE92A5969D2A6F476FA16671
5B102819182F0311F1BA5E70C72A2F026EE920AD2763DD383692FB904E1BED76
B6E7A9D66BE62A9368821125DFC62E47A1672EC938E039CCFA8E33E18C15C6B8
8E17E2AA173EBD213516EE495878B258C56877F8EBF87A569A24DD7EA033C5B0
DFD27A970DA5449B65119A80077A96E5299B9CA1BFC5613AEA27E3BAFAF186A2
BB60AA9E327B58F156E9CA4597D24B08F6C0F507EF11EA40CDB94D3D4AF9F43B
A071C6F8ADBE8FD8A3AE6B1671933DE62A3F5E6BF231151A81EF18AC97DE96C4
8E32CB9E9306EC46349A2CB4831E6C73F92D5DED37C11F8071A455E62BE5F3C7
83A50AB50CE8E059646D6D2AD7A19CEC068EAE426C54155F2BD4CD4F7A64F98C
507B110D9F70F91F3965E8F34118CC80CB69814E1ECB04D9860AF1A802FFCDE3
FD774106CD23708CD0C66FC6270F8A6DBC030DF56950403742A357BBBAA330E4
D1AFFE86977994FF2C4DBAAB525125AF97A8FEFBF7B7F1C797DBCDE9CB6502E0
7CDC72D9DB78D365A73B84E525D886E2D496A686F59E4B3D92AF2B05A595AF5D
BE0BE6DF2B309AF4F74EB1545404877CACC9C4982F88C35933C706DD48B1A5F1
3E757F47189AFD3C782BAEC4B388C88F713DB2190C4D10898D5795CAADD8434F
4835223DA5A77E486588087EAE585A4B811F06B8839052A9549F28D164DDC2B5
868C1FDDC7CF489D294E4AE8CFB092CED0D17CAB1A91874958654D5D105BF4CC
4DC04518496C0E5DEBC0A73DBC432D4C24CA6621335480912184DE2FB932C6BE
2DF98EC1B2A4B80550C20D8DDA2943C7919AB0DE71E90AAB108CD07F8663B877
84702161543D5F22C595E35AC00BE643AF3B8CDFE8B7AE4F61DECBD1E350A6A1
4CDE583C9671E5AC09FD6ABDDB158FFA8BA2D26C522ED13161324D64996F8E05
E5ABF5794F8ADDB9D710BB43621D6AA507D1E3A0D5C8B3F85E1BD02CB90CDB79
552B54755CED2D6737A8A49429ACD3BE85D9A02DEDB3112996220A40C6183B9E
CECC5BE181C5BC92247ED0C2EECCCF2EE9BF326F790C0C24B6B8BF6DDE01E74D
D339246B0FB9AEA975A09D30F3C10B868B7C268AA1AE6303160D7C478E9CADCA
E0561E87B19D47C07DEA9F0C46CDEDC5675BA9CDA1110CDE63B79FECB8B46FCB
E28D8AE5E8278220918EE3396A64B24A1BA57391B1C5E297BF9B114685EE4A2C
5EDF289B04C3E2255F57AAFE2422711F7543637C23017033158BE209D239C3F9
45D37E7518F4D7D5AF7734C9693029984C538B6FE7762EB9F2EFA4F86FFC70CF
E907E35BC9A4140802C463EB88043CB4E30FFEFE92C1FC4AFC8D84334619817B
F27DC4CAE5EF3AA1C9585058788175C5D6410E77A8E36FCC92C259AFA68FDD04
D8F72A01A388BBC304BE72D488515E1C6E733569582D34DCF1DD714F8DB0766F
52F0D4993D0819920B055907A83CF459EE40207150627D9EEF13B122F26E9E5B
4381734E120FC76B9FDCC1FC23A838EFD494A63EDE318CF30CE54ECED88EE055
B7812B748AC2A718D2F096B77370245720B55C38F8BBC8125F77E2FD1A3FDD5C
52E4B8BECB993CFBA028701516C1A5B8513EEF17F28E9B2AC49496C08E26709F
C4A3823C725A12DC5278AAA680072C170BB5947844A57666072A3C5B29812FC3
5964C6C6906FE1C421A19188B2FA9D631EF6A2BD53A7BC512FCF35E045378169
50D375FD79176C4A7F73C0E1F8CC7E0BF389023836624798BCD3DBCBAF6DCE9E
0C694ABE170731C2A980E75E24E7F12F48C7C35CEB28646C396801F9413930BF
92342047F4570106FD3A7A7E6232C28AFBE05658835CD6FAD412E460E5257131
A32534458BEE8FCDCE3F13A2D88CC68E5EF08F16AFB3190E55C094110EBA1832
8CDE8F57C0F7DD3A4BD2E604F237F41B33835CDF1F35199C06C40445D07B585D
9949FD9C0BFE8E05ECA9D7E3954AFD7D1E3640A636BF29282FFE88B28AF3EEEE
63A25AFC1F57504F945F6159781DE9CD20247AD2EADF73846F6BF2AB2B46F6EE
454E0D6DBC3F9410AD9437F699F7D5B542AC47AC37871521DE6F4A2E1C23A0BF
419446E5A42B7A185C0CF6D8A0316D8E8468ACC131F7B39EDDB47E8B30C4C84E
14BE78A42961A19E15048F6764BD49220640DF03E264861F6101E2EBCBA58189
82084DE37D4776DA1C21192A5D18C0755606A20EDE6C58B825777BAAB2C5A28B
6ECCCE725D5DB80EE72E5B6F6CF81DD2AF0757AE1FEBF6240B4BE4041A11D584
829146716931376E9A6BAD97AA8151D1FAC010513A3D80DF8FBFA67885B3B0B5
935D7789491F2E7735C1F94B3C8C6FB97282C8E5814C7AEA16F3C1859B833891
9C8EE08432606D8A7E59466A40AEE0D51DC7830B53ECC1F714ACD06619BA5D61
728216ED9DF6F2FF027607153CC93AC046DD826DBD2D8AB87DB903CD88D3D588
4CEF8C31A18B0A07F936F15E325DC6966EFA7E82C7E261C8DC29F1EF84CD54AB
8E0960DAF6CDDE5108D845E0D8BE87BD1E86E7C88A698DF5A4B76FD5F97CAF7A
DC437B332525A0C3C4E4B14C3EAC8271C3195096C1293D23156B5C8C70CC3301
70A745B4FB5905A3AFBA8933036180489D4A7FF1B31E8CC2EFC691CA017EC3E3
26AB3269777D1C0319FB1CB5B89DBE1D4653B686A93356B1DB4C6206112507D0
9B2F405DC5E09E000F8813E97B801480C8714965E56BFE531DC65BBD27B25BE8
0AA315029709CCE49EDA5C46AB3FAC982219912F22FE027B653D905EB6091059
7582371D7800864FDD082ADE5F7E4C90EF1C3E029D684F193F5D88D57AE3DE9F
2D6D900211404B677B200793D45837239644F1C18E0C8F622E167E89DCBE6E97
E9696A6B6598E2B1A053974D47797A02E8E6E434CF5850BDD47BD92BF3BA0EE9
5EE0049E635F0C25E9926E19013D6D40537D3C65FEDF835F398A4E3BB903C7D2
8F19039FA4AF056F6ED9B3FFF727C4EBB3231C1A6393C3E10433BC1EB42E9B94
701B114560A12C174A8E94CA9A1570D13A3DDE76979D93EA7FCA518719B9186C
AA01FA2ED051349B7227A8CFE07493C45E9888643638D873739A443925F8E09D
E6E10DABD9405ECD216773B4036DBE6A15A0514EC278FBF483D03CCEAB345212
135516E3AA29AD67A99BEB67312108AA94A4C42FA7B1C7DA1B9739EE1659B7F5
807E13120280EA2DCBB2983DAB7E794EA2ADF9F12161F5B7D13DF8D0CD3130DE
C0B4AE2B750A45C26CEEDDA08EA59AA2C6905199EEDAB740A0A712F5C15061C4
DF84EB8639028A7F7AD29F1FAA73A1D8249876FC48C8145A3FAF43091F2C8C79
C9C5B78F11684124DF972906DEF550C2898FD2055A1CBB7822639D45CBE0CBDF
04268378B72349EB8B2BB59E7D842C84F6FF3C9E519110BA0FCE56DE8E256EDC
D8C2EE962EB5232149E0D67C03C04C2EC74C8F58411057F71F94A28E9A17714B
12569BB0F72CF6AA91D794FC16FED49144EA2F4F461502421A9FA311C3349C99
6D7A5AD20741C0B6754BC3AAFB381F1C43AF786F514FB39782A61F081E58C000
18858015A19B754082B4923019CD7DC276B42CA4F18C66ED314E14264347380C
60FEC1E035C517CD4AE94C185CA5950901D88FEBF728C3ACCAF12C0D48B62E53
F5A6E903C535BE5F42A6457F56701B299DC490A7C5AAC46217E9F21E94AF79D4
236EBE819318653E11786B2CA223F2B701A3A8B84DD5015F9A86543DC417429A
4649213CF234507B6904769221DC7FFE5835FA7583B39AEF6FE4296199BC7AFF
CD323E2853A95AD604882E57462A3E44CD67915351A5C56E0B81A345847C23AA
73CB4CA41417C4643095C9796A71A69D777EA3222245CE4F697CCFCD711DA328
175778396FD7500F16EB5372ABA3833C3B758179E7C95ABE86903C75FC379CE6
78AA73FF5C5BB9DB90BC4D24FF7EF2B27725EA8523AE7470BD2CD4E6B41A5ED2
E38935EDDF72C1A18955660282DEB92C297BE051469A22CF1D93385CA458ED5A
551FF29D4F9F44FDBA400A6C89B98901284F2B9DF463D0D3D297F5FB75D2B556
E6FA1A4B631CE4156824C2709C392B3ED1DC303DD46BBA55EA6F882921F7029E
1BDE958AB61AA78645A18500C6144C687E7DE100081B1BDF9BA371CC1A330E1D
56C3F3B825993BD4B7FAF3B302F469F5794BC244BB2AC8D4EE9B715496434220
9E42BB0DB2A2BA940EA6F894DBDD2DF28D54C0CE02DEE9B8839212091D27A5C5
9E72EB34E3A33C4B2E34FB469738FD8371CC0055BAA748ABF623E04D99CE9239
5BDB1834CEE82C9859C13DFEF876DA84710B20AF397694B3BF7FC161F02CDA29
08E8DB5FC6A5BC6C70A7062AF48C2590FB14ECAF7F70C523769D62F9D81548A5
C2F65F09E73ABC354F1FBA32EDB7FF8514B27DF59FE758EAFC2BAB094E6E0249
0B7F277ABB661D380A1E2B2FD1E0B239071F37EE54C836BFE9E07074A64966B8
EAE97C982C93614FFB953787635D4A30AB336F73F5B9DB09779A04D8AB330270
5A635CAB68C53AEDA5A234E29F700851F1FA5C5CE946D36ECBA75B6AB49D29DE
11C0672A02771AE60C2C6BC7A2DDF899395DB89507377FCC2E4F72E41C4A9C6C
C60E4EF330C0AE9B4C10077D2011056F17CD94C8D2F9BFEC24B186789FAFDCDF
F074C6B4F8AF22669B968081FED386B9E52BCE6651568525AD13C78CE834F2F2
45905F65E985FF7BE01139BD55FF49929337D63833C3C9F21C846395FB5B397A
48539905FEBC25C30203A57E16EE06E18174D22BE0D1F7E58C11DF5B5363FF36
FE654E44198B0375809A3818494F1252F54D510376D149C9E35656CCF79C6B6B
99B3F22B085BAF7C008EB7581F25E5C7ACD1250CEAB36FF2B1B90EF8D71AD2EF
09596D22127C6A575495C80A5A9FB45F3F3D874F5018C596C94E37B86FB1B88D
3CB8A405C4CD74AD8A19B8B341C27D070A8800B2E363DC7F51315832D0A2FE11
A2AB4046ED00A83848189B608D7E94F6B374EADA2754C197F7F3391C9FBB219C
868512E8D2B06AFAFB25EF306C508A99CA35884D232C658E0B26CF2A19C9606D
10C4C23E5C77E309ED4579322F9AAC4B787E29B8C6061EF8D4754D0A6107C75E
015B304F934F424E6900DF382A2F6161A0528D4358A9034242C05BFC22DAAC10
3D67CD84EECE70724B15B02BD29D5884E327E536BD2D091F1B6E20056FE65993
54DFCC6AB35930EF4B42C46F6BDEC863B9685F6A65F6369171271EE9DC86FA97
573AC8566DA2F94FA08CC3482B1663EF1D105E293A25EEC72D5ABC2E9E48EB5F
F485C3A41BB22EA09F9619079F2FC3DB05CB063A910FC7BBA9D92203549272A5
C4B68D94BD0F6BA05FE9006787EC267AFF0FA38B509328425D958F264CB735D6
C50FC7129586359B6298A48FB539223A01D4BCC1D16BBE98D98104549D5E143D
BEE5CD7F054019A6C4E65A3236FB59E14C5B05FC339D37DB2063BE2C474E8D6B
7C0B591FA635D85BE8D28E924500478D29CC987311FC67C33D05AA6A69F51982
2F519A92E04B0CB593522A5F9BC18CCEE2EFE65137C78F457CD7AA1E60795A7C
80FD85399563F7774C152DDBCD340EE41E69C19605CD6DD80E3323D0DDDC5CE3
B868D56448E0D7139CE407DA2F90F69F3370F59BA80FD6E5291CCCF4102A89FA
FB0E7CD9C3A3D7A29390C38F724C61E71FB9CF70894EC5C021F7653EE67B01F0
52F20B1283D9BE9207FEA9551281C85C5AF196B9F16ADFE6C37AC05538F22960
48778EE4E62D33DD26FA472157CE2D19F518E19C6424CC01F71EC1DEED767046
1EDB51BED5D563647C3662DAD109B77799B36DFDB3FBD2D6DE00A6D5698DBD7C
C6E70FADABCB3EFD3E08A2429CED1D72B8D8174F90EACF64141676F2CF791CA1
06EA7000A3069A213EAA9892675FF1F9478D40CE3E9E4E90852EA7E269808F8F
8BEBF97C2BBF00274E90F925C76C272396D83DED508A877B8C235471A70502C9
DEFFA11C1B69B489271FA81CA0D3475BFE44620F24CF41D3B5A35AE457A40744
FCDC3FDD2BFFB6AC6CD320B23DC4DC232EEBB7BA24A8473191C9897D4CDF91FA
11FAAEBA89A40BE93E14FF3C6741BEC15D6C414DB145EA733BBCE90927758658
F09C277CE1B6541526403764D8B34577F01646E2F41CCA59EA79E65DB9DF1D61
C19F1B724778731374CE9994BD4A167D2BC4B39ACEBADE88C0D749DAC57C6751
3092B7F3580A96641569964F7E6F805580F48289DDB96E5FE17CE6506273F469
61A34EE1182C39C8E657C6EFA9E0E635A9363D1A476AFDD81FAEB4C9DF9F2BFE
E58CC036B87ECFA54519A4BFF7B9436CFE2AA946C2BCFE96534B88D7F3DB5635
155C700BC7B26F605C0958F2748A63774C115B6D88620FA4C4C1FB873BA1DA1F
BEADF682C3AAFE90F8A93B7E67DC8C5F014E3F4EEF9CE51D28B541EF4C9ADC31
59190746E58C20AC4662528933C03C4D74B9BD053478C77A7A9E00972164FD65
BDE2788D5FB3B1783D4725C4FC835294B685ABE17EAB07EDE07BD72DC17BBE75
4736CDFE2C4C7217E425696BBBC1F981DE682149E894D76F46287ED26F637858
297C86F9805ABB612E4E1BACBF8FAC2155AB9D24696DD799D54721B486F94172
0CF10C2540B7F62214A69B9D4FC87D25531E44E829EC14862AAC83B1CBC2B6AA
3E0059416D9F017DBED79855A15536E019A37C4D4DA7112E17E64DE362924B28
92B911D3E0E19B3DADF8185C840CFB6701C066B9B800638AA002E380F00A5FFB
DC567D412E86BEE99B1EFA5B41D2B2BBB4FD655A9BD873AF512BABD722E02221
0FA7296988647CC4BE09DBD06CD4434A2E92CDBC89C048A12E9E0B1E945A0C32
5DF4DC7CCB12FDF6367D626C64C4A511BB0DD3943094B56CF9F47EEC6974AC85
CCEA5E4EDB5E5C805737A11C0F6593E8A82543DD779494727553D4A2BD49FF41
A94D9B8EED83DEDB50235B9A717534B8B151FCEE2A71CBB718F3E95E1DBEFC44
A791F55221EC78C000DCDEE10E37AF91741B845137B952689FAD1E5E867C2449
6F6937D2AFA85063938E04F5D6C25FEE69526B168839074F3E5625239B02B8D6
3628A0C882889C89BA1288B877F8B7A509285B49B5390E7C2E1CE144BE8E1564
BC16C320C3E4DA32D0035180C0DCD8A7428624A4C9952B5F49EC7AFCFF015BAB
3A49D6C1D30590E3B08AF7F53D195DBAE33022C1BADC8D12DBFE3EDD316E151B
C1DDD7A96E2A79BD62417F1D0B20188A806454367E20E85BCB5D7D641645276E
0DB085F151F1D4C5D3E3FBBC4E1810806017FB7F04E365F301B106B1BC44F64D
3022FFD51677D7FDE025B5B16471A913300FAE9A4E961EFEF460CB153F69B8FA
4ED7A3D907CF8D711B347F8C9C7D19268A334CAEE220685176D6C121C1283971
EBEF748D5B8C193F72B540B1D7E3BA420080E6F3F4016FFC14A06D73DFFEEC3D
5E5D67A45311F19574C7937A028423FA5E8C931BF4B35E3041FF84900539832A
1DC94AA48DBB268BDA06B8FEB1808006E0AD6D223DE59B20D5722877DA78D156
AF5053FBE4879C86FAEEEAF18436A45AAF5B0CCD74A2300B219A04C9413B01F6
2ABE6C1651AD7AB3C94A8EA6EDD19147C6AEF2341E83CAB2390B0F43362FBFE7
DE0E4A650246F2195932C45DE176DC5EDEF03C63ED7F16B22B3526A64EE58515
55D7AEF2C645E9746FDC7EF2E2E85462F3788B1586BB656577C622C769D0B84F
A90E91713ACFF32765CBB1BB833CBB8A29FDB93A55490596A450B8A04CE59C2C
6559A047406CDBEB1E57C5950E21348D35CF65C0CB79A95016CA9DAFDB4C7AA8
5209E14EF42F2C048939AED3A68842E5FF5FFE1917A3533F5434F4E12B7CB2A7
8A904CDA6C1C5FE22E13063ED50C4387ACA9414E235F3D705A5C12DFFCA70247
61E37782DACC3FB50B9CB25732F76676060C3F905D198D603271D87522AF91E8
DD6B66D2D91708DE4DD729C198D17A1CB9678EBB602BBFE7410EE33881D3D1D6
66395D5D0F7D45EC43D0AD906AD1A95C6310017CE2A2FBB557C3370B1455A6A8
78C44991AF4957EF1477DF5DB47D8A1A077BBC09E19D7ACCBDD87B15DBA90CEE
10711E5D277384F41EB186AEC1E67286275544EF6E34E1635837B2FD94935FC2
24D53ABDD0E5F0D43D14DB3C930F441202006C1EC62B785E693790C204DF5C8A
65ABE605D4977D2C3DC4188C41DBE3C95D5296DAD084296F45B7F62A556C987B
4D105743165B165BD4FF325D361B1CF4438E6D365D5C8E89D8F1C230C53289FD
238BEBA0CB9FC63E4C7210D6E1D2D1D1F2070DB3D0C28F5A69471D03A3F20B15
F58F38BDDBF7E8C2BB9E2C3318610A9B11753A77F567AC96C8D0D596FF7CFD4C
7476F5ACDA8E5708B557A6864A19C2BA00F23D2B8D53517623332BF11F507F19
48CFFA1232E61E86ACB0D094DB28883CCCB984C5FC163661C50F0AE71501DED3
8939BF491302A37A99AA88EA39445650E06D366EC09EFB4CA806CFC6A4339DA7
D4484D757DFFEFA0F22995BC8BCFF0DA1C7ED7DB21190DBFF2209F2F
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI10
%!PS-AdobeFont-1.1: CMMI10 1.100
%%CreationDate: 1996 Jul 23 07:53:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 58 /period put
readonly def
/FontBBox{-32 -250 1048 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958
9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321
990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E
6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB
DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721
59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823
D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF
8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808
6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9
1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE
03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909
95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1
74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2
3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8
47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19
AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8
42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8
40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837
B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53
9560176676ABB71BBD0EE56B4CC492C0652750227CEC6CBEEE374709231B00CD
0DE83AFDE295B314F6C8B1FFD32251C1925D96A64D739FF1DA4926460B28B3DE
E949AA0BA3DDB16534FBA30C32092D5F712B5E8C8D5142F35AF2906E6C219D2C
7FD9A368C193E0EB9C7E25FF03C546B6ED993F964CEDB1B8537C617170787F37
88D6F2AD02384B01067FE3F98257BAB958BB3BCD1001090A4502DA0638080EC6
DB784CC8AC37CDC01B29BC481D6A05ADC6188785262358C1BF1D694BBF31C1F1
AF117C1ACED44AAC6EB4B9A2511A6762DDE8FCCBA5
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMMI12
%!PS-AdobeFont-1.1: CMMI12 1.100
%%CreationDate: 1996 Jul 27 08:57:55
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.100) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMMI12) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.04 def
/isFixedPitch false def
end readonly def
/FontName /CMMI12 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 58 /period put
readonly def
/FontBBox{-30 -250 1026 750}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE
3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B
532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470
B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B
986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE
D919C2DDD26BDC0D99398B9F4D03D6A8F05B47AF95EF28A9C561DBDC98C47CF5
5250011D19E9366EB6FD153D3A100CAA6212E3D5D93990737F8D326D347B7EDC
4391C9DF440285B8FC159D0E98D4258FC57892DCC57F7903449E07914FBE9E67
3C15C2153C061EB541F66C11E7EE77D5D77C0B11E1AC55101DA976CCACAB6993
EED1406FBB7FF30EAC9E90B90B2AF4EC7C273CA32F11A5C1426FF641B4A2FB2F
4E68635C93DB835737567FAF8471CBC05078DCD4E40E25A2F4E5AF46C234CF59
2A1CE8F39E1BA1B2A594355637E474167EAD4D97D51AF0A899B44387E1FD933A
323AFDA6BA740534A510B4705C0A15647AFBF3E53A82BF320DD96753639BE49C
2F79A1988863EF977B800C9DB5B42039C23EB86953713F730E03EA22FF7BB2C1
D97D33FD77B1BDCC2A60B12CF7805CFC90C5B914C0F30A673DF9587F93E47CEA
5932DD1930560C4F0D97547BCD805D6D854455B13A4D7382A22F562D7C55041F
0FD294BDAA1834820F894265A667E5C97D95FF152531EF97258F56374502865D
A1E7C0C5FB7C6FB7D3C43FEB3431095A59FBF6F61CEC6D6DEE09F4EB0FD70D77
2A8B0A4984C6120293F6B947944BE23259F6EB64303D627353163B6505FC8A60
00681F7A3968B6CBB49E0420A691258F5E7B07B417157803FCBE9B9FB1F80FD8
CA0DA1186446DD565542BCCC7D339A1EB34C7F49246E8D72E987EB477C6DB757
99AF86CEBCD7605C487A00CD2CD093098182DC57B20D78ECE0BECF3A0BF88EBA
C866DB19F34BBBED6634AFC0F08D2AFB2A92578A6F8B4ADCD6594737FF6EED7D
5B536DA9E3E2CADB40DB7C600EA4D100D33C3B92B1CF857E012C4EB370BA8295
55B50047CC8911C98FE1A7BA6CDEA82D34476286E710776823690AD333DD3A49
335002F4680DBE1C21174BF016B0DF799B01EB9D6988479A8334BBA2F8DC7146
BC0DAE9DE3A6453B181808E68A89E0C02DAC6264D002B422EBC1CF14F65D9888
15EE6D514D3457F7F3C6A3D17EE1DA076F73ECC392D349174DA9E4680F29CE10
0157E42CA35F5DBFF56BFC3AA07E61A78DBE882C5AB388220C19750D3643E7C8
23D6673027CE568A4ACCE1D12B1D9E5A43507F4AF9BC873237F65A6B95078DD2
378007CF0F0DE7CCEF760E19D6D1D7B412EC5D4972
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
%%BeginFont: CMSY10
%!PS-AdobeFont-1.1: CMSY10 1.0
%%CreationDate: 1991 Aug 15 07:20:57
% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
11 dict begin
/FontInfo 7 dict dup begin
/version (1.0) readonly def
/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
/FullName (CMSY10) readonly def
/FamilyName (Computer Modern) readonly def
/Weight (Medium) readonly def
/ItalicAngle -14.035 def
/isFixedPitch false def
end readonly def
/FontName /CMSY10 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.001 0 0 0.001 0 0] readonly def
/Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
dup 13 /circlecopyrt put
dup 15 /bullet put
dup 104 /angbracketleft put
dup 105 /angbracketright put
readonly def
/FontBBox{-29 -960 1116 775}readonly def
currentdict end
currentfile eexec
D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964
7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4
A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85
E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A
221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A
27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF
5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09
0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730
DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A
71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09
4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C
515DB70A8D4F6146FE068DC1E5DE8BC57030ACE57A0A31C99BEDB251A0ECAD78
253AB320C099669BFED2878A6C4038A5BCEB5B4C28040BB8B4AC2C167BB2C999
ED93E2F4AE3E4B44B7B6B469C36A24080D4BEDB5523D202E920D8898DEBD5EB0
CAC3C5D5F01A87F7B15BD1C197B344F7D94E965CBFE73E8A65A2AA6A6F93B878
03E30E60F1390C2FB671C8D36E7D6E516A20079B48CA9BE632F5A8D1250F01EE
6809D6C5B51AE3D1B4C244195E4AB5E68F2AF1D7556B9D03035E08B962A33B44
426A3B5BEF3BA86E4BFE8C823D42816B59DAE9EBD42C115A1E75B0E6427720BF
773EA85158709B4DF306511D5CC19D7395BEE5940DF97513CC36EDF468B80C01
476B0B89D1198F039E4A32FECF58E56F6B0A1D27E9E5FE6393AF613D11EE6185
26EDAB5CD87D6B6C9838DC76423000F9E0D094046832BDDDE6AFB7549561F742
F0B1AE278DB3355F8867D2CCF8BCC03AB7A7A8F9E51C4B2BD121F9D3B2477803
1A24BBD88C9C54A8E31B9CF66295B665495BE7ACC72E1A1F05413DFCB56D0749
49539F8F4706361CCBBEB69D135FF4B63C35408A38382C739EE8AF9F378CF061
C9754E8C7CEDD29E63D79C8AD5518244E4BFCB827E05F4EFCF03BB47CE67F43E
F29192EC2FA1026ACFAF2CB156124C88D860864BEBE81CBBDD60DB5C7DA2B6A7
B64E3DA907988FE60AF047DCEDF2D52D2D43E6C01FA7F84B598386FE03765B15
EE11E9DB0BA83469FC7FC5CECCA2E4D84F87D43811978975C96D9CB66BB87B02
579D63949B512A59123F039A1DAE2EFB897FFE82E8C6B0A30C570015B77B8318
9BB684151679A432E2E167F4E27B7E878A46C19969230B9604ADE2E6487203D0
DF06DF8F5E
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%%EndFont
TeXDict begin 39158280 55380996 1000 600 600 (libidn.dvi)
@start /Fa 197[21 58[{}1 74.7198 /CMMI9 rf /Fb 140[37
13[42 24[57 76[{}3 90.9091 /CMTI10 rf /Fc 134[39 1[39
39 39 39 39 39 1[39 39 39 39 39 2[39 39 39 39 39 39 1[39
39 12[39 16[39 20[39 6[39 39[{}24 74.7198 /CMSLTT10 rf
/Fd 133[39 39 39 39 39 39 39 39 39 1[39 39 39 39 39 39
1[39 39 39 39 39 39 39 39 39 39 39 5[39 1[39 39 39 39
39 39 1[39 39 39 39 39 1[39 39 39 39 39 39 39 39 39 39
5[39 39 39 39 2[39 39 39 39 39 39 39 39 39 39 2[39 39
39 39[{}65 74.7198 /CMTT9 rf /Fe 140[42 9[27 5[54 1[56
97[{}4 90.9091 /CMCSC10 rf /Ff 133[34 41 41 55 41 43
30 30 30 1[43 38 43 64 21 41 1[21 43 38 23 34 43 34 43
38 8[58 79 1[58 55 43 57 1[52 60 58 70 48 2[28 58 60
50 52 59 55 54 58 7[38 38 38 38 38 38 38 38 38 38 1[21
26 21 4[21 26[43 12[{}59 74.7198 /CMR9 rf /Fg 206[33
49[{}1 58.1154 /CMR7 rf /Fh 158[35 97[{}1 66.4176 /CMTT8
rf /Fi 162[28 1[28 91[{}2 99.6264 /CMB10 rf /Fj 134[62
3[62 62 62 62 1[62 62 62 1[62 2[62 62 62 62 62 62 62
1[62 39[62 6[62 3[62 62 45[{}21 119.552 /CMTT12 rf /Fk
167[62 2[62 60 46 2[57 1[62 76 52 1[43 1[62 65 54 1[63
60 67[{}14 83.022 /CMR10 rf /Fl 137[48 51 35 1[39 3[51
1[25 6[42 3[44 7[69 69 94 69 70 63 51 69 1[62 68 71 86
55 71 1[36 71 71 57 60 70 66 65 69 6[25 45 6[45 50[{}34
90.9091 /CMB10 rf /Fm 135[52 52 52 52 52 52 52 52 52
52 52 52 52 2[52 52 52 52 52 52 52 52 52 1[52 42[52 52[{}24
99.6264 /CMSLTT10 rf /Fn 133[40 48 48 66 48 51 35 36
36 48 51 45 51 76 25 2[25 51 45 28 40 51 40 51 45 12[66
51 67 1[62 3[57 2[33 68 2[62 1[66 1[68 7[45 4[45 45 45
4[30 25 1[45 28[51 51 12[{}43 90.9091 /CMSL10 rf /Fo
214[35 35 40[{}2 90.9091 /CMSS10 rf /Fp 133[52 52 52
1[52 52 52 52 52 1[52 52 52 52 52 52 1[52 52 52 52 52
52 52 52 52 1[52 6[52 52 1[52 52 52 52 1[52 52 52 1[52
52 1[52 1[52 52 52 52 52 52 52 7[52 52 3[52 52 52 4[52
2[52 6[52 35[{}51 99.6264 /CMTT10 rf /Fq 133[55 65 1[89
65 68 48 48 50 1[68 61 68 102 34 65 1[34 68 61 37 56
68 55 68 60 7[93 1[127 1[94 85 68 92 1[84 92 96 116 74
96 1[46 96 96 77 81 94 89 87 93 7[61 61 61 1[61 61 61
61 61 2[34 1[34 31[68 12[{}55 109.091 /CMBX12 rf /Fr
128[48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48 48
48 48 48 48 48 48 4[48 1[48 48 1[48 23[{}99 90.9091 /CMTT10
rf /Fs 197[25 58[{}1 90.9091 /CMMI10 rf /Ft 197[33 58[{}1
119.552 /CMMI12 rf /Fu 134[85 85 117 85 90 63 64 66 1[90
81 90 134 45 85 1[45 1[81 49 74 90 72 90 78 10[122 124
112 90 120 1[110 121 126 1[97 1[83 60 126 1[101 106 124
117 115 122 7[81 81 81 81 81 81 81 81 81 81 12[134 35[{}51
143.462 /CMBX12 rf /Fv 150[35 35 88[45 1[91 13[{}4 90.9091
/CMSY10 rf /Fw 133[60 71 71 97 71 75 52 53 55 1[75 67
75 112 37 71 1[37 75 67 41 61 75 60 75 65 7[102 1[139
102 103 94 75 100 1[92 101 105 128 81 1[69 50 105 106
85 88 103 97 96 102 6[37 67 67 67 67 67 67 67 67 67 67
1[37 45 9[112 22[75 12[{}61 119.552 /CMBX12 rf /Fx 131[91
45 40 48 48 66 48 51 35 36 36 48 51 45 51 76 25 48 28
25 51 45 28 40 51 40 51 45 25 2[25 45 25 56 68 68 93
68 68 66 51 67 71 62 71 68 83 57 71 47 33 68 71 59 62
69 66 64 68 1[43 1[71 1[25 25 45 45 45 45 45 45 45 45
45 45 45 25 30 25 1[45 35 35 25 3[76 45 25 18[76 51 51
53 11[{}87 90.9091 /CMR10 rf /Fy 145[108 4[54 4[108 1[108
12[149 6[151 1[116 4[152 71[{}8 172.154 /CMBX12 rf end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%BeginPaperSize: a4
/setpagedevice where
{ pop << /PageSize [595 842] >> setpagedevice }
{ /a4 where { pop a4 } if }
ifelse
%%EndPaperSize
end
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 150 1318 a Fy(GNU)65 b(Libidn)p
150 1385 3600 34 v 1546 1481 a Fx(In)m(ternationalized)33
b(string)d(pro)s(cessing)g(for)g(the)h(GNU)g(system)2577
1589 y(for)f(v)m(ersion)h(1.15,)h(28)g(Ma)m(y)f(2009)150
5091 y Fw(Simon)45 b(Josefsson)p 150 5141 3600 17 v eop
end
%%Page: 2 2
TeXDict begin 2 1 bop 150 4633 a Fx(This)30 b(man)m(ual)g(is)h(last)g
(up)s(dated)e(28)i(Ma)m(y)h(2009)g(for)e(v)m(ersion)h(1.15)h(of)e(GNU)h
(Libidn.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577
4767 y Fv(\015)f Fx(2002,)j(2003,)f(2004,)g(2005,)h(2006,)f(2007,)g
(2008,)h(2009)f(Simon)e(Josefsson.)390 4902 y(P)m(ermission)21
b(is)f(gran)m(ted)h(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s
(dify)e(this)i(do)s(cumen)m(t)f(under)f(the)390 5011
y(terms)25 b(of)h(the)f(GNU)h(F)-8 b(ree)27 b(Do)s(cumen)m(tation)g
(License,)g(V)-8 b(ersion)26 b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)
390 5121 y(published)43 b(b)m(y)h(the)h(F)-8 b(ree)46
b(Soft)m(w)m(are)g(F)-8 b(oundation;)53 b(with)44 b(no)g(In)m(v)-5
b(arian)m(t)46 b(Sections,)j(no)390 5230 y(F)-8 b(ron)m(t-Co)m(v)m(er)
31 b(T)-8 b(exts,)30 b(and)f(no)f(Bac)m(k-Co)m(v)m(er)k(T)-8
b(exts.)41 b(A)29 b(cop)m(y)h(of)f(the)g(license)h(is)f(included)390
5340 y(in)h(the)h(section)g(en)m(titled)h(\\GNU)f(F)-8
b(ree)32 b(Do)s(cumen)m(tation)g(License".)p eop end
%%Page: -1 3
TeXDict begin -1 2 bop 3725 -116 a Fx(i)150 299 y Fu(T)-13
b(able)53 b(of)h(Con)l(ten)l(ts)150 641 y Fw(1)135 b(In)l(tro)t
(duction)13 b Ft(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)h(:)57 b Fw(1)275 778 y Fx(1.1)92
b(Getting)32 b(Started)21 b Fs(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)51 b Fx(1)275 888 y(1.2)92 b(F)-8 b(eatures)26
b Fs(:)16 b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)56 b Fx(2)275 997 y(1.3)92 b(Library)29
b(Ov)m(erview)d Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)56
b Fx(2)275 1107 y(1.4)92 b(Supp)s(orted)28 b(Platforms)20
b Fs(:)c(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)51 b Fx(3)275 1216
y(1.5)92 b(Getting)32 b(help)23 b Fs(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)54 b Fx(5)275 1326 y(1.6)92
b(Commercial)31 b(Supp)s(ort)23 b Fs(:)13 b(:)i(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)53
b Fx(5)275 1435 y(1.7)92 b(Do)m(wnloading)31 b(and)f(Installing)9
b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)39 b Fx(6)399 1545 y(1.7.1)93 b(Installing)31
b(under)e(Windo)m(ws)f Fs(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)58 b Fx(6)275 1655 y(1.8)92 b(Bug)30
b(Rep)s(orts)22 b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)53 b Fx(7)275 1764 y(1.9)92 b(Con)m(tributing)18
b Fs(:)c(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)48
b Fx(7)150 2007 y Fw(2)135 b(Preparation)34 b Ft(:)19
b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
h(:)77 b Fw(9)275 2144 y Fx(2.1)92 b(Header)13 b Fs(:)i(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)43
b Fx(9)275 2253 y(2.2)92 b(Initialization)18 b Fs(:)f(:)f(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)47 b Fx(10)275
2363 y(2.3)92 b(V)-8 b(ersion)31 b(Chec)m(k)8 b Fs(:)16
b(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
b Fx(10)275 2472 y(2.4)92 b(Building)30 b(the)h(source)c
Fs(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)56 b Fx(11)275 2582
y(2.5)92 b(Auto)s(conf)30 b(tests)22 b Fs(:)17 b(:)e(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)52 b Fx(11)275 2692 y(2.6)92
b(Memory)30 b(handling)g(under)f(Windo)m(ws)18 b Fs(:)e(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)h(:)f(:)48 b Fx(12)275 2801 y(2.7)92
b(Header)30 b(\014le)h Fr(idn-free.h)24 b Fs(:)15 b(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56
b Fx(12)275 2911 y(2.8)92 b(Memory)30 b(de-allo)s(cation)j(function)24
b Fs(:)15 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)54
b Fx(12)150 3153 y Fw(3)135 b(Utilit)l(y)47 b(F)-11 b(unctions)32
b Ft(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)78
b Fw(14)275 3290 y Fx(3.1)92 b(Header)30 b(\014le)h Fr(stringprep.h)19
b Fs(:)12 b(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)49 b Fx(14)275 3400 y(3.2)92 b(Unico)s(de)30
b(Enco)s(ding)g(T)-8 b(ransformation)12 b Fs(:)j(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)41 b Fx(14)275 3509 y(3.3)92 b(Unico)s(de)30
b(Normalization)15 b Fs(:)j(:)d(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)45 b Fx(15)275
3619 y(3.4)92 b(Character)30 b(Set)h(Con)m(v)m(ersion)25
b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)54 b Fx(16)150 3861 y Fw(4)135 b(Stringprep)45
b(F)-11 b(unctions)18 b Ft(:)g(:)i(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)63
b Fw(17)275 3998 y Fx(4.1)92 b(Header)30 b(\014le)h Fr(stringprep.h)19
b Fs(:)12 b(:)k(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)49 b Fx(17)275 4108 y(4.2)92 b(De\014ning)30
b(A)g(Stringprep)f(Pro\014le)10 b Fs(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)39 b Fx(17)275 4218 y(4.3)92
b(Con)m(trol)31 b(Flags)20 b Fs(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)50 b Fx(17)275 4327 y(4.4)92 b(Core)30
b(F)-8 b(unctions)10 b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)40 b Fx(17)275 4437 y(4.5)92 b(Error)29 b(Handling)9
b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39
b Fx(19)275 4546 y(4.6)92 b(Stringprep)29 b(Pro\014le)h(Macros)21
b Fs(:)c(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)51 b Fx(20)150 4789 y Fw(5)135 b(Pun)l(yco)t(de)44
b(F)-11 b(unctions)18 b Ft(:)g(:)i(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)63
b Fw(22)275 4926 y Fx(5.1)92 b(Header)30 b(\014le)h Fr(punycode.h)24
b Fs(:)15 b(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)56 b Fx(22)275 5035 y(5.2)92 b(Unico)s(de)30
b(Co)s(de)g(P)m(oin)m(t)i(Data)g(T)m(yp)s(e)23 b Fs(:)16
b(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)54
b Fx(22)275 5145 y(5.3)92 b(Core)30 b(F)-8 b(unctions)10
b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40
b Fx(22)275 5254 y(5.4)92 b(Error)29 b(Handling)9 b Fs(:)16
b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b
Fx(24)p eop end
%%Page: -2 4
TeXDict begin -2 3 bop 3699 -116 a Fx(ii)150 83 y Fw(6)135
b(IDNA)44 b(F)-11 b(unctions)21 b Ft(:)e(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)65 b Fw(25)275 220 y Fx(6.1)92 b(Header)30
b(\014le)h Fr(idna.h)21 b Fs(:)14 b(:)h(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)50
b Fx(25)275 330 y(6.2)92 b(Con)m(trol)31 b(Flags)20 b
Fs(:)d(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)50
b Fx(25)275 439 y(6.3)92 b(Pre\014x)29 b(String)17 b
Fs(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)46
b Fx(25)275 549 y(6.4)92 b(Core)30 b(F)-8 b(unctions)10
b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40
b Fx(25)275 658 y(6.5)92 b(Simpli\014ed)29 b(T)-8 b(oASCI)s(I)29
b(In)m(terface)16 b Fs(:)h(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)46 b Fx(27)275 768 y(6.6)92 b(Simpli\014ed)29
b(T)-8 b(oUnico)s(de)31 b(In)m(terface)21 b Fs(:)c(:)e(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)51 b Fx(28)275 878 y(6.7)92
b(Error)29 b(Handling)9 b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)39 b Fx(29)150 1120 y Fw(7)135 b(TLD)44 b(F)-11
b(unctions)35 b Ft(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
f(:)h(:)80 b Fw(31)275 1257 y Fx(7.1)92 b(Header)30 b(\014le)h
Fr(tld.h)23 b Fs(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)54
b Fx(31)275 1367 y(7.2)92 b(Core)30 b(F)-8 b(unctions)10
b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40
b Fx(31)275 1476 y(7.3)92 b(Utilit)m(y)32 b(F)-8 b(unctions)14
b Fs(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Fx(32)275
1586 y(7.4)92 b(High-Lev)m(el)32 b(W)-8 b(rapp)s(er)30
b(F)-8 b(unctions)25 b Fs(:)15 b(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)54 b Fx(33)275 1695 y(7.5)92 b(Error)29
b(Handling)9 b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
39 b Fx(35)150 1938 y Fw(8)135 b(PR29)45 b(F)-11 b(unctions)11
b Ft(:)19 b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)56
b Fw(36)275 2075 y Fx(8.1)92 b(Header)30 b(\014le)h Fr(pr29.h)21
b Fs(:)14 b(:)h(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)50 b Fx(36)275
2184 y(8.2)92 b(Core)30 b(F)-8 b(unctions)10 b Fs(:)16
b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)40 b
Fx(36)275 2294 y(8.3)92 b(Utilit)m(y)32 b(F)-8 b(unctions)14
b Fs(:)i(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)44 b Fx(37)275
2403 y(8.4)92 b(Error)29 b(Handling)9 b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)39 b Fx(37)150 2646 y Fw(9)135
b(Examples)15 b Ft(:)21 b(:)e(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)60 b Fw(38)275 2783
y Fx(9.1)92 b(Example)30 b(1)20 b Fs(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49 b Fx(38)275 2892 y(9.2)92
b(Example)30 b(2)20 b Fs(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)49 b Fx(40)275 3002 y(9.3)92 b(Example)30
b(3)20 b Fs(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)49 b Fx(45)275 3112 y(9.4)92 b(Example)30 b(4)20
b Fs(:)c(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
49 b Fx(46)275 3221 y(9.5)92 b(Example)30 b(5)20 b Fs(:)c(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)49
b Fx(48)150 3464 y Fw(10)135 b(In)l(v)l(oking)46 b(idn)26
b Ft(:)19 b(:)g(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
70 b Fw(52)275 3601 y Fx(10.1)92 b(Name)13 b Fs(:)j(:)f(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)42
b Fx(52)275 3710 y(10.2)92 b(Description)22 b Fs(:)16
b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)51
b Fx(52)275 3820 y(10.3)92 b(Options)11 b Fs(:)k(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)41 b
Fx(52)275 3929 y(10.4)92 b(En)m(vironmen)m(t)31 b(V)-8
b(ariables)17 b Fs(:)f(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)46 b Fx(53)275 4039 y(10.5)92
b(Examples)17 b Fs(:)e(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)46 b Fx(53)275 4149 y(10.6)92 b(T)-8 b(roublesho)s
(oting)8 b Fs(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)38
b Fx(54)150 4391 y Fw(11)135 b(Emacs)45 b(API)35 b Ft(:)19
b(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)79
b Fw(56)275 4528 y Fx(11.1)92 b(Pun)m(yco)s(de)30 b(Emacs)h(API)16
b Fs(:)e(:)i(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)45 b Fx(56)275 4638 y(11.2)92
b(IDNA)31 b(Emacs)g(API)9 b Fs(:)15 b(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)39
b Fx(56)p eop end
%%Page: -3 5
TeXDict begin -3 4 bop 3674 -116 a Fx(iii)150 83 y Fw(12)135
b(Ja)l(v)-7 b(a)46 b(API)15 b Ft(:)k(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)60 b Fw(58)275
220 y Fx(12.1)92 b(Ov)m(erview)23 b Fs(:)16 b(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)52 b Fx(58)275
330 y(12.2)92 b(Miscellaneous)32 b(Programs)14 b Fs(:)h(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)43
b Fx(58)399 439 y(12.2.1)93 b(GenerateRF)m(C3454)8 b
Fs(:)19 b(:)d(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)38 b Fx(58)399 549 y(12.2.2)93 b(GenerateNFK)m(C)23
b Fs(:)17 b(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)g(:)h(:)52 b Fx(58)399 658 y(12.2.3)93
b(T)-8 b(estIDNA)29 b Fs(:)16 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)57
b Fx(59)399 768 y(12.2.4)93 b(T)-8 b(estNFK)m(C)16 b
Fs(:)h(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)46 b Fx(59)275
878 y(12.3)92 b(P)m(ossible)31 b(Problems)11 b Fs(:)k(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)g(:)h(:)40 b Fx(59)275 987 y(12.4)92 b(A)31 b(Note)g(on)g(Ja)m
(v)-5 b(a)31 b(and)f(Unico)s(de)16 b Fs(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h
(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)45 b Fx(59)150 1230 y Fw(13)135
b(C#)45 b(API)14 b Ft(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)
f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h
(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)59 b Fw(61)150
1499 y(14)135 b(Ac)l(kno)l(wledgemen)l(ts)20 b Ft(:)h(:)f(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)65 b Fw(62)150 1769 y(15)135 b(History)16
b Ft(:)21 b(:)e(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h
(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
h(:)f(:)g(:)h(:)f(:)h(:)61 b Fw(63)150 2039 y(App)t(endix)44
b(A)160 b(PR29)45 b(discussion)30 b Ft(:)19 b(:)h(:)f(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)74 b Fw(64)150
2309 y(App)t(endix)44 b(B)166 b(On)44 b(Lab)t(el)i(Separators)33
b Ft(:)20 b(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)77
b Fw(67)275 2446 y Fx(B.1)92 b(Recommended)30 b(W)-8
b(ork)j(around)17 b Fs(:)f(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)
g(:)h(:)f(:)h(:)f(:)47 b Fx(67)150 2688 y Fw(App)t(endix)d(C)165
b(Cop)l(ying)45 b(Information)25 b Ft(:)c(:)f(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)h(:)f(:)70 b Fw(68)275 2825 y Fx(C.1)91 b(GNU)31
b(F)-8 b(ree)31 b(Do)s(cumen)m(tation)h(License)23 b
Fs(:)16 b(:)g(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)52 b Fx(68)275
2935 y(C.2)91 b(GNU)31 b(Lesser)f(General)h(Public)f(License)13
b Fs(:)j(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)
h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)43 b Fx(75)275
3044 y(C.3)91 b(GNU)31 b(General)g(Public)f(License)9
b Fs(:)16 b(:)g(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)
39 b Fx(83)150 3287 y Fw(F)-11 b(unction)44 b(and)h(V)-11
b(ariable)45 b(Index)29 b Ft(:)19 b(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f
(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)73 b Fw(95)150
3557 y(Concept)45 b(Index)18 b Ft(:)i(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f
(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)
f(:)h(:)f(:)g(:)h(:)f(:)h(:)f(:)h(:)f(:)63 b Fw(96)p
eop end
%%Page: 1 6
TeXDict begin 1 5 bop 150 -116 a Fx(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(1)150 299 y Fu(1)80 b(In)l(tro)t(duction)
150 553 y Fx(GNU)29 b(Libidn)d(is)i(a)g(fully)g(do)s(cumen)m(ted)g
(implemen)m(tation)h(of)f(the)g(Stringprep,)g(Pun)m(yco)s(de)f(and)g
(IDNA)150 663 y(sp)s(eci\014cations.)53 b(Libidn's)33
b(purp)s(ose)g(is)h(to)h(enco)s(de)g(and)f(deco)s(de)g(in)m
(ternationalized)j(domain)d(names.)150 772 y(The)h(nativ)m(e)h(C,)f(C#)
g(and)f(Ja)m(v)-5 b(a)36 b(libraries)f(are)h(a)m(v)-5
b(ailable)37 b(under)d(the)h(GNU)h(Lesser)f(General)h(Public)150
882 y(License)31 b(v)m(ersion)g(2.1)g(or)g(later)g(\(see)g(Section)g
(C.2)g([GNU)g(LGPL],)g(page)g(75\).)275 1023 y(The)23
b(library)g(con)m(tains)j(a)e(generic)h(Stringprep)d(implemen)m
(tation.)40 b(Pro\014les)24 b(for)g(Nameprep,)h(iSCSI,)150
1132 y(SASL,)31 b(XMPP)g(and)g(Kerb)s(eros)g(V5)h(are)f(included.)44
b(Pun)m(yco)s(de)31 b(and)g(ASCI)s(I)f(Compatible)i(Enco)s(ding)150
1242 y(\(A)m(CE\))e(via)g(IDNA)g(are)g(supp)s(orted.)39
b(A)29 b(mec)m(hanism)h(to)g(de\014ne)f(T)-8 b(op-Lev)m(el)31
b(Domain)f(\(TLD\))g(sp)s(eci\014c)150 1352 y(v)-5 b(alidation)36
b(tables,)g(and)d(to)i(compare)g(strings)f(against)i(those)f(tables,)h
(is)e(included.)52 b(Default)35 b(tables)150 1461 y(for)30
b(some)h(TLDs)f(are)h(also)g(included.)275 1602 y(The)37
b(Stringprep)f(API)h(consists)h(of)g(t)m(w)m(o)h(main)e(functions,)i
(one)f(for)f(con)m(v)m(erting)i(data)g(from)e(the)150
1712 y(system's)42 b(nativ)m(e)i(represen)m(tation)f(in)m(to)g(UTF-8,)j
(and)41 b(one)h(function)g(to)h(p)s(erform)d(the)i(Stringprep)150
1822 y(pro)s(cessing.)d(Adding)25 b(a)g(new)g(Stringprep)f(pro\014le)h
(for)g(y)m(our)h(application)g(within)f(the)h(API)f(is)g(straigh)m(t-)
150 1931 y(forw)m(ard.)43 b(The)31 b(Pun)m(yco)s(de)g(API)g(consists)h
(of)g(one)g(enco)s(ding)f(function)g(and)g(one)h(deco)s(ding)f
(function.)150 2041 y(The)f(IDNA)i(API)e(consists)i(of)e(the)h(T)-8
b(oASCI)s(I)30 b(and)g(T)-8 b(oUnico)s(de)32 b(functions,)f(as)g(w)m
(ell)g(as)h(an)e(high-lev)m(el)150 2150 y(in)m(terface)d(for)e(con)m(v)
m(erting)i(en)m(tire)f(domain)f(names)g(to)g(and)g(from)g(the)g(A)m(CE)
g(enco)s(ded)g(form.)38 b(The)25 b(TLD)150 2260 y(API)36
b(consists)g(of)g(one)g(set)g(of)g(functions)f(to)i(extract)g(the)f
(TLD)g(name)f(from)h(a)g(domain)f(string,)j(one)150 2369
y(set)c(of)g(functions)f(to)i(lo)s(cate)g(the)f(prop)s(er)e(TLD)i
(table)g(to)h(use)e(based)g(on)h(the)g(TLD)f(name,)i(and)e(core)150
2479 y(functions)h(to)i(v)-5 b(alidate)36 b(a)f(string)g(against)h(a)g
(TLD)e(table,)j(and)e(some)g(utilit)m(y)h(wrapp)s(ers)d(to)i(p)s
(erform)150 2589 y(all)c(the)g(steps)f(in)g(one)h(call.)275
2730 y(The)24 b(library)g(is)h(used)f(b)m(y)-8 b(,)27
b(e.g.,)g(GNU)f(SASL)e(and)g(Shishi)f(to)j(pro)s(cess)e(user)h(names)f
(and)h(passw)m(ords.)150 2839 y(Libidn)32 b(can)h(b)s(e)g(built)g(in)m
(to)h(GNU)f(Lib)s(c)g(to)h(enable)f(a)h(new)f(system-wide)g
(getaddrinfo)g(\015ag)h(for)f(IDN)150 2949 y(pro)s(cessing.)275
3090 y(Libidn)38 b(is)i(dev)m(elop)s(ed)h(for)f(the)g(GNU/Lin)m(ux)g
(system,)j(but)d(runs)e(on)i(o)m(v)m(er)h(20)g(Unix)f(platforms)150
3200 y(\(including)33 b(Solaris,)i(IRIX,)e(AIX,)g(and)g(T)-8
b(ru64\))33 b(and)g(Windo)m(ws.)49 b(The)33 b(library)f(is)i(written)f
(in)g(C)g(and)150 3309 y(\(parts)k(of)7 b(\))39 b(the)e(API)g(is)h
(also)g(accessible)h(from)e(C)p Fr(++)p Fx(,)i(Emacs)f(Lisp,)g(Python)f
(and)g(Ja)m(v)-5 b(a.)63 b(A)38 b(nativ)m(e)150 3419
y(Ja)m(v)-5 b(a)31 b(and)f(C#)g(p)s(ort)g(is)g(included.)275
3560 y(Also)37 b(included)f(is)h(a)g(command)f(line)h(to)s(ol,)j(sev)m
(eral)e(self)f(tests,)i(co)s(de)e(examples,)i(and)d(more,)j(all)150
3670 y(licensed)30 b(under)e(the)h(GNU)h(General)h(Public)e(License)h
(v)m(ersion)g(3.0)g(or)f(later)i(\(see)f(Section)g(C.3)g([GNU)150
3779 y(GPL],)h(page)g(83\).)150 4022 y Fw(1.1)68 b(Getting)46
b(Started)150 4181 y Fx(This)34 b(man)m(ual)i(do)s(cumen)m(ts)f(the)h
(library)e(programming)h(in)m(terface.)57 b(All)36 b(functions)f(and)g
(data)h(t)m(yp)s(es)150 4291 y(pro)m(vided)c(b)m(y)g(the)g(library)g
(are)g(explained.)46 b(Included)31 b(are)h(also)h(examples,)h(and)d(do)
s(cumen)m(tation)i(for)150 4400 y(the)e(command)g(line)g(to)s(ol)h(`)p
Fr(idn)p Fx(')e(that)h(pro)m(vide)g(a)h(quic)m(k)f(in)m(terface)h(to)g
(the)f(library)-8 b(.)42 b(The)30 b(Emacs)i(Lisp)150
4510 y(bindings)d(for)h(the)h(library)f(is)g(also)i(discussed.)275
4651 y(The)23 b(reader)h(is)h(assumed)e(to)i(p)s(ossess)e(basic)i
(familiarit)m(y)h(with)e(in)m(ternationalization)k(concepts)d(and)150
4760 y(net)m(w)m(ork)31 b(programming)f(in)g(C)g(or)h(C)p
Fr(++)p Fx(.)275 4902 y(This)c(man)m(ual)h(can)g(b)s(e)f(used)g(in)h
(sev)m(eral)h(w)m(a)m(ys.)41 b(If)27 b(read)h(from)f(the)h(b)s
(eginning)g(to)g(the)g(end,)g(it)h(giv)m(es)150 5011
y(a)38 b(go)s(o)s(d)g(in)m(tro)s(duction)f(in)m(to)i(the)f(library)f
(and)g(ho)m(w)h(it)g(can)g(b)s(e)f(used)g(in)h(an)f(application.)64
b(F)-8 b(orw)m(ard)150 5121 y(references)35 b(are)f(included)g(where)g
(necessary)-8 b(.)53 b(Later)35 b(on,)g(the)g(man)m(ual)f(can)h(b)s(e)f
(used)f(as)i(a)f(reference)150 5230 y(man)m(ual)40 b(to)g(get)h(just)e
(the)h(information)g(needed)f(ab)s(out)h(an)m(y)g(particular)g(in)m
(terface)h(of)f(the)g(library)-8 b(.)150 5340 y(Exp)s(erienced)35
b(programmers)g(migh)m(t)h(w)m(an)m(t)h(to)f(start)g(lo)s(oking)h(at)f
(the)g(examples)g(at)g(the)g(end)f(of)h(the)p eop end
%%Page: 2 7
TeXDict begin 2 6 bop 150 -116 a Fx(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(2)150 299 y(man)m(ual)41
b(\(see)i(Chapter)d(9)i([Examples],)i(page)e(38\),)j(and)c(then)g(only)
g(read)g(up)f(those)i(parts)e(of)i(the)150 408 y(in)m(terface)32
b(whic)m(h)e(are)h(unclear.)150 816 y Fw(1.2)68 b(F)-11
b(eatures)150 975 y Fx(This)30 b(library)g(migh)m(t)h(ha)m(v)m(e)g(a)g
(couple)g(of)f(adv)-5 b(an)m(tages)33 b(o)m(v)m(er)e(other)g(libraries)
f(doing)h(a)g(similar)f(job.)150 1310 y(It's)h(F)-8 b(ree)31
b(Soft)m(w)m(are)630 1420 y(An)m(yb)s(o)s(dy)42 b(can)h(use,)j(mo)s
(dify)-8 b(,)47 b(and)42 b(redistribute)h(it)h(under)d(the)j(terms)f
(of)g(the)g(GNU)630 1529 y(Lesser)21 b(General)i(Public)e(License)h(v)m
(ersion)g(2.1)h(or)f(later)g(\(see)h(Section)f(C.2)g([GNU)h(LGPL],)630
1639 y(page)31 b(75\).)150 1915 y(It's)g(thread-safe)630
2025 y(No)g(global)h(state)f(is)g(k)m(ept)g(in)f(the)g(library)-8
b(.)41 b(All)31 b(functions)f(are)h(reen)m(tran)m(t.)150
2301 y(It's)g(p)s(ortable)630 2410 y(The)k(co)s(de)g(is)g(in)m(tended)h
(to)g(b)s(e)e(written)h(in)g(pure)g(ANSI)f(C89.)56 b(It)36
b(has)e(b)s(een)h(tested)h(on)630 2520 y(man)m(y)30 b(Unix)h(lik)m(e)g
(op)s(erating)g(systems,)g(and)f(Windo)m(ws.)150 2796
y(It's)h(mo)s(dularized)630 2906 y(The)i(library)g(is)g(comp)s(osed)g
(of)h(sev)m(eral)h(mo)s(dules,)e(and)g(the)g(only)h(in)m(teraction)h(b)
s(et)m(w)m(een)630 3015 y(mo)s(dules)j(is)h(through)f(eac)m(h)i(mo)s
(dules')e(public)g(API.)h(If)f(y)m(ou)i(only)e(need)h(one)g(piece)h(of)
630 3125 y(functionalit)m(y)-8 b(,)31 b(it)d(is)g(p)s(ossible)f(to)i
(tak)m(e)h(the)e(\014les)g(y)m(ou)g(need)f(and)h(incorp)s(orate)g(them)
g(in)m(to)630 3234 y(y)m(our)i(o)m(wn)h(pro)5 b(ject.)150
3511 y(It's)31 b(not)f(bloated)630 3620 y(The)g(design)g(of)g(the)h
(library)f(is)g(based)g(on)g(the)g(smallest)i(API)e(necessary)g(to)h
(implemen)m(t)630 3730 y(the)h(basic)g(functionalit)m(y)-8
b(.)47 b(It)32 b(has)f(b)s(een)g(carefully)i(extended)e(with)h(a)g
(small)g(n)m(um)m(b)s(er)f(of)630 3839 y(high-lev)m(el)f(wrapp)s(ers)c
(to)j(mak)m(e)g(it)g(comfortable)g(to)g(use)f(the)h(library)-8
b(.)40 b(Ho)m(w)m(ev)m(er,)31 b(it)d(do)s(es)630 3949
y(not)j(implemen)m(t)g(additional)g(functionalit)m(y)h(just)e(for)g
(the)g(sak)m(e)i(of)e(completeness.)150 4225 y(It's)h(do)s(cumen)m(ted)
630 4335 y(Sadly)-8 b(,)31 b(not)f(all)i(soft)m(w)m(are)f(comes)h(with)
e(do)s(cumen)m(tation)h(these)g(da)m(ys.)41 b(This)29
b(one)i(do)s(es.)150 4742 y Fw(1.3)68 b(Library)45 b(Ov)l(erview)150
4902 y Fx(The)23 b(follo)m(wing)i(illustration)g(sho)m(w)f(the)g(comp)s
(onen)m(ts)g(that)g(mak)m(e)h(up)d(Libidn,)i(and)f(ho)m(w)h(y)m(our)g
(applica-)150 5011 y(tion)29 b(relates)h(to)g(the)e(library)-8
b(.)41 b(In)27 b(the)i(illustration,)i(v)-5 b(arious)28
b(comp)s(onen)m(ts)h(are)g(sho)m(wn)f(as)h(b)s(o)m(xes.)40
b(Y)-8 b(ou)150 5121 y(see)28 b(the)f(generic)h(StringPrep)e(comp)s
(onen)m(t,)i(the)g(v)-5 b(arious)27 b(StringPrep)f(pro\014les)g
(including)h(Nameprep,)150 5230 y(the)39 b(Pun)m(yco)s(de)g(comp)s
(onen)m(t,)i(the)f(IDNA)f(comp)s(onen)m(t,)j(and)c(the)i(TLD)e(comp)s
(onen)m(t.)67 b(The)39 b(arro)m(ws)150 5340 y(indicate)k(aggregation,)
48 b(e.g.,)f(IDNA)c(uses)e(Pun)m(yco)s(de)h(and)g(Nameprep,)j(and)c(in)
h(turn)f(Nameprep)p eop end
%%Page: 3 8
TeXDict begin 3 7 bop 150 -116 a Fx(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(3)150 299 y(uses)38 b(the)h(generic)g
(StringPrep)e(in)m(terface.)67 b(The)38 b(in)m(terfaces)i(to)f(all)g
(comp)s(onen)m(ts)g(are)f(a)m(v)-5 b(ailable)41 b(for)150
408 y(applications,)32 b(no)e(comp)s(onen)m(t)h(within)f(the)g(library)
g(is)g(hidden)f(from)h(the)h(application.)150 3487 y
@beginspecial 0 @llx 0 @lly 382 @urx 350 @ury 3820 @rwi
@setspecial
%%BeginDocument: libidn-components.eps
%!PS-Adobe-2.0 EPSF-2.0
%%Title: components.fig
%%Creator: fig2dev Version 3.2 Patchlevel 5a
%%CreationDate: Mon Jun 8 12:40:03 2009
%%BoundingBox: 0 0 382 350
%Magnification: 1.0000
%%EndComments
%%BeginProlog
/$F2psDict 200 dict def
$F2psDict begin
$F2psDict /mtrx matrix put
/col-1 {0 setgray} bind def
/col0 {0.000 0.000 0.000 srgb} bind def
/col1 {0.000 0.000 1.000 srgb} bind def
/col2 {0.000 1.000 0.000 srgb} bind def
/col3 {0.000 1.000 1.000 srgb} bind def
/col4 {1.000 0.000 0.000 srgb} bind def
/col5 {1.000 0.000 1.000 srgb} bind def
/col6 {1.000 1.000 0.000 srgb} bind def
/col7 {1.000 1.000 1.000 srgb} bind def
/col8 {0.000 0.000 0.560 srgb} bind def
/col9 {0.000 0.000 0.690 srgb} bind def
/col10 {0.000 0.000 0.820 srgb} bind def
/col11 {0.530 0.810 1.000 srgb} bind def
/col12 {0.000 0.560 0.000 srgb} bind def
/col13 {0.000 0.690 0.000 srgb} bind def
/col14 {0.000 0.820 0.000 srgb} bind def
/col15 {0.000 0.560 0.560 srgb} bind def
/col16 {0.000 0.690 0.690 srgb} bind def
/col17 {0.000 0.820 0.820 srgb} bind def
/col18 {0.560 0.000 0.000 srgb} bind def
/col19 {0.690 0.000 0.000 srgb} bind def
/col20 {0.820 0.000 0.000 srgb} bind def
/col21 {0.560 0.000 0.560 srgb} bind def
/col22 {0.690 0.000 0.690 srgb} bind def
/col23 {0.820 0.000 0.820 srgb} bind def
/col24 {0.500 0.190 0.000 srgb} bind def
/col25 {0.630 0.250 0.000 srgb} bind def
/col26 {0.750 0.380 0.000 srgb} bind def
/col27 {1.000 0.500 0.500 srgb} bind def
/col28 {1.000 0.630 0.630 srgb} bind def
/col29 {1.000 0.750 0.750 srgb} bind def
/col30 {1.000 0.880 0.880 srgb} bind def
/col31 {1.000 0.840 0.000 srgb} bind def
end
/cp {closepath} bind def
/ef {eofill} bind def
/gr {grestore} bind def
/gs {gsave} bind def
/sa {save} bind def
/rs {restore} bind def
/l {lineto} bind def
/m {moveto} bind def
/rm {rmoveto} bind def
/n {newpath} bind def
/s {stroke} bind def
/sh {show} bind def
/slc {setlinecap} bind def
/slj {setlinejoin} bind def
/slw {setlinewidth} bind def
/srgb {setrgbcolor} bind def
/rot {rotate} bind def
/sc {scale} bind def
/sd {setdash} bind def
/ff {findfont} bind def
/sf {setfont} bind def
/scf {scalefont} bind def
/sw {stringwidth} bind def
/tr {translate} bind def
/tnt {dup dup currentrgbcolor
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add
4 -2 roll dup 1 exch sub 3 -1 roll mul add srgb}
bind def
/shd {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul
4 -2 roll mul srgb} bind def
/$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def
/$F2psEnd {$F2psEnteredState restore end} def
/pageheader {
save
newpath 0 350 moveto 0 0 lineto 382 0 lineto 382 350 lineto closepath clip newpath
-47.4 405.1 translate
1 -1 scale
$F2psBegin
10 setmiterlimit
0 slj 0 slc
0.06299 0.06299 sc
} bind def
/pagefooter {
$F2psEnd
restore
} bind def
%%EndProlog
pageheader
%
% Fig objects follow
%
%
% here starts figure with depth 50
% Polyline
0 slj
0 slc
7.500 slw
n 3355 1845 m 3295 1845 3295 2235 60 arcto 4 {pop} repeat
3295 2295 4609 2295 60 arcto 4 {pop} repeat
4669 2295 4669 1905 60 arcto 4 {pop} repeat
4669 1845 3355 1845 60 arcto 4 {pop} repeat
cp gs col0 s gr
% Polyline
n 2663 1845 m 2618 1845 2618 2250 45 arcto 4 {pop} repeat
2618 2295 3141 2295 45 arcto 4 {pop} repeat
3186 2295 3186 1890 45 arcto 4 {pop} repeat
3186 1845 2663 1845 45 arcto 4 {pop} repeat
cp gs col0 s gr
% Polyline
n 1988 1845 m 1943 1845 1943 2250 45 arcto 4 {pop} repeat
1943 2295 2467 2295 45 arcto 4 {pop} repeat
2512 2295 2512 1890 45 arcto 4 {pop} repeat
2512 1845 1988 1845 45 arcto 4 {pop} repeat
cp gs col0 s gr
% Polyline
n 1313 1845 m 1268 1845 1268 2250 45 arcto 4 {pop} repeat
1268 2295 1792 2295 45 arcto 4 {pop} repeat
1837 2295 1837 1890 45 arcto 4 {pop} repeat
1837 1845 1313 1845 45 arcto 4 {pop} repeat
cp gs col0 s gr
% Polyline
n 870 4560 m 810 4560 810 5099 60 arcto 4 {pop} repeat
810 5159 6735 5159 60 arcto 4 {pop} repeat
6795 5159 6795 4620 60 arcto 4 {pop} repeat
6795 4560 870 4560 60 arcto 4 {pop} repeat
cp gs col0 s gr
% Polyline
n 4065 2837 m 4005 2837 4005 3448 60 arcto 4 {pop} repeat
4005 3508 5790 3508 60 arcto 4 {pop} repeat
5850 3508 5850 2897 60 arcto 4 {pop} repeat
5850 2837 4065 2837 60 arcto 4 {pop} repeat
cp gs col0 s gr
% Polyline
n 4110 900 m 4050 900 4050 1338 60 arcto 4 {pop} repeat
4050 1398 5520 1398 60 arcto 4 {pop} repeat
5580 1398 5580 960 60 arcto 4 {pop} repeat
5580 900 4110 900 60 arcto 4 {pop} repeat
cp gs col0 s gr
% Polyline
gs clippath
2864 1768 m 2864 1863 l 2895 1863 l 2895 1768 l 2895 1768 l 2880 1832 l 2864 1768 l cp
eoclip
n 2880 1398 m
2880 1848 l gs col0 s gr gr
% arrowhead
n 2864 1768 m 2880 1832 l 2895 1768 l 2864 1768 l cp gs 0.00 setgray ef gr col0 s
% Polyline
gs clippath
3674 1768 m 3674 1863 l 3705 1863 l 3705 1768 l 3705 1768 l 3690 1832 l 3674 1768 l cp
eoclip
n 3690 1395 m
3690 1848 l gs col0 s gr gr
% arrowhead
n 3674 1768 m 3690 1832 l 3705 1768 l 3674 1768 l cp gs 0.00 setgray ef gr col0 s
% Polyline
gs clippath
2864 4493 m 2864 4588 l 2895 4588 l 2895 4493 l 2895 4493 l 2880 4557 l 2864 4493 l cp
eoclip
n 2880 2298 m
2880 4573 l gs col0 s gr gr
% arrowhead
n 2864 4493 m 2880 4557 l 2895 4493 l 2864 4493 l cp gs 0.00 setgray ef gr col0 s
% Polyline
gs clippath
2144 4493 m 2144 4588 l 2175 4588 l 2175 4493 l 2175 4493 l 2160 4557 l 2144 4493 l cp
eoclip
n 2160 2298 m
2160 4573 l gs col0 s gr gr
% arrowhead
n 2144 4493 m 2160 4557 l 2175 4493 l 2144 4493 l cp gs 0.00 setgray ef gr col0 s
% Polyline
gs clippath
1514 4493 m 1514 4588 l 1545 4588 l 1545 4493 l 1545 4493 l 1530 4557 l 1514 4493 l cp
eoclip
n 1530 2298 m
1530 4573 l gs col0 s gr gr
% arrowhead
n 1514 4493 m 1530 4557 l 1545 4493 l 1514 4493 l cp gs 0.00 setgray ef gr col0 s
% Polyline
gs clippath
1019 4493 m 1019 4588 l 1050 4588 l 1050 4493 l 1050 4493 l 1035 4557 l 1019 4493 l cp
eoclip
n 1035 1398 m
1035 4573 l gs col0 s gr gr
% arrowhead
n 1019 4493 m 1035 4557 l 1050 4493 l 1019 4493 l cp gs 0.00 setgray ef gr col0 s
% Polyline
gs clippath
1514 1768 m 1514 1863 l 1545 1863 l 1545 1768 l 1545 1768 l 1530 1832 l 1514 1768 l cp
eoclip
n 1530 1398 m
1530 1848 l gs col0 s gr gr
% arrowhead
n 1514 1768 m 1530 1832 l 1545 1768 l 1514 1768 l cp gs 0.00 setgray ef gr col0 s
% Polyline
gs clippath
2189 1768 m 2189 1863 l 2220 1863 l 2220 1768 l 2220 1768 l 2205 1832 l 2189 1768 l cp
eoclip
n 2205 1398 m
2205 1848 l gs col0 s gr gr
% arrowhead
n 2189 1768 m 2205 1832 l 2220 1768 l 2189 1768 l cp gs 0.00 setgray ef gr col0 s
% Polyline
gs clippath
3539 4493 m 3539 4588 l 3570 4588 l 3570 4493 l 3570 4493 l 3555 4557 l 3539 4493 l cp
eoclip
n 3555 2298 m
3555 4573 l gs col0 s gr gr
% arrowhead
n 3539 4493 m 3555 4557 l 3570 4493 l 3539 4493 l cp gs 0.00 setgray ef gr col0 s
% Polyline
gs clippath
4889 4493 m 4889 4588 l 4920 4588 l 4920 4493 l 4920 4493 l 4905 4557 l 4889 4493 l cp
eoclip
n 4905 3506 m
4905 4573 l gs col0 s gr gr
% arrowhead
n 4889 4493 m 4905 4557 l 4920 4493 l 4889 4493 l cp gs 0.00 setgray ef gr col0 s
% Polyline
[15 45] 45 sd
n 870 5820 m 810 5820 810 6359 60 arcto 4 {pop} repeat
810 6419 6735 6419 60 arcto 4 {pop} repeat
6795 6419 6795 5880 60 arcto 4 {pop} repeat
6795 5820 870 5820 60 arcto 4 {pop} repeat
cp gs col0 s gr [] 0 sd
% Polyline
[15 45] 45 sd
gs clippath
3705 5669 m 3705 5820 l 3765 5820 l 3765 5669 l 3765 5669 l 3735 5789 l 3705 5669 l cp
3765 5311 m 3765 5160 l 3705 5160 l 3705 5311 l 3705 5311 l 3735 5191 l 3765 5311 l cp
eoclip
n 3735 5175 m
3735 5805 l gs col0 s gr gr
[] 0 sd
% arrowhead
n 3765 5311 m 3735 5191 l 3705 5311 l 3765 5311 l cp gs col7 1.00 shd ef gr col0 s
% arrowhead
n 3705 5669 m 3735 5789 l 3765 5669 l 3705 5669 l cp gs col7 1.00 shd ef gr col0 s
% Polyline
n 840 900 m 765 900 765 1323 75 arcto 4 {pop} repeat
765 1398 3841 1398 75 arcto 4 {pop} repeat
3916 1398 3916 975 75 arcto 4 {pop} repeat
3916 900 840 900 75 arcto 4 {pop} repeat
cp gs col0 s gr
% Polyline
gs clippath
4349 2755 m 4349 2850 l 4380 2850 l 4380 2755 l 4380 2755 l 4365 2819 l 4349 2755 l cp
eoclip
n 4365 2277 m
4365 2835 l gs col0 s gr gr
% arrowhead
n 4349 2755 m 4365 2819 l 4380 2755 l 4349 2755 l cp gs 0.00 setgray ef gr col0 s
% Polyline
gs clippath
4844 2783 m 4844 2878 l 4875 2878 l 4875 2783 l 4875 2783 l 4860 2847 l 4844 2783 l cp
eoclip
n 4860 1395 m
4860 2863 l gs col0 s gr gr
% arrowhead
n 4844 2783 m 4860 2847 l 4875 2783 l 4844 2783 l cp gs 0.00 setgray ef gr col0 s
% Polyline
n 5715 900 m 5670 900 5670 1350 45 arcto 4 {pop} repeat
5670 1395 6750 1395 45 arcto 4 {pop} repeat
6795 1395 6795 945 45 arcto 4 {pop} repeat
6795 900 5715 900 45 arcto 4 {pop} repeat
cp gs col0 s gr
% Polyline
gs clippath
6149 4493 m 6149 4588 l 6180 4588 l 6180 4493 l 6180 4493 l 6165 4557 l 6149 4493 l cp
eoclip
n 6165 1398 m
6165 4573 l gs col0 s gr gr
% arrowhead
n 6149 4493 m 6165 4557 l 6180 4493 l 6149 4493 l cp gs 0.00 setgray ef gr col0 s
/Helvetica ff 165.00 scf sf
3600 2107 m
gs 1 -1 sc (Nameprep) col0 sh gr
/Helvetica ff 165.00 scf sf
2700 2130 m
gs 1 -1 sc (iSCSI) col0 sh gr
/Helvetica ff 165.00 scf sf
2025 2130 m
gs 1 -1 sc (SASL) col0 sh gr
/Helvetica ff 165.00 scf sf
1327 2130 m
gs 1 -1 sc (XMPP) col0 sh gr
/Helvetica-Bold ff 165.00 scf sf
3150 4905 m
gs 1 -1 sc (GNU IDN Library) col0 sh gr
/Helvetica ff 150.00 scf sf
4751 3227 m
gs 1 -1 sc (IDNA) col0 sh gr
/Helvetica ff 165.00 scf sf
4455 1215 m
gs 1 -1 sc (Punycode) col0 sh gr
/Helvetica ff 165.00 scf sf
3345 6157 m
gs 1 -1 sc (Application) col0 sh gr
/Helvetica ff 165.00 scf sf
1935 1215 m
gs 1 -1 sc (StringPrep) col0 sh gr
/Helvetica ff 165.00 scf sf
6075 1170 m
gs 1 -1 sc (TLD) col0 sh gr
% here ends figure;
pagefooter
showpage
%%Trailer
%EOF
%%EndDocument
@endspecial 250 x Fw(1.4)68 b(Supp)t(orted)44 b(Platforms)150
3896 y Fx(Libidn)88 b(has)h(at)h(some)g(p)s(oin)m(t)f(in)g(time)h(b)s
(een)f(tested)h(on)f(the)h(follo)m(wing)h(platforms.)150
4006 y(Online)i(build)f(rep)s(orts)g(for)h(eac)m(h)i(platforms)e(and)g
(Libidn)f(v)m(ersion)h(is)h(a)m(v)-5 b(ailable)95 b(at)150
4115 y Fr(http://autobuild.josefss)o(on.o)o(rg/l)o(ibi)o(dn/)p
Fx(.)199 4261 y(1.)61 b(Debian)31 b(GNU/Lin)m(ux)g(3.0)g(\(W)-8
b(o)s(o)s(dy\))330 4402 y(GCC)39 b(2.95.4)j(and)c(GNU)i(Mak)m(e.)69
b(This)39 b(is)g(the)h(main)f(dev)m(elopmen)m(t)i(platform.)68
b Fr(alphaev67-)330 4511 y(unknown-linux-gnu)p Fx(,)140
b Fr(alphaev6-unknown-linux-gnu)o Fx(,)f Fr(arm-unknown-linux-gnu)p
Fx(,)330 4621 y Fr(armv4l-unknown-linux-gnu)o Fx(,)81
b Fr(hppa-unknown-linux-gnu)p Fx(,)f Fr(hppa64-unknown-linux-)330
4731 y(gnu)p Fx(,)88 b Fr(i686-pc-linux-gnu)p Fx(,)83
b Fr(ia64-unknown-linux-gnu)p Fx(,)g Fr(m68k-unknown-linux-gnu)p
Fx(,)330 4840 y Fr(mips-unknown-linux-gnu)p Fx(,)56 b
Fr(mipsel-unknown-linux-gnu)p Fx(,)g Fr(powerpc-unknown-linux-)330
4950 y(gnu)p Fx(,)64 b Fr(s390-ibm-linux-gnu)p Fx(,)c
Fr(sparc-unknown-linux-gnu)p Fx(,)f Fr(sparc64-unknown-linux-)330
5059 y(gnu)p Fx(.)199 5200 y(2.)i(Debian)31 b(GNU/Lin)m(ux)g(2.1)330
5340 y(GCC)f(2.95.1)j(and)c(GNU)i(Mak)m(e.)43 b Fr
(armv4l-unknown-linux-gn)o(u)p Fx(.)p eop end
%%Page: 4 9
TeXDict begin 4 8 bop 150 -116 a Fx(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(4)199 299 y(3.)61 b(T)-8
b(ru64)30 b(UNIX)330 438 y(T)-8 b(ru64)32 b(UNIX)h(C)f(compiler)h(and)f
(T)-8 b(ru64)33 b(Mak)m(e.)48 b Fr(alphaev67-dec-osf5.1)p
Fx(,)28 b Fr(alphaev68-dec-)330 548 y(osf5.1)p Fx(.)199
687 y(4.)61 b(SuSE)29 b(Lin)m(ux)h(7.1)330 827 y(GCC)47
b(2.96)j(and)d(GNU)i(Mak)m(e.)95 b Fr(alphaev6-unknown-linux-)o(gnu)o
Fx(,)47 b Fr(alphaev67-unknown-)330 936 y(linux-gnu)p
Fx(.)199 1076 y(5.)61 b(SuSE)29 b(Lin)m(ux)h(7.2a)330
1215 y(GCC)g(3.0)h(and)f(GNU)h(Mak)m(e.)42 b Fr(ia64-unknown-linux-gnu)
p Fx(.)199 1355 y(6.)61 b(SuSE)29 b(Lin)m(ux)330 1494
y(GCC)74 b(3.2.2)h(and)f(GNU)h(Mak)m(e.)173 b Fr
(x86_64-unknown-linux-gnu)67 b Fx(\(AMD64)76 b(Opteron)330
1604 y(\\Melo)s(dy"\).)199 1743 y(7.)61 b(SuSE)29 b(En)m(terprise)h
(Serv)m(er)g(9)h(on)f(IBM)h(Op)s(enP)m(o)m(w)m(er)f(720)330
1883 y(GCC)g(3.3.3)i(and)e(GNU)h(Mak)m(e.)42 b Fr
(powerpc64-unknown-linux-g)o(nu)p Fx(.)199 2022 y(8.)61
b(RedHat)31 b(Lin)m(ux)f(7.2)330 2162 y(GCC)47 b(2.96)j(and)d(GNU)i
(Mak)m(e.)95 b Fr(alphaev6-unknown-linux-)o(gnu)o Fx(,)47
b Fr(alphaev67-unknown-)330 2271 y(linux-gnu)p Fx(,)28
b Fr(ia64-unknown-linux-gnu)p Fx(.)199 2411 y(9.)61 b(RedHat)31
b(Lin)m(ux)f(8.0)330 2550 y(GCC)g(3.2)h(and)f(GNU)h(Mak)m(e.)42
b Fr(i686-pc-linux-gnu)p Fx(.)154 2690 y(10.)61 b(RedHat)31
b(Adv)-5 b(anced)30 b(Serv)m(er)h(2.1)330 2829 y(GCC)f(2.96)i(and)e
(GNU)h(Mak)m(e.)42 b Fr(i686-pc-linux-gnu)p Fx(.)154
2969 y(11.)61 b(Slac)m(kw)m(are)32 b(Lin)m(ux)e(8.0.01)330
3108 y(GCC)g(2.95.3)j(and)c(GNU)i(Mak)m(e.)43 b Fr(i686-pc-linux-gnu)p
Fx(.)154 3248 y(12.)61 b(Mandrak)m(e)31 b(Lin)m(ux)f(9.0)330
3387 y(GCC)g(3.2)h(and)f(GNU)h(Mak)m(e.)42 b Fr(i686-pc-linux-gnu)p
Fx(.)154 3527 y(13.)61 b(IRIX)30 b(6.5)330 3666 y(MIPS)g(C)g(compiler,)
h(IRIX)f(Mak)m(e.)42 b Fr(mips-sgi-irix6.5)p Fx(.)154
3806 y(14.)61 b(AIX)30 b(4.3.2)330 3945 y(IBM)h(C)f(for)g(AIX)g
(compiler,)i(AIX)e(Mak)m(e.)42 b Fr(rs6000-ibm-aix4.3.2.0)p
Fx(.)154 4085 y(15.)61 b(Microsoft)32 b(Windo)m(ws)e(2000)i(\(Cygwin\))
330 4224 y(GCC)e(3.2,)i(GNU)f(mak)m(e.)41 b Fr(i686-pc-cygwin)p
Fx(.)154 4364 y(16.)61 b(HP-UX)31 b(11)330 4503 y(HP-UX)g(C)f(compiler)
h(and)f(HP)g(Mak)m(e.)42 b Fr(ia64-hp-hpux11.22)p Fx(,)26
b Fr(hppa2.0w-hp-hpux11.11)p Fx(.)154 4643 y(17.)61 b(SUN)30
b(Solaris)h(2.7)330 4782 y(GCC)f(3.0.4)i(and)e(GNU)h(Mak)m(e.)42
b Fr(sparc-sun-solaris2.7)p Fx(.)154 4922 y(18.)61 b(SUN)30
b(Solaris)h(2.8)330 5061 y(Sun)e(W)-8 b(orkShop)30 b(Compiler)g(C)g
(6.0)i(and)d(SUN)i(Mak)m(e.)42 b Fr(sparc-sun-solaris2.8)p
Fx(.)154 5200 y(19.)61 b(SUN)30 b(Solaris)h(2.9)330 5340
y(Sun)e(F)-8 b(orte)32 b(Dev)m(elop)s(er)f(7)g(C)f(compiler)h(and)f
(GNU)h(Mak)m(e.)42 b Fr(sparc-sun-solaris2.9)p Fx(.)p
eop end
%%Page: 5 10
TeXDict begin 5 9 bop 150 -116 a Fx(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(5)154 299 y(20.)61 b(NetBSD)32
b(1.6)330 435 y(GCC)85 b(2.95.3)j(and)d(GNU)h(Mak)m(e.)208
b Fr(alpha-unknown-netbsd1.6)p Fx(,)94 b Fr(i386-unknown-)330
544 y(netbsdelf1.6)p Fx(.)154 680 y(21.)61 b(Op)s(enBSD)29
b(3.1)j(and)e(3.2)330 816 y(GCC)79 b(2.95.3)j(and)e(GNU)g(Mak)m(e.)191
b Fr(alpha-unknown-openbsd3.)o(1)p Fx(,)87 b Fr(i386-unknown-)330
925 y(openbsd3.1)p Fx(.)154 1061 y(22.)61 b(F)-8 b(reeBSD)32
b(4.7)f(and)f(4.8)330 1197 y(GCC)74 b(2.95.4)i(and)d(GNU)i(Mak)m(e.)173
b Fr(alpha-unknown-freebsd4.7)p Fx(,)79 b Fr(alpha-unknown-)330
1306 y(freebsd4.8)p Fx(,)28 b Fr(i386-unknown-freebsd4.7)p
Fx(,)c Fr(i386-unknown-freebsd4.8)p Fx(.)154 1442 y(23.)61
b(MacOS)31 b(X)f(10.2)i(Serv)m(er)e(Edition)330 1578
y(GCC)g(3.1)h(and)f(GNU)h(Mak)m(e.)42 b Fr(powerpc-apple-darwin6.5)p
Fx(.)154 1714 y(24.)61 b(MacOS)31 b(X)f(10.4)i(\\Tiger")g(with)e(Xco)s
(de)h(2.0)330 1850 y(GCC)f(4.0)h(and)f(GNU)h(Mak)m(e.)42
b Fr(powerpc-apple-darwin8.0)p Fx(.)154 1985 y(25.)61
b(Cross)30 b(compiled)h(to)g(uClin)m(ux/uClib)s(c)e(on)h(Motorola)j
(Cold\014re)330 2121 y(GCC)d(3.4)h(and)f(GNU)h(Mak)m(e)h
Fr(m68k-uclinux-elf)p Fx(.)154 2257 y(26.)61 b(Cross)30
b(compiled)h(to)g(ARM)f(using)g(Glib)s(c)330 2393 y(GCC)g(2.95)i(and)e
(GNU)h(Mak)m(e)h Fr(arm-linux)p Fx(.)154 2528 y(27.)61
b(Cross)30 b(compiled)h(to)g(Mingw32.)330 2664 y(GCC)f(3.4.4)i(and)e
(GNU)h(Mak)m(e)h Fr(i586-mingw32msvc)p Fx(.)275 2827
y(If)d(y)m(ou)i(use)f(Libidn)f(on,)i(or)f(p)s(ort)g(Libidn)f(to,)j(a)e
(new)g(platform)h(please)g(rep)s(ort)f(it)g(to)i(the)e(author.)150
3064 y Fw(1.5)68 b(Getting)46 b(help)150 3223 y Fx(A)e(mailing)g(list)g
(where)f(users)g(of)h(Libidn)e(ma)m(y)i(help)f(eac)m(h)i(other)f
(exists,)j(and)c(y)m(ou)h(can)g(reac)m(h)g(it)150 3333
y(b)m(y)49 b(sending)g(e-mail)i(to)f Fr(help-libidn@gnu.org)p
Fx(.)92 b(Arc)m(hiv)m(es)50 b(of)g(the)f(mailing)h(list)g(discussions,)
150 3442 y(and)41 b(an)g(in)m(terface)i(to)f(manage)g(subscriptions,)h
(is)f(a)m(v)-5 b(ailable)43 b(through)e(the)g(W)-8 b(orld)42
b(Wide)g(W)-8 b(eb)42 b(at)150 3552 y Fr(http://lists.gnu.org/mai)o
(lman)o(/lis)o(tin)o(fo/h)o(elp-)o(lib)o(idn)p Fx(.)150
3788 y Fw(1.6)68 b(Commercial)47 b(Supp)t(ort)150 3947
y Fx(Commercial)29 b(supp)s(ort)e(is)h(a)m(v)-5 b(ailable)31
b(for)d(users)f(of)i(GNU)g(Libidn.)39 b(The)27 b(kind)h(of)g(supp)s
(ort)f(that)i(can)g(b)s(e)150 4057 y(purc)m(hased)h(ma)m(y)g(include:)
225 4194 y Fv(\017)60 b Fx(Implemen)m(t)26 b(new)g(features.)40
b(Suc)m(h)26 b(as)g(coun)m(try)h(co)s(de)f(sp)s(eci\014c)g(pro\014ling)
g(to)h(supp)s(ort)e(a)h(restricted)330 4304 y(subset)k(of)g(Unico)s
(de.)225 4439 y Fv(\017)60 b Fx(P)m(ort)44 b(Libidn)d(to)j(new)e
(platforms.)78 b(This)42 b(could)h(include)g(p)s(orting)f(Libidn)g(to)h
(an)g(em)m(b)s(edded)330 4549 y(platforms)30 b(that)h(ma)m(y)g(need)f
(memory)h(or)f(size)h(optimization.)225 4685 y Fv(\017)60
b Fx(In)m(tegrating)32 b(IDN)f(supp)s(ort)d(in)i(y)m(our)h(existing)g
(pro)5 b(ject.)225 4821 y Fv(\017)60 b Fx(System)30 b(design)g(of)h
(comp)s(onen)m(ts)f(related)i(to)f(IDN.)275 4984 y(If)e(y)m(ou)i(are)g
(in)m(terested,)h(please)f(write)f(to:)150 5121 y Fr(Simon)46
b(Josefsson)g(Datakonsult)150 5230 y(Hagagatan)f(24)150
5340 y(113)i(47)g(Stockholm)p eop end
%%Page: 6 11
TeXDict begin 6 10 bop 150 -116 a Fx(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(6)150 299 y Fr(Sweden)150
518 y(E-mail:)46 b(simon@josefsson.org)275 657 y Fx(If)25
b(y)m(our)h(compan)m(y)g(pro)m(vide)g(supp)s(ort)e(related)j(to)f(GNU)h
(Libidn)e(and)g(w)m(ould)g(lik)m(e)j(to)e(b)s(e)f(men)m(tioned)150
767 y(here,)30 b(con)m(tact)j(the)e(author)f(\(see)h(Section)g(1.8)h
([Bug)f(Rep)s(orts],)f(page)h(7\).)150 1006 y Fw(1.7)68
b(Do)l(wnloading)46 b(and)f(Installing)150 1165 y Fx(The)30
b(pac)m(k)-5 b(age)32 b(can)f(b)s(e)f(do)m(wnloaded)g(from)g(sev)m
(eral)i(places,)f(including:)275 1304 y Fr(ftp://alpha.gnu.org/pub)o
(/gn)o(u/li)o(bidn)o(/)275 1443 y Fx(The)d(latest)j(v)m(ersion)f(is)f
(stored)g(in)g(a)h(\014le,)g(e.g.,)h(`)p Fr(libidn-1.15.tar.gz)p
Fx(')25 b(where)j(the)i(`)p Fr(1.15)p Fx(')e(v)-5 b(alue)150
1553 y(is)30 b(the)h(highest)g(v)m(ersion)f(n)m(um)m(b)s(er)g(in)g(the)
g(directory)-8 b(.)275 1692 y(The)33 b(pac)m(k)-5 b(age)35
b(is)f(then)f(extracted,)j(con\014gured)c(and)h(built)h(lik)m(e)g(man)m
(y)g(other)g(pac)m(k)-5 b(ages)35 b(that)f(use)150 1801
y(Auto)s(conf.)54 b(F)-8 b(or)36 b(detailed)g(information)f(on)g
(con\014guring)f(and)g(building)g(it,)j(refer)e(to)g(the)g(`)p
Fr(INSTALL)p Fx(')150 1911 y(\014le)30 b(that)h(is)g(part)f(of)h(the)f
(distribution)g(arc)m(hiv)m(e.)275 2050 y(Here)44 b(is)g(an)g(example)h
(terminal)g(session)f(that)h(do)m(wnload,)j(con\014gure,)f(build)c(and)
h(install)h(the)150 2159 y(pac)m(k)-5 b(age.)43 b(Y)-8
b(ou)31 b(will)f(need)g(a)h(few)f(basic)h(to)s(ols,)h(suc)m(h)e(as)g(`)
p Fr(sh)p Fx(',)h(`)p Fr(make)p Fx(')e(and)h(`)p Fr(cc)p
Fx('.)390 2298 y Fr($)47 b(wget)g(-q)g(ftp://alpha.gnu.org/pub/g)o
(nu/l)o(ibid)o(n/l)o(ibid)o(n-1.)o(15.)o(tar.)o(gz)390
2408 y($)g(tar)g(xfz)g(libidn-1.15.tar.gz)390 2517 y($)g(cd)h
(libidn-1.15/)390 2627 y($)f(./configure)390 2737 y(...)390
2846 y($)g(make)390 2956 y(...)390 3065 y($)g(make)g(install)390
3175 y(...)275 3314 y Fx(After)30 b(that)h(Libidn)e(should)h(b)s(e)f
(prop)s(erly)h(installed)h(and)e(ready)i(for)f(use.)275
3453 y(A)g(few)g Fr(configure)e Fx(options)j(ma)m(y)g(b)s(e)e(relev)-5
b(an)m(t,)32 b(summarized)e(in)g(the)h(table.)150 3619
y Fr(--enable-java)630 3728 y Fx(Build)f(the)h(Ja)m(v)-5
b(a)32 b(p)s(ort)e(in)m(to)h(a)g(*.JAR)g(\014le.)41 b(See)31
b(Chapter)f(12)i([Ja)m(v)-5 b(a)31 b(API],)g(page)g(58,)h(for)630
3838 y(more)f(information.)150 4002 y Fr(--disable-tld)630
4111 y Fx(Disable)24 b(the)f(TLD)f(mo)s(dule.)38 b(This)21
b(w)m(ould)i(t)m(ypically)h(only)f(b)s(e)f(useful)g(if)h(y)m(ou)g(are)g
(building)630 4221 y(on)37 b(a)g(memory)g(restricted)g(platforms.)60
b(See)37 b(Chapter)g(7)g([TLD)g(F)-8 b(unctions],)39
b(page)f(31,)630 4331 y(for)30 b(more)h(information.)150
4494 y Fr(--enable-csharp[=IMPL])630 4604 y Fx(Build)38
b(the)h Fr(C#)e Fx(p)s(ort)h(in)m(to)h(a)g Fr(*.DLL)e
Fx(\014le.)64 b(See)39 b(Chapter)e(13)i([C#)f(API],)h(page)g(61,)i(for)
630 4714 y(more)34 b(information.)51 b(Here,)35 b Fr(IMPL)e
Fx(is)h Fr(pnet)e Fx(or)i Fr(mono)p Fx(,)g(indicating)g(whether)f(the)h
(PNET)630 4823 y Fr(cscc)29 b Fx(compiler)i(or)g(the)f(Mono)h
Fr(mcs)f Fx(compiler)h(should)e(b)s(e)h(used,)g(resp)s(ectiv)m(ely)-8
b(.)275 4989 y(F)g(or)31 b(the)f(complete)i(list,)f(refer)f(to)i(the)e
(output)g(from)g Fr(configure)e(--help)p Fx(.)150 5193
y Fq(1.7.1)63 b(Installing)41 b(under)h(Windo)m(ws)150
5340 y Fx(There)30 b(are)h(t)m(w)m(o)g(w)m(a)m(ys)h(to)f(build)e
(Libidn)g(on)h(Windo)m(ws:)41 b(via)31 b(MinGW)g(or)g(via)g(Visual)g
(Studio.)p eop end
%%Page: 7 12
TeXDict begin 7 11 bop 150 -116 a Fx(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(7)275 299 y(With)36 b(MinGW,)h(y)m(ou)f
(can)g(build)f(a)h(Libidn)e(DLL)i(and)f(use)h(it)g(from)f(other)i
(applications.)58 b(After)150 408 y(installing)42 b(MinGW)h(\()p
Fr(http://mingw.org/)p Fx(\))37 b(follo)m(w)43 b(the)e(generic)i
(installation)g(instructions)e(\(see)150 518 y(Section)31
b(1.7)h([Do)m(wnloading)g(and)d(Installing],)j(page)f(6\).)41
b(The)30 b(DLL)h(is)f(installed)h(b)m(y)g(default.)275
651 y(F)-8 b(or)106 b(information)g(on)g(ho)m(w)g(to)h(use)e(the)h(DLL)
g(in)g(other)g(applications,)126 b(see:)150 760 y Fr
(http://www.mingw.org/min)o(gwfa)o(q.sh)o(tml)o(#faq)o(-msv)o(cdl)o(l)p
Fx(.)275 893 y(Y)-8 b(ou)35 b(can)f(build)g(Libidn)f(as)i(a)g(nativ)m
(e)h(Visual)f(Studio)f(C)p Fr(++)f Fx(pro)5 b(ject.)54
b(This)34 b(allo)m(ws)i(y)m(ou)f(to)g(build)150 1002
y(the)c(co)s(de)g(for)g(other)g(platforms)g(that)h(VS)e(supp)s(orts,)g
(suc)m(h)g(as)i(Windo)m(ws)f(Mobile.)43 b(Y)-8 b(ou)32
b(need)e(Visual)150 1112 y(Studio)g(2005)i(or)e(later.)275
1244 y(First)i(do)m(wnload)h(and)f(unpac)m(k)g(the)h(arc)m(hiv)m(e)h
(as)f(describ)s(ed)e(in)i(the)f(generic)i(installation)g(instruc-)150
1354 y(tions)f(\(see)h(Section)g(1.7)g([Do)m(wnloading)h(and)d
(Installing],)j(page)f(6\).)49 b(Don't)34 b(run)e Fr(./configure)p
Fx(.)45 b(In-)150 1463 y(stead,)33 b(start)g(Visual)g(Studio)e(and)h
(op)s(en)f(the)i(pro)5 b(ject)32 b(\014le)h(`)p Fr(win32/libidn.sln)p
Fx(')28 b(inside)k(the)g(Libidn)150 1573 y(directory)-8
b(.)42 b(Y)-8 b(ou)31 b(should)e(b)s(e)h(able)h(to)g(build)e(the)i(pro)
5 b(ject)30 b(using)g(Build)h(Pro)5 b(ject.)275 1705
y(Output)38 b(libraries)h(will)h(b)s(e)f(written)g(in)m(to)i(the)f
Fr(win32/lib)c Fx(\(or)k Fr(win32/lib/debug)35 b Fx(for)40
b(Debug)150 1815 y(v)m(ersions\))31 b(folder.)275 1948
y(When)h(w)m(orking)i(with)e(Windo)m(ws)i(y)m(ou)f(ma)m(y)h(w)m(an)m(t)
f(to)h(lo)s(ok)g(in)m(to)g(the)f(sp)s(ecial)h(memory)f(handling)150
2057 y(functions)23 b(that)i(ma)m(y)f(b)s(e)f(needed)h(\(see)h(Section)
f(2.6)h([Memory)g(handling)e(under)f(Windo)m(ws],)k(page)e(12\).)150
2286 y Fw(1.8)68 b(Bug)45 b(Rep)t(orts)150 2445 y Fx(If)30
b(y)m(ou)h(think)f(y)m(ou)g(ha)m(v)m(e)i(found)d(a)i(bug)e(in)h
(Libidn,)g(please)h(in)m(v)m(estigate)j(it)c(and)g(rep)s(ort)g(it.)225
2577 y Fv(\017)60 b Fx(Please)40 b(mak)m(e)g(sure)d(that)j(the)f(bug)f
(is)g(really)i(in)e(Libidn,)i(and)e(preferably)g(also)i(c)m(hec)m(k)g
(that)f(it)330 2687 y(hasn't)30 b(already)h(b)s(een)f(\014xed)g(in)g
(the)g(latest)i(v)m(ersion.)225 2819 y Fv(\017)60 b Fx(Y)-8
b(ou)31 b(ha)m(v)m(e)g(to)h(send)d(us)h(a)h(test)g(case)g(that)g(mak)m
(es)g(it)g(p)s(ossible)f(for)g(us)g(to)h(repro)s(duce)e(the)i(bug.)225
2952 y Fv(\017)60 b Fx(Y)-8 b(ou)29 b(also)h(ha)m(v)m(e)g(to)g(explain)
f(what)g(is)g(wrong;)g(if)g(y)m(ou)g(get)h(a)f(crash,)h(or)f(if)f(the)h
(results)g(prin)m(ted)g(are)330 3061 y(not)36 b(go)s(o)s(d)g(and)g(in)g
(that)g(case,)j(in)d(what)g(w)m(a)m(y)-8 b(.)59 b(Mak)m(e)38
b(sure)d(that)i(the)f(bug)g(rep)s(ort)f(includes)h(all)330
3171 y(information)31 b(y)m(ou)f(w)m(ould)h(need)f(to)h(\014x)f(this)g
(kind)f(of)i(bug)f(for)g(someone)h(else.)275 3326 y(Please)36
b(mak)m(e)f(an)g(e\013ort)h(to)f(pro)s(duce)f(a)h(self-con)m(tained)i
(rep)s(ort,)f(with)e(something)i(de\014nite)e(that)150
3436 y(can)29 b(b)s(e)g(tested)g(or)g(debugged.)40 b(V)-8
b(ague)31 b(queries)e(or)g(piecemeal)h(messages)g(are)g(di\016cult)f
(to)h(act)g(on)f(and)150 3546 y(don't)h(help)g(the)h(dev)m(elopmen)m(t)
h(e\013ort.)275 3678 y(If)e(y)m(our)g(bug)g(rep)s(ort)g(is)g(go)s(o)s
(d,)h(w)m(e)g(will)g(do)f(our)g(b)s(est)g(to)i(help)e(y)m(ou)g(to)i
(get)f(a)g(corrected)h(v)m(ersion)f(of)150 3788 y(the)j(soft)m(w)m
(are;)j(if)d(the)g(bug)f(rep)s(ort)g(is)h(p)s(o)s(or,)g(w)m(e)g(w)m
(on't)g(do)g(an)m(ything)g(ab)s(out)g(it)g(\(apart)g(from)f(asking)150
3897 y(y)m(ou)e(to)g(send)e(b)s(etter)i(bug)f(rep)s(orts\).)275
4030 y(If)19 b(y)m(ou)i(think)f(something)h(in)f(this)g(man)m(ual)h(is)
f(unclear,)j(or)d(do)m(wnrigh)m(t)h(incorrect,)i(or)e(if)f(the)h
(language)150 4139 y(needs)30 b(to)h(b)s(e)f(impro)m(v)m(ed,)h(please)g
(also)g(send)f(a)h(note.)275 4272 y(Send)e(y)m(our)h(bug)g(rep)s(ort)g
(to:)1495 4381 y(`)p Fr(bug-libidn@gnu.org)p Fx(')150
4610 y Fw(1.9)68 b(Con)l(tributing)150 4769 y Fx(If)25
b(y)m(ou)h(w)m(an)m(t)g(to)g(submit)f(a)h(patc)m(h)g(for)f(inclusion)h
({)f(from)h(solv)m(e)g(a)g(t)m(yp)s(o)g(y)m(ou)g(disco)m(v)m(ered,)i
(up)c(to)i(adding)150 4879 y(supp)s(ort)38 b(for)h(a)h(new)e(feature)i
({)g(y)m(ou)g(should)e(submit)h(it)h(as)f(a)h(bug)f(rep)s(ort)f(\(see)j
(Section)f(1.8)g([Bug)150 4988 y(Rep)s(orts],)32 b(page)g(7\).)44
b(There)30 b(are)i(some)g(things)f(that)h(y)m(ou)f(can)h(do)f(to)h
(increase)g(the)f(c)m(hances)h(for)f(it)h(to)150 5098
y(b)s(e)e(included)f(in)h(the)h(o\016cial)h(pac)m(k)-5
b(age.)275 5230 y(Unless)41 b(y)m(our)g(patc)m(h)h(is)f(v)m(ery)h
(small)g(\(sa)m(y)-8 b(,)46 b(under)40 b(10)i(lines\))g(w)m(e)f
(require)g(that)h(y)m(ou)g(assign)g(the)150 5340 y(cop)m(yrigh)m(t)d
(of)f(y)m(our)f(w)m(ork)h(to)g(the)g(F)-8 b(ree)39 b(Soft)m(w)m(are)f
(F)-8 b(oundation.)63 b(This)37 b(is)g(to)i(protect)f(the)g(freedom)p
eop end
%%Page: 8 13
TeXDict begin 8 12 bop 150 -116 a Fx(Chapter)30 b(1:)41
b(In)m(tro)s(duction)2592 b(8)150 299 y(of)44 b(the)g(pro)5
b(ject.)81 b(If)43 b(y)m(ou)h(ha)m(v)m(e)h(not)f(already)h(signed)e
(pap)s(ers,)j(w)m(e)f(will)f(send)f(y)m(ou)h(the)g(necessary)150
408 y(information)31 b(when)e(y)m(ou)i(submit)e(y)m(our)i(con)m
(tribution.)275 543 y(F)-8 b(or)33 b(con)m(tributions)h(that)f(do)s
(esn't)g(consist)g(of)g(actual)i(programming)d(co)s(de,)i(the)g(only)f
(guidelines)150 653 y(are)e(common)f(sense.)41 b(Use)31
b(it.)275 787 y(F)-8 b(or)31 b(co)s(de)f(con)m(tributions,)h(a)g(n)m
(um)m(b)s(er)e(of)i(st)m(yle)g(guides)g(will)f(help)g(y)m(ou:)225
922 y Fv(\017)60 b Fx(Co)s(ding)32 b(St)m(yle.)48 b(F)-8
b(ollo)m(w)34 b(the)f(GNU)g(Standards)e(do)s(cumen)m(t)i(\(see)g
Fv(h)p Fx(unde\014ned)p Fv(i)e Fx([top],)j(page)f Fv(h)p
Fx(un-)330 1031 y(de\014ned)p Fv(i)p Fx(\).)330 1166
y(If)42 b(y)m(ou)h(normally)f(co)s(de)h(using)f(another)g(co)s(ding)h
(standard,)i(there)d(is)h(no)f(problem,)j(but)d(y)m(ou)330
1275 y(should)h(use)g(`)p Fr(indent)p Fx(')g(to)i(reformat)f(the)g(co)s
(de)g(\(see)h Fv(h)p Fx(unde\014ned)p Fv(i)d Fx([top],)48
b(page)d Fv(h)p Fx(unde\014ned)p Fv(i)p Fx(\))330 1385
y(b)s(efore)30 b(submitting)g(y)m(our)g(w)m(ork.)225
1519 y Fv(\017)60 b Fx(Use)31 b(the)f(uni\014ed)f(di\013)h(format)h(`)p
Fr(diff)f(-u)p Fx('.)225 1654 y Fv(\017)60 b Fx(Return)32
b(errors.)47 b(No)33 b(reason)g(whatso)s(ev)m(er)g(should)f(ab)s(ort)h
(the)g(execution)g(of)g(the)g(library)-8 b(.)48 b(Ev)m(en)330
1763 y(memory)27 b(allo)s(cation)i(errors,)f(e.g.)41
b(when)26 b(mallo)s(c)i(return)e(NULL,)h(should)f(w)m(ork)h(although)h
(result)330 1873 y(in)i(an)g(error)g(co)s(de.)225 2007
y Fv(\017)60 b Fx(Design)31 b(with)f(thread)g(safet)m(y)i(in)e(mind.)40
b(Don't)31 b(use)f(global)i(v)-5 b(ariables)31 b(and)f(the)g(lik)m(e.)
225 2142 y Fv(\017)60 b Fx(Av)m(oid)38 b(using)f(the)g(C)g(math)g
(library)-8 b(.)61 b(It)37 b(causes)h(problems)e(for)h(em)m(b)s(edded)f
(implemen)m(tations,)330 2252 y(and)30 b(in)g(most)h(situations)g(it)g
(is)f(v)m(ery)h(easy)g(to)g(a)m(v)m(oid)h(using)e(it.)225
2386 y Fv(\017)60 b Fx(Do)s(cumen)m(t)23 b(y)m(our)f(functions.)37
b(Use)23 b(commen)m(ts)g(b)s(efore)f(eac)m(h)h(function)f(headers,)h
(that,)i(if)d(prop)s(erly)330 2496 y(formatted,)j(are)d(extracted)i(in)
m(to)f(GTK-DOC)e(w)m(eb)i(pages.)38 b(Don't)23 b(forget)g(to)g(up)s
(date)e(the)i(T)-8 b(exinfo)330 2605 y(man)m(ual)31 b(as)f(w)m(ell.)225
2740 y Fv(\017)60 b Fx(Supply)29 b(a)h(ChangeLog)h(and)f(NEWS)g(en)m
(tries,)i(where)e(appropriate.)p eop end
%%Page: 9 14
TeXDict begin 9 13 bop 150 -116 a Fx(Chapter)30 b(2:)41
b(Preparation)2619 b(9)150 299 y Fu(2)80 b(Preparation)150
497 y Fx(T)-8 b(o)34 b(use)f(`Libidn',)h(y)m(ou)g(ha)m(v)m(e)h(to)f(p)s
(erform)e(some)i(c)m(hanges)h(to)f(y)m(our)g(sources)f(and)g(the)h
(build)f(system.)150 607 y(The)39 b(necessary)h(c)m(hanges)h(are)f
(small)g(and)f(explained)g(in)h(the)f(follo)m(wing)i(sections.)70
b(A)m(t)40 b(the)g(end)f(of)150 716 y(this)31 b(c)m(hapter,)i(it)f(is)f
(describ)s(ed)f(ho)m(w)i(the)f(library)g(is)h(initialized,)h(and)e(ho)m
(w)g(the)h(requiremen)m(ts)f(of)h(the)150 826 y(library)e(are)h(v)m
(eri\014ed.)275 953 y(A)f(faster)i(w)m(a)m(y)f(to)h(\014nd)d(out)i(ho)m
(w)g(to)h(adapt)f(y)m(our)g(application)h(for)e(use)h(with)f(`Libidn')h
(ma)m(y)g(b)s(e)f(to)150 1063 y(lo)s(ok)h(at)g(the)g(examples)g(at)g
(the)f(end)g(of)g(this)h(man)m(ual)f(\(see)i(Chapter)e(9)g([Examples],)
h(page)h(38\).)150 1281 y Fw(2.1)68 b(Header)150 1440
y Fx(The)38 b(library)g(con)m(tains)i(a)e(few)h(indep)s(enden)m(t)e
(parts,)j(and)e(eac)m(h)i(part)e(exp)s(ort)g(the)h(in)m(terfaces)h
(\(data)150 1550 y(t)m(yp)s(es)33 b(and)g(functions\))g(in)g(a)h
(header)f(\014le.)49 b(Y)-8 b(ou)34 b(m)m(ust)f(include)g(the)h
(appropriate)f(header)g(\014les)g(in)g(all)150 1659 y(programs)d(using)
g(the)g(library)-8 b(,)31 b(either)g(directly)g(or)f(through)g(some)h
(other)f(header)h(\014le,)f(lik)m(e)i(this:)390 1787
y Fr(#include)46 b(<stringprep.h>)275 1914 y Fx(The)29
b(header)i(\014les)f(and)g(the)g(functions)g(they)h(de\014ne)e(are)i
(categorized)i(as)e(follo)m(ws:)150 2059 y(stringprep.h)630
2169 y(The)d(lo)m(w-lev)m(el)j(stringprep)c(API)h(en)m(try)h(p)s(oin)m
(t.)40 b(F)-8 b(or)29 b(IDN)g(applications,)h(this)e(is)g(usually)630
2278 y(in)m(v)m(ok)m(ed)33 b(via)e(IDNA.)h(Some)f(applications,)i(sp)s
(eci\014cally)f(non-IDN)f(ones,)h(ma)m(y)f(w)m(an)m(t)h(to)630
2388 y(prepare)e(strings)g(directly)h(though,)f(and)g(should)g(include)
g(this)g(header)g(\014le.)630 2515 y(The)k(name)h(space)g(of)g(the)f
(stringprep)g(part)h(of)f(Libidn)g(is)g Fr(stringprep*)e
Fx(for)i(function)630 2625 y(names,)i Fr(Stringprep*)31
b Fx(for)k(data)g(t)m(yp)s(es)g(and)f Fr(STRINGPREP_*)d
Fx(for)k(other)g(sym)m(b)s(ols.)53 b(In)630 2734 y(addition,)36
b Fr(_stringprep*)31 b Fx(is)k(reserv)m(ed)f(for)g(in)m(ternal)i(use)e
(and)g(should)f(nev)m(er)i(b)s(e)f(used)630 2844 y(b)m(y)c
(applications.)150 2989 y(pun)m(yco)s(de.h)630 3098 y(The)23
b(en)m(try)h(p)s(oin)m(t)f(to)i(Pun)m(yco)s(de)e(enco)s(ding)g(and)g
(deco)s(ding)g(functions.)38 b(Normally)25 b(pun)m(y-)630
3208 y(co)s(de)g(is)f(used)g(via)h(the)g(idna.h)f(in)m(terface,)k(but)c
(some)h(application)g(ma)m(y)h(w)m(an)m(t)f(to)g(p)s(erform)630
3318 y(ra)m(w)30 b(pun)m(yco)s(de)g(op)s(erations.)630
3445 y(The)40 b(name)i(space)f(of)g(the)g(pun)m(yco)s(de)g(part)f(of)i
(Libidn)d(is)i Fr(punycode_*)d Fx(for)j(function)630
3554 y(names,)e Fr(Punycode*)34 b Fx(for)j(data)g(t)m(yp)s(es)g(and)g
Fr(PUNYCODE_*)d Fx(for)i(other)i(sym)m(b)s(ols.)60 b(In)36
b(ad-)630 3664 y(dition,)42 b Fr(_punycode*)37 b Fx(is)i(reserv)m(ed)h
(for)f(in)m(ternal)h(use)g(and)e(should)h(nev)m(er)h(b)s(e)e(used)h(b)m
(y)630 3774 y(applications.)150 3919 y(idna.h)630 4046
y(The)h(en)m(try)g(p)s(oin)m(t)g(to)h(the)f(IDNA)h(functions.)70
b(This)39 b(is)h(the)h(normal)f(en)m(try)g(p)s(oin)m(t)g(for)630
4156 y(applications)32 b(that)f(need)f(IDN)g(functionalit)m(y)-8
b(.)630 4283 y(The)42 b(name)g(space)g(of)h(the)f(IDNA)h(part)f(of)g
(Libidn)f(is)h Fr(idna_*)e Fx(for)i(function)g(names,)630
4392 y Fr(Idna*)d Fx(for)g(data)i(t)m(yp)s(es)f(and)f
Fr(IDNA_*)g Fx(for)g(other)h(sym)m(b)s(ols.)70 b(In)39
b(addition,)k Fr(_idna*)38 b Fx(is)630 4502 y(reserv)m(ed)31
b(for)f(in)m(ternal)h(use)f(and)g(should)f(nev)m(er)i(b)s(e)e(used)h(b)
m(y)g(applications.)150 4647 y(tld.h)630 4774 y(The)k(en)m(try)g(p)s
(oin)m(t)g(to)h(the)f(TLD)g(functions.)51 b(Normal)35
b(applications)g(are)f(not)h(exp)s(ected)630 4884 y(to)k(need)f(this)h
(functionalit)m(y)-8 b(,)42 b(but)c(it)h(is)f(presen)m(t)h(for)f
(applications)i(that)f(are)f(used)g(b)m(y)630 4993 y(TLDs)30
b(to)h(v)-5 b(alidate)32 b(customer)f(input.)630 5121
y(The)d(name)h(space)g(of)g(the)g(TLD)g(part)g(of)f(Libidn)g(is)h
Fr(tld_*)e Fx(for)i(function)f(names,)h Fr(Tld_*)630
5230 y Fx(for)i(data)g(t)m(yp)s(es)g(and)f Fr(TLD_*)g
Fx(for)g(other)h(sym)m(b)s(ols.)42 b(In)30 b(addition,)i
Fr(_tld*)d Fx(is)i(reserv)m(ed)g(for)630 5340 y(in)m(ternal)g(use)f
(and)g(should)f(nev)m(er)i(b)s(e)f(used)f(b)m(y)i(applications.)p
eop end
%%Page: 10 15
TeXDict begin 10 14 bop 150 -116 a Fx(Chapter)30 b(2:)41
b(Preparation)2573 b(10)150 299 y(pr29.h)630 441 y(The)40
b(en)m(try)h(p)s(oin)m(t)g(to)g(the)g(PR29)h(functions.)71
b(These)41 b(functions)f(are)h(used)f(to)i(detect)630
550 y(\\problem)26 b(sequences")h(\(see)f(Chapter)g(8)g([PR29)h(F)-8
b(unctions],)28 b(page)f(36\),)h(mostly)e(for)g(use)630
660 y(in)k(securit)m(y)h(critical)h(applications.)630
802 y(The)23 b(name)g(space)h(of)f(the)h(PR29)g(part)f(of)g(Libidn)g
(is)g Fr(pr29_*)e Fx(for)j(function)e(names,)j Fr(Pr29_)630
912 y(*)j Fx(for)g(data)h(t)m(yp)s(es)f(and)f Fr(PR29_*)g
Fx(for)h(other)g(sym)m(b)s(ols.)40 b(In)27 b(addition,)i
Fr(_pr29*)e Fx(is)h(reserv)m(ed)630 1021 y(for)i(in)m(ternal)h(use)f
(and)g(should)f(nev)m(er)i(b)s(e)f(used)f(b)m(y)i(applications.)150
1196 y(idn-free.h)630 1338 y(The)24 b(en)m(try)h(p)s(oin)m(t)f(to)h
(the)g(Windo)m(ws)f(memory)g(de-allo)s(cation)j(function)d(\(see)i
(Section)f(2.6)630 1447 y([Memory)40 b(handling)f(under)e(Windo)m(ws],)
42 b(page)e(12\).)69 b(It)39 b(con)m(tains)h(only)g(one)f(function)630
1557 y Fr(idn_free)p Fx(.)275 1739 y(All)31 b(header)f(\014les)g
(de\014ned)f(and)h(use)g(the)h(sym)m(b)s(ol)f Fr(IDNAPI)e
Fx(to)j(decorate)h(the)f(API)f(functions.)150 1994 y
Fw(2.2)68 b(Initialization)150 2153 y Fx(Libidn)29 b(is)i(stateless)h
(and)d(do)s(es)h(not)h(need)f(an)m(y)h(initialization.)150
2408 y Fw(2.3)68 b(V)-11 b(ersion)45 b(Chec)l(k)150 2567
y Fx(It)35 b(is)g(often)g(desirable)g(to)h(c)m(hec)m(k)h(that)e(the)g
(v)m(ersion)h(of)f(`Libidn')f(used)g(is)h(indeed)g(one)g(whic)m(h)f
(\014ts)h(all)150 2677 y(requiremen)m(ts.)42 b(Ev)m(en)31
b(with)g(binary)f(compatibilit)m(y)j(new)d(features)h(ma)m(y)g(ha)m(v)m
(e)h(b)s(een)e(in)m(tro)s(duced)h(but)150 2787 y(due)g(to)i(problem)e
(with)h(the)g(dynamic)f(link)m(er)i(an)e(old)h(v)m(ersion)h(is)f
(actually)h(used.)45 b(So)31 b(y)m(ou)i(ma)m(y)f(w)m(an)m(t)150
2896 y(to)f(c)m(hec)m(k)h(that)f(the)g(v)m(ersion)f(is)h(ok)-5
b(a)m(y)31 b(righ)m(t)g(after)g(program)f(startup.)150
3110 y Fq(stringprep)p 710 3110 37 5 v 55 w(c)m(hec)m(k)p
1058 3110 V 53 w(v)m(ersion)3350 3322 y Fx([F)-8 b(unction])-3599
b Fp(const)54 b(char)f(*)g(stringprep_check_versi)q(on)f
Fo(\()p Fn(const)31 b(c)m(har)g(*)565 3432 y Fm(req_version)12
b Fo(\))390 3541 y Fn(req)p 520 3541 28 4 v 40 w(v)m(ersion)p
Fx(:)41 b(Required)30 b(v)m(ersion)h(n)m(um)m(b)s(er,)e(or)i(NULL.)390
3691 y(Chec)m(k)c(that)h(the)f(v)m(ersion)g(of)g(the)g(library)g(is)g
(at)g(minim)m(um)g(the)g(requested)f(one)i(and)e(return)g(the)390
3800 y(v)m(ersion)32 b(string;)h(return)e(NULL)g(if)h(the)g(condition)g
(is)g(not)g(satis\014ed.)45 b(If)31 b(a)h(NULL)g(is)g(passed)f(to)390
3910 y(this)f(function,)h(no)f(c)m(hec)m(k)i(is)e(done,)h(but)e(the)i
(v)m(ersion)g(string)f(is)g(simply)g(returned.)390 4060
y(See)h Fr(STRINGPREP_VERSION)25 b Fx(for)30 b(a)h(suitable)g
Fr(req_version)c Fx(string.)390 4209 y Fl(Return)d(v)-5
b(alue:)38 b Fx(V)-8 b(ersion)24 b(string)g(of)g(run-time)g(library)-8
b(,)26 b(or)e(NULL)g(if)g(the)g(run-time)g(library)f(do)s(es)390
4319 y(not)31 b(meet)g(the)f(required)g(v)m(ersion)h(n)m(um)m(b)s(er.)
275 4533 y(The)e(normal)h(w)m(a)m(y)i(to)f(use)e(the)i(function)f(is)g
(to)h(put)e(something)i(similar)g(to)g(the)f(follo)m(wing)i(\014rst)d
(in)150 4643 y(y)m(our)h Fr(main)p Fx(:)485 4792 y Fr(if)48
b(\(!stringprep_check_vers)o(ion)41 b(\(STRINGPREP_VERSION\)\))581
4902 y({)676 5011 y(printf)46 b(\("stringprep_check_version)o(\(\))c
(failed:\\n")1058 5121 y("Header)k(file)h(incompatible)d(with)j(shared)
f(library.\\n"\);)676 5230 y(exit\(1\);)581 5340 y(})p
eop end
%%Page: 11 16
TeXDict begin 11 15 bop 150 -116 a Fx(Chapter)30 b(2:)41
b(Preparation)2573 b(11)150 299 y Fw(2.4)68 b(Building)45
b(the)g(source)150 458 y Fx(If)32 b(y)m(ou)i(w)m(an)m(t)f(to)h(compile)
g(a)f(source)g(\014le)g(including)f(e.g.)50 b(the)33
b(`idna.h')f(header)h(\014le,)h(y)m(ou)f(m)m(ust)g(mak)m(e)150
568 y(sure)24 b(that)i(the)f(compiler)g(can)h(\014nd)d(it)j(in)e(the)h
(directory)h(hierarc)m(h)m(y)-8 b(.)40 b(This)24 b(is)h(accomplished)g
(b)m(y)g(adding)150 677 y(the)37 b(path)g(to)h(the)f(directory)g(in)g
(whic)m(h)g(the)g(header)g(\014le)g(is)g(lo)s(cated)h(to)g(the)f
(compilers)g(include)g(\014le)150 787 y(searc)m(h)31
b(path)f(\(via)h(the)g(`)p Fr(-I)p Fx(')f(option\).)275
923 y(Ho)m(w)m(ev)m(er,)h(the)f(path)f(to)h(the)g(include)f(\014le)h
(is)f(determined)g(at)h(the)g(time)g(the)f(source)h(is)f(con\014gured.)
150 1033 y(T)-8 b(o)30 b(solv)m(e)h(this)f(problem,)g(`Libidn')f(uses)g
(the)h(external)h(pac)m(k)-5 b(age)31 b Fr(pkg-config)c
Fx(that)k(kno)m(ws)e(the)h(path)150 1142 y(to)k(the)g(include)g(\014le)
f(and)g(other)h(con\014guration)g(options.)51 b(The)33
b(options)h(that)g(need)g(to)g(b)s(e)f(added)g(to)150
1252 y(the)24 b(compiler)h(in)m(v)m(o)s(cation)h(at)f(compile)f(time)h
(are)g(output)e(b)m(y)h(the)g(`)p Fr(--cflags)p Fx(')f(option)h(to)h
Fr(pkg-config)150 1362 y(libidn)p Fx(.)39 b(The)30 b(follo)m(wing)i
(example)f(sho)m(ws)f(ho)m(w)g(it)h(can)g(b)s(e)f(used)f(at)i(the)g
(command)f(line:)390 1498 y Fr(gcc)47 b(-c)g(foo.c)f(`pkg-config)f
(libidn)h(--cflags`)275 1634 y Fx(Adding)38 b(the)i(output)f(of)h(`)p
Fr(pkg-config)27 b(libidn)i(--cflags)p Fx(')38 b(to)i(the)f(compilers)h
(command)g(line)150 1744 y(will)31 b(ensure)e(that)i(the)g(compiler)g
(can)f(\014nd)f(e.g.)42 b(the)31 b(idna.h)e(header)i(\014le.)275
1880 y(A)23 b(similar)g(problem)g(o)s(ccurs)g(when)f(linking)h(the)g
(program)g(with)g(the)g(library)-8 b(.)38 b(Again,)26
b(the)d(compiler)150 1990 y(has)j(to)g(\014nd)f(the)h(library)f
(\014les.)40 b(F)-8 b(or)26 b(this)g(to)h(w)m(ork,)g(the)f(path)g(to)h
(the)f(library)f(\014les)h(has)g(to)h(b)s(e)e(added)g(to)150
2099 y(the)32 b(library)g(searc)m(h)h(path)f(\(via)h(the)f(`)p
Fr(-L)p Fx(')g(option\).)47 b(F)-8 b(or)32 b(this,)h(the)f(option)h(`)p
Fr(--libs)p Fx(')e(to)i Fr(pkg-config)150 2209 y(libidn)h
Fx(can)i(b)s(e)f(used.)56 b(F)-8 b(or)37 b(con)m(v)m(enience,)i(this)d
(option)g(also)g(outputs)g(all)g(other)g(options)g(that)h(are)150
2318 y(required)h(to)i(link)f(the)g(program)g(with)f(the)i(`libidn')e
(libarary)-8 b(.)67 b(The)39 b(example)h(sho)m(ws)e(ho)m(w)h(to)h(link)
150 2428 y(`)p Fr(foo.o)p Fx(')29 b(with)i(the)f(`libidn')g(library)g
(to)h(a)g(program)f Fr(foo)p Fx(.)390 2564 y Fr(gcc)47
b(-o)g(foo)g(foo.o)f(`pkg-config)f(libidn)h(--libs`)275
2700 y Fx(Of)29 b(course)i(y)m(ou)f(can)h(also)g(com)m(bine)g(b)s(oth)e
(examples)i(to)g(a)g(single)f(command)g(b)m(y)h(sp)s(ecifying)f(b)s
(oth)150 2810 y(options)h(to)g Fr(pkg-config)p Fx(:)390
2946 y Fr(gcc)47 b(-o)g(foo)g(foo.c)f(`pkg-config)f(libidn)h(--cflags)g
(--libs`)150 3181 y Fw(2.5)68 b(Auto)t(conf)44 b(tests)150
3341 y Fx(If)25 b(y)m(our)g(pro)5 b(ject)26 b(uses)f(Auto)s(conf)g
(\(see)i Fv(h)p Fx(unde\014ned)p Fv(i)c Fx([top],)28
b(page)e Fv(h)p Fx(unde\014ned)p Fv(i)p Fx(\))e(to)i(c)m(hec)m(k)h(for)
e(installed)150 3450 y(libraries,)38 b(y)m(ou)e(migh)m(t)h(\014nd)d
(the)i(follo)m(wing)i(snipp)s(et)c(illustrativ)m(e.)60
b(It)36 b(add)f(a)h(new)g(`)p Fr(configure)p Fx(')e(pa-)150
3560 y(rameter)d Fr(--with-libidn)p Fx(,)d(and)i(c)m(hec)m(k)j(for)d(`)
p Fr(idna.h)p Fx(')g(and)g(`)p Fr(-lidn)p Fx(')g(\(p)s(ossibly)g(b)s
(elo)m(w)h(the)g(directory)150 3669 y(sp)s(eci\014ed)d(as)i(the)f
(optional)i(argumen)m(t)e(to)h Fr(--with-libidn)p Fx(\),)c(and)j
(de\014ne)f(the)i Fk(CPP)e Fx(sym)m(b)s(ol)h Fr(LIBIDN)150
3779 y Fx(if)37 b(the)f(library)h(is)f(found.)58 b(The)36
b(default)h(b)s(eha)m(viour)f(is)h(to)g(searc)m(h)g(for)g(the)g
(library)f(and)g(enable)h(the)150 3889 y(functionalit)m(y)28
b(\(that)g(is,)g(de\014ne)e(the)h(sym)m(b)s(ol\))f(when)g(the)h
(library)f(is)h(found,)g(but)f(if)g(y)m(ou)h(wish)f(to)i(mak)m(e)150
3998 y(the)k(default)g(b)s(eha)m(viour)g(of)g(y)m(our)g(pac)m(k)-5
b(age)34 b(b)s(e)e(that)g(Libidn)f(is)h(not)g(used)g(\(ev)m(en)h(if)f
(it)g(is)g(installed)h(on)150 4108 y(the)e(system\),)g(c)m(hange)g(`)p
Fr(libidn=yes)p Fx(')d(to)j(`)p Fr(libidn=no)p Fx(')e(on)h(the)h(third)
e(line.)390 4244 y Fr(AC_ARG_WITH\(libidn,)43 b
(AC_HELP_STRING\([--with-)o(lib)o(idn=)o([DIR)o(]],)1917
4354 y([Support)j(IDN)h(\(needs)f(GNU)h(Libidn\)]\),)485
4463 y(libidn=$withval,)d(libidn=yes\))390 4573 y(if)j(test)g
("$libidn")e(!=)i("no";)g(then)485 4682 y(if)h(test)e("$libidn")g(!=)h
("yes";)f(then)581 4792 y(LDFLAGS="${LDFLAGS})c(-L$libidn/lib")581
4902 y(CPPFLAGS="${CPPFLAGS})g(-I$libidn/include")485
5011 y(fi)485 5121 y(AC_CHECK_HEADER\(idna.h,)581 5230
y(AC_CHECK_LIB\(idn,)h(stringprep_check_version)o(,)676
5340 y([libidn=yes)i(LIBS="${LIBS})f(-lidn"],)i(libidn=no\),)p
eop end
%%Page: 12 17
TeXDict begin 12 16 bop 150 -116 a Fx(Chapter)30 b(2:)41
b(Preparation)2573 b(12)581 299 y Fr(libidn=no\))390
408 y(fi)390 518 y(if)47 b(test)g("$libidn")e(!=)i("no")g(;)g(then)485
628 y(AC_DEFINE\(LIBIDN,)d(1,)j([Define)f(to)h(1)g(if)g(you)g(want)g
(IDN)g(support.]\))390 737 y(else)485 847 y(AC_MSG_WARN\([Libidn)c(not)
k(found]\))390 956 y(fi)390 1066 y(AC_MSG_CHECKING\([if)c(Libidn)j
(should)g(be)h(used]\))390 1176 y(AC_MSG_RESULT\($libidn\))275
1345 y Fx(If)36 b(y)m(ou)i(require)f(that)g(y)m(our)g(users)g(ha)m(v)m
(e)h(installed)g Fr(pkg-config)c Fx(\(whic)m(h)k(I)e(cannot)i
(recommend)150 1454 y(generally\),)32 b(the)f(ab)s(o)m(v)m(e)g(can)g(b)
s(e)f(done)g(more)g(easily)i(as)f(follo)m(ws.)390 1624
y Fr(AC_ARG_WITH\(libidn,)43 b(AC_HELP_STRING\([--with-)o(lib)o(idn=)o
([DIR)o(]],)1917 1733 y([Support)j(IDN)h(\(needs)f(GNU)h(Libidn\)]\),)
485 1843 y(libidn=$withval,)d(libidn=yes\))390 1952 y(if)j(test)g
("$libidn")e(!=)i("no")g(;)g(then)485 2062 y
(PKG_CHECK_MODULES\(LIBIDN,)41 b(libidn)46 b(>=)i(0.0.0,)e
([libidn=yes],)e([libidn=no]\))485 2172 y(if)k(test)e("$libidn")g(!=)h
("yes")f(;)i(then)581 2281 y(libidn=no)581 2391 y(AC_MSG_WARN\([Libidn)
42 b(not)47 b(found]\))485 2500 y(else)581 2610 y(libidn=yes)581
2720 y(AC_DEFINE\(LIBIDN,)c(1,)k([Define)f(to)h(1)h(if)f(you)g(want)f
(Libidn.]\))485 2829 y(fi)390 2939 y(fi)390 3048 y
(AC_MSG_CHECKING\([if)d(Libidn)j(should)g(be)h(used]\))390
3158 y(AC_MSG_RESULT\($libidn\))150 3443 y Fw(2.6)68
b(Memory)45 b(handling)g(under)f(Windo)l(ws)150 3602
y Fx(Sev)m(eral)i(functions)f(in)g(the)g(library)g(allo)s(cates)i
(memory)-8 b(.)85 b(The)45 b(memory)g(is)g(exp)s(ected)g(to)h(b)s(e)f
(de-)150 3712 y(allo)s(cated)28 b(using)d(the)h Fr(free)e
Fx(function.)39 b(Under)25 b(Windo)m(ws,)i(it)f(is)g(sometimes)h
(necessary)f(to)g(de-allo)s(cate)150 3821 y(memory)32
b(in)g(the)h(same)g(mo)s(dule)e(that)i(allo)s(cated)i(a)d(memory)g
(region.)48 b(The)32 b(reason)g(is)h(that)f(di\013eren)m(t)150
3931 y(mo)s(dules)26 b(use)h(separate)h(heap)f(memory)g(regions.)40
b(T)-8 b(o)28 b(solv)m(e)g(this)f(problem)g(w)m(e)h(pro)m(vide)f(a)g
(function)g(to)150 4040 y(de-allo)s(cate)33 b(memory)d(inside)g(the)h
(library)-8 b(.)275 4210 y(Note)32 b(that)g(w)m(e)g(do)g(not)f
(recommend)h(using)f(this)g(in)m(terface)i(generally)g(if)e(y)m(ou)h
(do)f(not)h(care)g(ab)s(out)150 4319 y(Windo)m(ws)e(p)s(ortabilit)m(y)
-8 b(.)150 4604 y Fw(2.7)68 b(Header)46 b(\014le)f Fj(idn-free.h)150
4763 y Fx(T)-8 b(o)39 b(use)f(the)h(function)f(explained)h(in)f(this)h
(c)m(hapter,)i(y)m(ou)e(need)f(to)i(include)e(the)h(\014le)f(`)p
Fr(idn-free.h)p Fx(')150 4873 y(using:)390 5042 y Fr(#include)46
b(<idn-free.h>)150 5327 y Fw(2.8)68 b(Memory)45 b(de-allo)t(cation)i
(function)p eop end
%%Page: 13 18
TeXDict begin 13 17 bop 150 -116 a Fx(Chapter)30 b(2:)41
b(Preparation)2573 b(13)150 299 y Fq(idn)p 329 299 37
5 v 54 w(free)3350 496 y Fx([F)-8 b(unction])-3599 b
Fp(void)54 b(idn_free)47 b Fo(\()p Fn(v)m(oid)32 b(*)e
Fm(ptr)12 b Fo(\))390 605 y Fn(ptr)7 b Fx(:)40 b(memory)30
b(region)h(to)g(deallo)s(cate,)i(or)d Fr(NULL)p Fx(.)390
740 y(Deallo)s(cates)42 b(memory)d(region)g(b)m(y)g(calling)h
Fr(free\(\))p Fx(.)65 b(If)38 b Fr(ptr)g Fx(is)h Fr(NULL)f
Fx(no)g(op)s(eration)i(is)f(p)s(er-)390 849 y(formed.)390
984 y(Normally)i(applications)g(de-allo)s(cate)i(strings)d(allo)s
(cated)i(b)m(y)e(libidn)f(b)m(y)h(calling)i Fr(free\(\))c
Fx(di-)390 1093 y(rectly)-8 b(.)76 b(Under)41 b(Windo)m(ws,)k
(di\013eren)m(t)d(parts)f(of)h(the)g(same)g(application)h(ma)m(y)f(use)
f(di\013eren)m(t)390 1203 y(heap)d(memory)-8 b(,)40 b(and)e(then)f(it)i
(is)f(imp)s(ortan)m(t)g(to)h(deallo)s(cate)h(memory)e(allo)s(cated)i
(within)e(the)390 1313 y(same)31 b(mo)s(dule)e(that)i(allo)s(cated)i
(it.)41 b(This)30 b(function)g(mak)m(es)h(that)g(p)s(ossible.)p
eop end
%%Page: 14 19
TeXDict begin 14 18 bop 150 -116 a Fx(Chapter)30 b(3:)41
b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(14)150 299 y
Fu(3)80 b(Utilit)l(y)53 b(F)-13 b(unctions)150 540 y
Fx(The)37 b(rest)g(of)h(this)f(library)g(mak)m(es)h(extensiv)m(e)g(use)
f(of)h(Unico)s(de)f(c)m(haracters.)63 b(In)37 b(order)f(to)i(in)m
(terface)150 649 y(this)g(library)g(with)g(the)h(outside)f(w)m(orld,)i
(y)m(our)f(application)g(ma)m(y)g(need)f(to)h(mak)m(e)g(v)-5
b(arious)39 b(Unico)s(de)150 759 y(transformations.)150
994 y Fw(3.1)68 b(Header)46 b(\014le)f Fj(stringprep.h)150
1154 y Fx(T)-8 b(o)30 b(use)f(the)g(functions)g(explained)h(in)f(this)g
(c)m(hapter,)h(y)m(ou)g(need)f(to)h(include)f(the)g(\014le)h(`)p
Fr(stringprep.h)p Fx(')150 1263 y(using:)390 1400 y Fr(#include)46
b(<stringprep.h>)150 1636 y Fw(3.2)68 b(Unico)t(de)45
b(Enco)t(ding)g(T)-11 b(ransformation)150 1860 y Fq(stringprep)p
710 1860 37 5 v 55 w(unic)m(har)p 1165 1860 V 54 w(to)p
1328 1860 V 54 w(utf8)3350 2059 y Fx([F)j(unction])-3599
b Fp(int)53 b(stringprep_unichar_to)q(_utf)q(8)f Fo(\()p
Fn(uin)m(t32)p 2055 2059 28 4 v 41 w(t)31 b Fm(c)12 b
Fn(,)30 b(c)m(har)h(*)f Fm(outbuf)12 b Fo(\))390 2169
y Fn(c)6 b Fx(:)41 b(a)30 b(ISO10646)i(c)m(haracter)g(co)s(de)390
2305 y Fn(outbuf)17 b Fx(:)47 b(output)34 b(bu\013er,)g(m)m(ust)g(ha)m
(v)m(e)h(at)g(least)g(6)f(b)m(ytes)h(of)f(space.)52 b(If)33
b Fr(NULL)p Fx(,)h(the)g(length)h(will)390 2415 y(b)s(e)30
b(computed)g(and)g(returned)f(and)h(nothing)g(will)h(b)s(e)e(written)i
(to)g Fr(outbuf)p Fx(.)390 2551 y(Con)m(v)m(erts)g(a)g(single)g(c)m
(haracter)h(to)f(UTF-8.)390 2688 y Fl(Return)f(v)-5 b(alue:)41
b Fx(n)m(um)m(b)s(er)29 b(of)i(b)m(ytes)g(written.)150
2890 y Fq(stringprep)p 710 2890 37 5 v 55 w(utf8)p 979
2890 V 55 w(to)p 1143 2890 V 54 w(unic)m(har)3350 3089
y Fx([F)-8 b(unction])-3599 b Fp(uint32_t)55 b(stringprep_utf8_to_unic)
q(har)d Fo(\()p Fn(const)31 b(c)m(har)g(*)g Fm(p)12 b
Fo(\))390 3198 y Fn(p)s Fx(:)40 b(a)31 b(p)s(oin)m(ter)f(to)h(Unico)s
(de)g(c)m(haracter)h(enco)s(ded)e(as)g(UTF-8)390 3335
y(Con)m(v)m(erts)d(a)g(sequence)g(of)g(b)m(ytes)g(enco)s(ded)f(as)g
(UTF-8)i(to)f(a)g(Unico)s(de)f(c)m(haracter.)41 b(If)26
b Fr(p)h Fx(do)s(es)f(not)390 3444 y(p)s(oin)m(t)k(to)h(a)g(v)-5
b(alid)31 b(UTF-8)g(enco)s(ded)f(c)m(haracter,)i(results)f(are)f
(unde\014ned.)390 3581 y Fl(Return)g(v)-5 b(alue:)41
b Fx(the)31 b(resulting)f(c)m(haracter.)150 3782 y Fq(stringprep)p
710 3782 V 55 w(ucs4)p 997 3782 V 55 w(to)p 1161 3782
V 54 w(utf8)3350 3981 y Fx([F)-8 b(unction])-3599 b Fp(char)54
b(*)e(stringprep_ucs4_to_utf)q(8)g Fo(\()p Fn(const)31
b(uin)m(t32)p 2293 3981 28 4 v 41 w(t)f(*)h Fm(str)12
b Fn(,)31 b(ssize)p 2876 3981 V 41 w(t)g Fm(len)12 b
Fn(,)565 4091 y(size)p 712 4091 V 41 w(t)31 b(*)f Fm(items_read)12
b Fn(,)34 b(size)p 1626 4091 V 40 w(t)d(*)g Fm(items_written)12
b Fo(\))390 4201 y Fn(str)7 b Fx(:)40 b(a)31 b(UCS-4)f(enco)s(ded)g
(string)390 4337 y Fn(len)p Fx(:)39 b(the)27 b(maxim)m(um)f(length)h
(of)g Fr(str)f Fx(to)h(use.)39 b(If)26 b Fr(len)g(<)g
Fx(0,)i(then)e(the)h(string)g(is)f(terminated)h(with)390
4447 y(a)k(0)g(c)m(haracter.)390 4584 y Fn(items)p 608
4584 V 41 w(read)t Fx(:)40 b(lo)s(cation)32 b(to)f(store)g(n)m(um)m(b)s
(er)e(of)h(c)m(haracters)i(read)f(read,)f(or)g Fr(NULL)p
Fx(.)390 4720 y Fn(items)p 608 4720 V 41 w(written)p
Fx(:)57 b(lo)s(cation)41 b(to)e(store)g(n)m(um)m(b)s(er)f(of)h(b)m
(ytes)g(written)g(or)g Fr(NULL)p Fx(.)65 b(The)38 b(v)-5
b(alue)39 b(here)390 4830 y(stored)30 b(do)s(es)h(not)f(include)g(the)h
(trailing)g(0)g(b)m(yte.)390 4966 y(Con)m(v)m(ert)h(a)g(string)f(from)g
(a)g(32-bit)i(\014xed)d(width)h(represen)m(tation)h(as)g(UCS-4.)43
b(to)32 b(UTF-8.)44 b(The)390 5076 y(result)30 b(will)h(b)s(e)f
(terminated)h(with)f(a)g(0)h(b)m(yte.)390 5213 y Fl(Return)42
b(v)-5 b(alue:)66 b Fx(a)43 b(p)s(oin)m(ter)f(to)i(a)f(newly)f(allo)s
(cated)i(UTF-8)g(string.)77 b(This)42 b(v)-5 b(alue)43
b(m)m(ust)g(b)s(e)390 5322 y(deallo)s(cated)32 b(b)m(y)f(the)f(caller.)
42 b(If)30 b(an)g(error)g(o)s(ccurs,)h Fr(NULL)e Fx(will)i(b)s(e)e
(returned)g(and)h Fr(error)f Fx(set.)p eop end
%%Page: 15 20
TeXDict begin 15 19 bop 150 -116 a Fx(Chapter)30 b(3:)41
b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(15)150 299 y
Fq(stringprep)p 710 299 37 5 v 55 w(utf8)p 979 299 V
55 w(to)p 1143 299 V 54 w(ucs4)3350 522 y Fx([F)-8 b(unction])-3599
b Fp(uint32_t)55 b(*)d(stringprep_utf8_to_uc)q(s4)g Fo(\()p
Fn(const)31 b(c)m(har)g(*)g Fm(str)12 b Fn(,)31 b(ssize)p
2930 522 28 4 v 40 w(t)565 632 y Fm(len)12 b Fn(,)31
b(size)p 936 632 V 41 w(t)g(*)f Fm(items_written)12 b
Fo(\))390 741 y Fn(str)7 b Fx(:)40 b(a)31 b(UTF-8)g(enco)s(ded)f
(string)390 902 y Fn(len)p Fx(:)40 b(the)28 b(maxim)m(um)g(length)h(of)
f Fr(str)g Fx(to)g(use.)40 b(If)28 b Fr(len)f(<)h Fx(0,)h(then)f(the)h
(string)f(is)g(n)m(ul-terminated.)390 1063 y Fn(items)p
608 1063 V 41 w(written)p Fx(:)40 b(lo)s(cation)32 b(to)f(store)g(the)g
(n)m(um)m(b)s(er)e(of)i(c)m(haracters)g(in)g(the)f(result,)h(or)f
Fr(NULL)p Fx(.)390 1224 y(Con)m(v)m(ert)d(a)f(string)g(from)f(UTF-8)i
(to)g(a)f(32-bit)i(\014xed)d(width)g(represen)m(tation)i(as)f(UCS-4,)h
(assum-)390 1333 y(ing)k(v)-5 b(alid)30 b(UTF-8)h(input.)40
b(This)30 b(function)g(do)s(es)g(no)g(error)g(c)m(hec)m(king)i(on)f
(the)f(input.)390 1494 y Fl(Return)43 b(v)-5 b(alue:)66
b Fx(a)44 b(p)s(oin)m(ter)f(to)h(a)f(newly)g(allo)s(cated)i(UCS-4)f
(string.)79 b(This)42 b(v)-5 b(alue)44 b(m)m(ust)f(b)s(e)390
1604 y(deallo)s(cated)32 b(b)m(y)f(the)f(caller.)150
1876 y Fw(3.3)68 b(Unico)t(de)45 b(Normalization)150
2100 y Fq(stringprep)p 710 2100 37 5 v 55 w(ucs4)p 997
2100 V 55 w(nfk)m(c)p 1274 2100 V 53 w(normalize)3350
2323 y Fx([F)-8 b(unction])-3599 b Fp(uint32_t)55 b(*)d
(stringprep_ucs4_nfkc_)q(nor)q(mal)q(ize)g Fo(\()p Fn(uin)m(t32)p
2630 2323 28 4 v 41 w(t)31 b(*)g Fm(str)12 b Fn(,)565
2433 y(ssize)p 748 2433 V 41 w(t)31 b Fm(len)12 b Fo(\))390
2542 y Fn(str)7 b Fx(:)40 b(a)31 b(Unico)s(de)f(string.)390
2703 y Fn(len)p Fx(:)41 b(length)31 b(of)f Fr(str)g Fx(arra)m(y)-8
b(,)31 b(or)g(-1)g(if)f Fr(str)f Fx(is)i(n)m(ul-terminated.)390
2864 y(Con)m(v)m(erts)g(UCS4)f(string)h(in)m(to)g(UTF-8)g(and)f(runs)f
Fr(stringprep_utf8_nfkc_no)o(rmal)o(ize)o(\(\))p Fx(.)390
3025 y Fl(Return)j(v)-5 b(alue:)45 b Fx(a)33 b(newly)f(allo)s(cated)i
(Unico)s(de)f(string,)g(that)g(is)f(the)h(NFK)m(C)g(normalized)f(form)
390 3134 y(of)f Fr(str)p Fx(.)150 3360 y Fq(stringprep)p
710 3360 37 5 v 55 w(utf8)p 979 3360 V 55 w(nfk)m(c)p
1256 3360 V 54 w(normalize)3350 3583 y Fx([F)-8 b(unction])-3599
b Fp(char)54 b(*)e(stringprep_utf8_nfkc_n)q(orm)q(ali)q(ze)g
Fo(\()p Fn(const)31 b(c)m(har)g(*)f Fm(str)12 b Fn(,)31
b(ssize)p 3086 3583 28 4 v 41 w(t)565 3693 y Fm(len)12
b Fo(\))390 3802 y Fn(str)7 b Fx(:)40 b(a)31 b(UTF-8)g(enco)s(ded)f
(string.)390 3963 y Fn(len)p Fx(:)41 b(length)31 b(of)f
Fr(str)p Fx(,)g(in)g(b)m(ytes,)h(or)f(-1)h(if)g Fr(str)e
Fx(is)i(n)m(ul-terminated.)390 4124 y(Con)m(v)m(erts)22
b(a)g(string)f(in)m(to)h(canonical)h(form,)g(standardizing)e(suc)m(h)g
(issues)g(as)g(whether)g(a)g(c)m(haracter)390 4233 y(with)28
b(an)g(accen)m(t)j(is)d(represen)m(ted)g(as)h(a)f(base)h(c)m(haracter)h
(and)e(com)m(bining)g(accen)m(t)j(or)d(as)h(a)f(single)390
4343 y(precomp)s(osed)i(c)m(haracter.)390 4504 y(The)24
b(normalization)h(mo)s(de)f(is)g(NFK)m(C)g(\(ALL)g(COMPOSE\).)g(It)g
(standardizes)g(di\013erences)g(that)390 4614 y(do)38
b(not)h(a\013ect)h(the)e(text)i(con)m(ten)m(t,)i(suc)m(h)d(as)f(the)h
(ab)s(o)m(v)m(e-men)m(tioned)h(accen)m(t)h(represen)m(tation.)390
4723 y(It)35 b(standardizes)h(the)f Fr(")p Fx(compatibilit)m(y)p
Fr(")i Fx(c)m(haracters)g(in)e(Unico)s(de,)i(suc)m(h)e(as)g
(SUPERSCRIPT)390 4833 y(THREE)24 b(to)i(the)f(standard)f(forms)g(\(in)h
(this)g(case)h(DIGIT)f(THREE\).)g(F)-8 b(ormatting)27
b(information)390 4942 y(ma)m(y)38 b(b)s(e)e(lost)i(but)e(for)g(most)i
(text)g(op)s(erations)f(suc)m(h)f(c)m(haracters)j(should)d(b)s(e)g
(considered)h(the)390 5052 y(same.)k(It)30 b(returns)f(a)i(result)f
(with)f(comp)s(osed)h(forms)g(rather)g(than)g(a)g(maximally)h(decomp)s
(osed)390 5161 y(form.)390 5322 y Fl(Return)f(v)-5 b(alue:)41
b Fx(a)31 b(newly)f(allo)s(cated)i(string,)f(that)g(is)f(the)h(NFK)m(C)
g(normalized)f(form)g(of)h Fr(str)p Fx(.)p eop end
%%Page: 16 21
TeXDict begin 16 20 bop 150 -116 a Fx(Chapter)30 b(3:)41
b(Utilit)m(y)32 b(F)-8 b(unctions)2369 b(16)150 299 y
Fw(3.4)68 b(Character)46 b(Set)f(Con)l(v)l(ersion)150
521 y Fq(stringprep)p 710 521 37 5 v 55 w(lo)s(cale)p
1068 521 V 55 w(c)m(harset)3350 715 y Fx([F)-8 b(unction])-3599
b Fp(const)54 b(char)f(*)g(stringprep_locale_char)q(set)f
Fo(\()31 b Fm(void)12 b Fo(\))390 824 y Fx(Find)37 b(out)g(curren)m(t)h
(lo)s(cale)h(c)m(harset.)62 b(The)37 b(function)g(resp)s(ect)h(the)f
(CHARSET)f(en)m(vironmen)m(t)390 934 y(v)-5 b(ariable,)29
b(but)d(t)m(ypically)j(uses)e(nl)p 1557 934 28 4 v 40
w(langinfo\(CODESET\))g(when)f(it)i(is)f(supp)s(orted.)38
b(It)27 b(fall)h(bac)m(k)390 1044 y(on)23 b Fr(")p Fx(ASCI)s(I)p
Fr(")f Fx(if)h(CHARSET)g(isn't)h(set)g(and)f(nl)p 2011
1044 V 40 w(langinfo)h(isn't)f(supp)s(orted)f(or)i(return)e(an)m
(ything.)390 1176 y(Note)28 b(that)g(this)f(function)g(return)f(the)h
(application's)i(lo)s(cale's)g(preferred)d(c)m(harset)i(\(or)f
(thread's)390 1286 y(lo)s(cale's)32 b(pre\013ered)e(c)m(harset,)i(if)e
(y)m(our)h(system)f(supp)s(ort)f(thread-sp)s(eci\014c)h(lo)s(cales\).)
43 b(It)31 b(do)s(es)f(not)390 1396 y(return)24 b(what)i(the)g(system)f
(ma)m(y)h(b)s(e)f(using.)39 b(Th)m(us,)26 b(if)f(y)m(ou)h(receiv)m(e)h
(data)f(from)f(external)i(sources)390 1505 y(y)m(ou)35
b(cannot)g(in)g(general)g(use)g(this)f(function)h(to)g(guess)g(what)f
(c)m(harset)i(it)f(is)g(enco)s(ded)f(in.)54 b(Use)390
1615 y(stringprep)p 802 1615 V 39 w(con)m(v)m(ert)30
b(from)e(the)h(external)h(represen)m(tation)f(in)m(to)h(the)f(c)m
(harset)g(returned)f(b)m(y)g(this)390 1724 y(function,)i(to)h(ha)m(v)m
(e)h(data)f(in)f(the)h(lo)s(cale)h(enco)s(ding.)390 1857
y Fl(Return)23 b(v)-5 b(alue:)37 b Fx(Return)23 b(the)g(c)m(haracter)i
(set)f(used)f(b)m(y)g(the)g(curren)m(t)g(lo)s(cale.)40
b(It)24 b(will)f(nev)m(er)h(return)390 1967 y(NULL,)31
b(but)e(use)h Fr(")p Fx(ASCI)s(I)p Fr(")f Fx(as)h(a)h(fallbac)m(k.)150
2163 y Fq(stringprep)p 710 2163 37 5 v 55 w(con)m(v)m(ert)3350
2356 y Fx([F)-8 b(unction])-3599 b Fp(char)54 b(*)e(stringprep_convert)
f Fo(\()p Fn(const)31 b(c)m(har)g(*)g Fm(str)12 b Fn(,)31
b(const)g(c)m(har)f(*)565 2466 y Fm(to_codeset)12 b Fn(,)33
b(const)e(c)m(har)g(*)g Fm(from_codeset)12 b Fo(\))390
2575 y Fn(str)7 b Fx(:)40 b(input)29 b(zero-terminated)j(string.)390
2708 y Fn(to)p 476 2708 28 4 v 41 w(co)s(deset)r Fx(:)41
b(name)31 b(of)f(destination)i(c)m(haracter)f(set.)390
2841 y Fn(from)p 581 2841 V 40 w(co)s(deset)r Fx(:)41
b(name)31 b(of)f(origin)h(c)m(haracter)h(set,)f(as)g(used)e(b)m(y)i
Fr(str)p Fx(.)390 2974 y(Con)m(v)m(ert)43 b(the)g(string)f(from)g(one)g
(c)m(haracter)i(set)f(to)g(another)f(using)g(the)g(system's)h
Fr(iconv\(\))390 3083 y Fx(function.)390 3216 y Fl(Return)20
b(v)-5 b(alue:)36 b Fx(Returns)20 b(newly)g(allo)s(cated)j
(zero-terminated)f(string)f(whic)m(h)f(is)h Fr(str)e
Fx(transco)s(ded)390 3326 y(in)m(to)31 b(to)p 660 3326
V 41 w(co)s(deset.)150 3522 y Fq(stringprep)p 710 3522
37 5 v 55 w(lo)s(cale)p 1068 3522 V 55 w(to)p 1232 3522
V 54 w(utf8)3350 3715 y Fx([F)-8 b(unction])-3599 b Fp(char)54
b(*)e(stringprep_locale_to_u)q(tf8)g Fo(\()p Fn(const)31
b(c)m(har)g(*)g Fm(str)12 b Fo(\))390 3825 y Fn(str)7
b Fx(:)40 b(input)29 b(zero)j(terminated)e(string.)390
3958 y(Con)m(v)m(ert)24 b(string)f(enco)s(ded)g(in)g(the)g(lo)s(cale's)
i(c)m(haracter)g(set)f(in)m(to)g(UTF-8)g(b)m(y)f(using)g
Fr(stringprep_)390 4067 y(convert\(\))p Fx(.)390 4200
y Fl(Return)d(v)-5 b(alue:)36 b Fx(Returns)20 b(newly)g(allo)s(cated)j
(zero-terminated)f(string)f(whic)m(h)f(is)h Fr(str)e
Fx(transco)s(ded)390 4310 y(in)m(to)31 b(UTF-8.)150 4506
y Fq(stringprep)p 710 4506 V 55 w(utf8)p 979 4506 V 55
w(to)p 1143 4506 V 54 w(lo)s(cale)3350 4699 y Fx([F)-8
b(unction])-3599 b Fp(char)54 b(*)e(stringprep_utf8_to_loc)q(ale)g
Fo(\()p Fn(const)31 b(c)m(har)g(*)g Fm(str)12 b Fo(\))390
4809 y Fn(str)7 b Fx(:)40 b(input)29 b(zero)j(terminated)e(string.)390
4941 y(Con)m(v)m(ert)24 b(string)f(enco)s(ded)g(in)g(UTF-8)h(in)m(to)g
(the)g(lo)s(cale's)h(c)m(haracter)f(set)g(b)m(y)f(using)g
Fr(stringprep_)390 5051 y(convert\(\))p Fx(.)390 5184
y Fl(Return)d(v)-5 b(alue:)36 b Fx(Returns)20 b(newly)g(allo)s(cated)j
(zero-terminated)f(string)f(whic)m(h)f(is)h Fr(str)e
Fx(transco)s(ded)390 5293 y(in)m(to)31 b(the)g(lo)s(cale's)h(c)m
(haracter)g(set.)p eop end
%%Page: 17 22
TeXDict begin 17 21 bop 150 -116 a Fx(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(17)150 299 y
Fu(4)80 b(Stringprep)52 b(F)-13 b(unctions)150 537 y
Fx(Stringprep)23 b(describ)s(es)i(a)g(framew)m(ork)g(for)f(preparing)g
(Unico)s(de)h(text)h(strings)f(in)f(order)h(to)g(increase)h(the)150
646 y(lik)m(eliho)s(o)s(d)i(that)f(string)g(input)e(and)i(string)f
(comparison)h(w)m(ork)g(in)f(w)m(a)m(ys)i(that)f(mak)m(e)h(sense)f(for)
f(t)m(ypical)150 756 y(users)i(throughout)g(the)h(w)m(orld.)40
b(The)28 b(stringprep)g(proto)s(col)i(is)e(useful)g(for)h(proto)s(col)g
(iden)m(ti\014er)g(v)-5 b(alues,)150 865 y(compan)m(y)31
b(and)f(p)s(ersonal)f(names,)i(in)m(ternationalized)i(domain)d(names,)g
(and)g(other)h(text)g(strings.)150 1100 y Fw(4.1)68 b(Header)46
b(\014le)f Fj(stringprep.h)150 1259 y Fx(T)-8 b(o)30
b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)h(y)m(ou)
g(need)f(to)h(include)f(the)g(\014le)h(`)p Fr(stringprep.h)p
Fx(')150 1369 y(using:)390 1504 y Fr(#include)46 b(<stringprep.h>)150
1739 y Fw(4.2)68 b(De\014ning)45 b(A)g(Stringprep)f(Pro\014le)150
1898 y Fx(F)-8 b(urther)38 b(t)m(yp)s(es)h(and)g(structures)f(are)h
(de\014ned)e(for)i(applications)h(that)f(w)m(an)m(t)h(to)g(sp)s(ecify)e
(their)h(o)m(wn)150 2008 y(stringprep)e(pro\014le.)63
b(As)38 b(these)g(are)h(fairly)f(obscure,)i(and)d(b)m(y)h(necessit)m(y)
h(tied)g(to)f(the)h(implemen)m(ta-)150 2117 y(tion,)f(w)m(e)e(do)g(not)
g(do)s(cumen)m(t)g(them)g(here.)57 b(Lo)s(ok)36 b(in)m(to)h(the)f(`)p
Fr(stringprep.h)p Fx(')d(header)j(\014le,)h(and)f(the)150
2227 y(`)p Fr(profiles.c)p Fx(')28 b(source)j(co)s(de)f(for)g(the)h
(details.)150 2461 y Fw(4.3)68 b(Con)l(trol)46 b(Flags)3072
2671 y Fx([Stringprep)29 b(\015ags])-3599 b Fp(Stringprep_profile_fla)q
(gs)59 b(STRINGPREP_NO_NFKC)390 2781 y Fx(Disable)42
b(the)g(NFK)m(C)g(normalization,)k(as)41 b(w)m(ell)i(as)e(selecting)i
(the)f(non-NFK)m(C)f(case)i(folding)390 2891 y(tables.)d(Usually)25
b(the)h(pro\014le)f(sp)s(eci\014es)g(BIDI)g(and)g(NFK)m(C)g(settings,)j
(and)d(applications)h(should)390 3000 y(not)31 b(o)m(v)m(erride)g(it)g
(unless)f(in)g(sp)s(ecial)h(situations.)3072 3187 y([Stringprep)e
(\015ags])-3599 b Fp(Stringprep_profile_fla)q(gs)59 b
(STRINGPREP_NO_BIDI)390 3297 y Fx(Disable)39 b(the)f(BIDI)g(step.)62
b(Usually)38 b(the)g(pro\014le)f(sp)s(eci\014es)h(BIDI)g(and)f(NFK)m(C)
h(settings,)j(and)390 3406 y(applications)32 b(should)d(not)i(o)m(v)m
(erride)g(it)g(unless)f(in)g(sp)s(ecial)h(situations.)3072
3593 y([Stringprep)e(\015ags])-3599 b Fp(Stringprep_profile_fla)q(gs)59
b(STRINGPREP_NO_UNASSIGNE)q(D)390 3702 y Fx(Mak)m(e)28
b(the)e(library)g(return)e(with)i(an)g(error)g(if)g(string)g(con)m
(tains)h(unassigned)e(c)m(haracters)j(accord-)390 3812
y(ing)j(to)g(pro\014le.)150 4046 y Fw(4.4)68 b(Core)46
b(F)-11 b(unctions)150 4270 y Fq(stringprep)p 710 4270
37 5 v 55 w(4i)3350 4468 y Fx([F)j(unction])-3599 b Fp(int)53
b(stringprep_4i)d Fo(\()p Fn(uin)m(t32)p 1375 4468 28
4 v 41 w(t)31 b(*)f Fm(ucs4)12 b Fn(,)32 b(size)p 1975
4468 V 41 w(t)e(*)h Fm(len)12 b Fn(,)31 b(size)p 2522
4468 V 41 w(t)g Fm(maxucs4len)12 b Fn(,)565 4578 y(Stringprep)p
992 4578 V 39 w(pro\014le)p 1279 4578 V 40 w(\015ags)30
b Fm(flags)12 b Fn(,)32 b(const)f(Stringprep)p 2514 4578
V 38 w(pro\014le)f(*)h Fm(profile)12 b Fo(\))390 4688
y Fn(ucs4)7 b Fx(:)41 b(input/output)30 b(arra)m(y)h(with)f(string)g
(to)h(prepare.)390 4823 y Fn(len)p Fx(:)63 b(on)41 b(input,)i(length)f
(of)f(input)g(arra)m(y)h(with)f(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts,)i
(on)d(exit,)k(length)d(of)390 4933 y(output)30 b(arra)m(y)h(with)f
(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)390 5069 y Fn(maxucs4len)p
Fx(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
b(.)390 5204 y Fn(\015ags)t Fx(:)41 b(a)30 b Fr
(Stringprep_profile_flags)24 b Fx(v)-5 b(alue,)31 b(or)g(0.)390
5340 y Fn(pro\014le)5 b Fx(:)40 b(p)s(oin)m(ter)31 b(to)g
Fr(Stringprep_profile)25 b Fx(to)31 b(use.)p eop end
%%Page: 18 23
TeXDict begin 18 22 bop 150 -116 a Fx(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(18)390 299 y(Prepare)35
b(the)h(input)f(UCS-4)h(string)g(according)g(to)h(the)f(stringprep)e
(pro\014le,)j(and)e(write)h(bac)m(k)390 408 y(the)31
b(result)f(to)h(the)g(input)e(string.)390 548 y(The)36
b(input)g(is)h(not)h(required)e(to)h(b)s(e)g(zero)h(terminated)f(\()p
Fr(ucs4)p Fx([)p Fr(len)p Fx(])f(=)g(0\).)62 b(The)36
b(output)h(will)390 657 y(not)28 b(b)s(e)g(zero)h(terminated)f(unless)g
Fr(ucs4)p Fx([)p Fr(len)p Fx(])e(=)i(0.)40 b(Instead,)29
b(see)f Fr(stringprep_4zi\(\))c Fx(if)k(y)m(our)390 767
y(input)h(is)i(zero)g(terminated)g(or)f(if)h(y)m(ou)f(w)m(an)m(t)i(the)
e(output)g(to)h(b)s(e.)390 906 y(Since)c(the)h(stringprep)f(op)s
(eration)h(can)f(expand)g(the)h(string,)g Fr(maxucs4len)d
Fx(indicate)j(ho)m(w)g(large)390 1016 y(the)35 b(bu\013er)e(holding)i
(the)g(string)f(is.)53 b(This)34 b(function)g(will)h(not)g(read)g(or)f
(write)h(to)g(co)s(de)g(p)s(oin)m(ts)390 1125 y(outside)c(that)g(size.)
390 1265 y(The)f Fr(flags)f Fx(are)i(one)f(of)h Fr
(Stringprep_profile_flag)o(s)25 b Fx(v)-5 b(alues,)30
b(or)h(0.)390 1404 y(The)f Fr(profile)f Fx(con)m(tain)k(the)e
Fr(Stringprep_profile)26 b Fx(instructions)k(to)i(p)s(erform.)41
b(Y)-8 b(our)31 b(appli-)390 1513 y(cation)41 b(can)g(de\014ne)e(new)g
(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i(generic)g(stringprep)e
(tables)h(that)390 1623 y(alw)m(a)m(ys)32 b(will)f(b)s(e)e(part)i(of)f
(the)h(library)-8 b(,)30 b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f
(supp)s(orted)e(pro\014les.)390 1762 y Fl(Return)21 b(v)-5
b(alue:)36 b Fx(Returns)20 b Fr(STRINGPREP_OK)e Fx(i\013)j(successful,)
i(or)e(an)f Fr(Stringprep_rc)e Fx(error)i(co)s(de.)150
1966 y Fq(stringprep)p 710 1966 37 5 v 55 w(4zi)3350
2168 y Fx([F)-8 b(unction])-3599 b Fp(int)53 b(stringprep_4zi)d
Fo(\()p Fn(uin)m(t32)p 1427 2168 28 4 v 41 w(t)31 b(*)g
Fm(ucs4)12 b Fn(,)31 b(size)p 2027 2168 V 41 w(t)g Fm(maxucs4len)12
b Fn(,)565 2277 y(Stringprep)p 992 2277 V 39 w(pro\014le)p
1279 2277 V 40 w(\015ags)30 b Fm(flags)12 b Fn(,)32 b(const)f
(Stringprep)p 2514 2277 V 38 w(pro\014le)f(*)h Fm(profile)12
b Fo(\))390 2387 y Fn(ucs4)7 b Fx(:)41 b(input/output)30
b(arra)m(y)h(with)f(zero)h(terminated)g(string)f(to)h(prepare.)390
2526 y Fn(maxucs4len)p Fx(:)41 b(maxim)m(um)30 b(length)h(of)g
(input/output)e(arra)m(y)-8 b(.)390 2665 y Fn(\015ags)t
Fx(:)41 b(a)30 b Fr(Stringprep_profile_flags)24 b Fx(v)-5
b(alue,)31 b(or)g(0.)390 2805 y Fn(pro\014le)5 b Fx(:)40
b(p)s(oin)m(ter)31 b(to)g Fr(Stringprep_profile)25 b
Fx(to)31 b(use.)390 2944 y(Prepare)i(the)g(input)f(zero)i(terminated)g
(UCS-4)f(string)g(according)h(to)g(the)f(stringprep)f(pro\014le,)390
3053 y(and)e(write)g(bac)m(k)h(the)g(result)f(to)h(the)g(input)e
(string.)390 3193 y(Since)e(the)h(stringprep)f(op)s(eration)h(can)f
(expand)g(the)h(string,)g Fr(maxucs4len)d Fx(indicate)j(ho)m(w)g(large)
390 3302 y(the)35 b(bu\013er)e(holding)i(the)g(string)f(is.)53
b(This)34 b(function)g(will)h(not)g(read)g(or)f(write)h(to)g(co)s(de)g
(p)s(oin)m(ts)390 3412 y(outside)c(that)g(size.)390 3551
y(The)f Fr(flags)f Fx(are)i(one)f(of)h Fr(Stringprep_profile_flag)o(s)
25 b Fx(v)-5 b(alues,)30 b(or)h(0.)390 3690 y(The)f Fr(profile)f
Fx(con)m(tain)k(the)e Fr(Stringprep_profile)26 b Fx(instructions)k(to)i
(p)s(erform.)41 b(Y)-8 b(our)31 b(appli-)390 3800 y(cation)41
b(can)g(de\014ne)e(new)g(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i
(generic)g(stringprep)e(tables)h(that)390 3910 y(alw)m(a)m(ys)32
b(will)f(b)s(e)e(part)i(of)f(the)h(library)-8 b(,)30
b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f(supp)s(orted)e
(pro\014les.)390 4049 y Fl(Return)21 b(v)-5 b(alue:)36
b Fx(Returns)20 b Fr(STRINGPREP_OK)e Fx(i\013)j(successful,)i(or)e(an)f
Fr(Stringprep_rc)e Fx(error)i(co)s(de.)150 4253 y Fq(stringprep)3350
4454 y Fx([F)-8 b(unction])-3599 b Fp(int)53 b(stringprep)c
Fo(\()p Fn(c)m(har)31 b(*)g Fm(in)12 b Fn(,)30 b(size)p
1557 4454 V 41 w(t)h Fm(maxlen)12 b Fn(,)32 b(Stringprep)p
2466 4454 V 38 w(pro\014le)p 2752 4454 V 40 w(\015ags)565
4564 y Fm(flags)12 b Fn(,)32 b(const)f(Stringprep)p 1559
4564 V 38 w(pro\014le)f(*)h Fm(profile)12 b Fo(\))390
4673 y Fn(in)p Fx(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f
(to)h(prepare.)390 4813 y Fn(maxlen)p Fx(:)41 b(maxim)m(um)30
b(length)h(of)g(input/output)e(arra)m(y)-8 b(.)390 4952
y Fn(\015ags)t Fx(:)41 b(a)30 b Fr(Stringprep_profile_flags)24
b Fx(v)-5 b(alue,)31 b(or)g(0.)390 5091 y Fn(pro\014le)5
b Fx(:)40 b(p)s(oin)m(ter)31 b(to)g Fr(Stringprep_profile)25
b Fx(to)31 b(use.)390 5230 y(Prepare)h(the)h(input)e(zero)i(terminated)
g(UTF-8)g(string)f(according)h(to)g(the)g(stringprep)e(pro\014le,)390
5340 y(and)f(write)g(bac)m(k)h(the)g(result)f(to)h(the)g(input)e
(string.)p eop end
%%Page: 19 24
TeXDict begin 19 23 bop 150 -116 a Fx(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(19)390 299 y(Note)34
b(that)f(y)m(ou)g(m)m(ust)g(con)m(v)m(ert)h(strings)e(en)m(tered)h(in)g
(the)f(systems)h(lo)s(cale)h(in)m(to)g(UTF-8)f(b)s(efore)390
408 y(using)d(this)g(function,)g(see)h Fr(stringprep_locale_to_utf8\()o
(\))p Fx(.)390 541 y(Since)g(the)f(stringprep)g(op)s(eration)h(can)g
(expand)f(the)h(string,)g Fr(maxlen)e Fx(indicate)i(ho)m(w)g(large)h
(the)390 651 y(bu\013er)27 b(holding)g(the)h(string)g(is.)40
b(This)27 b(function)g(will)h(not)g(read)f(or)h(write)g(to)h(c)m
(haracters)g(outside)390 760 y(that)i(size.)390 893 y(The)f
Fr(flags)f Fx(are)i(one)f(of)h Fr(Stringprep_profile_flag)o(s)25
b Fx(v)-5 b(alues,)30 b(or)h(0.)390 1026 y(The)f Fr(profile)f
Fx(con)m(tain)k(the)e Fr(Stringprep_profile)26 b Fx(instructions)k(to)i
(p)s(erform.)41 b(Y)-8 b(our)31 b(appli-)390 1135 y(cation)41
b(can)g(de\014ne)e(new)g(pro\014les,)k(p)s(ossibly)c(re-using)g(the)i
(generic)g(stringprep)e(tables)h(that)390 1245 y(alw)m(a)m(ys)32
b(will)f(b)s(e)e(part)i(of)f(the)h(library)-8 b(,)30
b(or)h(use)f(one)g(of)h(the)g(curren)m(tly)f(supp)s(orted)e
(pro\014les.)390 1377 y Fl(Return)i(v)-5 b(alue:)41 b
Fx(Returns)30 b Fr(STRINGPREP_OK)c Fx(i\013)31 b(successful,)f(or)h(an)
f(error)g(co)s(de.)150 1573 y Fq(stringprep)p 710 1573
37 5 v 55 w(pro\014le)3350 1766 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(stringprep_profile)e Fo(\()p Fn(const)31
b(c)m(har)g(*)g Fm(in)12 b Fn(,)31 b(c)m(har)f(**)i Fm(out)12
b Fn(,)31 b(const)f(c)m(har)h(*)565 1876 y Fm(profile)12
b Fn(,)32 b(Stringprep)p 1425 1876 28 4 v 39 w(pro\014le)p
1712 1876 V 40 w(\015ags)e Fm(flags)12 b Fo(\))390 1985
y Fn(in)p Fx(:)40 b(input)30 b(arra)m(y)h(with)f(UTF-8)h(string)f(to)h
(prepare.)390 2118 y Fn(out)r Fx(:)41 b(output)30 b(v)-5
b(ariable)31 b(with)f(p)s(oin)m(ter)h(to)g(newly)f(allo)s(cate)j
(string.)390 2250 y Fn(pro\014le)5 b Fx(:)40 b(name)31
b(of)f(stringprep)g(pro\014le)g(to)h(use.)390 2383 y
Fn(\015ags)t Fx(:)41 b(a)30 b Fr(Stringprep_profile_flags)24
b Fx(v)-5 b(alue,)31 b(or)g(0.)390 2516 y(Prepare)h(the)h(input)e(zero)
i(terminated)g(UTF-8)g(string)f(according)h(to)g(the)g(stringprep)e
(pro\014le,)390 2625 y(and)f(return)f(the)i(result)f(in)g(a)h(newly)f
(allo)s(cated)i(v)-5 b(ariable.)390 2758 y(Note)34 b(that)f(y)m(ou)g(m)
m(ust)g(con)m(v)m(ert)h(strings)e(en)m(tered)h(in)g(the)f(systems)h(lo)
s(cale)h(in)m(to)g(UTF-8)f(b)s(efore)390 2868 y(using)d(this)g
(function,)g(see)h Fr(stringprep_locale_to_utf8\()o(\))p
Fx(.)390 3000 y(The)f(output)g Fr(out)f Fx(v)-5 b(ariable)31
b(m)m(ust)g(b)s(e)e(deallo)s(cated)k(b)m(y)d(the)h(caller.)390
3133 y(The)f Fr(flags)f Fx(are)i(one)f(of)h Fr(Stringprep_profile_flag)
o(s)25 b Fx(v)-5 b(alues,)30 b(or)h(0.)390 3266 y(The)k
Fr(profile)f Fx(sp)s(eci\014es)i(the)g(name)g(of)g(the)g(stringprep)f
(pro\014le)g(to)i(use.)57 b(It)36 b(m)m(ust)f(b)s(e)h(one)g(of)390
3375 y(the)31 b(in)m(ternally)g(supp)s(orted)d(stringprep)i
(pro\014les.)390 3508 y Fl(Return)g(v)-5 b(alue:)41 b
Fx(Returns)30 b Fr(STRINGPREP_OK)c Fx(i\013)31 b(successful,)f(or)h(an)
f(error)g(co)s(de.)150 3737 y Fw(4.5)68 b(Error)45 b(Handling)150
3959 y Fq(stringprep)p 710 3959 37 5 v 55 w(strerror)3350
4152 y Fx([F)-8 b(unction])-3599 b Fp(const)54 b(char)f(*)g
(stringprep_strerror)e Fo(\()p Fn(Stringprep)p 2331 4152
28 4 v 39 w(rc)31 b Fm(rc)12 b Fo(\))390 4261 y Fn(rc)6
b Fx(:)40 b(a)31 b Fr(Stringprep_rc)c Fx(return)i(co)s(de.)390
4394 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g
(text)h(string.)51 b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h
(output)g(a)390 4504 y(diagnostic)e(message)f(to)g(the)g(user.)390
4636 y Fl(STRINGPREP)p 1010 4636 28 5 v 40 w(OK:)23 b
Fx(Successful)f(op)s(eration.)39 b(This)22 b(v)-5 b(alue)23
b(is)f(guaran)m(teed)i(to)f(alw)m(a)m(ys)h(b)s(e)e(zero,)390
4746 y(the)h(remaining)f(ones)h(are)g(only)g(guaran)m(teed)g(to)g(hold)
g(non-zero)g(v)-5 b(alues,)24 b(for)f(logical)i(comparison)390
4856 y(purp)s(oses.)390 4988 y Fl(STRINGPREP)p 1010 4988
V 40 w(CONT)-8 b(AINS)p 1537 4988 V 41 w(UNASSIGNED:)61
b Fx(String)g(con)m(tain)j(unassigned)d(Unico)s(de)390
5098 y(co)s(de)31 b(p)s(oin)m(ts,)f(whic)m(h)g(is)h(forbidden)d(b)m(y)j
(the)f(pro\014le.)390 5230 y Fl(STRINGPREP)p 1010 5230
V 40 w(CONT)-8 b(AINS)p 1537 5230 V 41 w(PR)m(OHIBITED:)38
b Fx(String)g(con)m(tain)i(co)s(de)e(p)s(oin)m(ts)h(prohibited)390
5340 y(b)m(y)30 b(the)h(pro\014le.)p eop end
%%Page: 20 25
TeXDict begin 20 24 bop 150 -116 a Fx(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(20)390 299 y
Fl(STRINGPREP)p 1010 299 28 5 v 40 w(BIDI)p 1257 299
V 40 w(BOTH)p 1564 299 V 40 w(L)p 1659 299 V 40 w(AND)p
1909 299 V 39 w(RAL:)23 b Fx(String)g(con)m(tain)i(co)s(de)e(p)s(oin)m
(ts)h(with)f(con\015ict-)390 408 y(ing)31 b(bidirection)f(category)-8
b(.)390 559 y Fl(STRINGPREP)p 1010 559 V 40 w(BIDI)p
1257 559 V 40 w(LEADTRAIL)p 1843 559 V 38 w(NOT)p 2083
559 V 41 w(RAL:)44 b Fx(Leading)h(and)f(trailing)i(c)m(haracter)g(in)
390 669 y(string)30 b(not)h(of)f(prop)s(er)f(bidirectional)j(category)
-8 b(.)390 820 y Fl(STRINGPREP)p 1010 820 V 40 w(BIDI)p
1257 820 V 40 w(CONT)g(AINS)p 1784 820 V 40 w(PR)m(OHIBITED:)32
b Fx(Con)m(tains)g(prohibited)f(co)s(de)h(p)s(oin)m(ts)390
929 y(detected)g(b)m(y)e(bidirectional)h(co)s(de.)390
1080 y Fl(STRINGPREP)p 1010 1080 V 40 w(TOO)p 1249 1080
V 41 w(SMALL)p 1606 1080 V 39 w(BUFFER:)37 b Fx(Bu\013er)h(handed)e(to)
j(function)e(w)m(as)i(to)s(o)f(small.)390 1190 y(This)30
b(usually)g(indicate)h(a)g(problem)f(in)g(the)g(calling)i(application.)
390 1340 y Fl(STRINGPREP)p 1010 1340 V 40 w(PR)m(OFILE)p
1454 1340 V 41 w(ERR)m(OR:)41 b Fx(The)g(stringprep)g(pro\014le)f(w)m
(as)i(inconsisten)m(t.)75 b(This)390 1450 y(usually)30
b(indicate)i(an)e(in)m(ternal)h(error)f(in)g(the)h(library)-8
b(.)390 1601 y Fl(STRINGPREP)p 1010 1601 V 40 w(FLA)m(G)p
1299 1601 V 41 w(ERR)m(OR:)31 b Fx(The)g(supplied)f(\015ag)h
(con\015icted)h(with)e(pro\014le.)43 b(This)30 b(usu-)390
1710 y(ally)h(indicate)h(a)e(problem)g(in)g(the)h(calling)h
(application.)390 1861 y Fl(STRINGPREP)p 1010 1861 V
40 w(UNKNO)m(WN)p 1563 1861 V 42 w(PR)m(OFILE:)j Fx(The)f(supplied)g
(pro\014le)g(name)h(w)m(as)g(not)g(kno)m(wn)390 1971
y(to)c(the)g(library)-8 b(.)390 2122 y Fl(STRINGPREP)p
1010 2122 V 40 w(NFK)m(C)p 1312 2122 V 41 w(F)e(AILED:)30
b Fx(The)g(Unico)s(de)h(NFK)m(C)g(op)s(eration)g(failed.)43
b(This)30 b(usually)390 2231 y(indicate)h(an)g(in)m(ternal)g(error)f
(in)g(the)g(library)-8 b(.)390 2382 y Fl(STRINGPREP)p
1010 2382 V 40 w(MALLOC)p 1449 2382 V 39 w(ERR)m(OR:)31
b Fx(The)e Fr(malloc\(\))f Fx(w)m(as)i(out)g(of)g(memory)-8
b(.)41 b(This)29 b(is)h(usu-)390 2492 y(ally)h(a)g(fatal)h(error.)390
2642 y Fl(Return)d(v)-5 b(alue:)40 b Fx(Returns)29 b(a)g(p)s(oin)m(ter)
h(to)g(a)f(statically)j(allo)s(cated)f(string)f(con)m(taining)h(a)e
(descrip-)390 2752 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e
(co)s(de)h Fr(rc)p Fx(.)150 3009 y Fw(4.6)68 b(Stringprep)45
b(Pro\014le)g(Macros)3350 3234 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(stringprep_nameprep_n)q(o_un)q(ass)q(ign)q(ed)f
Fo(\()p Fn(c)m(har)31 b(*)g Fm(in)12 b Fn(,)30 b(in)m(t)h
Fm(maxlen)12 b Fo(\))390 3344 y Fn(in)p Fx(:)40 b(input/ouput)30
b(arra)m(y)g(with)h(string)f(to)h(prepare.)390 3495 y
Fn(maxlen)p Fx(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
(arra)m(y)-8 b(.)390 3645 y(Prepare)31 b(the)g(input)f(UTF-8)i(string)f
(according)h(to)g(the)f(nameprep)f(pro\014le.)43 b(The)30
b(Allo)m(wUnas-)390 3755 y(signed)j(\015ag)g(is)g(false,)h(use)f
Fr(stringprep_nameprep)28 b Fx(for)k(true)h(Allo)m(wUnassigned.)50
b(Returns)32 b(0)390 3865 y(i\013)f(successful,)f(or)g(an)h(error)f(co)
s(de.)3350 4082 y([F)-8 b(unction])-3599 b Fp(int)53
b(stringprep_iscsi)e Fo(\()p Fn(c)m(har)31 b(*)f Fm(in)12
b Fn(,)31 b(in)m(t)g Fm(maxlen)12 b Fo(\))390 4191 y
Fn(in)p Fx(:)40 b(input/ouput)30 b(arra)m(y)g(with)h(string)f(to)h
(prepare.)390 4342 y Fn(maxlen)p Fx(:)41 b(maxim)m(um)30
b(length)h(of)g(input/output)e(arra)m(y)-8 b(.)390 4493
y(Prepare)32 b(the)g(input)e(UTF-8)j(string)f(according)h(to)f(the)g
(draft)f(iSCSI)g(stringprep)g(pro\014le.)44 b(Re-)390
4602 y(turns)29 b(0)i(i\013)f(successful,)h(or)f(an)g(error)g(co)s(de.)
3350 4819 y([F)-8 b(unction])-3599 b Fp(int)53 b(stringprep_plain)e
Fo(\()p Fn(c)m(har)31 b(*)f Fm(in)12 b Fn(,)31 b(in)m(t)g
Fm(maxlen)12 b Fo(\))390 4929 y Fn(in)p Fx(:)40 b(input/ouput)30
b(arra)m(y)g(with)h(string)f(to)h(prepare.)390 5080 y
Fn(maxlen)p Fx(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
(arra)m(y)-8 b(.)390 5230 y(Prepare)29 b(the)g(input)f(UTF-8)i(string)f
(according)h(to)g(the)f(draft)g(SASL)f(ANONYMOUS)h(pro\014le.)390
5340 y(Returns)g(0)i(i\013)g(successful,)f(or)h(an)f(error)g(co)s(de.)p
eop end
%%Page: 21 26
TeXDict begin 21 25 bop 150 -116 a Fx(Chapter)30 b(4:)41
b(Stringprep)29 b(F)-8 b(unctions)2209 b(21)3350 299
y([F)-8 b(unction])-3599 b Fp(int)53 b(stringprep_xmpp_nodep)q(rep)f
Fo(\()p Fn(c)m(har)31 b(*)g Fm(in)12 b Fn(,)31 b(in)m(t)f
Fm(maxlen)12 b Fo(\))390 408 y Fn(in)p Fx(:)40 b(input/ouput)30
b(arra)m(y)g(with)h(string)f(to)h(prepare.)390 543 y
Fn(maxlen)p Fx(:)41 b(maxim)m(um)30 b(length)h(of)g(input/output)e
(arra)m(y)-8 b(.)390 677 y(Prepare)29 b(the)g(input)f(UTF-8)h(string)g
(according)h(to)f(the)g(draft)g(XMPP)g(no)s(de)f(iden)m(ti\014er)h
(pro\014le.)390 787 y(Returns)g(0)i(i\013)g(successful,)f(or)h(an)f
(error)g(co)s(de.)3350 971 y([F)-8 b(unction])-3599 b
Fp(int)53 b(stringprep_xmpp_resou)q(rcep)q(rep)f Fo(\()p
Fn(c)m(har)31 b(*)g Fm(in)12 b Fn(,)31 b(in)m(t)g Fm(maxlen)12
b Fo(\))390 1081 y Fn(in)p Fx(:)40 b(input/ouput)30 b(arra)m(y)g(with)h
(string)f(to)h(prepare.)390 1215 y Fn(maxlen)p Fx(:)41
b(maxim)m(um)30 b(length)h(of)g(input/output)e(arra)m(y)-8
b(.)390 1350 y(Prepare)44 b(the)g(input)f(UTF-8)i(string)f(according)h
(to)g(the)f(draft)f(XMPP)i(resource)f(iden)m(ti\014er)390
1460 y(pro\014le.)c(Returns)30 b(0)h(i\013)f(successful,)h(or)f(an)g
(error)g(co)s(de.)p eop end
%%Page: 22 27
TeXDict begin 22 26 bop 150 -116 a Fx(Chapter)30 b(5:)41
b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(22)150 299
y Fu(5)80 b(Pun)l(yco)t(de)53 b(F)-13 b(unctions)150
531 y Fx(Pun)m(yco)s(de)31 b(is)h(a)g(simple)g(and)f(e\016cien)m(t)j
(transfer)d(enco)s(ding)h(syn)m(tax)g(designed)g(for)g(use)f(with)h(In)
m(terna-)150 641 y(tionalized)d(Domain)f(Names)g(in)f(Applications.)41
b(It)27 b(uniquely)g(and)g(rev)m(ersibly)g(transforms)g(a)h(Unico)s(de)
150 750 y(string)33 b(in)m(to)h(an)e(ASCI)s(I)g(string.)48
b(ASCI)s(I)31 b(c)m(haracters)j(in)f(the)g(Unico)s(de)g(string)g(are)g
(represen)m(ted)g(liter-)150 860 y(ally)-8 b(,)27 b(and)c(non-ASCI)s(I)
f(c)m(haracters)j(are)g(represen)m(ted)e(b)m(y)h(ASCI)s(I)f(c)m
(haracters)i(that)f(are)h(allo)m(w)m(ed)g(in)f(host)150
970 y(name)33 b(lab)s(els)g(\(letters,)i(digits,)g(and)d(h)m(yphens\).)
47 b(A)33 b(general)h(algorithm)g(called)g(Bo)s(otstring)g(allo)m(ws)h
(a)150 1079 y(string)i(of)h(basic)f(co)s(de)h(p)s(oin)m(ts)f(to)h
(uniquely)e(represen)m(t)i(an)m(y)f(string)g(of)h(co)s(de)f(p)s(oin)m
(ts)g(dra)m(wn)g(from)g(a)150 1189 y(larger)i(set.)65
b(Pun)m(yco)s(de)38 b(is)g(an)g(instance)h(of)f(Bo)s(otstring)i(that)e
(uses)g(particular)h(parameter)f(v)-5 b(alues,)150 1298
y(appropriate)30 b(for)h(IDNA.)150 1530 y Fw(5.1)68 b(Header)46
b(\014le)f Fj(punycode.h)150 1690 y Fx(T)-8 b(o)36 b(use)g(the)g
(functions)g(explained)g(in)g(this)g(c)m(hapter,)i(y)m(ou)f(need)e(to)i
(include)f(the)g(\014le)g(`)p Fr(punycode.h)p Fx(')150
1799 y(using:)390 1933 y Fr(#include)46 b(<punycode.h>)150
2165 y Fw(5.2)68 b(Unico)t(de)45 b(Co)t(de)g(P)l(oin)l(t)h(Data)g(T)l
(yp)t(e)150 2325 y Fx(The)28 b(pun)m(yco)s(de)g(function)h(uses)f(a)h
(sp)s(ecial)g(t)m(yp)s(e)g(to)h(denote)f(Unico)s(de)g(co)s(de)g(p)s
(oin)m(ts.)40 b(It)29 b(is)g(guaran)m(teed)150 2434 y(to)i(alw)m(a)m
(ys)h(b)s(e)e(a)h(32)g(bit)f(unsigned)f(in)m(teger.)2511
2617 y([Pun)m(yco)s(de)i(Unico)s(de)f(co)s(de)h(p)s(oin)m(t])-3600
b Fp(uint32_t)55 b(punycode_uint)390 2727 y Fx(A)30 b(unsigned)g(in)m
(teger)i(that)f(hold)f(Unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)150
2959 y Fw(5.3)68 b(Core)46 b(F)-11 b(unctions)150 3118
y Fx(Note)45 b(that)g(the)f(curren)m(t)f(implemen)m(tation)j(will)e
(fail)g(if)g(the)g Fr(input_length)d Fx(exceed)j(4294967295)150
3228 y(\(the)37 b(size)g(of)f Fr(punycode_uint)p Fx(\).)55
b(This)35 b(restriction)j(ma)m(y)e(b)s(e)g(remo)m(v)m(ed)h(in)f(the)g
(future.)58 b(Mean)m(while)150 3337 y(applications)39
b(are)f(encouraged)g(to)h(not)f(dep)s(end)e(on)h(this)h(problem,)h(and)
e(use)g Fr(sizeof)f Fx(to)j(initialize)150 3447 y Fr(input_length)27
b Fx(and)j Fr(output_length)p Fx(.)275 3581 y(The)f(functions)h(pro)m
(vided)g(are)h(the)g(follo)m(wing)g(t)m(w)m(o)h(en)m(try)f(p)s(oin)m
(ts:)150 3780 y Fq(pun)m(yco)s(de)p 668 3780 37 5 v 54
w(enco)s(de)3350 3976 y Fx([F)-8 b(unction])-3599 b Fp(int)53
b(punycode_encode)d Fo(\()p Fn(size)p 1371 3976 28 4
v 41 w(t)31 b Fm(input_length)12 b Fn(,)34 b(const)d(pun)m(yco)s(de)p
2788 3976 V 39 w(uin)m(t)f Fi([])565 4085 y Fm(input)12
b Fn(,)32 b(const)f(unsigned)e(c)m(har)i Fi([])f Fm(case_flags)12
b Fn(,)33 b(size)p 2534 4085 V 41 w(t)d(*)h Fm(output_length)12
b Fn(,)34 b(c)m(har)d Fi([])565 4195 y Fm(output)12 b
Fo(\))390 4305 y Fn(input)p 609 4305 V 39 w(length)p
Fx(:)40 b(The)28 b(n)m(um)m(b)s(er)g(of)g(co)s(de)h(p)s(oin)m(ts)g(in)f
(the)h Fr(input)e Fx(arra)m(y)i(and)f(the)h(n)m(um)m(b)s(er)e(of)i
(\015ags)390 4414 y(in)h(the)h Fr(case_flags)c Fx(arra)m(y)-8
b(.)390 4548 y Fn(input)r Fx(:)66 b(An)43 b(arra)m(y)h(of)f(co)s(de)h
(p)s(oin)m(ts.)80 b(They)43 b(are)h(presumed)e(to)i(b)s(e)f(Unico)s(de)
g(co)s(de)h(p)s(oin)m(ts,)390 4658 y(but)29 b(that)i(is)f(not)g
(strictly)h(REQUIRED.)f(The)f(arra)m(y)i(con)m(tains)g(co)s(de)f(p)s
(oin)m(ts,)g(not)g(co)s(de)g(units.)390 4767 y(UTF-16)g(uses)e(co)s(de)
h(units)g(D800)h(through)e(DFFF)i(to)g(refer)f(to)g(co)s(de)g(p)s(oin)m
(ts)g(10000..10FFFF.)390 4877 y(The)37 b(co)s(de)h(p)s(oin)m(ts)g
(D800..DFFF)k(do)37 b(not)i(o)s(ccur)e(in)h(an)m(y)g(v)-5
b(alid)38 b(Unico)s(de)g(string.)63 b(The)38 b(co)s(de)390
4987 y(p)s(oin)m(ts)26 b(that)h(can)f(o)s(ccur)g(in)g(Unico)s(de)g
(strings)g(\(0..D7FF)i(and)e(E000..10FFFF\))k(are)d(also)g(called)390
5096 y(Unico)s(de)k(scalar)g(v)-5 b(alues.)390 5230 y
Fn(case)p 557 5230 V 41 w(\015ags)t Fx(:)41 b(A)31 b
Fr(NULL)f Fx(p)s(oin)m(ter)g(or)h(an)g(arra)m(y)g(of)g(b)s(o)s(olean)f
(v)-5 b(alues)31 b(parallel)h(to)g(the)f Fr(input)e Fx(arra)m(y)-8
b(.)390 5340 y(Nonzero)31 b(\(true,)g(\015agged\))h(suggests)f(that)g
(the)f(corresp)s(onding)g(Unico)s(de)g(c)m(haracter)i(b)s(e)e(forced)p
eop end
%%Page: 23 28
TeXDict begin 23 27 bop 150 -116 a Fx(Chapter)30 b(5:)41
b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(23)390 299
y(to)39 b(upp)s(ercase)e(after)i(b)s(eing)f(deco)s(ded)g(\(if)g(p)s
(ossible\),)j(and)c(zero)i(\(false,)j(un\015agged\))c(suggests)390
408 y(that)f(it)h(b)s(e)e(forced)h(to)g(lo)m(w)m(ercase)i(\(if)e(p)s
(ossible\).)60 b(ASCI)s(I)35 b(co)s(de)i(p)s(oin)m(ts)g(\(0..7F\))i
(are)e(enco)s(ded)390 518 y(literally)-8 b(,)33 b(except)f(that)g(ASCI)
s(I)d(letters)j(are)f(forced)g(to)g(upp)s(ercase)f(or)h(lo)m(w)m
(ercase)i(according)f(to)390 628 y(the)e(corresp)s(onding)f(case)i
(\015ags.)41 b(If)29 b Fr(case_flags)e Fx(is)j(a)g Fr(NULL)f
Fx(p)s(oin)m(ter)h(then)f(ASCI)s(I)g(letters)i(are)390
737 y(left)g(as)g(they)f(are,)h(and)f(other)h(co)s(de)f(p)s(oin)m(ts)g
(are)h(treated)h(as)e(un\015agged.)390 864 y Fn(output)p
664 864 28 4 v 40 w(length)p Fx(:)40 b(The)28 b(caller)i(passes)f(in)f
(the)h(maxim)m(um)g(n)m(um)m(b)s(er)f(of)g(ASCI)s(I)g(co)s(de)h(p)s
(oin)m(ts)f(that)390 973 y(it)k(can)g(receiv)m(e.)45
b(On)31 b(successful)g(return)f(it)i(will)g(con)m(tain)g(the)g(n)m(um)m
(b)s(er)e(of)i(ASCI)s(I)d(co)s(de)j(p)s(oin)m(ts)390
1083 y(actually)g(output.)390 1209 y Fn(output)r Fx(:)49
b(An)34 b(arra)m(y)h(of)f(ASCI)s(I)f(co)s(de)i(p)s(oin)m(ts.)53
b(It)35 b(is)f(*not*)i(n)m(ull-terminated;)i(it)d(will)g(con)m(tain)390
1319 y(zeros)29 b(if)f(and)g(only)g(if)g(the)g Fr(input)f
Fx(con)m(tains)i(zeros.)41 b(\(Of)28 b(course)g(the)h(caller)g(can)g
(lea)m(v)m(e)h(ro)s(om)e(for)390 1428 y(a)j(terminator)g(and)f(add)f
(one)i(if)f(needed.\))390 1554 y(Con)m(v)m(erts)k(a)g(sequence)f(of)h
(co)s(de)f(p)s(oin)m(ts)g(\(presumed)f(to)i(b)s(e)f(Unico)s(de)g(co)s
(de)h(p)s(oin)m(ts\))f(to)h(Pun)m(y-)390 1664 y(co)s(de.)390
1790 y Fl(Return)g(v)-5 b(alue:)49 b Fx(The)33 b(return)g(v)-5
b(alue)35 b(can)g(b)s(e)e(an)m(y)i(of)f(the)h Fr(Punycode_status)30
b Fx(v)-5 b(alues)34 b(de\014ned)390 1900 y(ab)s(o)m(v)m(e)41
b(except)g Fr(PUNYCODE_BAD_INPUT)p Fx(.)65 b(If)39 b(not)h
Fr(PUNYCODE_SUCCESS)p Fx(,)e(then)i Fr(output_size)390
2010 y Fx(and)30 b Fr(output)e Fx(migh)m(t)k(con)m(tain)f(garbage.)150
2192 y Fq(pun)m(yco)s(de)p 668 2192 37 5 v 54 w(deco)s(de)3350
2373 y Fx([F)-8 b(unction])-3599 b Fp(int)53 b(punycode_decode)d
Fo(\()p Fn(size)p 1371 2373 28 4 v 41 w(t)31 b Fm(input_length)12
b Fn(,)34 b(const)d(c)m(har)g Fi([])f Fm(input)12 b Fn(,)565
2482 y(size)p 712 2482 V 41 w(t)31 b(*)f Fm(output_length)12
b Fn(,)34 b(pun)m(yco)s(de)p 2018 2482 V 40 w(uin)m(t)c
Fi([])g Fm(output)12 b Fn(,)32 b(unsigned)d(c)m(har)i
Fi([])565 2592 y Fm(case_flags)12 b Fo(\))390 2702 y
Fn(input)p 609 2702 V 39 w(length)p Fx(:)41 b(The)30
b(n)m(um)m(b)s(er)f(of)i(ASCI)s(I)e(co)s(de)h(p)s(oin)m(ts)g(in)g(the)h
Fr(input)e Fx(arra)m(y)-8 b(.)390 2828 y Fn(input)r Fx(:)40
b(An)30 b(arra)m(y)h(of)f(ASCI)s(I)f(co)s(de)i(p)s(oin)m(ts)f
(\(0..7F\).)390 2954 y Fn(output)p 664 2954 V 40 w(length)p
Fx(:)42 b(The)30 b(caller)i(passes)f(in)g(the)g(maxim)m(um)f(n)m(um)m
(b)s(er)g(of)h(co)s(de)g(p)s(oin)m(ts)g(that)g(it)h(can)390
3064 y(receiv)m(e)41 b(in)m(to)e(the)g Fr(output)e Fx(arra)m(y)i
(\(whic)m(h)g(is)g(also)g(the)g(maxim)m(um)g(n)m(um)m(b)s(er)e(of)i
(\015ags)g(that)g(it)390 3173 y(can)h(receiv)m(e)i(in)m(to)f(the)f
Fr(case_flags)d Fx(arra)m(y)-8 b(,)43 b(if)d Fr(case_flags)d
Fx(is)j(not)g(a)g Fr(NULL)f Fx(p)s(oin)m(ter\).)70 b(On)390
3283 y(successful)39 b(return)e(it)j(will)f(con)m(tain)h(the)f(n)m(um)m
(b)s(er)f(of)h(co)s(de)g(p)s(oin)m(ts)g(actually)h(output)f(\(whic)m(h)
390 3392 y(is)c(also)h(the)f(n)m(um)m(b)s(er)e(of)i(\015ags)g(actually)
i(output,)e(if)g(case)p 2423 3392 V 41 w(\015ags)g(is)g(not)g(a)g(n)m
(ull)g(p)s(oin)m(ter\).)54 b(The)390 3502 y(deco)s(der)31
b(will)h(nev)m(er)f(need)g(to)h(output)f(more)h(co)s(de)f(p)s(oin)m(ts)
g(than)g(the)h(n)m(um)m(b)s(er)e(of)h(ASCI)s(I)f(co)s(de)390
3612 y(p)s(oin)m(ts)g(in)g(the)g(input,)g(b)s(ecause)g(of)g(the)h(w)m
(a)m(y)g(the)f(enco)s(ding)g(is)g(de\014ned.)40 b(The)30
b(n)m(um)m(b)s(er)e(of)j(co)s(de)390 3721 y(p)s(oin)m(ts)d(output)g
(cannot)g(exceed)h(the)g(maxim)m(um)e(p)s(ossible)h(v)-5
b(alue)29 b(of)f(a)g(pun)m(yco)s(de)p 3246 3721 V 39
w(uin)m(t,)h(ev)m(en)g(if)390 3831 y(the)i(supplied)e
Fr(output_length)d Fx(is)31 b(greater)g(than)g(that.)390
3957 y Fn(output)r Fx(:)40 b(An)28 b(arra)m(y)h(of)g(co)s(de)g(p)s(oin)
m(ts)g(lik)m(e)h(the)f(input)f(argumen)m(t)h(of)g Fr
(punycode_encode\(\))24 b Fx(\(see)390 4067 y(ab)s(o)m(v)m(e\).)390
4193 y Fn(case)p 557 4193 V 41 w(\015ags)t Fx(:)49 b(A)35
b Fr(NULL)e Fx(p)s(oin)m(ter)h(\(if)h(the)g(\015ags)f(are)h(not)g
(needed)f(b)m(y)g(the)h(caller\))h(or)e(an)h(arra)m(y)g(of)390
4303 y(b)s(o)s(olean)26 b(v)-5 b(alues)25 b(parallel)i(to)g(the)e
Fr(output)f Fx(arra)m(y)-8 b(.)40 b(Nonzero)27 b(\(true,)g(\015agged\))
f(suggests)h(that)f(the)390 4412 y(corresp)s(onding)37
b(Unico)s(de)h(c)m(haracter)h(b)s(e)e(forced)h(to)g(upp)s(ercase)f(b)m
(y)h(the)g(caller)h(\(if)f(p)s(ossible\),)390 4522 y(and)26
b(zero)h(\(false,)h(un\015agged\))e(suggests)h(that)g(it)f(b)s(e)g
(forced)g(to)h(lo)m(w)m(ercase)i(\(if)d(p)s(ossible\).)39
b(ASCI)s(I)390 4631 y(co)s(de)33 b(p)s(oin)m(ts)f(\(0..7F\))j(are)e
(output)g(already)g(in)f(the)h(prop)s(er)e(case,)k(but)d(their)h
(\015ags)f(will)h(b)s(e)f(set)390 4741 y(appropriately)f(so)f(that)h
(applying)f(the)h(\015ags)g(w)m(ould)f(b)s(e)f(harmless.)390
4867 y(Con)m(v)m(erts)47 b(Pun)m(yco)s(de)g(to)g(a)h(sequence)f(of)g
(co)s(de)g(p)s(oin)m(ts)f(\(presumed)g(to)i(b)s(e)e(Unico)s(de)h(co)s
(de)390 4977 y(p)s(oin)m(ts\).)390 5103 y Fl(Return)34
b(v)-5 b(alue:)49 b Fx(The)33 b(return)g(v)-5 b(alue)35
b(can)g(b)s(e)e(an)m(y)i(of)f(the)h Fr(Punycode_status)30
b Fx(v)-5 b(alues)34 b(de\014ned)390 5213 y(ab)s(o)m(v)m(e.)74
b(If)41 b(not)h Fr(PUNYCODE_SUCCESS)p Fx(,)d(then)i Fr(output_length)p
Fx(,)g Fr(output)p Fx(,)h(and)f Fr(case_flags)390 5322
y Fx(migh)m(t)31 b(con)m(tain)h(garbage.)p eop end
%%Page: 24 29
TeXDict begin 24 28 bop 150 -116 a Fx(Chapter)30 b(5:)41
b(Pun)m(yco)s(de)30 b(F)-8 b(unctions)2241 b(24)150 299
y Fw(5.4)68 b(Error)45 b(Handling)150 523 y Fq(pun)m(yco)s(de)p
668 523 37 5 v 54 w(strerror)3350 720 y Fx([F)-8 b(unction])-3599
b Fp(const)54 b(char)f(*)g(punycode_strerror)e Fo(\()p
Fn(Pun)m(yco)s(de)p 2194 720 28 4 v 40 w(status)30 b
Fm(rc)12 b Fo(\))390 829 y Fn(rc)6 b Fx(:)40 b(an)30
b Fr(Punycode_status)d Fx(return)i(co)s(de.)390 964 y(Con)m(v)m(ert)35
b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g(text)h(string.)51
b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)390
1073 y(diagnostic)e(message)f(to)g(the)g(user.)390 1208
y Fl(PUNYCODE)p 932 1208 28 5 v 39 w(SUCCESS:)k Fx(Successful)j(op)s
(eration.)63 b(This)37 b(v)-5 b(alue)38 b(is)g(guaran)m(teed)h(to)f
(alw)m(a)m(ys)390 1318 y(b)s(e)33 b(zero,)j(the)e(remaining)g(ones)g
(are)g(only)g(guaran)m(teed)h(to)g(hold)e(non-zero)i(v)-5
b(alues,)35 b(for)e(logical)390 1427 y(comparison)e(purp)s(oses.)390
1562 y Fl(PUNYCODE)p 932 1562 V 39 w(BAD)p 1175 1562
V 39 w(INPUT:)g Fx(Input)e(is)i(in)m(v)-5 b(alid.)390
1696 y Fl(PUNYCODE)p 932 1696 V 39 w(BIG)p 1143 1696
V 40 w(OUTPUT:)31 b Fx(Output)f(w)m(ould)g(exceed)h(the)g(space)g(pro)m
(vided.)390 1831 y Fl(PUNYCODE)p 932 1831 V 39 w(O)m(VERFLO)m(W:)g
Fx(Input)e(needs)h(wider)g(in)m(tegers)h(to)g(pro)s(cess.)390
1965 y Fl(Return)e(v)-5 b(alue:)40 b Fx(Returns)29 b(a)g(p)s(oin)m(ter)
h(to)g(a)f(statically)j(allo)s(cated)f(string)f(con)m(taining)h(a)e
(descrip-)390 2075 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e
(co)s(de)h Fr(rc)p Fx(.)p eop end
%%Page: 25 30
TeXDict begin 25 29 bop 150 -116 a Fx(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(25)150 299 y Fu(6)80
b(IDNA)54 b(F)-13 b(unctions)150 580 y Fx(Un)m(til)30
b(no)m(w,)g(there)f(has)g(b)s(een)f(no)h(standard)f(metho)s(d)h(for)g
(domain)g(names)g(to)g(use)g(c)m(haracters)i(outside)150
690 y(the)26 b(ASCI)s(I)f(rep)s(ertoire.)39 b(The)26
b(IDNA)h(do)s(cumen)m(t)f(de\014nes)f(in)m(ternationalized)k(domain)d
(names)g(\(IDNs\))150 799 y(and)d(a)g(mec)m(hanism)h(called)g(IDNA)g
(for)f(handling)f(them)h(in)g(a)h(standard)e(fashion.)38
b(IDNs)24 b(use)e(c)m(haracters)150 909 y(dra)m(wn)28
b(from)h(a)h(large)g(rep)s(ertoire)f(\(Unico)s(de\),)i(but)d(IDNA)i
(allo)m(ws)g(the)g(non-ASCI)s(I)d(c)m(haracters)k(to)f(b)s(e)150
1018 y(represen)m(ted)e(using)f(only)h(the)g(ASCI)s(I)e(c)m(haracters)k
(already)e(allo)m(w)m(ed)i(in)d(so-called)j(host)e(names)g(to)s(da)m(y)
-8 b(.)150 1128 y(This)26 b(bac)m(kw)m(ard-compatible)i(represen)m
(tation)f(is)g(required)e(in)h(existing)h(proto)s(cols)h(lik)m(e)f
(DNS,)g(so)f(that)150 1238 y(IDNs)f(can)h(b)s(e)e(in)m(tro)s(duced)h
(with)g(no)g(c)m(hanges)h(to)g(the)f(existing)h(infrastructure.)38
b(IDNA)26 b(is)f(only)g(mean)m(t)150 1347 y(for)30 b(pro)s(cessing)g
(domain)h(names,)f(not)h(free)f(text.)150 1603 y Fw(6.1)68
b(Header)46 b(\014le)f Fj(idna.h)150 1763 y Fx(T)-8 b(o)31
b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)
e(need)g(to)i(include)e(the)g(\014le)h(`)p Fr(idna.h)p
Fx(')e(using:)390 1913 y Fr(#include)46 b(<idna.h>)150
2169 y Fw(6.2)68 b(Con)l(trol)46 b(Flags)150 2328 y Fx(The)32
b(IDNA)h Fr(flags)e Fx(parameter)j(can)f(tak)m(e)h(on)e(the)h(follo)m
(wing)h(v)-5 b(alues,)34 b(or)f(a)g(bit-wise)g(inclusiv)m(e)g(or)g(of)
150 2438 y(an)m(y)e(subset)f(of)g(the)h(parameters:)3211
2653 y([Return)e(co)s(de])-3599 b Fp(Idna_flags)55 b
(IDNA_ALLOW_UNASSIGNED)390 2763 y Fx(Allo)m(w)32 b(unassigned)d(Unico)s
(de)i(co)s(de)f(p)s(oin)m(ts.)3211 2979 y([Return)f(co)s(de])-3599
b Fp(Idna_flags)55 b(IDNA_USE_STD3_ASCII_R)q(ULE)q(S)390
3088 y Fx(Chec)m(k)31 b(output)f(to)h(mak)m(e)g(sure)f(it)h(is)f(a)h
(STD3)f(conforming)h(host)f(name.)150 3344 y Fw(6.3)68
b(Pre\014x)45 b(String)3449 3569 y Fx([Macro])-3598 b
Fp(#define)54 b(IDNA_ACE_PREFIX)390 3679 y Fx(String)30
b(with)g(the)h(o\016cial)g(IDNA)g(pre\014x,)f Fr(xn--)p
Fx(.)150 3935 y Fw(6.4)68 b(Core)46 b(F)-11 b(unctions)150
4094 y Fx(The)22 b(idea)g(b)s(ehind)f(the)h(IDNA)h(function)f(names)g
(are)g(as)h(follo)m(ws:)38 b(the)22 b Fr(idna_to_ascii_4i)c
Fx(and)j Fr(idna_)150 4204 y(to_unicode_44i)26 b Fx(functions)j(are)h
(the)g(core)g(IDNA)h(primitiv)m(es.)41 b(The)29 b Fr(4)g
Fx(indicate)i(that)f(the)g(function)150 4313 y(tak)m(es)e(UCS-4)f
(strings)g(\(i.e.,)i(Unico)s(de)e(co)s(de)g(p)s(oin)m(ts)f(enco)s(ded)h
(in)f(a)i(32-bit)g(unsigned)d(in)m(teger)j(t)m(yp)s(e\))g(of)150
4423 y(the)k(sp)s(eci\014ed)g(length.)46 b(The)32 b Fr(i)f
Fx(indicate)i(that)g(the)f(data)h(is)f(written)g(\\inline")i(in)m(to)f
(the)f(bu\013er.)45 b(This)150 4532 y(means)35 b(the)h(caller)g(is)g
(resp)s(onsible)e(for)h(allo)s(cating)j(\(and)d(deallo)s(cating\))j
(the)d(string,)i(and)e(pro)m(viding)150 4642 y(the)40
b(library)f(with)h(the)g(allo)s(cated)i(length)e(of)g(the)g(string.)69
b(The)40 b(output)f(length)h(is)g(written)g(in)g(the)150
4751 y(output)33 b(length)h(v)-5 b(ariable.)51 b(The)33
b(remaining)h(functions)f(all)i(con)m(tain)f(the)g Fr(z)f
Fx(indicator,)j(whic)m(h)d(means)150 4861 y(the)h(strings)g(are)g(zero)
h(terminated.)52 b(All)34 b(output)g(strings)g(are)g(allo)s(cated)i(b)m
(y)e(the)g(library)-8 b(,)35 b(and)e(m)m(ust)150 4971
y(b)s(e)k(deallo)s(cated)i(b)m(y)f(the)f(caller.)64 b(The)37
b Fr(4)g Fx(indicator)h(again)h(means)e(that)h(the)g(string)g(is)f
(UCS-4,)j(the)150 5080 y Fr(8)35 b Fx(means)h(the)f(strings)h(are)g
(UTF-8)g(and)f(the)h Fr(l)f Fx(indicator)h(means)f(the)h(strings)f(are)
h(enco)s(ded)g(in)f(the)150 5190 y(enco)s(ding)30 b(used)g(b)m(y)g(the)
h(curren)m(t)f(lo)s(cale.)275 5340 y(The)f(functions)h(pro)m(vided)g
(are)h(the)g(follo)m(wing)g(en)m(try)g(p)s(oin)m(ts:)p
eop end
%%Page: 26 31
TeXDict begin 26 30 bop 150 -116 a Fx(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(26)150 299 y Fq(idna)p
389 299 37 5 v 54 w(to)p 552 299 V 54 w(ascii)p 837 299
V 54 w(4i)3350 487 y Fx([F)-8 b(unction])-3599 b Fp(int)53
b(idna_to_ascii_4i)e Fo(\()p Fn(const)31 b(uin)m(t32)p
1770 487 28 4 v 41 w(t)f(*)h Fm(in)12 b Fn(,)31 b(size)p
2265 487 V 41 w(t)f Fm(inlen)12 b Fn(,)32 b(c)m(har)f(*)g
Fm(out)12 b Fn(,)565 597 y(in)m(t)31 b Fm(flags)12 b
Fo(\))390 706 y Fn(in)p Fx(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s
(de)g(co)s(de)g(p)s(oin)m(ts.)390 837 y Fn(inlen)p Fx(:)41
b(length)30 b(of)h(input)e(arra)m(y)i(with)f(unico)s(de)g(co)s(de)h(p)s
(oin)m(ts.)390 967 y Fn(out)r Fx(:)54 b(output)37 b(zero)h(terminated)g
(string)f(that)g(m)m(ust)g(ha)m(v)m(e)i(ro)s(om)d(for)h(at)h(least)h
(63)e(c)m(haracters)390 1076 y(plus)29 b(the)i(terminating)g(zero.)390
1207 y Fn(\015ags)t Fx(:)91 b(an)56 b Fr(Idna_flags)d
Fx(v)-5 b(alue,)63 b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50
b Fx(or)56 b Fr(IDNA_USE_STD3_)390 1316 y(ASCII_RULES)p
Fx(.)390 1446 y(The)34 b(T)-8 b(oASCI)s(I)33 b(op)s(eration)i(tak)m(es)
h(a)f(sequence)g(of)f(Unico)s(de)h(co)s(de)g(p)s(oin)m(ts)f(that)h(mak)
m(e)g(up)f(one)390 1556 y(domain)k(lab)s(el)h(and)e(transforms)h(it)g
(in)m(to)i(a)e(sequence)h(of)f(co)s(de)h(p)s(oin)m(ts)f(in)g(the)g
(ASCI)s(I)f(range)390 1666 y(\(0..7F\).)42 b(If)c(T)-8
b(oASCI)s(I)38 b(succeeds,)k(the)d(original)i(sequence)e(and)g(the)g
(resulting)g(sequence)h(are)390 1775 y(equiv)-5 b(alen)m(t)32
b(lab)s(els.)390 1905 y(It)26 b(is)f(imp)s(ortan)m(t)h(to)g(note)h
(that)f(the)g(T)-8 b(oASCI)s(I)24 b(op)s(eration)i(can)g(fail.)40
b(T)-8 b(oASCI)s(I)24 b(fails)i(if)g(an)m(y)g(step)390
2015 y(of)j(it)h(fails.)41 b(If)29 b(an)m(y)h(step)f(of)g(the)h(T)-8
b(oASCI)s(I)28 b(op)s(eration)i(fails)g(on)f(an)m(y)g(lab)s(el)h(in)f
(a)g(domain)h(name,)390 2125 y(that)k(domain)f(name)h(MUST)f(NOT)g(b)s
(e)g(used)f(as)i(an)f(in)m(ternationalized)j(domain)d(name.)50
b(The)390 2234 y(metho)s(d)30 b(for)g(deadling)h(with)f(this)g(failure)
g(is)h(application-sp)s(eci\014c.)390 2364 y(The)d(inputs)f(to)j(T)-8
b(oASCI)s(I)27 b(are)i(a)g(sequence)g(of)f(co)s(de)h(p)s(oin)m(ts,)g
(the)f(Allo)m(wUnassigned)i(\015ag,)g(and)390 2474 y(the)f(UseSTD3ASCI)
s(IRules)f(\015ag.)41 b(The)29 b(output)g(of)g(T)-8 b(oASCI)s(I)28
b(is)h(either)h(a)g(sequence)f(of)g(ASCI)s(I)390 2584
y(co)s(de)i(p)s(oin)m(ts)f(or)g(a)h(failure)g(condition.)390
2714 y(T)-8 b(oASCI)s(I)36 b(nev)m(er)h(alters)g(a)g(sequence)g(of)g
(co)s(de)g(p)s(oin)m(ts)g(that)g(are)g(all)h(in)e(the)h(ASCI)s(I)e
(range)i(to)390 2823 y(b)s(egin)32 b(with)g(\(although)h(it)f(could)g
(fail\).)48 b(Applying)31 b(the)i(T)-8 b(oASCI)s(I)31
b(op)s(eration)i(m)m(ultiple)f(times)390 2933 y(has)e(exactly)i(the)f
(same)g(e\013ect)g(as)g(applying)f(it)h(just)f(once.)390
3063 y Fl(Return)g(v)-5 b(alue:)41 b Fx(Returns)30 b(0)g(on)h(success,)
f(or)h(an)f Fr(Idna_rc)e Fx(error)i(co)s(de.)150 3254
y Fq(idna)p 389 3254 37 5 v 54 w(to)p 552 3254 V 54 w(unico)s(de)p
1019 3254 V 55 w(44i)3350 3442 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(idna_to_unicode_44i)e Fo(\()p Fn(const)32
b(uin)m(t32)p 1927 3442 28 4 v 41 w(t)e(*)h Fm(in)12
b Fn(,)31 b(size)p 2422 3442 V 41 w(t)f Fm(inlen)12 b
Fn(,)32 b(uin)m(t32)p 3106 3442 V 41 w(t)565 3552 y(*)f
Fm(out)12 b Fn(,)31 b(size)p 1012 3552 V 41 w(t)f(*)h
Fm(outlen)12 b Fn(,)32 b(in)m(t)f Fm(flags)12 b Fo(\))390
3661 y Fn(in)p Fx(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s
(de)g(p)s(oin)m(ts.)390 3791 y Fn(inlen)p Fx(:)41 b(length)30
b(of)h(input)e(arra)m(y)i(with)f(unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)
390 3922 y Fn(out)r Fx(:)41 b(output)30 b(arra)m(y)h(with)f(unico)s(de)
g(co)s(de)g(p)s(oin)m(ts.)390 4052 y Fn(outlen)p Fx(:)50
b(on)35 b(input,)g(maxim)m(um)g(size)h(of)f(output)f(arra)m(y)i(with)e
(unico)s(de)h(co)s(de)g(p)s(oin)m(ts,)h(on)f(exit,)390
4162 y(actual)d(size)f(of)f(output)g(arra)m(y)h(with)f(unico)s(de)g(co)
s(de)h(p)s(oin)m(ts.)390 4292 y Fn(\015ags)t Fx(:)91
b(an)56 b Fr(Idna_flags)d Fx(v)-5 b(alue,)63 b(e.g.,)g
Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56 b Fr(IDNA_USE_STD3_)390
4401 y(ASCII_RULES)p Fx(.)390 4532 y(The)28 b(T)-8 b(oUnico)s(de)30
b(op)s(eration)g(tak)m(es)g(a)f(sequence)h(of)f(Unico)s(de)g(co)s(de)g
(p)s(oin)m(ts)g(that)h(mak)m(e)g(up)e(one)390 4641 y(domain)g(lab)s(el)
h(and)e(returns)g(a)i(sequence)f(of)g(Unico)s(de)h(co)s(de)f(p)s(oin)m
(ts.)40 b(If)28 b(the)g(input)f(sequence)i(is)390 4751
y(a)35 b(lab)s(el)f(in)g(A)m(CE)h(form,)g(then)f(the)g(result)g(is)h
(an)f(equiv)-5 b(alen)m(t)36 b(in)m(ternationalized)g(lab)s(el)f(that)g
(is)390 4860 y(not)c(in)f(A)m(CE)g(form,)g(otherwise)h(the)g(original)g
(sequence)g(is)f(returned)g(unaltered.)390 4991 y(T)-8
b(oUnico)s(de)33 b(nev)m(er)f(fails.)46 b(If)31 b(an)m(y)h(step)g
(fails,)h(then)f(the)g(original)h(input)e(sequence)h(is)g(returned)390
5100 y(immediately)g(in)e(that)h(step.)390 5230 y(The)51
b(Pun)m(yco)s(de)g(deco)s(der)g(can)h(nev)m(er)g(output)f(more)g(co)s
(de)h(p)s(oin)m(ts)f(than)h(it)g(inputs,)k(but)390 5340
y(Nameprep)27 b(can,)i(and)e(therefore)g(T)-8 b(oUnico)s(de)28
b(can.)41 b(Note)28 b(that)g(the)g(n)m(um)m(b)s(er)e(of)i(o)s(ctets)g
(needed)p eop end
%%Page: 27 32
TeXDict begin 27 31 bop 150 -116 a Fx(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(27)390 299 y(to)32
b(represen)m(t)g(a)g(sequence)g(of)g(co)s(de)g(p)s(oin)m(ts)f(dep)s
(ends)f(on)i(the)g(particular)g(c)m(haracter)h(enco)s(ding)390
408 y(used.)390 543 y(The)k(inputs)f(to)h(T)-8 b(oUnico)s(de)38
b(are)g(a)f(sequence)g(of)h(co)s(de)f(p)s(oin)m(ts,)i(the)e(Allo)m
(wUnassigned)h(\015ag,)390 653 y(and)29 b(the)g(UseSTD3ASCI)s(IRules)g
(\015ag.)40 b(The)29 b(output)g(of)h(T)-8 b(oUnico)s(de)30
b(is)f(alw)m(a)m(ys)i(a)f(sequence)g(of)390 763 y(Unico)s(de)h(co)s(de)
f(p)s(oin)m(ts.)390 898 y Fl(Return)g(v)-5 b(alue:)40
b Fx(Returns)29 b Fr(Idna_rc)f Fx(error)i(condition,)h(but)e(it)h(m)m
(ust)g(only)g(b)s(e)g(used)f(for)g(debug-)390 1007 y(ging)37
b(purp)s(oses.)58 b(The)36 b(output)g(bu\013er)f(is)i(alw)m(a)m(ys)h
(guaran)m(teed)g(to)f(con)m(tain)h(the)f(correct)g(data)390
1117 y(according)28 b(to)g(the)f(sp)s(eci\014cation)g(\(sans)g(mallo)s
(c)h(induced)e(errors\).)39 b(NB!)28 b(This)e(means)h(that)h(y)m(ou)390
1226 y(normally)e(ignore)h(the)f(return)f(co)s(de)h(from)f(this)h
(function,)h(as)f(c)m(hec)m(king)h(it)g(means)f(breaking)g(the)390
1336 y(standard.)150 1569 y Fw(6.5)68 b(Simpli\014ed)45
b(T)-11 b(oASCI)t(I)44 b(In)l(terface)150 1793 y Fq(idna)p
389 1793 37 5 v 54 w(to)p 552 1793 V 54 w(ascii)p 837
1793 V 54 w(4z)3350 1991 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(idna_to_ascii_4z)e Fo(\()p Fn(const)31
b(uin)m(t32)p 1770 1991 28 4 v 41 w(t)f(*)h Fm(input)12
b Fn(,)32 b(c)m(har)f(**)g Fm(output)12 b Fn(,)32 b(in)m(t)565
2100 y Fm(flags)12 b Fo(\))390 2210 y Fn(input)r Fx(:)40
b(zero)31 b(terminated)g(input)e(Unico)s(de)i(string.)390
2345 y Fn(output)r Fx(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s
(cated)i(output)e(string.)390 2480 y Fn(\015ags)t Fx(:)91
b(an)56 b Fr(Idna_flags)d Fx(v)-5 b(alue,)63 b(e.g.,)g
Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56 b Fr(IDNA_USE_STD3_)390
2589 y(ASCII_RULES)p Fx(.)390 2724 y(Con)m(v)m(ert)25
b(UCS-4)g(domain)f(name)g(to)h(ASCI)s(I)e(string.)39
b(The)23 b(domain)i(name)f(ma)m(y)h(con)m(tain)h(sev)m(eral)390
2834 y(lab)s(els,)31 b(separated)g(b)m(y)f(dots.)41 b(The)30
b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m(y)e(the)h
(caller.)390 2969 y Fl(Return)f(v)-5 b(alue:)41 b Fx(Returns)30
b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f(error)g(co)s(de.)150
3169 y Fq(idna)p 389 3169 37 5 v 54 w(to)p 552 3169 V
54 w(ascii)p 837 3169 V 54 w(8z)3350 3366 y Fx([F)-8
b(unction])-3599 b Fp(int)53 b(idna_to_ascii_8z)e Fo(\()p
Fn(const)31 b(c)m(har)g(*)f Fm(input)12 b Fn(,)32 b(c)m(har)f(**)g
Fm(output)12 b Fn(,)32 b(in)m(t)565 3476 y Fm(flags)12
b Fo(\))390 3585 y Fn(input)r Fx(:)40 b(zero)31 b(terminated)g(input)e
(UTF-8)i(string.)390 3720 y Fn(output)r Fx(:)40 b(p)s(oin)m(ter)31
b(to)g(newly)f(allo)s(cated)i(output)e(string.)390 3855
y Fn(\015ags)t Fx(:)91 b(an)56 b Fr(Idna_flags)d Fx(v)-5
b(alue,)63 b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56
b Fr(IDNA_USE_STD3_)390 3965 y(ASCII_RULES)p Fx(.)390
4100 y(Con)m(v)m(ert)24 b(UTF-8)h(domain)e(name)h(to)g(ASCI)s(I)e
(string.)38 b(The)24 b(domain)f(name)h(ma)m(y)g(con)m(tain)h(sev)m
(eral)390 4209 y(lab)s(els,)31 b(separated)g(b)m(y)f(dots.)41
b(The)30 b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m
(y)e(the)h(caller.)390 4344 y Fl(Return)f(v)-5 b(alue:)41
b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f(error)g(co)
s(de.)150 4544 y Fq(idna)p 389 4544 V 54 w(to)p 552 4544
V 54 w(ascii)p 837 4544 V 54 w(lz)3350 4741 y Fx([F)-8
b(unction])-3599 b Fp(int)53 b(idna_to_ascii_lz)e Fo(\()p
Fn(const)31 b(c)m(har)g(*)f Fm(input)12 b Fn(,)32 b(c)m(har)f(**)g
Fm(output)12 b Fn(,)32 b(in)m(t)565 4851 y Fm(flags)12
b Fo(\))390 4960 y Fn(input)r Fx(:)40 b(zero)31 b(terminated)g(input)e
(string)i(enco)s(ded)f(in)g(the)g(curren)m(t)g(lo)s(cale's)j(c)m
(haracter)f(set.)390 5095 y Fn(output)r Fx(:)40 b(p)s(oin)m(ter)31
b(to)g(newly)f(allo)s(cated)i(output)e(string.)390 5230
y Fn(\015ags)t Fx(:)91 b(an)56 b Fr(Idna_flags)d Fx(v)-5
b(alue,)63 b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56
b Fr(IDNA_USE_STD3_)390 5340 y(ASCII_RULES)p Fx(.)p eop
end
%%Page: 28 33
TeXDict begin 28 32 bop 150 -116 a Fx(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(28)390 299 y(Con)m(v)m(ert)37
b(domain)f(name)g(in)f(the)h(lo)s(cale's)i(enco)s(ding)e(to)h(ASCI)s(I)
d(string.)58 b(The)35 b(domain)h(name)390 408 y(ma)m(y)27
b(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f(dots.)39
b(The)26 b(output)f(bu\013er)h(m)m(ust)g(b)s(e)f(deallo)s(cated)390
518 y(b)m(y)30 b(the)h(caller.)390 651 y Fl(Return)f(v)-5
b(alue:)41 b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f
(error)g(co)s(de.)150 881 y Fw(6.6)68 b(Simpli\014ed)45
b(T)-11 b(oUnico)t(de)45 b(In)l(terface)150 1104 y Fq(idna)p
389 1104 37 5 v 54 w(to)p 552 1104 V 54 w(unico)s(de)p
1019 1104 V 55 w(4z4z)3350 1298 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(idna_to_unicode_4z4z)f Fo(\()p Fn(const)31
b(uin)m(t32)p 1979 1298 28 4 v 41 w(t)g(*)f Fm(input)12
b Fn(,)32 b(uin)m(t32)p 2739 1298 V 41 w(t)f(**)565 1408
y Fm(output)12 b Fn(,)32 b(in)m(t)f Fm(flags)12 b Fo(\))390
1517 y Fn(input)r Fx(:)40 b(zero-terminated)32 b(Unico)s(de)e(string.)
390 1651 y Fn(output)r Fx(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s
(cated)i(output)e(Unico)s(de)h(string.)390 1784 y Fn(\015ags)t
Fx(:)91 b(an)56 b Fr(Idna_flags)d Fx(v)-5 b(alue,)63
b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56 b Fr(IDNA_USE_STD3_)
390 1893 y(ASCII_RULES)p Fx(.)390 2027 y(Con)m(v)m(ert)34
b(p)s(ossibly)d(A)m(CE)i(enco)s(ded)g(domain)f(name)h(in)f(UCS-4)h
(format)g(in)m(to)h(a)f(UCS-4)g(string.)390 2136 y(The)f(domain)g(name)
g(ma)m(y)h(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f
(dots.)46 b(The)32 b(output)g(bu\013er)390 2246 y(m)m(ust)e(b)s(e)g
(deallo)s(cated)i(b)m(y)f(the)f(caller.)390 2379 y Fl(Return)g(v)-5
b(alue:)41 b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f
(error)g(co)s(de.)150 2576 y Fq(idna)p 389 2576 37 5
v 54 w(to)p 552 2576 V 54 w(unico)s(de)p 1019 2576 V
55 w(8z4z)3350 2770 y Fx([F)-8 b(unction])-3599 b Fp(int)53
b(idna_to_unicode_8z4z)f Fo(\()p Fn(const)31 b(c)m(har)g(*)f
Fm(input)12 b Fn(,)32 b(uin)m(t32)p 2583 2770 28 4 v
41 w(t)f(**)g Fm(output)12 b Fn(,)565 2879 y(in)m(t)31
b Fm(flags)12 b Fo(\))390 2989 y Fn(input)r Fx(:)40 b(zero-terminated)
32 b(UTF-8)f(string.)390 3122 y Fn(output)r Fx(:)40 b(p)s(oin)m(ter)31
b(to)g(newly)f(allo)s(cated)i(output)e(Unico)s(de)h(string.)390
3255 y Fn(\015ags)t Fx(:)91 b(an)56 b Fr(Idna_flags)d
Fx(v)-5 b(alue,)63 b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50
b Fx(or)56 b Fr(IDNA_USE_STD3_)390 3365 y(ASCII_RULES)p
Fx(.)390 3498 y(Con)m(v)m(ert)33 b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g
(domain)f(name)i(in)e(UTF-8)i(format)f(in)m(to)h(a)g(UCS-4)f(string.)
390 3608 y(The)g(domain)g(name)g(ma)m(y)h(con)m(tain)g(sev)m(eral)h
(lab)s(els,)f(separated)g(b)m(y)f(dots.)46 b(The)32 b(output)g
(bu\013er)390 3717 y(m)m(ust)e(b)s(e)g(deallo)s(cated)i(b)m(y)f(the)f
(caller.)390 3851 y Fl(Return)g(v)-5 b(alue:)41 b Fx(Returns)30
b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f(error)g(co)s(de.)150
4047 y Fq(idna)p 389 4047 37 5 v 54 w(to)p 552 4047 V
54 w(unico)s(de)p 1019 4047 V 55 w(8z8z)3350 4242 y Fx([F)-8
b(unction])-3599 b Fp(int)53 b(idna_to_unicode_8z8z)f
Fo(\()p Fn(const)31 b(c)m(har)g(*)f Fm(input)12 b Fn(,)32
b(c)m(har)f(**)g Fm(output)12 b Fn(,)32 b(in)m(t)565
4351 y Fm(flags)12 b Fo(\))390 4461 y Fn(input)r Fx(:)40
b(zero-terminated)32 b(UTF-8)f(string.)390 4594 y Fn(output)r
Fx(:)40 b(p)s(oin)m(ter)31 b(to)g(newly)f(allo)s(cated)i(output)e
(UTF-8)h(string.)390 4727 y Fn(\015ags)t Fx(:)91 b(an)56
b Fr(Idna_flags)d Fx(v)-5 b(alue,)63 b(e.g.,)g Fr
(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56 b Fr(IDNA_USE_STD3_)390
4837 y(ASCII_RULES)p Fx(.)390 4970 y(Con)m(v)m(ert)32
b(p)s(ossibly)e(A)m(CE)i(enco)s(ded)f(domain)g(name)g(in)g(UTF-8)h
(format)g(in)m(to)g(a)g(UTF-8)g(string.)390 5080 y(The)g(domain)g(name)
g(ma)m(y)h(con)m(tain)g(sev)m(eral)h(lab)s(els,)f(separated)g(b)m(y)f
(dots.)46 b(The)32 b(output)g(bu\013er)390 5189 y(m)m(ust)e(b)s(e)g
(deallo)s(cated)i(b)m(y)f(the)f(caller.)390 5322 y Fl(Return)g(v)-5
b(alue:)41 b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f
(error)g(co)s(de.)p eop end
%%Page: 29 34
TeXDict begin 29 33 bop 150 -116 a Fx(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(29)150 299 y Fq(idna)p
389 299 37 5 v 54 w(to)p 552 299 V 54 w(unico)s(de)p
1019 299 V 55 w(8zlz)3350 491 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(idna_to_unicode_8zlz)f Fo(\()p Fn(const)31
b(c)m(har)g(*)f Fm(input)12 b Fn(,)32 b(c)m(har)f(**)g
Fm(output)12 b Fn(,)32 b(in)m(t)565 600 y Fm(flags)12
b Fo(\))390 710 y Fn(input)r Fx(:)40 b(zero-terminated)32
b(UTF-8)f(string.)390 842 y Fn(output)r Fx(:)71 b(p)s(oin)m(ter)45
b(to)h(newly)g(allo)s(cated)h(output)e(string)h(enco)s(ded)f(in)g(the)h
(curren)m(t)f(lo)s(cale's)390 952 y(c)m(haracter)32 b(set.)390
1084 y Fn(\015ags)t Fx(:)91 b(an)56 b Fr(Idna_flags)d
Fx(v)-5 b(alue,)63 b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50
b Fx(or)56 b Fr(IDNA_USE_STD3_)390 1193 y(ASCII_RULES)p
Fx(.)390 1325 y(Con)m(v)m(ert)30 b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g
(domain)g(name)g(in)g(UTF-8)g(format)h(in)m(to)g(a)f(string)g(enco)s
(ded)390 1435 y(in)35 b(the)h(curren)m(t)f(lo)s(cale's)i(c)m(haracter)g
(set.)57 b(The)35 b(domain)g(name)h(ma)m(y)g(con)m(tain)h(sev)m(eral)f
(lab)s(els,)390 1545 y(separated)31 b(b)m(y)f(dots.)41
b(The)30 b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m
(y)f(the)f(caller.)390 1677 y Fl(Return)g(v)-5 b(alue:)41
b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f(error)g(co)
s(de.)150 1871 y Fq(idna)p 389 1871 V 54 w(to)p 552 1871
V 54 w(unico)s(de)p 1019 1871 V 55 w(lzlz)3350 2063 y
Fx([F)-8 b(unction])-3599 b Fp(int)53 b(idna_to_unicode_lzlz)f
Fo(\()p Fn(const)31 b(c)m(har)g(*)f Fm(input)12 b Fn(,)32
b(c)m(har)f(**)g Fm(output)12 b Fn(,)32 b(in)m(t)565
2173 y Fm(flags)12 b Fo(\))390 2282 y Fn(input)r Fx(:)40
b(zero-terminated)32 b(string)e(enco)s(ded)g(in)g(the)h(curren)m(t)f
(lo)s(cale's)i(c)m(haracter)g(set.)390 2414 y Fn(output)r
Fx(:)71 b(p)s(oin)m(ter)45 b(to)h(newly)g(allo)s(cated)h(output)e
(string)h(enco)s(ded)f(in)g(the)h(curren)m(t)f(lo)s(cale's)390
2524 y(c)m(haracter)32 b(set.)390 2656 y Fn(\015ags)t
Fx(:)91 b(an)56 b Fr(Idna_flags)d Fx(v)-5 b(alue,)63
b(e.g.,)g Fr(IDNA_ALLOW_UNASSIGNED)50 b Fx(or)56 b Fr(IDNA_USE_STD3_)
390 2765 y(ASCII_RULES)p Fx(.)390 2898 y(Con)m(v)m(ert)25
b(p)s(ossibly)e(A)m(CE)h(enco)s(ded)g(domain)g(name)g(in)g(the)g(lo)s
(cale's)i(c)m(haracter)g(set)e(in)m(to)h(a)g(string)390
3007 y(enco)s(ded)30 b(in)g(the)h(curren)m(t)f(lo)s(cale's)i(c)m
(haracter)g(set.)42 b(The)30 b(domain)g(name)h(ma)m(y)g(con)m(tain)h
(sev)m(eral)390 3117 y(lab)s(els,)f(separated)g(b)m(y)f(dots.)41
b(The)30 b(output)g(bu\013er)f(m)m(ust)h(b)s(e)g(deallo)s(cated)i(b)m
(y)e(the)h(caller.)390 3249 y Fl(Return)f(v)-5 b(alue:)41
b Fx(Returns)30 b Fr(IDNA_SUCCESS)d Fx(on)j(success,)h(or)f(error)g(co)
s(de.)150 3476 y Fw(6.7)68 b(Error)45 b(Handling)150
3698 y Fq(idna)p 389 3698 V 54 w(strerror)3350 3890 y
Fx([F)-8 b(unction])-3599 b Fp(const)54 b(char)f(*)g(idna_strerror)c
Fo(\()p Fn(Idna)p 1776 3890 28 4 v 40 w(rc)30 b Fm(rc)12
b Fo(\))390 4000 y Fn(rc)6 b Fx(:)40 b(an)30 b Fr(Idna_rc)f
Fx(return)g(co)s(de.)390 4132 y(Con)m(v)m(ert)35 b(a)f(return)e(co)s
(de)i(in)m(teger)i(to)e(a)g(text)h(string.)51 b(This)33
b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)390 4241
y(diagnostic)e(message)f(to)g(the)g(user.)390 4373 y
Fl(IDNA)p 642 4373 28 5 v 40 w(SUCCESS:)e Fx(Successful)j(op)s
(eration.)47 b(This)31 b(v)-5 b(alue)33 b(is)f(guaran)m(teed)i(to)f
(alw)m(a)m(ys)g(b)s(e)f(zero,)390 4483 y(the)23 b(remaining)f(ones)h
(are)g(only)g(guaran)m(teed)g(to)g(hold)g(non-zero)g(v)-5
b(alues,)24 b(for)f(logical)i(comparison)390 4593 y(purp)s(oses.)390
4725 y Fl(IDNA)p 642 4725 V 40 w(STRINGPREP)p 1296 4725
V 40 w(ERR)m(OR:)31 b Fx(Error)f(during)f(string)h(preparation.)390
4857 y Fl(IDNA)p 642 4857 V 40 w(PUNYCODE)p 1218 4857
V 39 w(ERR)m(OR:)h Fx(Error)e(during)g(pun)m(yco)s(de)h(op)s(eration.)
390 4989 y Fl(IDNA)p 642 4989 V 40 w(CONT)-8 b(AINS)p
1169 4989 V 40 w(NON)p 1419 4989 V 40 w(LDH:)80 b Fx(F)-8
b(or)81 b(IDNA)p 2211 4989 28 4 v 41 w(USE)p 2433 4989
V 39 w(STD3)p 2703 4989 V 40 w(ASCI)s(I)p 2997 4989 V
39 w(R)m(ULES,)f(indicate)390 5098 y(that)31 b(the)g(string)f(con)m
(tains)h(non-LDH)g(ASCI)s(I)e(c)m(haracters.)390 5230
y Fl(IDNA)p 642 5230 28 5 v 40 w(CONT)-8 b(AINS)p 1169
5230 V 40 w(MINUS:)52 b Fx(F)-8 b(or)52 b(IDNA)p 2022
5230 28 4 v 40 w(USE)p 2243 5230 V 40 w(STD3)p 2514 5230
V 40 w(ASCI)s(I)p 2808 5230 V 39 w(R)m(ULES,)f(indicate)h(that)390
5340 y(the)31 b(string)f(con)m(tains)h(a)g(leading)g(or)g(trailing)g(h)
m(yphen-min)m(us)e(\(U)p Fr(+)p Fx(002D\).)p eop end
%%Page: 30 35
TeXDict begin 30 34 bop 150 -116 a Fx(Chapter)30 b(6:)41
b(IDNA)31 b(F)-8 b(unctions)2390 b(30)390 299 y Fl(IDNA)p
642 299 28 5 v 40 w(INV)-10 b(ALID)p 1078 299 V 39 w(LENGTH:)47
b Fx(The)f(\014nal)g(output)g(string)g(is)h(not)g(within)f(the)g
(\(inclusiv)m(e\))390 408 y(range)31 b(1)f(to)i(63)f(c)m(haracters.)390
543 y Fl(IDNA)p 642 543 V 40 w(NO)p 821 543 V 40 w(A)m(CE)p
1053 543 V 40 w(PREFIX:)i Fx(The)h(string)f(do)s(es)h(not)g(con)m(tain)
h(the)f(A)m(CE)g(pre\014x)f(\(for)h(T)-8 b(oUni-)390
653 y(co)s(de\).)390 787 y Fl(IDNA)p 642 787 V 40 w(R)m(OUNDTRIP)p
1257 787 V 41 w(VERIFY)p 1658 787 V 39 w(ERR)m(OR:)37
b Fx(The)g(T)-8 b(oASCI)s(I)36 b(op)s(eration)h(on)g(output)f(string)
390 897 y(do)s(es)30 b(not)h(equal)g(the)f(input.)390
1031 y Fl(IDNA)p 642 1031 V 40 w(CONT)-8 b(AINS)p 1169
1031 V 40 w(A)m(CE)p 1401 1031 V 39 w(PREFIX:)79 b Fx(The)g(input)f
(con)m(tains)j(the)e(A)m(CE)h(pre\014x)e(\(for)390 1141
y(T)-8 b(oASCI)s(I\).)390 1275 y Fl(IDNA)p 642 1275 V
40 w(ICONV)p 992 1275 V 40 w(ERR)m(OR:)31 b Fx(Could)e(not)i(con)m(v)m
(ert)h(string)e(in)g(lo)s(cale)i(enco)s(ding.)390 1410
y Fl(IDNA)p 642 1410 V 40 w(MALLOC)p 1081 1410 V 39 w(ERR)m(OR:)f
Fx(Could)e(not)i(allo)s(cate)i(bu\013er)c(\(this)i(is)f(t)m(ypically)i
(a)f(fatal)h(error\).)390 1544 y Fl(IDNA)p 642 1544 V
40 w(DLOPEN)p 1068 1544 V 39 w(ERR)m(OR:)j Fx(Could)f(not)h(dlop)s(en)e
(the)i(lib)s(cidn)e(DSO)h(\(only)h(used)f(in)m(ternally)390
1654 y(in)c(lib)s(c\).)390 1788 y Fl(Return)f(v)-5 b(alue:)40
b Fx(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j(allo)s
(cated)f(string)f(con)m(taining)h(a)e(descrip-)390 1898
y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
Fr(rc)p Fx(.)p eop end
%%Page: 31 36
TeXDict begin 31 35 bop 150 -116 a Fx(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(31)150 299 y Fu(7)80
b(TLD)54 b(F)-13 b(unctions)150 531 y Fx(Organizations)40
b(that)f(manage)g(some)g(T)-8 b(op)38 b(Lev)m(el)i(Domains)f(\()p
Fk(TLD)p Fx(s\))g(ha)m(v)m(e)g(published)e(tables)i(with)150
640 y(c)m(haracters)d(they)f(accept)h(within)e(the)g(domain.)54
b(The)34 b(reason)g(ma)m(y)i(b)s(e)d(to)j(reduce)e(complexit)m(y)i
(that)150 750 y(come)30 b(from)f(using)f(the)h(full)g(Unico)s(de)g
(range,)h(and)f(to)g(protect)h(themselv)m(es)h(from)d(future)g(\(bac)m
(kw)m(ards)150 859 y(incompatible\))36 b(c)m(hanges)g(in)e(the)h(IDN)g
(or)g(Unico)s(de)g(sp)s(eci\014cations.)55 b(Libidn)33
b(implemen)m(t)j(an)e(infras-)150 969 y(tructure)29 b(for)g(de\014ning)
f(and)g(c)m(hec)m(king)j(strings)e(against)i(suc)m(h)d(tables.)42
b(Libidn)27 b(also)j(ship)f(some)g(tables)150 1079 y(from)d
Fk(TLD)p Fx(s)g(that)h(w)m(e)f(ha)m(v)m(e)i(managed)e(to)h(get)g(p)s
(ermission)e(to)i(use)f(them)g(from.)39 b(Because)28
b(these)e(tables)150 1188 y(are)i(ev)m(en)g(less)g(static)h(than)e
(Unico)s(de)h(or)f(StringPrep)f(tables,)k(it)e(is)f(lik)m(ely)i(that)f
(they)g(will)f(b)s(e)g(up)s(dated)150 1298 y(from)33
b(time)h(to)g(time)g(\(ev)m(en)h(in)e(bac)m(kw)m(ards)h(incompatib)s(e)
g(w)m(a)m(ys\).)51 b(The)33 b(Libidn)f(in)m(terface)j(pro)m(vide)f(a)
150 1407 y(\\v)m(ersion")39 b(\014eld)d(for)h(eac)m(h)i
Fk(TLD)e Fx(table,)j(whic)m(h)d(can)h(b)s(e)e(compared)h(for)g(equalit)
m(y)i(to)f(guaran)m(tee)h(the)150 1517 y(same)31 b(op)s(eration)g(o)m
(v)m(er)g(time.)275 1651 y(F)-8 b(rom)25 b(a)g(design)f(p)s(oin)m(t)h
(of)g(view,)h(y)m(ou)f(can)g(regard)f(the)h Fk(TLD)g
Fx(tables)g(for)f(IDN)h(as)g(the)g(\\lo)s(calization")150
1760 y(step)30 b(that)h(come)h(after)f(the)f(\\in)m
(ternationalization")35 b(step)30 b(pro)m(vided)g(b)m(y)h(the)f(IETF)g
(standards.)275 1894 y(The)35 b(TLD)i(functionalit)m(y)h(rely)e(on)h
(up-to-date)g(tables.)60 b(The)36 b(latest)i(v)m(ersion)f(of)f(Libidn)f
(aim)i(to)150 2004 y(pro)m(vide)28 b(these,)h(but)d(tables)j(with)e
(unclear)h(cop)m(ying)g(conditions,)h(or)f(generally)h(exp)s(erimen)m
(tal)f(tables,)150 2114 y(are)j(not)f(included.)40 b(Some)31
b(suc)m(h)f(tables)h(can)g(b)s(e)e(found)g(at)j Fr
(http://tldchk.berlios.d)o(e)p Fx(.)150 2345 y Fw(7.1)68
b(Header)46 b(\014le)f Fj(tld.h)150 2505 y Fx(T)-8 b(o)31
b(use)f(the)g(functions)g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)
e(need)g(to)i(include)e(the)g(\014le)h(`)p Fr(tld.h)p
Fx(')e(using:)390 2639 y Fr(#include)46 b(<tld.h>)150
2870 y Fw(7.2)68 b(Core)46 b(F)-11 b(unctions)150 3094
y Fq(tld)p 309 3094 37 5 v 54 w(c)m(hec)m(k)p 656 3094
V 52 w(4t)3350 3290 y Fx([F)j(unction])-3599 b Fp(int)53
b(tld_check_4t)c Fo(\()p Fn(const)32 b(uin)m(t32)p 1561
3290 28 4 v 41 w(t)e(*)h Fm(in)12 b Fn(,)31 b(size)p
2056 3290 V 41 w(t)f Fm(inlen)12 b Fn(,)32 b(size)p 2632
3290 V 41 w(t)e(*)h Fm(errpos)12 b Fn(,)565 3399 y(const)31
b(Tld)p 951 3399 V 39 w(table)h(*)e Fm(tld)12 b Fo(\))390
3509 y Fn(in)p Fx(:)40 b(Arra)m(y)31 b(of)g(unico)s(de)e(co)s(de)i(p)s
(oin)m(ts)f(to)h(pro)s(cess.)41 b(Do)s(es)31 b(not)f(need)g(to)h(b)s(e)
f(zero)h(terminated.)390 3643 y Fn(inlen)p Fx(:)41 b(Num)m(b)s(er)29
b(of)h(unico)s(de)g(co)s(de)h(p)s(oin)m(ts.)390 3777
y Fn(errp)s(os)t Fx(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
(haracter)i(is)e(returned)g(here.)390 3911 y Fn(tld)t
Fx(:)60 b(A)40 b Fr(Tld_table)d Fx(data)k(structure)e(represen)m(ting)h
(the)h(restrictions)f(for)g(whic)m(h)g(the)g(input)390
4020 y(should)29 b(b)s(e)h(tested.)390 4154 y(T)-8 b(est)36
b(eac)m(h)g(of)f(the)h(co)s(de)f(p)s(oin)m(ts)g(in)g
Fr(in)f Fx(for)h(whether)g(or)g(not)g(they)g(are)h(allo)m(w)m(ed)h(b)m
(y)e(the)g(data)390 4264 y(structure)g(in)h Fr(tld)p
Fx(,)g(return)f(the)h(p)s(osition)g(of)g(the)g(\014rst)f(c)m(haracter)j
(for)d(whic)m(h)h(this)g(is)g(not)g(the)390 4374 y(case)31
b(in)f Fr(errpos)p Fx(.)390 4508 y Fl(Return)h(v)-5 b(alue:)44
b Fx(Returns)31 b(the)h Fr(Tld_rc)e Fx(v)-5 b(alue)32
b Fr(TLD_SUCCESS)c Fx(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5
b(alid)32 b(or)390 4617 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g
Fr(TLD_INVALID)d Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 4727 y(on)j(general)i(failure)e
(conditions.)150 4925 y Fq(tld)p 309 4925 37 5 v 54 w(c)m(hec)m(k)p
656 4925 V 52 w(4tz)3350 5121 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(tld_check_4tz)d Fo(\()p Fn(const)31 b(uin)m(t32)p
1613 5121 28 4 v 41 w(t)g(*)f Fm(in)12 b Fn(,)31 b(size)p
2108 5121 V 41 w(t)g(*)f Fm(errpos)12 b Fn(,)32 b(const)565
5230 y(Tld)p 713 5230 V 40 w(table)f(*)g Fm(tld)12 b
Fo(\))390 5340 y Fn(in)p Fx(:)40 b(Zero)31 b(terminated)g(arra)m(y)g
(of)f(unico)s(de)g(co)s(de)h(p)s(oin)m(ts)f(to)h(pro)s(cess.)p
eop end
%%Page: 32 37
TeXDict begin 32 36 bop 150 -116 a Fx(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(32)390 299 y Fn(errp)s(os)t
Fx(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e
(returned)g(here.)390 461 y Fn(tld)t Fx(:)60 b(A)40 b
Fr(Tld_table)d Fx(data)k(structure)e(represen)m(ting)h(the)h
(restrictions)f(for)g(whic)m(h)g(the)g(input)390 570
y(should)29 b(b)s(e)h(tested.)390 732 y(T)-8 b(est)36
b(eac)m(h)g(of)f(the)h(co)s(de)f(p)s(oin)m(ts)g(in)g
Fr(in)f Fx(for)h(whether)g(or)g(not)g(they)g(are)h(allo)m(w)m(ed)h(b)m
(y)e(the)g(data)390 842 y(structure)g(in)h Fr(tld)p Fx(,)g(return)f
(the)h(p)s(osition)g(of)g(the)g(\014rst)f(c)m(haracter)j(for)d(whic)m
(h)h(this)g(is)g(not)g(the)390 951 y(case)31 b(in)f Fr(errpos)p
Fx(.)390 1113 y Fl(Return)h(v)-5 b(alue:)44 b Fx(Returns)31
b(the)h Fr(Tld_rc)e Fx(v)-5 b(alue)32 b Fr(TLD_SUCCESS)c
Fx(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
b(or)390 1223 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g
Fr(TLD_INVALID)d Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 1332 y(on)j(general)i(failure)e
(conditions.)150 1606 y Fw(7.3)68 b(Utilit)l(y)47 b(F)-11
b(unctions)150 1830 y Fq(tld)p 309 1830 37 5 v 54 w(get)p
528 1830 V 54 w(4)3350 2054 y Fx([F)j(unction])-3599
b Fp(int)53 b(tld_get_4)48 b Fo(\()p Fn(const)32 b(uin)m(t32)p
1404 2054 28 4 v 41 w(t)e(*)h Fm(in)12 b Fn(,)31 b(size)p
1899 2054 V 41 w(t)f Fm(inlen)12 b Fn(,)32 b(c)m(har)f(**)g
Fm(out)12 b Fo(\))390 2163 y Fn(in)p Fx(:)40 b(Arra)m(y)31
b(of)g(unico)s(de)e(co)s(de)i(p)s(oin)m(ts)f(to)h(pro)s(cess.)41
b(Do)s(es)31 b(not)f(need)g(to)h(b)s(e)f(zero)h(terminated.)390
2325 y Fn(inlen)p Fx(:)41 b(Num)m(b)s(er)29 b(of)h(unico)s(de)g(co)s
(de)h(p)s(oin)m(ts.)390 2487 y Fn(out)r Fx(:)41 b(Zero)30
b(terminated)h(ascii)h(result)e(string)g(p)s(oin)m(ter.)390
2649 y(Isolate)i(the)e(top-lev)m(el)j(domain)d(of)h Fr(in)f
Fx(and)f(return)h(it)h(as)f(an)h(ASCI)s(I)d(string)j(in)f
Fr(out)p Fx(.)390 2811 y Fl(Return)38 b(v)-5 b(alue:)56
b Fx(Return)37 b Fr(TLD_SUCCESS)d Fx(on)k(success,)i(or)e(the)g
(corresp)s(onding)f Fr(Tld_rc)f Fx(error)390 2920 y(co)s(de)31
b(otherwise.)150 3147 y Fq(tld)p 309 3147 37 5 v 54 w(get)p
528 3147 V 54 w(4z)3350 3371 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(tld_get_4z)c Fo(\()p Fn(const)31 b(uin)m(t32)p
1456 3371 28 4 v 41 w(t)g(*)f Fm(in)12 b Fn(,)31 b(c)m(har)g(**)g
Fm(out)12 b Fo(\))390 3480 y Fn(in)p Fx(:)40 b(Zero)31
b(terminated)g(arra)m(y)g(of)f(unico)s(de)g(co)s(de)h(p)s(oin)m(ts)f
(to)h(pro)s(cess.)390 3642 y Fn(out)r Fx(:)41 b(Zero)30
b(terminated)h(ascii)h(result)e(string)g(p)s(oin)m(ter.)390
3804 y(Isolate)i(the)e(top-lev)m(el)j(domain)d(of)h Fr(in)f
Fx(and)f(return)h(it)h(as)f(an)h(ASCI)s(I)d(string)j(in)f
Fr(out)p Fx(.)390 3966 y Fl(Return)38 b(v)-5 b(alue:)56
b Fx(Return)37 b Fr(TLD_SUCCESS)d Fx(on)k(success,)i(or)e(the)g
(corresp)s(onding)f Fr(Tld_rc)f Fx(error)390 4075 y(co)s(de)31
b(otherwise.)150 4302 y Fq(tld)p 309 4302 37 5 v 54 w(get)p
528 4302 V 54 w(z)3350 4526 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(tld_get_z)48 b Fo(\()p Fn(const)32 b(c)m(har)e(*)h
Fm(in)12 b Fn(,)31 b(c)m(har)g(**)g Fm(out)12 b Fo(\))390
4635 y Fn(in)p Fx(:)40 b(Zero)31 b(terminated)g(c)m(haracter)h(arra)m
(y)e(to)i(pro)s(cess.)390 4797 y Fn(out)r Fx(:)41 b(Zero)30
b(terminated)h(ascii)h(result)e(string)g(p)s(oin)m(ter.)390
4959 y(Isolate)f(the)e(top-lev)m(el)j(domain)d(of)g Fr(in)g
Fx(and)g(return)f(it)i(as)f(an)g(ASCI)s(I)f(string)h(in)g
Fr(out)p Fx(.)39 b(The)27 b(input)390 5069 y(string)j
Fr(in)g Fx(ma)m(y)h(b)s(e)f(UTF-8,)h(ISO-8859-1)i(or)d(an)m(y)h(ASCI)s
(I)d(compatible)k(c)m(haracter)g(enco)s(ding.)390 5230
y Fl(Return)38 b(v)-5 b(alue:)56 b Fx(Return)37 b Fr(TLD_SUCCESS)d
Fx(on)k(success,)i(or)e(the)g(corresp)s(onding)f Fr(Tld_rc)f
Fx(error)390 5340 y(co)s(de)31 b(otherwise.)p eop end
%%Page: 33 38
TeXDict begin 33 37 bop 150 -116 a Fx(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(33)150 299 y Fq(tld)p
309 299 37 5 v 54 w(get)p 528 299 V 54 w(table)3350 515
y Fx([F)-8 b(unction])-3599 b Fp(const)54 b(Tld_table)h(*)d
(tld_get_table)e Fo(\()p Fn(const)30 b(c)m(har)g(*)f
Fm(tld)12 b Fn(,)30 b(const)g(Tld)p 2970 515 28 4 v 39
w(table)565 625 y(**)h Fm(tables)12 b Fo(\))390 735 y
Fn(tld)t Fx(:)40 b(TLD)31 b(name)f(\(e.g.)42 b Fr(")p
Fx(com)p Fr(")p Fx(\))31 b(as)f(zero)i(terminated)f(ASCI)s(I)d(b)m(yte)
j(string.)390 889 y Fn(tables)t Fx(:)41 b(Zero)31 b(terminated)f(arra)m
(y)h(of)g Fr(Tld_table)d Fx(info-structures)i(for)g(TLDs.)390
1043 y(Get)25 b(the)g(TLD)f(table)i(for)e(a)h(named)f(TLD)g(b)m(y)g
(searc)m(hing)h(through)f(the)h(giv)m(en)g(TLD)f(table)i(arra)m(y)-8
b(.)390 1197 y Fl(Return)29 b(v)-5 b(alue:)40 b Fx(Return)29
b(structure)g(corresp)s(onding)f(to)i(TLD)f Fr(tld)f
Fx(b)m(y)h(going)i(thru)d Fr(tables)p Fx(,)g(or)390 1307
y(return)h Fr(NULL)g Fx(if)i(no)f(suc)m(h)g(structure)g(is)g(found.)150
1526 y Fq(tld)p 309 1526 37 5 v 54 w(default)p 734 1526
V 54 w(table)3350 1742 y Fx([F)-8 b(unction])-3599 b
Fp(const)54 b(Tld_table)h(*)d(tld_default_table)f Fo(\()p
Fn(const)31 b(c)m(har)g(*)g Fm(tld)12 b Fn(,)31 b(const)565
1852 y(Tld)p 713 1852 28 4 v 40 w(table)g(**)g Fm(overrides)12
b Fo(\))390 1961 y Fn(tld)t Fx(:)40 b(TLD)31 b(name)f(\(e.g.)42
b Fr(")p Fx(com)p Fr(")p Fx(\))31 b(as)f(zero)i(terminated)f(ASCI)s(I)d
(b)m(yte)j(string.)390 2116 y Fn(o)m(v)m(errides)t Fx(:)48
b(Additional)34 b(zero)g(terminated)g(arra)m(y)g(of)g
Fr(Tld_table)d Fx(info-structures)i(for)g(TLDs,)390 2225
y(or)d Fr(NULL)g Fx(to)h(only)f(use)g(library)g(deault)h(tables.)390
2379 y(Get)h(the)f(TLD)g(table)h(for)f(a)g(named)f(TLD,)i(using)e(the)h
(in)m(ternal)h(defaults,)f(p)s(ossibly)f(o)m(v)m(errided)390
2489 y(b)m(y)g(the)h(\(optional\))h(supplied)d(tables.)390
2643 y Fl(Return)24 b(v)-5 b(alue:)38 b Fx(Return)24
b(structure)g(corresp)s(onding)g(to)h(TLD)f Fr(tld_str)p
Fx(,)g(\014rst)g(lo)s(oking)i(through)390 2753 y Fr(overrides)i
Fx(then)i(thru)f(built-in)h(list,)i(or)e Fr(NULL)f Fx(if)i(no)f(suc)m
(h)g(structure)g(found.)150 3015 y Fw(7.4)68 b(High-Lev)l(el)46
b(W)-11 b(rapp)t(er)45 b(F)-11 b(unctions)150 3239 y
Fq(tld)p 309 3239 37 5 v 54 w(c)m(hec)m(k)p 656 3239
V 52 w(4)3350 3455 y Fx([F)j(unction])-3599 b Fp(int)53
b(tld_check_4)c Fo(\()p Fn(const)31 b(uin)m(t32)p 1508
3455 28 4 v 41 w(t)g(*)g Fm(in)12 b Fn(,)30 b(size)p
2003 3455 V 41 w(t)h Fm(inlen)12 b Fn(,)32 b(size)p 2580
3455 V 40 w(t)f(*)g Fm(errpos)12 b Fn(,)565 3565 y(const)31
b(Tld)p 951 3565 V 39 w(table)h(**)f Fm(overrides)12
b Fo(\))390 3675 y Fn(in)p Fx(:)40 b(Arra)m(y)31 b(of)g(unico)s(de)e
(co)s(de)i(p)s(oin)m(ts)f(to)h(pro)s(cess.)41 b(Do)s(es)31
b(not)f(need)g(to)h(b)s(e)f(zero)h(terminated.)390 3829
y Fn(inlen)p Fx(:)41 b(Num)m(b)s(er)29 b(of)h(unico)s(de)g(co)s(de)h(p)
s(oin)m(ts.)390 3983 y Fn(errp)s(os)t Fx(:)39 b(P)m(osition)32
b(of)f(o\013ending)f(c)m(haracter)i(is)e(returned)g(here.)390
4137 y Fn(o)m(v)m(errides)t Fx(:)48 b(A)34 b Fr(Tld_table)d
Fx(arra)m(y)j(of)g(additional)h(domain)e(restriction)i(structures)e
(that)h(com-)390 4247 y(plemen)m(t)d(and)f(sup)s(ersede)f(the)h
(built-in)g(information.)390 4401 y(T)-8 b(est)26 b(eac)m(h)h(of)f(the)
g(co)s(de)g(p)s(oin)m(ts)g(in)f Fr(in)g Fx(for)h(whether)f(or)h(not)g
(they)g(are)g(allo)m(w)m(ed)h(b)m(y)f(the)g(informa-)390
4511 y(tion)32 b(in)g Fr(overrides)d Fx(or)j(b)m(y)g(the)g(built-in)g
(TLD)g(restriction)g(data.)46 b(When)32 b(data)h(for)e(the)i(same)390
4620 y(TLD)39 b(is)g(a)m(v)-5 b(ailable)41 b(b)s(oth)d(in)m(ternally)i
(and)e(in)h Fr(overrides)p Fx(,)g(the)g(information)g(in)f
Fr(overrides)390 4730 y Fx(tak)m(es)29 b(precedence.)40
b(If)27 b(sev)m(eral)i(en)m(tries)g(for)e(a)h(sp)s(eci\014c)g(TLD)f
(are)h(found,)f(the)h(\014rst)f(one)h(is)f(used.)390
4839 y(If)k Fr(overrides)e Fx(is)i Fr(NULL)p Fx(,)f(only)i(the)f
(built-in)g(information)h(is)f(used.)43 b(The)30 b(p)s(osition)i(of)f
(the)h(\014rst)390 4949 y(o\013ending)e(c)m(haracter)i(is)f(returned)e
(in)h Fr(errpos)p Fx(.)390 5103 y Fl(Return)h(v)-5 b(alue:)44
b Fx(Returns)31 b(the)h Fr(Tld_rc)e Fx(v)-5 b(alue)32
b Fr(TLD_SUCCESS)c Fx(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5
b(alid)32 b(or)390 5213 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g
Fr(TLD_INVALID)d Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 5322 y(on)j(general)i(failure)e
(conditions.)p eop end
%%Page: 34 39
TeXDict begin 34 38 bop 150 -116 a Fx(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(34)150 299 y Fq(tld)p
309 299 37 5 v 54 w(c)m(hec)m(k)p 656 299 V 52 w(4z)3350
501 y Fx([F)-8 b(unction])-3599 b Fp(int)53 b(tld_check_4z)c
Fo(\()p Fn(const)32 b(uin)m(t32)p 1561 501 28 4 v 41
w(t)e(*)h Fm(in)12 b Fn(,)31 b(size)p 2056 501 V 41 w(t)f(*)h
Fm(errpos)12 b Fn(,)32 b(const)565 610 y(Tld)p 713 610
V 40 w(table)f(**)g Fm(overrides)12 b Fo(\))390 720 y
Fn(in)p Fx(:)40 b(Zero-terminated)32 b(arra)m(y)f(of)f(unico)s(de)g(co)
s(de)h(p)s(oin)m(ts)f(to)h(pro)s(cess.)390 860 y Fn(errp)s(os)t
Fx(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m(haracter)i(is)e
(returned)g(here.)390 999 y Fn(o)m(v)m(errides)t Fx(:)48
b(A)34 b Fr(Tld_table)d Fx(arra)m(y)j(of)g(additional)h(domain)e
(restriction)i(structures)e(that)h(com-)390 1109 y(plemen)m(t)d(and)f
(sup)s(ersede)f(the)h(built-in)g(information.)390 1248
y(T)-8 b(est)26 b(eac)m(h)h(of)f(the)g(co)s(de)g(p)s(oin)m(ts)g(in)f
Fr(in)g Fx(for)h(whether)f(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m
(y)f(the)g(informa-)390 1358 y(tion)32 b(in)g Fr(overrides)d
Fx(or)j(b)m(y)g(the)g(built-in)g(TLD)g(restriction)g(data.)46
b(When)32 b(data)h(for)e(the)i(same)390 1468 y(TLD)39
b(is)g(a)m(v)-5 b(ailable)41 b(b)s(oth)d(in)m(ternally)i(and)e(in)h
Fr(overrides)p Fx(,)g(the)g(information)g(in)f Fr(overrides)390
1577 y Fx(tak)m(es)29 b(precedence.)40 b(If)27 b(sev)m(eral)i(en)m
(tries)g(for)e(a)h(sp)s(eci\014c)g(TLD)f(are)h(found,)f(the)h(\014rst)f
(one)h(is)f(used.)390 1687 y(If)k Fr(overrides)e Fx(is)i
Fr(NULL)p Fx(,)f(only)i(the)f(built-in)g(information)h(is)f(used.)43
b(The)30 b(p)s(osition)i(of)f(the)h(\014rst)390 1796
y(o\013ending)e(c)m(haracter)i(is)f(returned)e(in)h Fr(errpos)p
Fx(.)390 1936 y Fl(Return)h(v)-5 b(alue:)44 b Fx(Returns)31
b(the)h Fr(Tld_rc)e Fx(v)-5 b(alue)32 b Fr(TLD_SUCCESS)c
Fx(if)k(all)g(co)s(de)g(p)s(oin)m(ts)g(are)g(v)-5 b(alid)32
b(or)390 2046 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g
Fr(TLD_INVALID)d Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 2155 y(on)j(general)i(failure)e
(conditions.)150 2360 y Fq(tld)p 309 2360 37 5 v 54 w(c)m(hec)m(k)p
656 2360 V 52 w(8z)3350 2562 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(tld_check_8z)c Fo(\()p Fn(const)32 b(c)m(har)e(*)h
Fm(in)12 b Fn(,)31 b(size)p 1900 2562 28 4 v 41 w(t)f(*)h
Fm(errpos)12 b Fn(,)32 b(const)f(Tld)p 2843 2562 V 39
w(table)h(**)565 2671 y Fm(overrides)12 b Fo(\))390 2781
y Fn(in)p Fx(:)40 b(Zero-terminated)32 b(UTF8)f(string)f(to)h(pro)s
(cess.)390 2920 y Fn(errp)s(os)t Fx(:)39 b(P)m(osition)32
b(of)f(o\013ending)f(c)m(haracter)i(is)e(returned)g(here.)390
3060 y Fn(o)m(v)m(errides)t Fx(:)48 b(A)34 b Fr(Tld_table)d
Fx(arra)m(y)j(of)g(additional)h(domain)e(restriction)i(structures)e
(that)h(com-)390 3170 y(plemen)m(t)d(and)f(sup)s(ersede)f(the)h
(built-in)g(information.)390 3309 y(T)-8 b(est)21 b(eac)m(h)h(of)f(the)
g(c)m(haracters)h(in)e Fr(in)h Fx(for)f(whether)g(or)h(not)g(they)g
(are)g(allo)m(w)m(ed)h(b)m(y)f(the)g(information)390
3419 y(in)29 b Fr(overrides)e Fx(or)j(b)m(y)f(the)h(built-in)f(TLD)h
(restriction)g(data.)41 b(When)30 b(data)g(for)f(the)h(same)g(TLD)390
3528 y(is)38 b(a)m(v)-5 b(ailable)40 b(b)s(oth)e(in)m(ternally)g(and)g
(in)f Fr(overrides)p Fx(,)h(the)g(information)g(in)g
Fr(overrides)d Fx(tak)m(es)390 3638 y(precedence.)56
b(If)34 b(sev)m(eral)j(en)m(tries)f(for)f(a)g(sp)s(eci\014c)g(TLD)h
(are)f(found,)g(the)h(\014rst)e(one)i(is)f(used.)54 b(If)390
3748 y Fr(overrides)35 b Fx(is)i Fr(NULL)p Fx(,)h(only)g(the)f
(built-in)g(information)h(is)f(used.)61 b(The)36 b(p)s(osition)i(of)f
(the)h(\014rst)390 3857 y(o\013ending)32 b(c)m(haracter)i(is)e
(returned)f(in)h Fr(errpos)p Fx(.)44 b(Note)34 b(that)f(the)f(error)g
(p)s(osition)g(refers)g(to)h(the)390 3967 y(deco)s(ded)d(c)m(haracter)i
(o\013set)f(rather)g(than)f(the)g(b)m(yte)h(p)s(osition)g(in)f(the)g
(string.)390 4106 y Fl(Return)35 b(v)-5 b(alue:)52 b
Fx(Returns)35 b(the)g Fr(Tld_rc)f Fx(v)-5 b(alue)36 b
Fr(TLD_SUCCESS)d Fx(if)i(all)i(c)m(haracters)g(are)f(v)-5
b(alid)36 b(or)390 4216 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g
Fr(TLD_INVALID)d Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k
(or)c(additional)i(error)e(co)s(des)390 4326 y(on)j(general)i(failure)e
(conditions.)150 4530 y Fq(tld)p 309 4530 37 5 v 54 w(c)m(hec)m(k)p
656 4530 V 52 w(lz)3350 4732 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(tld_check_lz)c Fo(\()p Fn(const)32 b(c)m(har)e(*)h
Fm(in)12 b Fn(,)31 b(size)p 1900 4732 28 4 v 41 w(t)f(*)h
Fm(errpos)12 b Fn(,)32 b(const)f(Tld)p 2843 4732 V 39
w(table)h(**)565 4842 y Fm(overrides)12 b Fo(\))390 4951
y Fn(in)p Fx(:)40 b(Zero-terminated)32 b(string)e(in)g(the)h(curren)m
(t)f(lo)s(cales)i(enco)s(ding)e(to)h(pro)s(cess.)390
5091 y Fn(errp)s(os)t Fx(:)39 b(P)m(osition)32 b(of)f(o\013ending)f(c)m
(haracter)i(is)e(returned)g(here.)390 5230 y Fn(o)m(v)m(errides)t
Fx(:)48 b(A)34 b Fr(Tld_table)d Fx(arra)m(y)j(of)g(additional)h(domain)
e(restriction)i(structures)e(that)h(com-)390 5340 y(plemen)m(t)d(and)f
(sup)s(ersede)f(the)h(built-in)g(information.)p eop end
%%Page: 35 40
TeXDict begin 35 39 bop 150 -116 a Fx(Chapter)30 b(7:)41
b(TLD)30 b(F)-8 b(unctions)2437 b(35)390 299 y(T)-8 b(est)21
b(eac)m(h)h(of)f(the)g(c)m(haracters)h(in)e Fr(in)h Fx(for)f(whether)g
(or)h(not)g(they)g(are)g(allo)m(w)m(ed)h(b)m(y)f(the)g(information)390
408 y(in)29 b Fr(overrides)e Fx(or)j(b)m(y)f(the)h(built-in)f(TLD)h
(restriction)g(data.)41 b(When)30 b(data)g(for)f(the)h(same)g(TLD)390
518 y(is)38 b(a)m(v)-5 b(ailable)40 b(b)s(oth)e(in)m(ternally)g(and)g
(in)f Fr(overrides)p Fx(,)h(the)g(information)g(in)g
Fr(overrides)d Fx(tak)m(es)390 628 y(precedence.)56 b(If)34
b(sev)m(eral)j(en)m(tries)f(for)f(a)g(sp)s(eci\014c)g(TLD)h(are)f
(found,)g(the)h(\014rst)e(one)i(is)f(used.)54 b(If)390
737 y Fr(overrides)35 b Fx(is)i Fr(NULL)p Fx(,)h(only)g(the)f(built-in)
g(information)h(is)f(used.)61 b(The)36 b(p)s(osition)i(of)f(the)h
(\014rst)390 847 y(o\013ending)32 b(c)m(haracter)i(is)e(returned)f(in)h
Fr(errpos)p Fx(.)44 b(Note)34 b(that)f(the)f(error)g(p)s(osition)g
(refers)g(to)h(the)390 956 y(deco)s(ded)d(c)m(haracter)i(o\013set)f
(rather)g(than)f(the)g(b)m(yte)h(p)s(osition)g(in)f(the)g(string.)390
1091 y Fl(Return)35 b(v)-5 b(alue:)52 b Fx(Returns)35
b(the)g Fr(Tld_rc)f Fx(v)-5 b(alue)36 b Fr(TLD_SUCCESS)d
Fx(if)i(all)i(c)m(haracters)g(are)f(v)-5 b(alid)36 b(or)390
1200 y(when)27 b Fr(tld)f Fx(is)i(n)m(ull,)g Fr(TLD_INVALID)d
Fx(if)i(a)h(c)m(haracter)h(is)f(not)f(allo)m(w)m(ed,)k(or)c(additional)
i(error)e(co)s(des)390 1310 y(on)j(general)i(failure)e(conditions.)150
1543 y Fw(7.5)68 b(Error)45 b(Handling)150 1767 y Fq(tld)p
309 1767 37 5 v 54 w(strerror)3350 1963 y Fx([F)-8 b(unction])-3599
b Fp(const)54 b(char)f(*)g(tld_strerror)c Fo(\()p Fn(Tld)p
1686 1963 28 4 v 40 w(rc)30 b Fm(rc)12 b Fo(\))390 2073
y Fn(rc)6 b Fx(:)40 b(tld)31 b(return)e(co)s(de)390 2208
y(Con)m(v)m(ert)35 b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g(text)
h(string.)51 b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)
390 2317 y(diagnostic)e(message)f(to)g(the)g(user.)390
2452 y Fl(TLD)p 584 2452 28 5 v 39 w(SUCCESS:)21 b Fx(Successful)h(op)s
(eration.)39 b(This)22 b(v)-5 b(alue)23 b(is)g(guaran)m(teed)h(to)g
(alw)m(a)m(ys)g(b)s(e)e(zero,)k(the)390 2561 y(remaining)36
b(ones)g(are)h(only)f(guaran)m(teed)h(to)g(hold)f(non-zero)g(v)-5
b(alues,)38 b(for)e(logical)j(comparison)390 2671 y(purp)s(oses.)390
2805 y Fl(TLD)p 584 2805 V 39 w(INV)-10 b(ALID:)30 b
Fx(In)m(v)-5 b(alid)30 b(c)m(haracter)i(found.)390 2940
y Fl(TLD)p 584 2940 V 39 w(NOD)m(A)-8 b(T)g(A:)32 b Fx(No)f(input)e
(data)i(w)m(as)g(pro)m(vided.)390 3074 y Fl(TLD)p 584
3074 V 39 w(MALLOC)p 1022 3074 V 39 w(ERR)m(OR:)g Fx(Error)f(during)f
(memory)h(allo)s(cation.)390 3209 y Fl(TLD)p 584 3209
V 39 w(ICONV)p 933 3209 V 40 w(ERR)m(OR:)h Fx(Error)f(during)f(icon)m
(v)i(string)g(con)m(v)m(ersion.)390 3343 y Fl(TLD)p 584
3343 V 39 w(NO)p 762 3343 V 41 w(TLD:)f Fx(No)h(top-lev)m(el)h(domain)f
(found)e(in)h(domain)g(string.)390 3478 y Fl(Return)f(v)-5
b(alue:)40 b Fx(Returns)29 b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j
(allo)s(cated)f(string)f(con)m(taining)h(a)e(descrip-)390
3587 y(tion)i(of)f(the)h(error)f(with)g(the)h(return)e(co)s(de)h
Fr(rc)p Fx(.)p eop end
%%Page: 36 41
TeXDict begin 36 40 bop 150 -116 a Fx(Chapter)30 b(8:)41
b(PR29)31 b(F)-8 b(unctions)2409 b(36)150 299 y Fu(8)80
b(PR29)54 b(F)-13 b(unctions)150 561 y Fx(A)42 b(de\014ciency)f(in)g
(the)h(sp)s(eci\014cation)g(of)g(Unico)s(de)f(Normalization)j(F)-8
b(orms)42 b(has)f(b)s(een)g(found.)72 b(The)150 671 y(consequence)36
b(is)g(that)g(some)g(strings)f(can)h(b)s(e)f(normalized)h(in)m(to)h
(di\013eren)m(t)f(strings)f(b)m(y)h(di\013eren)m(t)g(im-)150
781 y(plemen)m(tations.)49 b(In)31 b(other)i(w)m(ords,)g(t)m(w)m(o)h
(di\013eren)m(t)f(implemen)m(tations)h(ma)m(y)f(return)e(di\013eren)m
(t)i(output)150 890 y(for)e(the)g(same)g(input)g(\(b)s(ecause)g(the)g
(in)m(terpretation)i(of)e(the)g(sp)s(eci\014cation)h(is)f(am)m
(biguous\).)43 b(F)-8 b(urther,)150 1000 y(an)35 b(implemen)m(tation)i
(in)m(v)m(ok)m(ed)g(again)g(on)e(the)g(one)h(of)g(the)f(output)g
(strings)g(ma)m(y)h(return)f(a)g(di\013eren)m(t)150 1109
y(string)26 b(\(b)s(ecause)g(one)g(of)g(the)g(in)m(terpretation)i(of)e
(the)g(am)m(biguous)g(sp)s(eci\014cation)g(mak)m(e)h(normalization)150
1219 y(non-idemp)s(oten)m(t\).)58 b(F)-8 b(ortunately)g(,)40
b(only)c(a)g(select)i(few)d(c)m(haracter)j(sequence)e(exhibit)g(this)g
(problem,)150 1329 y(and)h(none)h(of)h(them)f(are)g(exp)s(ected)h(to)g
(o)s(ccur)e(in)h(natural)g(languages)i(\(due)e(to)g(di\013eren)m(t)h
(linguistic)150 1438 y(uses)30 b(of)g(the)h(in)m(v)m(olv)m(ed)h(c)m
(haracters\).)275 1582 y(A)e(full)g(discussion)g(of)g(the)h(problem)f
(ma)m(y)h(b)s(e)e(found)h(at:)275 1726 y Fr(http://www.unicode.org/)o
(rev)o(iew/)o(pr-2)o(9.h)o(tml)275 1870 y Fx(The)35 b(PR29)h(functions)
f(b)s(elo)m(w)h(allo)m(w)h(y)m(ou)f(to)g(detect)h(the)f(problem)e
(sequence.)57 b(So)36 b(when)e(w)m(ould)150 1980 y(y)m(ou)40
b(w)m(an)m(t)h(to)f(use)g(these)g(functions?)69 b(F)-8
b(or)40 b(most)g(applications,)k(suc)m(h)39 b(as)i(those)f(using)f
(Nameprep)150 2089 y(for)33 b(IDN,)g(this)g(is)g(lik)m(ely)h(only)f(to)
h(b)s(e)e(an)h(in)m(terop)s(erabilit)m(y)h(problem.)48
b(Th)m(us,)33 b(y)m(ou)g(ma)m(y)g(not)g(w)m(an)m(t)h(to)150
2199 y(care)j(ab)s(out)e(it,)j(as)e(the)g(c)m(haracter)h(sequences)f
(will)g(rarely)g(o)s(ccur)g(naturally)-8 b(.)57 b(Ho)m(w)m(ev)m(er,)40
b(if)35 b(y)m(ou)i(are)150 2309 y(using)31 b(a)h(pro\014le,)h(suc)m(h)e
(as)h(SASLPrep,)f(to)h(pro)s(cess)g(authen)m(tication)i(tok)m(ens;)f
(authorization)h(tok)m(ens;)150 2418 y(or)c(passw)m(ords,)f(there)h(is)
f(a)h(real)g(danger)g(that)g(attac)m(k)m(ers)i(ma)m(y)f(try)e(to)i(use)
e(the)h(p)s(eculiarities)g(in)f(these)150 2528 y(strings)f(to)h(attac)m
(k)i(parts)d(of)h(y)m(our)f(system.)40 b(As)29 b(only)f(a)h(small)g(n)m
(um)m(b)s(er)e(of)i(strings,)g(and)e(no)i(naturally)150
2637 y(o)s(ccurring)e(strings,)i(exhibit)e(this)h(problem,)g(the)g
(conserv)-5 b(ativ)m(e)29 b(approac)m(h)f(of)g(rejecting)h(the)e
(strings)h(is)150 2747 y(recommended.)40 b(If)28 b(this)h(approac)m(h)g
(is)g(not)h(used,)e(y)m(ou)h(should)f(instead)i(v)m(erify)f(that)g(all)
h(parts)f(of)g(y)m(our)150 2856 y(system,)i(that)g(pro)s(cess)f(the)h
(tok)m(ens)h(and)e(passw)m(ords,)g(use)g(a)h(NFK)m(C)g(implemen)m
(tation)h(that)f(pro)s(duce)150 2966 y(the)g(same)f(output)g(for)g(the)
h(same)g(input.)275 3110 y(T)-8 b(ec)m(hnically)32 b(inclined)f
(readers)g(ma)m(y)h(b)s(e)e(in)m(terested)i(in)f(kno)m(wing)g(more)g
(ab)s(out)f(the)i(implemen)m(ta-)150 3220 y(tion)f(asp)s(ects)g(of)f
(the)h(PR29)g(\015a)m(w.)40 b(See)31 b(App)s(endix)e(A)h([PR29)h
(discussion],)g(page)g(64.)150 3466 y Fw(8.1)68 b(Header)46
b(\014le)f Fj(pr29.h)150 3626 y Fx(T)-8 b(o)31 b(use)f(the)g(functions)
g(explained)h(in)f(this)g(c)m(hapter,)i(y)m(ou)e(need)g(to)i(include)e
(the)g(\014le)h(`)p Fr(pr29.h)p Fx(')e(using:)390 3770
y Fr(#include)46 b(<pr29.h>)150 4016 y Fw(8.2)68 b(Core)46
b(F)-11 b(unctions)150 4241 y Fq(pr29)p 399 4241 37 5
v 55 w(4)3350 4447 y Fx([F)j(unction])-3599 b Fp(int)53
b(pr29_4)47 b Fo(\()p Fn(const)32 b(uin)m(t32)p 1247
4447 28 4 v 41 w(t)e(*)h Fm(in)12 b Fn(,)31 b(size)p
1742 4447 V 41 w(t)f Fm(len)12 b Fo(\))390 4556 y Fn(in)p
Fx(:)40 b(input)30 b(arra)m(y)h(with)f(unico)s(de)g(co)s(de)g(p)s(oin)m
(ts.)390 4700 y Fn(len)p Fx(:)41 b(length)31 b(of)f(input)g(arra)m(y)g
(with)h(unico)s(de)e(co)s(de)i(p)s(oin)m(ts.)390 4844
y(Chec)m(k)23 b(the)g(input)f(to)i(see)f(if)g(it)g(ma)m(y)g(b)s(e)g
(normalized)g(in)m(to)h(di\013eren)m(t)f(strings)g(b)m(y)f(di\013eren)m
(t)i(NFK)m(C)390 4954 y(implemen)m(tations,)32 b(due)e(to)h(an)f
(anomaly)h(in)f(the)h(NFK)m(C)g(sp)s(eci\014cations.)390
5098 y Fl(Return)47 b(v)-5 b(alue:)75 b Fx(Returns)47
b(the)g Fr(Pr29_rc)e Fx(v)-5 b(alue)48 b Fr(PR29_SUCCESS)c
Fx(on)k(success,)k(and)46 b Fr(PR29_)390 5208 y(PROBLEM)28
b Fx(if)i(the)g(input)g(sequence)g(is)g(a)h Fr(")p Fx(problem)e
(sequence)p Fr(")h Fx(\(i.e.,)i(ma)m(y)f(b)s(e)e(normalized)i(in)m(to)
390 5317 y(di\013eren)m(t)g(strings)f(b)m(y)g(di\013eren)m(t)h
(implemen)m(tations\).)p eop end
%%Page: 37 42
TeXDict begin 37 41 bop 150 -116 a Fx(Chapter)30 b(8:)41
b(PR29)31 b(F)-8 b(unctions)2409 b(37)150 299 y Fw(8.3)68
b(Utilit)l(y)47 b(F)-11 b(unctions)150 523 y Fq(pr29)p
399 523 37 5 v 55 w(4z)3350 720 y Fx([F)j(unction])-3599
b Fp(int)53 b(pr29_4z)48 b Fo(\()p Fn(const)31 b(uin)m(t32)p
1299 720 28 4 v 41 w(t)g(*)f Fm(in)12 b Fo(\))390 829
y Fn(in)p Fx(:)40 b(zero)32 b(terminated)e(arra)m(y)h(of)g(Unico)s(de)f
(co)s(de)h(p)s(oin)m(ts.)390 964 y(Chec)m(k)23 b(the)g(input)f(to)i
(see)f(if)g(it)g(ma)m(y)g(b)s(e)g(normalized)g(in)m(to)h(di\013eren)m
(t)f(strings)g(b)m(y)f(di\013eren)m(t)i(NFK)m(C)390 1073
y(implemen)m(tations,)32 b(due)e(to)h(an)f(anomaly)h(in)f(the)h(NFK)m
(C)g(sp)s(eci\014cations.)390 1208 y Fl(Return)47 b(v)-5
b(alue:)75 b Fx(Returns)47 b(the)g Fr(Pr29_rc)e Fx(v)-5
b(alue)48 b Fr(PR29_SUCCESS)c Fx(on)k(success,)k(and)46
b Fr(PR29_)390 1318 y(PROBLEM)28 b Fx(if)i(the)g(input)g(sequence)g(is)
g(a)h Fr(")p Fx(problem)e(sequence)p Fr(")h Fx(\(i.e.,)i(ma)m(y)f(b)s
(e)e(normalized)i(in)m(to)390 1427 y(di\013eren)m(t)g(strings)f(b)m(y)g
(di\013eren)m(t)h(implemen)m(tations\).)150 1626 y Fq(pr29)p
399 1626 37 5 v 55 w(8z)3350 1823 y Fx([F)-8 b(unction])-3599
b Fp(int)53 b(pr29_8z)48 b Fo(\()p Fn(const)31 b(c)m(har)g(*)g
Fm(in)12 b Fo(\))390 1933 y Fn(in)p Fx(:)40 b(zero)32
b(terminated)e(input)g(UTF-8)h(string.)390 2067 y(Chec)m(k)23
b(the)g(input)f(to)i(see)f(if)g(it)g(ma)m(y)g(b)s(e)g(normalized)g(in)m
(to)h(di\013eren)m(t)f(strings)g(b)m(y)f(di\013eren)m(t)i(NFK)m(C)390
2177 y(implemen)m(tations,)32 b(due)e(to)h(an)f(anomaly)h(in)f(the)h
(NFK)m(C)g(sp)s(eci\014cations.)390 2311 y Fl(Return)47
b(v)-5 b(alue:)75 b Fx(Returns)47 b(the)g Fr(Pr29_rc)e
Fx(v)-5 b(alue)48 b Fr(PR29_SUCCESS)c Fx(on)k(success,)k(and)46
b Fr(PR29_)390 2421 y(PROBLEM)28 b Fx(if)i(the)g(input)g(sequence)g(is)
g(a)h Fr(")p Fx(problem)e(sequence)p Fr(")h Fx(\(i.e.,)i(ma)m(y)f(b)s
(e)e(normalized)i(in)m(to)390 2531 y(di\013eren)m(t)37
b(strings)e(b)m(y)h(di\013eren)m(t)h(implemen)m(tations\),)i(or)d
Fr(PR29_STRINGPREP_ERROR)31 b Fx(if)36 b(there)390 2640
y(w)m(as)31 b(a)g(problem)e(con)m(v)m(erting)j(the)f(string)f(from)g
(UTF-8)i(to)f(UCS-4.)150 2873 y Fw(8.4)68 b(Error)45
b(Handling)150 3097 y Fq(pr29)p 399 3097 V 55 w(strerror)3350
3293 y Fx([F)-8 b(unction])-3599 b Fp(const)54 b(char)f(*)g
(pr29_strerror)c Fo(\()p Fn(Pr29)p 1784 3293 28 4 v 41
w(rc)30 b Fm(rc)12 b Fo(\))390 3403 y Fn(rc)6 b Fx(:)40
b(an)30 b Fr(Pr29_rc)f Fx(return)g(co)s(de.)390 3538
y(Con)m(v)m(ert)35 b(a)f(return)e(co)s(de)i(in)m(teger)i(to)e(a)g(text)
h(string.)51 b(This)33 b(string)h(can)g(b)s(e)f(used)g(to)h(output)g(a)
390 3647 y(diagnostic)e(message)f(to)g(the)g(user.)390
3782 y Fl(PR29)p 617 3782 28 5 v 41 w(SUCCESS:)h Fx(Successful)h(op)s
(eration.)53 b(This)33 b(v)-5 b(alue)35 b(is)f(guaran)m(teed)i(to)f
(alw)m(a)m(ys)g(b)s(e)f(zero,)390 3891 y(the)23 b(remaining)f(ones)h
(are)g(only)g(guaran)m(teed)g(to)g(hold)g(non-zero)g(v)-5
b(alues,)24 b(for)f(logical)i(comparison)390 4001 y(purp)s(oses.)390
4135 y Fl(PR29)p 617 4135 V 41 w(PR)m(OBLEM:)31 b Fx(A)f(problem)g
(sequence)h(w)m(as)f(encoun)m(tered.)390 4270 y Fl(PR29)p
617 4270 V 41 w(STRINGPREP)p 1272 4270 V 40 w(ERR)m(OR:)35
b Fx(The)f(c)m(haracter)h(set)g(con)m(v)m(ersion)g(failed)g(\(only)g
(for)e Fr(pr29_)390 4379 y(8\(\))c Fx(and)h Fr(pr29_8z\(\))p
Fx(\).)390 4514 y Fl(Return)f(v)-5 b(alue:)40 b Fx(Returns)29
b(a)g(p)s(oin)m(ter)h(to)g(a)f(statically)j(allo)s(cated)f(string)f
(con)m(taining)h(a)e(descrip-)390 4623 y(tion)i(of)f(the)h(error)f
(with)g(the)h(return)e(co)s(de)h Fr(rc)p Fx(.)p eop end
%%Page: 38 43
TeXDict begin 38 42 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(38)150 299 y Fu(9)80 b(Examples)150
537 y Fx(This)26 b(c)m(hapter)h(con)m(tains)h(example)f(co)s(de)g(whic)
m(h)g(illustrate)h(ho)m(w)e(`Libidn')g(can)h(b)s(e)f(used)g(when)g
(writing)150 646 y(y)m(our)k(o)m(wn)h(application.)150
880 y Fw(9.1)68 b(Example)46 b(1)150 1040 y Fx(This)30
b(example)h(demonstrates)f(ho)m(w)h(the)f(stringprep)g(functions)g(are)
g(used.)150 1176 y Fr(/*)47 b(example.c)e(---)i(Example)f(code)h
(showing)f(how)h(to)g(use)g(stringprep\(\).)198 1285
y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004,)g(2005,)h(2006,)f
(2007,)h(2008,)f(2009)h(Simon)f(Josefsson)198 1395 y(*)198
1504 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)198
1614 y(*)198 1724 y(*)g(This)g(program)f(is)h(free)f(software:)93
b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
1833 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
(Public)g(License)g(as)h(published)e(by)198 1943 y(*)i(the)g(Free)g
(Software)e(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g
(or)198 2052 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
2162 y(*)198 2271 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
(hope)f(that)h(it)g(will)g(be)g(useful,)198 2381 y(*)g(but)g(WITHOUT)f
(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
2491 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
(PURPOSE.)93 b(See)47 b(the)198 2600 y(*)g(GNU)g(General)f(Public)g
(License)g(for)h(more)f(details.)198 2710 y(*)198 2819
y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
(General)g(Public)g(License)198 2929 y(*)h(along)g(with)f(this)h
(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
(>.)198 3039 y(*)198 3148 y(*/)150 3367 y(#include)f(<stdio.h>)150
3477 y(#include)g(<stdlib.h>)150 3587 y(#include)g(<string.h>)150
3696 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
3806 y(#include)h(<stringprep.h>)150 4025 y(/*)198 4134
y(*)h(Compiling)e(using)i(libtool)f(and)h(pkg-config)e(is)i
(recommended:)198 4244 y(*)198 4354 y(*)g($)h(libtool)d(cc)j(-o)f
(example)f(example.c)f(`pkg-config)g(--cflags)g(--libs)h(libidn`)198
4463 y(*)h($)h(./example)198 4573 y(*)f(Input)g(string)f(encoded)f(as)j
(`ISO-8859-1':)92 b(a)198 4682 y(*)47 b(Before)f(locale2utf8)f
(\(length)h(2\):)94 b(aa)48 b(0a)198 4792 y(*)f(Before)f(stringprep)f
(\(length)h(3\):)95 b(c2)47 b(aa)g(0a)198 4902 y(*)g(After)g
(stringprep)e(\(length)g(2\):)95 b(61)47 b(0a)198 5011
y(*)g($)198 5121 y(*)198 5230 y(*/)p eop end
%%Page: 39 44
TeXDict begin 39 43 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(39)150 299 y Fr(int)150 408 y(main)47
b(\(void\))150 518 y({)245 628 y(char)g(buf[BUFSIZ];)245
737 y(char)g(*p;)245 847 y(int)g(rc;)245 956 y(size_t)g(i;)245
1176 y(setlocale)f(\(LC_ALL,)f(""\);)245 1395 y(printf)i(\("Input)e
(string)h(encoded)g(as)h(`\045s':)95 b(",)47 b(stringprep_locale_chars)
o(et)42 b(\(\)\);)245 1504 y(fflush)47 b(\(stdout\);)245
1614 y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245 1833 y(printf)h
(\("Before)e(locale2utf8)g(\(length)h(\045d\):)94 b(",)47
b(strlen)f(\(buf\)\);)245 1943 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f
(\(buf\);)g(i++\))341 2052 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i
(0xFF\);)245 2162 y(printf)f(\("\\n"\);)245 2381 y(p)h(=)f
(stringprep_locale_to_utf8)41 b(\(buf\);)245 2491 y(if)48
b(\(p\))341 2600 y({)436 2710 y(strcpy)e(\(buf,)h(p\);)436
2819 y(free)g(\(p\);)341 2929 y(})245 3039 y(else)341
3148 y(printf)f(\("Could)g(not)h(convert)f(string)g(to)h(UTF-8,)f
(continuing)f(anyway...\\n"\);)245 3367 y(printf)i(\("Before)e
(stringprep)g(\(length)h(\045d\):)94 b(",)47 b(strlen)g(\(buf\)\);)245
3477 y(for)g(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
3587 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
3696 y(printf)f(\("\\n"\);)245 3915 y(rc)h(=)f(stringprep)e(\(buf,)h
(BUFSIZ,)g(0,)h(stringprep_nameprep\);)245 4025 y(if)h(\(rc)f(!=)g
(STRINGPREP_OK\))341 4134 y(printf)f(\("Stringprep)e(failed)j
(\(\045d\):)94 b(\045s\\n",)46 b(rc,)h(stringprep_strerror)42
b(\(rc\)\);)245 4244 y(else)341 4354 y({)436 4463 y(printf)k(\("After)g
(stringprep)f(\(length)h(\045d\):)94 b(",)48 b(strlen)e(\(buf\)\);)436
4573 y(for)h(\(i)g(=)h(0;)f(i)h(<)f(strlen)f(\(buf\);)g(i++\))532
4682 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)436
4792 y(printf)e(\("\\n"\);)341 4902 y(})245 5121 y(return)h(0;)150
5230 y(})p eop end
%%Page: 40 45
TeXDict begin 40 44 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(40)150 299 y Fw(9.2)68 b(Example)46
b(2)150 458 y Fx(This)30 b(example)h(demonstrates)f(ho)m(w)h(the)f(pun)
m(yco)s(de)g(functions)g(are)h(used.)150 628 y Fr(/*)47
b(example2.c)e(---)i(Example)f(code)h(showing)e(how)i(to)g(use)g
(punycode.)198 737 y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004,)g
(2005,)h(2006,)f(2007,)h(2008,)f(2009)h(Simon)f(Josefsson)198
847 y(*)h(Copyright)e(\(C\))i(2002)95 b(Adam)46 b(M.)i(Costello)198
956 y(*)198 1066 y(*)f(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)198
1176 y(*)198 1285 y(*)g(This)g(program)f(is)h(free)f(software:)93
b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
1395 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
(Public)g(License)g(as)h(published)e(by)198 1504 y(*)i(the)g(Free)g
(Software)e(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g
(or)198 1614 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
1724 y(*)198 1833 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
(hope)f(that)h(it)g(will)g(be)g(useful,)198 1943 y(*)g(but)g(WITHOUT)f
(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
2052 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
(PURPOSE.)93 b(See)47 b(the)198 2162 y(*)g(GNU)g(General)f(Public)g
(License)g(for)h(more)f(details.)198 2271 y(*)198 2381
y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
(General)g(Public)g(License)198 2491 y(*)h(along)g(with)f(this)h
(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
(>.)198 2600 y(*)198 2710 y(*/)150 2929 y(#include)f(<locale.h>)617
b(/*)47 b(setlocale\(\))e(*/)150 3148 y(/*)198 3258 y(*)i(This)g(file)f
(is)i(derived)d(from)i(RFC)g(3492)g(written)e(by)j(Adam)e(M.)h
(Costello.)198 3367 y(*)198 3477 y(*)g(Disclaimer)e(and)i(license:)93
b(Regarding)46 b(this)g(entire)g(document)g(or)h(any)198
3587 y(*)g(portion)f(of)h(it)g(\(including)e(the)i(pseudocode)e(and)i
(C)h(code\),)e(the)h(author)198 3696 y(*)g(makes)g(no)g(guarantees)e
(and)i(is)g(not)g(responsible)d(for)j(any)g(damage)f(resulting)198
3806 y(*)h(from)g(its)g(use.)190 b(The)46 b(author)h(grants)f
(irrevocable)e(permission)h(to)j(anyone)198 3915 y(*)f(to)g(use,)g
(modify,)f(and)h(distribute)e(it)i(in)g(any)g(way)g(that)g(does)f(not)h
(diminish)198 4025 y(*)g(the)g(rights)f(of)h(anyone)f(else)h(to)g(use,)
g(modify,)f(and)h(distribute)e(it,)198 4134 y(*)i(provided)f(that)g
(redistributed)f(derivative)g(works)h(do)h(not)g(contain)198
4244 y(*)g(misleading)e(author)h(or)h(version)f(information.)188
b(Derivative)45 b(works)h(need)198 4354 y(*)h(not)g(be)g(licensed)f
(under)g(similar)g(terms.)198 4463 y(*)198 4573 y(*/)150
4792 y(#include)g(<assert.h>)150 4902 y(#include)g(<stdio.h>)150
5011 y(#include)g(<stdlib.h>)150 5121 y(#include)g(<string.h>)150
5340 y(#include)g(<punycode.h>)p eop end
%%Page: 41 46
TeXDict begin 41 45 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(41)150 408 y Fr(/*)47 b(For)g(testing,)f(we'll)g
(just)h(set)g(some)f(compile-time)f(limits)h(rather)g(than)g(*/)150
518 y(/*)h(use)g(malloc\(\),)e(and)i(set)g(a)h(compile-time)c(option)i
(rather)g(than)h(using)f(a)95 b(*/)150 628 y(/*)47 b(command-line)e
(option.)4293 b(*/)150 847 y(enum)150 956 y({)245 1066
y(unicode_max_length)43 b(=)48 b(256,)245 1176 y(ace_max_length)c(=)k
(256)150 1285 y(};)150 1504 y(static)e(void)150 1614
y(usage)g(\(char)h(**argv\))150 1724 y({)245 1833 y(fprintf)f
(\(stderr,)675 1943 y("\\n")675 2052 y("\045s)h(-e)g(reads)f(code)h
(points)f(and)h(writes)f(a)i(Punycode)d(string.\\n")675
2162 y("\045s)i(-d)g(reads)f(a)i(Punycode)d(string)i(and)f(writes)h
(code)f(points.\\n")675 2271 y("\\n")675 2381 y("Input)g(and)h(output)f
(are)h(plain)f(text)h(in)g(the)g(native)f(character)f(set.\\n")675
2491 y("Code)h(points)g(are)h(in)h(the)e(form)h(u+hex)f(separated)g(by)
h(whitespace.\\n")675 2600 y("Although)e(the)i(specification)d(allows)i
(Punycode)g(strings)g(to)h(contain\\n")675 2710 y("any)g(characters)e
(from)h(the)h(ASCII)g(repertoire,)d(this)j(test)g(code\\n")675
2819 y("supports)e(only)i(the)g(printable)e(characters,)g(and)i(needs)f
(the)h(Punycode\\n")675 2929 y("string)f(to)h(be)g(followed)f(by)h(a)g
(newline.\\n")675 3039 y("The)g(case)f(of)h(the)g(u)h(in)f(u+hex)f(is)i
(the)e(force-to-uppercase)d(flag.\\n",)675 3148 y(argv[0],)j
(argv[0]\);)245 3258 y(exit)h(\(EXIT_FAILURE\);)150 3367
y(})150 3587 y(static)f(void)150 3696 y(fail)h(\(const)f(char)g(*msg\))
150 3806 y({)245 3915 y(fputs)h(\(msg,)f(stderr\);)245
4025 y(exit)h(\(EXIT_FAILURE\);)150 4134 y(})150 4354
y(static)f(const)g(char)h(too_big[])e(=)245 4463 y("input)i(or)g
(output)f(is)h(too)g(large,)f(recompile)f(with)i(larger)f(limits\\n";)
150 4573 y(static)g(const)g(char)h(invalid_input[])d(=)j("invalid)f
(input\\n";)150 4682 y(static)g(const)g(char)h(overflow[])e(=)j
("arithmetic)c(overflow\\n";)150 4792 y(static)i(const)g(char)h
(io_error[])e(=)j("I/O)e(error\\n";)150 5011 y(/*)h(The)g(following)e
(string)h(is)i(used)e(to)h(convert)f(printable)g(*/)150
5121 y(/*)h(characters)e(between)h(ASCII)g(and)h(the)g(native)f
(charset:)189 b(*/)150 5340 y(static)46 b(const)g(char)h(print_ascii[])
d(=)k("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n)o(\\n\\n)o(\\n\\n)o(\\n")41
b("\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n)o(\\n\\)o(n\\n\\)o(n")h(")47
b(!\\"#$\045&'\(\)*+,-./")c("0123456789:;<=>?")g("\\0x40")93
b(/*)48 b(at)f(sign)f(*/)p eop end
%%Page: 42 47
TeXDict begin 42 46 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(42)245 299 y Fr("ABCDEFGHIJKLMNO")245
408 y("PQRSTUVWXYZ[\\\\]^_")43 b("`abcdefghijklmno")g
("pqrstuvwxyz{|}~\\n";)150 628 y(int)150 737 y(main)k(\(int)f(argc,)h
(char)f(**argv\))150 847 y({)245 956 y(enum)h(punycode_status)d
(status;)245 1066 y(int)j(r;)245 1176 y(size_t)g(input_length,)d
(output_length,)g(j;)245 1285 y(unsigned)i(char)h
(case_flags[unicode_max_)o(leng)o(th])o(;)245 1504 y(setlocale)f
(\(LC_ALL,)f(""\);)245 1724 y(if)j(\(argc)e(!=)h(2\))341
1833 y(usage)f(\(argv\);)245 1943 y(if)i(\(argv[1][0])c(!=)k('-'\))341
2052 y(usage)e(\(argv\);)245 2162 y(if)i(\(argv[1][2])c(!=)k(0\))341
2271 y(usage)e(\(argv\);)245 2491 y(if)i(\(argv[1][1])c(==)k('e'\))341
2600 y({)436 2710 y(uint32_t)e(input[unicode_max_length)o(];)436
2819 y(unsigned)g(long)h(codept;)436 2929 y(char)g
(output[ace_max_length)42 b(+)47 b(1],)g(uplus[3];)436
3039 y(int)g(c;)436 3258 y(/*)h(Read)e(the)h(input)f(code)h(points:)94
b(*/)436 3477 y(input_length)45 b(=)i(0;)436 3696 y(for)g(\(;;\))532
3806 y({)627 3915 y(r)h(=)f(scanf)g(\("\0452s\045lx",)e(uplus,)h
(&codept\);)627 4025 y(if)h(\(ferror)f(\(stdin\)\))723
4134 y(fail)g(\(io_error\);)627 4244 y(if)h(\(r)h(==)f(EOF)g(||)g(r)g
(==)h(0\))723 4354 y(break;)627 4573 y(if)f(\(r)h(!=)f(2)g(||)g
(uplus[1])f(!=)h('+')g(||)g(codept)f(>)i(\(uint32_t\))d(-)i(1\))723
4682 y({)818 4792 y(fail)g(\(invalid_input\);)723 4902
y(})627 5121 y(if)g(\(input_length)e(==)i(unicode_max_length\))723
5230 y(fail)f(\(too_big\);)p eop end
%%Page: 43 48
TeXDict begin 43 47 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(43)627 299 y Fr(if)47 b(\(uplus[0])f(==)h('u'\))723
408 y(case_flags[input_length)o(])42 b(=)47 b(0;)627
518 y(else)g(if)g(\(uplus[0])e(==)j('U'\))723 628 y
(case_flags[input_length)o(])42 b(=)47 b(1;)627 737 y(else)723
847 y(fail)f(\(invalid_input\);)627 1066 y(input[input_length++])c(=)48
b(codept;)532 1176 y(})436 1395 y(/*)g(Encode:)93 b(*/)436
1614 y(output_length)45 b(=)i(ace_max_length;)436 1724
y(status)f(=)i(punycode_encode)c(\(input_length,)f(input,)k
(case_flags,)1677 1833 y(&output_length,)d(output\);)436
1943 y(if)k(\(status)d(==)j(punycode_bad_input\))532
2052 y(fail)e(\(invalid_input\);)436 2162 y(if)i(\(status)d(==)j
(punycode_big_output\))532 2271 y(fail)e(\(too_big\);)436
2381 y(if)i(\(status)d(==)j(punycode_overflow\))532 2491
y(fail)e(\(overflow\);)436 2600 y(assert)g(\(status)g(==)h
(punycode_success\);)436 2819 y(/*)h(Convert)d(to)j(native)e(charset)f
(and)i(output:)94 b(*/)436 3039 y(for)47 b(\(j)g(=)h(0;)f(j)h(<)f
(output_length;)d(++j\))532 3148 y({)627 3258 y(c)k(=)f(output[j];)627
3367 y(assert)f(\(c)i(>=)f(0)g(&&)g(c)h(<=)f(127\);)627
3477 y(if)g(\(print_ascii[c])d(==)j(0\))723 3587 y(fail)f
(\(invalid_input\);)627 3696 y(output[j])g(=)h(print_ascii[c];)532
3806 y(})436 4025 y(output[j])f(=)h(0;)436 4134 y(r)h(=)f(puts)g
(\(output\);)436 4244 y(if)h(\(r)f(==)g(EOF\))532 4354
y(fail)f(\(io_error\);)436 4463 y(return)g(EXIT_SUCCESS;)341
4573 y(})245 4792 y(if)i(\(argv[1][1])c(==)k('d'\))341
4902 y({)436 5011 y(char)f(input[ace_max_length)42 b(+)48
b(2],)f(*p,)g(*pp;)436 5121 y(uint32_t)f(output[unicode_max_lengt)o
(h];)436 5340 y(/*)i(Read)e(the)h(Punycode)f(input)g(string)g(and)h
(convert)f(to)h(ASCII:)f(*/)p eop end
%%Page: 44 49
TeXDict begin 44 48 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(44)436 408 y Fr(fgets)47 b(\(input,)f(ace_max_length)
d(+)48 b(2,)f(stdin\);)436 518 y(if)h(\(ferror)d(\(stdin\)\))532
628 y(fail)h(\(io_error\);)436 737 y(if)i(\(feof)e(\(stdin\)\))532
847 y(fail)g(\(invalid_input\);)436 956 y(input_length)f(=)i(strlen)f
(\(input\))g(-)i(1;)436 1066 y(if)g(\(input[input_length])42
b(!=)47 b('\\n'\))532 1176 y(fail)f(\(too_big\);)436
1285 y(input[input_length])d(=)k(0;)436 1504 y(for)g(\(p)g(=)h(input;)e
(*p)h(!=)g(0;)h(++p\))532 1614 y({)627 1724 y(pp)f(=)h(strchr)e
(\(print_ascii,)e(*p\);)627 1833 y(if)j(\(pp)g(==)h(0\))723
1943 y(fail)e(\(invalid_input\);)627 2052 y(*p)h(=)h(pp)f(-)h
(print_ascii;)532 2162 y(})436 2381 y(/*)g(Decode:)93
b(*/)436 2600 y(output_length)45 b(=)i(unicode_max_length;)436
2710 y(status)f(=)i(punycode_decode)c(\(input_length,)f(input,)k
(&output_length,)1677 2819 y(output,)f(case_flags\);)436
2929 y(if)i(\(status)d(==)j(punycode_bad_input\))532
3039 y(fail)e(\(invalid_input\);)436 3148 y(if)i(\(status)d(==)j
(punycode_big_output\))532 3258 y(fail)e(\(too_big\);)436
3367 y(if)i(\(status)d(==)j(punycode_overflow\))532 3477
y(fail)e(\(overflow\);)436 3587 y(assert)g(\(status)g(==)h
(punycode_success\);)436 3806 y(/*)h(Output)e(the)h(result:)93
b(*/)436 4025 y(for)47 b(\(j)g(=)h(0;)f(j)h(<)f(output_length;)d(++j\))
532 4134 y({)627 4244 y(r)k(=)f(printf)f(\("\045s+\04504lX\\n",)1200
4354 y(case_flags[j])e(?)95 b("U")47 b(:)95 b("u",)47
b(\(unsigned)e(long\))i(output[j]\);)627 4463 y(if)g(\(r)h(<)f(0\))723
4573 y(fail)f(\(io_error\);)532 4682 y(})436 4902 y(return)g
(EXIT_SUCCESS;)341 5011 y(})245 5230 y(usage)h(\(argv\);)245
5340 y(return)g(EXIT_SUCCESS;)473 b(/*)47 b(not)g(reached,)f(but)h
(quiets)f(compiler)f(warning)h(*/)p eop end
%%Page: 45 50
TeXDict begin 45 49 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(45)150 299 y Fr(})150 544 y Fw(9.3)68
b(Example)46 b(3)150 704 y Fx(This)40 b(example)i(demonstrates)g(ho)m
(w)f(the)g(library)g(is)g(used)g(to)h(con)m(v)m(ert)h(in)m
(ternationalized)g(domain)150 813 y(names)30 b(in)m(to)i(ASCI)s(I)c
(compatible)k(names.)150 956 y Fr(/*)47 b(example3.c)e(---)i(Example)f
(ToASCII\(\))f(code)i(showing)f(how)h(to)g(use)g(Libidn.)198
1066 y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004,)g(2005,)h(2006,)f
(2007,)h(2008,)f(2009)h(Simon)f(Josefsson)198 1176 y(*)198
1285 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)198
1395 y(*)198 1504 y(*)g(This)g(program)f(is)h(free)f(software:)93
b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
1614 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
(Public)g(License)g(as)h(published)e(by)198 1724 y(*)i(the)g(Free)g
(Software)e(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g
(or)198 1833 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
1943 y(*)198 2052 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
(hope)f(that)h(it)g(will)g(be)g(useful,)198 2162 y(*)g(but)g(WITHOUT)f
(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
2271 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
(PURPOSE.)93 b(See)47 b(the)198 2381 y(*)g(GNU)g(General)f(Public)g
(License)g(for)h(more)f(details.)198 2491 y(*)198 2600
y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
(General)g(Public)g(License)198 2710 y(*)h(along)g(with)f(this)h
(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
(>.)198 2819 y(*)198 2929 y(*/)150 3148 y(#include)f(<stdio.h>)150
3258 y(#include)g(<stdlib.h>)150 3367 y(#include)g(<string.h>)150
3477 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
3587 y(#include)h(<stringprep.h>)425 b(/*)47 b
(stringprep_locale_charset\()o(\))42 b(*/)150 3696 y(#include)k
(<idna.h>)713 b(/*)47 b(idna_to_ascii_lz\(\))c(*/)150
3915 y(/*)198 4025 y(*)k(Compiling)e(using)i(libtool)f(and)h
(pkg-config)e(is)i(recommended:)198 4134 y(*)198 4244
y(*)g($)h(libtool)d(cc)j(-o)f(example3)e(example3.c)g(`pkg-config)g
(--cflags)h(--libs)g(libidn`)198 4354 y(*)h($)h(./example3)198
4463 y(*)f(Input)g(domain)f(encoded)f(as)j(`ISO-8859-1':)92
b(www.raksmorgaasa.exampl)o(e)198 4573 y(*)47 b(Read)g(string)f
(\(length)g(23\):)94 b(77)47 b(77)g(77)h(2e)f(72)g(e4)g(6b)g(73)h(6d)f
(f6)g(72)g(67)g(e5)g(73)h(aa)f(2e)g(65)g(78)g(61)h(6d)f(70)g(6c)g(65)
198 4682 y(*)g(ACE)g(label)f(\(length)g(33\):)95 b
('www.xn--rksmrgsa-0zap8)o(p.ex)o(amp)o(le')198 4792
y(*)47 b(77)g(77)h(77)f(2e)g(78)g(6e)g(2d)g(2d)h(72)f(6b)g(73)g(6d)g
(72)h(67)f(73)g(61)g(2d)g(30)g(7a)h(61)f(70)g(38)g(70)g(2e)h(65)f(78)g
(61)g(6d)g(70)g(6c)h(65)198 4902 y(*)f($)198 5011 y(*)198
5121 y(*/)150 5340 y(int)p eop end
%%Page: 46 51
TeXDict begin 46 50 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(46)150 299 y Fr(main)47 b(\(void\))150
408 y({)245 518 y(char)g(buf[BUFSIZ];)245 628 y(char)g(*p;)245
737 y(int)g(rc;)245 847 y(size_t)g(i;)245 1066 y(setlocale)f(\(LC_ALL,)
f(""\);)245 1285 y(printf)i(\("Input)e(domain)h(encoded)g(as)h
(`\045s':)95 b(",)47 b(stringprep_locale_chars)o(et)42
b(\(\)\);)245 1395 y(fflush)47 b(\(stdout\);)245 1504
y(fgets)g(\(buf,)f(BUFSIZ,)g(stdin\);)245 1614 y(buf[strlen)f(\(buf\))i
(-)g(1])g(=)h('\\0';)245 1833 y(printf)f(\("Read)f(string)g(\(length)g
(\045d\):)94 b(",)47 b(strlen)f(\(buf\)\);)245 1943 y(for)h(\(i)h(=)f
(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341 2052 y(printf)g(\("\04502x)
g(",)h(buf[i])f(&)i(0xFF\);)245 2162 y(printf)f(\("\\n"\);)245
2381 y(rc)h(=)f(idna_to_ascii_lz)c(\(buf,)k(&p,)g(0\);)245
2491 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341 2600 y({)436
2710 y(printf)f(\("ToASCII\(\))f(failed)h(\(\045d\):)94
b(\045s\\n",)46 b(rc,)h(idna_strerror)e(\(rc\)\);)436
2819 y(exit)i(\(1\);)341 2929 y(})245 3148 y(printf)g(\("ACE)f(label)g
(\(length)g(\045d\):)94 b('\045s'\\n",)46 b(strlen)g(\(p\),)h(p\);)245
3258 y(for)g(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(p\);)h(i++\))341
3367 y(printf)f(\("\04502x)g(",)h(p[i])g(&)g(0xFF\);)245
3477 y(printf)g(\("\\n"\);)245 3696 y(free)g(\(p\);)245
3915 y(return)g(0;)150 4025 y(})150 4270 y Fw(9.4)68
b(Example)46 b(4)150 4430 y Fx(This)30 b(example)h(demonstrates)f(ho)m
(w)h(the)f(library)g(is)h(used)e(to)i(con)m(v)m(ert)h(ASCI)s(I)d
(compatible)j(names)e(to)150 4539 y(in)m(ternationalized)j(domain)d
(names.)150 4682 y Fr(/*)47 b(example4.c)e(---)i(Example)f
(ToUnicode\(\))f(code)h(showing)g(how)h(to)g(use)g(Libidn.)198
4792 y(*)g(Copyright)e(\(C\))i(2002,)g(2003,)f(2004,)g(2005,)h(2006,)f
(2007,)h(2008,)f(2009)h(Simon)f(Josefsson)198 4902 y(*)198
5011 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)198
5121 y(*)198 5230 y(*)g(This)g(program)f(is)h(free)f(software:)93
b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
5340 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
(Public)g(License)g(as)h(published)e(by)p eop end
%%Page: 47 52
TeXDict begin 47 51 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(47)198 299 y Fr(*)47 b(the)g(Free)g(Software)e
(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g(or)198
408 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
518 y(*)198 628 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
(hope)f(that)h(it)g(will)g(be)g(useful,)198 737 y(*)g(but)g(WITHOUT)f
(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
847 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
(PURPOSE.)93 b(See)47 b(the)198 956 y(*)g(GNU)g(General)f(Public)g
(License)g(for)h(more)f(details.)198 1066 y(*)198 1176
y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
(General)g(Public)g(License)198 1285 y(*)h(along)g(with)f(this)h
(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
(>.)198 1395 y(*)198 1504 y(*/)150 1724 y(#include)f(<stdio.h>)150
1833 y(#include)g(<stdlib.h>)150 1943 y(#include)g(<string.h>)150
2052 y(#include)g(<locale.h>)617 b(/*)47 b(setlocale\(\))e(*/)150
2162 y(#include)h(<stringprep.h>)425 b(/*)47 b
(stringprep_locale_charset\()o(\))42 b(*/)150 2271 y(#include)k
(<idna.h>)713 b(/*)47 b(idna_to_unicode_lzlz\(\))42 b(*/)150
2491 y(/*)198 2600 y(*)47 b(Compiling)e(using)i(libtool)f(and)h
(pkg-config)e(is)i(recommended:)198 2710 y(*)198 2819
y(*)g($)h(libtool)d(cc)j(-o)f(example4)e(example4.c)g(`pkg-config)g
(--cflags)h(--libs)g(libidn`)198 2929 y(*)h($)h(./example4)198
3039 y(*)f(Input)g(domain)f(encoded)f(as)j(`ISO-8859-1':)92
b(www.xn--rksmrgsa-0zap8p)o(.ex)o(ampl)o(e)198 3148 y(*)47
b(Read)g(string)f(\(length)g(33\):)94 b(77)47 b(77)g(77)h(2e)f(78)g(6e)
g(2d)g(2d)h(72)f(6b)g(73)g(6d)g(72)g(67)h(73)f(61)g(2d)g(30)g(7a)h(61)f
(70)g(38)g(70)g(2e)g(65)h(78)f(61)g(6d)g(70)g(6c)g(65)198
3258 y(*)g(ACE)g(label)f(\(length)g(23\):)95 b('www.raksmorgaasa.examp)
o(le')198 3367 y(*)47 b(77)g(77)h(77)f(2e)g(72)g(e4)g(6b)g(73)h(6d)f
(f6)g(72)g(67)g(e5)h(73)f(61)g(2e)g(65)g(78)g(61)h(6d)f(70)g(6c)g(65)
198 3477 y(*)g($)198 3587 y(*)198 3696 y(*/)150 3915
y(int)150 4025 y(main)g(\(void\))150 4134 y({)245 4244
y(char)g(buf[BUFSIZ];)245 4354 y(char)g(*p;)245 4463
y(int)g(rc;)245 4573 y(size_t)g(i;)245 4792 y(setlocale)f(\(LC_ALL,)f
(""\);)245 5011 y(printf)i(\("Input)e(domain)h(encoded)g(as)h(`\045s':)
95 b(",)47 b(stringprep_locale_chars)o(et)42 b(\(\)\);)245
5121 y(fflush)47 b(\(stdout\);)245 5230 y(fgets)g(\(buf,)f(BUFSIZ,)g
(stdin\);)245 5340 y(buf[strlen)f(\(buf\))i(-)g(1])g(=)h('\\0';)p
eop end
%%Page: 48 53
TeXDict begin 48 52 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(48)245 408 y Fr(printf)47 b(\("Read)f(string)g
(\(length)g(\045d\):)94 b(",)47 b(strlen)f(\(buf\)\);)245
518 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
628 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
737 y(printf)f(\("\\n"\);)245 956 y(rc)h(=)f(idna_to_unicode_lzlz)42
b(\(buf,)47 b(&p,)g(0\);)245 1066 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341
1176 y({)436 1285 y(printf)f(\("ToUnicode\(\))f(failed)h(\(\045d\):)94
b(\045s\\n",)46 b(rc,)h(idna_strerror)d(\(rc\)\);)436
1395 y(exit)j(\(1\);)341 1504 y(})245 1724 y(printf)g(\("ACE)f(label)g
(\(length)g(\045d\):)94 b('\045s'\\n",)46 b(strlen)g(\(p\),)h(p\);)245
1833 y(for)g(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(p\);)h(i++\))341
1943 y(printf)f(\("\04502x)g(",)h(p[i])g(&)g(0xFF\);)245
2052 y(printf)g(\("\\n"\);)245 2271 y(free)g(\(p\);)245
2491 y(return)g(0;)150 2600 y(})150 2846 y Fw(9.5)68
b(Example)46 b(5)150 3005 y Fx(This)31 b(example)h(demonstrates)f(ho)m
(w)h(the)f(library)g(is)h(used)e(to)i(c)m(hec)m(k)h(a)f(string)f(for)h
(in)m(v)-5 b(alid)31 b(c)m(haracters)150 3115 y(within)f(a)h(sp)s
(eci\014c)f(TLD.)150 3258 y Fr(/*)47 b(example5.c)e(---)i(Example)f
(TLD)h(checking.)198 3367 y(*)g(Copyright)e(\(C\))i(2004,)g(2005,)f
(2006,)g(2007,)h(2008,)f(2009)h(Simon)f(Josefsson)198
3477 y(*)198 3587 y(*)h(This)g(file)f(is)i(part)e(of)h(GNU)g(Libidn.)
198 3696 y(*)198 3806 y(*)g(This)g(program)f(is)h(free)f(software:)93
b(you)47 b(can)g(redistribute)e(it)i(and/or)f(modify)198
3915 y(*)h(it)g(under)g(the)g(terms)f(of)h(the)g(GNU)g(General)f
(Public)g(License)g(as)h(published)e(by)198 4025 y(*)i(the)g(Free)g
(Software)e(Foundation,)g(either)h(version)g(3)h(of)h(the)e(License,)g
(or)198 4134 y(*)h(\(at)g(your)g(option\))f(any)g(later)h(version.)198
4244 y(*)198 4354 y(*)g(This)g(program)f(is)h(distributed)e(in)i(the)g
(hope)f(that)h(it)g(will)g(be)g(useful,)198 4463 y(*)g(but)g(WITHOUT)f
(ANY)h(WARRANTY;)e(without)h(even)h(the)f(implied)g(warranty)g(of)198
4573 y(*)h(MERCHANTABILITY)d(or)j(FITNESS)f(FOR)h(A)g(PARTICULAR)e
(PURPOSE.)93 b(See)47 b(the)198 4682 y(*)g(GNU)g(General)f(Public)g
(License)g(for)h(more)f(details.)198 4792 y(*)198 4902
y(*)h(You)g(should)f(have)h(received)e(a)j(copy)e(of)i(the)f(GNU)f
(General)g(Public)g(License)198 5011 y(*)h(along)g(with)f(this)h
(program.)189 b(If)47 b(not,)f(see)h(<http://www.gnu.org/licen)o(ses/)o
(>.)198 5121 y(*)198 5230 y(*/)p eop end
%%Page: 49 54
TeXDict begin 49 53 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(49)150 299 y Fr(#include)46 b(<stdio.h>)150
408 y(#include)g(<stdlib.h>)150 518 y(#include)g(<string.h>)150
737 y(/*)h(Get)g(stringprep_locale_charset)o(,)42 b(etc.)94
b(*/)150 847 y(#include)46 b(<stringprep.h>)150 1066
y(/*)h(Get)g(idna_to_ascii_8z,)c(etc.)95 b(*/)150 1176
y(#include)46 b(<idna.h>)150 1395 y(/*)h(Get)g(tld_check_4z.)92
b(*/)150 1504 y(#include)46 b(<tld.h>)150 1724 y(/*)198
1833 y(*)h(Compiling)e(using)i(libtool)f(and)h(pkg-config)e(is)i
(recommended:)198 1943 y(*)198 2052 y(*)g($)h(libtool)d(cc)j(-o)f
(example5)e(example5.c)g(`pkg-config)g(--cflags)h(--libs)g(libidn`)198
2162 y(*)h($)h(./example5)198 2271 y(*)f(Input)g(domain)f(encoded)f(as)
j(`UTF-8':)93 b(fooss.no)198 2381 y(*)47 b(Read)g(string)f(\(length)g
(8\):)94 b(66)48 b(6f)f(6f)g(c3)g(9f)g(2e)g(6e)h(6f)198
2491 y(*)f(ToASCII)f(string)g(\(length)g(8\):)95 b(fooss.no)198
2600 y(*)47 b(ToUnicode)e(string:)94 b(U+0066)46 b(U+006f)g(U+006f)g
(U+0073)g(U+0073)g(U+002e)h(U+006e)f(U+006f)198 2710
y(*)h(Domain)f(accepted)g(by)h(TLD)g(check)198 2819 y(*)198
2929 y(*)g($)h(./example5)198 3039 y(*)f(Input)g(domain)f(encoded)f(as)
j(`UTF-8':)93 b(greuroeuron.no)198 3148 y(*)47 b(Read)g(string)f
(\(length)g(12\):)94 b(67)47 b(72)g(e2)h(82)f(ac)g(e2)g(82)g(ac)h(6e)f
(2e)g(6e)g(6f)198 3258 y(*)g(ToASCII)f(string)g(\(length)g(16\):)94
b(xn--grn-l50aa.no)198 3367 y(*)47 b(ToUnicode)e(string:)94
b(U+0067)46 b(U+0072)g(U+20ac)g(U+20ac)g(U+006e)g(U+002e)h(U+006e)f
(U+006f)198 3477 y(*)h(Domain)f(rejected)g(by)h(TLD)g(check,)f(Unicode)
g(position)f(2)198 3587 y(*)198 3696 y(*/)150 3915 y(int)150
4025 y(main)i(\(void\))150 4134 y({)245 4244 y(char)g(buf[BUFSIZ];)245
4354 y(char)g(*p;)245 4463 y(uint32_t)f(*r;)245 4573
y(int)h(rc;)245 4682 y(size_t)g(errpos,)e(i;)245 4902
y(printf)i(\("Input)e(domain)h(encoded)g(as)h(`\045s':)95
b(",)47 b(stringprep_locale_chars)o(et)42 b(\(\)\);)245
5011 y(fflush)47 b(\(stdout\);)245 5121 y(fgets)g(\(buf,)f(BUFSIZ,)g
(stdin\);)245 5230 y(buf[strlen)f(\(buf\))i(-)g(1])g(=)h('\\0';)p
eop end
%%Page: 50 55
TeXDict begin 50 54 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(50)245 299 y Fr(printf)47 b(\("Read)f(string)g
(\(length)g(\045d\):)94 b(",)47 b(strlen)f(\(buf\)\);)245
408 y(for)h(\(i)h(=)f(0;)g(i)h(<)f(strlen)f(\(buf\);)g(i++\))341
518 y(printf)g(\("\04502x)g(",)h(buf[i])f(&)i(0xFF\);)245
628 y(printf)f(\("\\n"\);)245 847 y(p)h(=)f(stringprep_locale_to_utf8)
41 b(\(buf\);)245 956 y(if)48 b(\(p\))341 1066 y({)436
1176 y(strcpy)e(\(buf,)h(p\);)436 1285 y(free)g(\(p\);)341
1395 y(})245 1504 y(else)341 1614 y(printf)f(\("Could)g(not)h(convert)f
(string)g(to)h(UTF-8,)f(continuing)f(anyway...\\n"\);)245
1833 y(rc)j(=)f(idna_to_ascii_8z)c(\(buf,)k(&p,)g(0\);)245
1943 y(if)h(\(rc)f(!=)g(IDNA_SUCCESS\))341 2052 y({)436
2162 y(printf)f(\("idna_to_ascii_8z)d(failed)j(\(\045d\):)94
b(\045s\\n",)47 b(rc,)f(idna_strerror)f(\(rc\)\);)436
2271 y(return)h(2;)341 2381 y(})245 2600 y(printf)h(\("ToASCII)e
(string)h(\(length)g(\045d\):)94 b(\045s\\n",)46 b(strlen)g(\(p\),)h
(p\);)245 2819 y(rc)h(=)f(idna_to_unicode_8z4z)42 b(\(p,)47
b(&r,)g(0\);)245 2929 y(free)g(\(p\);)245 3039 y(if)h(\(rc)f(!=)g
(IDNA_SUCCESS\))341 3148 y({)436 3258 y(printf)f
(\("idna_to_unicode_8z4z)c(failed)k(\(\045d\):)94 b(\045s\\n",)818
3367 y(rc,)47 b(idna_strerror)d(\(rc\)\);)436 3477 y(return)i(2;)341
3587 y(})245 3806 y(printf)h(\("ToUnicode)d(string:)94
b("\);)245 3915 y(for)47 b(\(i)h(=)f(0;)g(r[i];)g(i++\))341
4025 y(printf)f(\("U+\04504x)g(",)h(r[i]\);)245 4134
y(printf)g(\("\\n"\);)245 4354 y(rc)h(=)f(tld_check_4z)e(\(r,)h
(&errpos,)g(NULL\);)245 4463 y(free)h(\(r\);)245 4573
y(if)h(\(rc)f(==)g(TLD_INVALID\))341 4682 y({)436 4792
y(printf)f(\("Domain)g(rejected)g(by)h(TLD)g(check,)f(Unicode)g
(position)f(\045d\\n",)h(errpos\);)436 4902 y(return)g(1;)341
5011 y(})245 5121 y(else)h(if)g(\(rc)g(!=)g(TLD_SUCCESS\))341
5230 y({)436 5340 y(printf)f(\("tld_check_4z\(\))e(failed)i(\(\045d\):)
94 b(\045s\\n",)46 b(rc,)h(tld_strerror)d(\(rc\)\);)p
eop end
%%Page: 51 56
TeXDict begin 51 55 bop 150 -116 a Fx(Chapter)30 b(9:)41
b(Examples)2661 b(51)436 299 y Fr(return)46 b(2;)341
408 y(})245 628 y(printf)h(\("Domain)e(accepted)h(by)h(TLD)g
(check\\n"\);)245 847 y(return)g(0;)150 956 y(})p eop
end
%%Page: 52 57
TeXDict begin 52 56 bop 150 -116 a Fx(Chapter)30 b(10:)41
b(In)m(v)m(oking)32 b(idn)2500 b(52)150 299 y Fu(10)80
b(In)l(v)l(oking)52 b(idn)150 648 y Fw(10.1)68 b(Name)150
807 y Fx(GNU)31 b(Libidn)e(\(idn\))h({)h(In)m(ternationalized)h(Domain)
g(Names)f(command)f(line)g(to)s(ol)150 1047 y Fw(10.2)68
b(Description)150 1206 y Fr(idn)34 b Fx(allo)m(ws)j(in)m
(ternationalized)h(string)d(preparation)g(\(`)p Fr(stringprep)p
Fx('\),)h(enco)s(ding)f(and)g(deco)s(ding)g(of)150 1316
y(pun)m(yco)s(de)h(data,)j(and)d(IDNA)h(T)-8 b(oASCI)s(I/T)g(oUnico)s
(de)37 b(op)s(erations)g(to)g(b)s(e)f(p)s(erformed)f(on)h(the)h(com-)
150 1425 y(mand)30 b(line.)275 1564 y(If)i(strings)h(are)g(sp)s
(eci\014ed)f(on)h(the)g(command)f(line,)i(they)g(are)f(used)f(as)h
(input)f(and)g(the)h(computed)150 1674 y(output)h(is)g(prin)m(ted)f(to)
i(standard)e(output)h Fr(stdout)p Fx(.)49 b(If)34 b(no)g(strings)g(are)
g(sp)s(eci\014ed)f(on)h(the)g(command)150 1784 y(line,)42
b(the)d(program)g(read)f(data,)k(line)e(b)m(y)f(line,)i(from)e(the)g
(standard)f(input)g Fr(stdin)p Fx(,)i(and)e(prin)m(t)h(the)150
1893 y(computed)g(output)g(to)h(standard)f(output.)67
b(What)40 b(pro)s(cessing)f(is)h(p)s(erformed)e(\(e.g.,)43
b(T)-8 b(oASCI)s(I,)39 b(or)150 2003 y(Pun)m(yco)s(de)32
b(enco)s(de\))i(is)f(indicated)g(b)m(y)g(options.)48
b(If)33 b(an)m(y)g(errors)f(are)h(encoun)m(tered,)i(the)e(execution)h
(of)150 2112 y(the)d(applications)g(is)g(ab)s(orted.)275
2252 y(All)e(strings)g(are)g(exp)s(ected)g(to)h(b)s(e)e(enco)s(ded)h
(in)f(the)h(preferred)f(c)m(harset)i(used)e(b)m(y)h(y)m(our)g(lo)s
(cale.)42 b(Use)150 2361 y Fr(--debug)c Fx(to)j(\014nd)e(out)i(what)f
(this)g(c)m(harset)h(is.)71 b(Y)-8 b(ou)40 b(can)h(o)m(v)m(erride)g
(the)g(c)m(harset)g(used)f(b)m(y)g(setting)150 2471 y(en)m(vironmen)m
(t)31 b(v)-5 b(ariable)31 b Fr(CHARSET)p Fx(.)275 2610
y(T)-8 b(o)38 b(pro)s(cess)g(a)g(string)g(that)h(starts)f(with)g
Fr(-)p Fx(,)i(for)e(example)g Fr(-foo)p Fx(,)h(use)f
Fr(--)g Fx(to)g(signal)h(the)f(end)g(of)150 2720 y(parameters,)31
b(as)g(in)f Fr(idn)f(--quiet)g(-a)g(--)h(-foo)p Fx(.)150
2959 y Fw(10.3)68 b(Options)150 3119 y Fr(idn)29 b Fx(recognizes)k
(these)d(commands:)245 3258 y Fr(-h,)47 b(--help)715
b(Print)46 b(help)h(and)g(exit)245 3477 y(-V,)g(--version)571
b(Print)46 b(version)g(and)h(exit)245 3696 y(-s,)g(--stringprep)427
b(Prepare)45 b(string)i(according)e(to)i(nameprep)f(profile)245
3915 y(-d,)h(--punycode-decode)187 b(Decode)46 b(Punycode)245
4134 y(-e,)h(--punycode-encode)187 b(Encode)46 b(Punycode)245
4354 y(-a,)h(--idna-to-ascii)283 b(Convert)45 b(to)j(ACE)f(according)e
(to)i(IDNA)g(\(default)e(mode\))245 4573 y(-u,)i(--idna-to-unicode)187
b(Convert)45 b(from)i(ACE)g(according)e(to)i(IDNA)436
4792 y(--allow-unassigned)139 b(Toggle)46 b(IDNA)g(AllowUnassigned)e
(flag)j(\(default)e(off\))436 5011 y(--usestd3asciirules)91
b(Toggle)46 b(IDNA)g(UseSTD3ASCIIRules)d(flag)k(\(default)f(off\))436
5230 y(--no-tld)619 b(Don't)46 b(check)g(string)g(for)h(TLD)g(specific)
f(rules)1534 5340 y(Only)h(for)g(--idna-to-ascii)c(and)k
(--idna-to-unicode)p eop end
%%Page: 53 58
TeXDict begin 53 57 bop 150 -116 a Fx(Chapter)30 b(10:)41
b(In)m(v)m(oking)32 b(idn)2500 b(53)245 408 y Fr(-n,)47
b(--nfkc)715 b(Normalize)45 b(string)h(according)f(to)i(Unicode)f(v3.2)
h(NFKC)245 628 y(-p,)g(--profile=STRING)235 b(Use)47
b(specified)e(stringprep)g(profile)h(instead)1534 737
y(Valid)g(stringprep)f(profiles:)h(`Nameprep',)1534 847
y(`iSCSI',)g(`Nodeprep',)e(`Resourceprep',)1534 956 y(`trace',)i
(`SASLprep')436 1176 y(--debug)667 b(Print)46 b(debugging)f
(information)436 1395 y(--quiet)667 b(Silent)46 b(operation)150
1673 y Fw(10.4)68 b(En)l(vironmen)l(t)46 b(V)-11 b(ariables)150
1832 y Fx(The)25 b Fn(CHARSET)31 b Fx(en)m(vironmen)m(t)26
b(v)-5 b(ariable)26 b(can)g(b)s(e)f(used)f(to)j(o)m(v)m(erride)f(what)g
(c)m(haracter)h(set)f(to)g(b)s(e)f(used)150 1942 y(for)35
b(deco)s(ding)f(incoming)i(data)f(\(i.e.,)j(on)c(the)h(command)g(line)g
(or)g(on)f(the)h(standard)f(input)g(stream\),)150 2051
y(and)27 b(to)i(enco)s(de)f(data)h(to)g(the)f(standard)f(output.)40
b(If)27 b(y)m(our)h(system)g(is)h(set)f(up)f(correctly)-8
b(,)31 b(ho)m(w)m(ev)m(er,)f(the)150 2161 y(application)i(will)e(guess)
h(whic)m(h)f(c)m(haracter)i(set)f(is)f(used)g(automatically)-8
b(.)44 b(Example)30 b(usage:)390 2326 y Fr($)47 b(CHARSET=ISO-8859-1)c
(idn)k(--punycode-encode)390 2435 y(...)150 2713 y Fw(10.5)68
b(Examples)150 2872 y Fx(Standard)29 b(usage,)i(reading)g(input)e(from)
h(standard)g(input:)390 3037 y Fr(jas@latte:~$)44 b(idn)390
3147 y(libidn)i(0.3.5)390 3256 y(Copyright)f(2002,)i(2003)f(Simon)h
(Josefsson.)390 3366 y(GNU)g(Libidn)f(comes)g(with)h(NO)g(WARRANTY,)e
(to)j(the)f(extent)f(permitted)f(by)i(law.)390 3475 y(You)g(may)g
(redistribute)d(copies)i(of)i(GNU)e(Libidn)h(under)f(the)h(terms)f(of)
390 3585 y(the)h(GNU)g(Lesser)f(General)g(Public)g(License.)93
b(For)47 b(more)g(information)390 3695 y(about)f(these)h(matters,)e
(see)i(the)g(file)g(named)f(COPYING.LIB.)390 3804 y(Type)h(each)f
(input)h(string)f(on)h(a)g(line)g(by)g(itself,)f(terminated)f(by)i(a)h
(newline)d(character.)390 3914 y(r\177)-48 b(aksm\177)g(org\027)g
(as.se)390 4023 y(xn--rksmrgs-5wao1o.se)390 4133 y(jas@latte:~$)275
4298 y Fx(Reading)30 b(input)g(from)g(command)g(line,)h(and)f
(disabling)g(cop)m(yrigh)m(t)i(and)d(license)j(information:)390
4463 y Fr(jas@latte:~$)44 b(idn)j(--quiet)f(r\177)-48
b(aksm\177)g(org\027)g(as.se)44 b(bl\027)-48 b(ab\032rgr\034d.no)390
4572 y(xn--rksmrgs-5wao1o.se)390 4682 y(xn--blbrgrd-fxak7p.no)390
4791 y(jas@latte:~$)275 4956 y Fx(Accessing)31 b(a)g(sp)s(eci\014c)f
(StringPrep)f(pro\014le)h(directly:)390 5121 y Fr(jas@latte:~$)44
b(idn)j(--quiet)f(--profile=SASLprep)d(--stringprep)h(te\031t)3302
5082 y Fh(a)p 3302 5095 36 4 v 390 5230 a Fr(te\031ta)390
5340 y(jas@latte:~$)p eop end
%%Page: 54 59
TeXDict begin 54 58 bop 150 -116 a Fx(Chapter)30 b(10:)41
b(In)m(v)m(oking)32 b(idn)2500 b(54)150 299 y Fw(10.6)68
b(T)-11 b(roublesho)t(oting)150 458 y Fx(Getting)32 b(c)m(haracter)g
(data)f(enco)s(ded)g(righ)m(t,)g(and)f(making)h(sure)f(Libidn)f(use)h
(the)h(same)g(enco)s(ding,)g(can)150 568 y(b)s(e)i(di\016cult.)50
b(The)33 b(reason)g(for)h(this)f(is)g(that)h(most)g(systems)g(enco)s
(de)f(c)m(haracter)i(data)f(in)g(more)f(than)150 677
y(one)e(c)m(haracter)g(enco)s(ding,)g(i.e.,)g(using)f
Fr(UTF-8)f Fx(together)j(with)d Fr(ISO-8859-1)f Fx(or)i
Fr(ISO-2022-JP)p Fx(.)38 b(This)150 787 y(problem)g(is)h(lik)m(ely)h
(to)f(con)m(tin)m(ue)h(to)f(exist)h(un)m(til)e(only)h(one)g(c)m
(haracter)h(enco)s(ding)f(come)g(out)g(as)g(the)150 897
y(ev)m(olutionary)32 b(winner,)d(or)i(\(more)g(lik)m(ely)-8
b(,)32 b(at)f(least)h(to)f(some)g(exten)m(ts\))h(forev)m(er.)275
1027 y(The)d(\014rst)h(step)g(to)h(troublesho)s(oting)f(c)m(haracter)i
(enco)s(ding)e(problems)g(with)g(Libidn)f(is)h(to)h(use)f(the)150
1137 y(`)p Fr(--debug)p Fx(')24 b(parameter)j(to)f(\014nd)e(out)i(whic)
m(h)g(c)m(haracter)h(set)g(enco)s(ding)f(`)p Fr(idn)p
Fx(')f(b)s(eliev)m(e)i(y)m(our)f(lo)s(cale)h(uses.)390
1268 y Fr(jas@latte:~$)44 b(idn)j(--debug)f(--quiet)g("")390
1377 y(system)g(locale)g(uses)h(charset)f(`UTF-8'.)390
1597 y(jas@latte:~$)275 1727 y Fx(If)27 b(it)i(prin)m(ts)f
Fr(ANSI_X3.4-1968)c Fx(\(i.e.,)30 b Fr(US-ASCII)p Fx(\),)d(this)h
(indicate)h(y)m(ou)g(ha)m(v)m(e)g(not)g(con\014gured)e(y)m(our)150
1837 y(lo)s(cale)40 b(prop)s(erly)-8 b(.)66 b(T)-8 b(o)39
b(con\014gure)f(the)h(lo)s(cale,)k(y)m(ou)c(can,)j(for)c(example,)k
(use)c(`)p Fr(LANG=sv_SE.UTF-8;)150 1946 y(export)29
b(LANG)p Fx(')g(at)i(a)g Fr(/bin/sh)d Fx(prompt,)i(to)g(set)h(up)e(y)m
(our)i(lo)s(cale)h(for)e(a)g(Sw)m(edish)g(en)m(vironmen)m(t)g(using)150
2056 y Fr(UTF-8)f Fx(as)i(the)f(enco)s(ding.)275 2187
y(Sometimes)36 b(`)p Fr(idn)p Fx(')g(app)s(ear)g(to)h(b)s(e)e(unable)h
(to)h(translate)g(from)f(y)m(our)g(system)g(lo)s(cale)i(in)m(to)f
Fr(UTF-8)150 2296 y Fx(\(whic)m(h)30 b(is)h(used)e(in)m(ternally\),)j
(and)e(y)m(ou)h(get)g(an)g(error)f(lik)m(e)h(the)g(follo)m(wing:)390
2427 y Fr(jas@latte:~$)44 b(idn)j(--quiet)f(foo)390 2537
y(idn:)h(could)f(not)h(convert)f(from)g(ISO-8859-1)f(to)j(UTF-8.)390
2646 y(jas@latte:~$)275 2777 y Fx(The)95 b(simplest)h(explanation)h(is)
e(that)i(y)m(ou)f(ha)m(v)m(en't)h(installed)g(the)e(`)p
Fr(iconv)p Fx(')g(con-)150 2887 y(v)m(ersion)88 b(to)s(ols.)214
b(Y)-8 b(ou)89 b(can)f(\014nd)e(it)j(as)f(a)g(standalone)h(library)e
(in)h Fk(GNU)g Fx(Libicon)m(v)150 2996 y(\()p Fr
(http://www.gnu.org/softwar)o(e/l)o(ibic)o(onv/)o Fx(\).)271
b(On)109 b(man)m(y)g Fk(GNU)p Fx(/Lin)m(ux)h(systems,)150
3106 y(this)38 b(library)g(is)h(part)f(of)g(the)h(system,)h(but)e(y)m
(ou)h(ma)m(y)g(ha)m(v)m(e)g(to)g(install)h(additional)f(pac)m(k)-5
b(ages)40 b(\(e.g.,)150 3215 y(`)p Fr(glibc-locale)p
Fx(')28 b(for)i(Debian\))h(to)g(b)s(e)f(able)h(to)g(use)f(it.)275
3346 y(Another)i(explanation)i(is)f(that)g(the)g(error)g(is)g(correct)h
(and)e(y)m(ou)h(are)g(feeding)g(`)p Fr(idn)p Fx(')g(in)m(v)-5
b(alid)33 b(data.)150 3456 y(This)e(can)i(happ)s(en)d(inadv)m(erten)m
(tly)k(if)e(y)m(ou)g(are)h(not)f(careful)g(with)g(the)g(c)m(haracter)i
(set)f(enco)s(dings)f(y)m(ou)150 3565 y(use.)65 b(F)-8
b(or)40 b(example,)i(if)c(y)m(our)h(shell)g(run)e(in)i(a)g
Fr(ISO-8859-1)d Fx(en)m(vironmen)m(t,)41 b(and)e(y)m(ou)g(in)m(v)m(ok)m
(e)h(`)p Fr(idn)p Fx(')150 3675 y(with)29 b(the)h(`)p
Fr(CHARSET)p Fx(')e(en)m(vironmen)m(t)h(v)-5 b(ariable)31
b(as)e(follo)m(ws,)i(y)m(ou)f(will)g(feed)f(it)h Fr(ISO-8859-1)c
Fx(c)m(haracters)150 3785 y(but)42 b(force)h(it)g(to)g(b)s(eliev)m(e)g
(they)g(are)g Fr(UTF-8)p Fx(.)75 b(Naturally)43 b(this)g(will)f(lead)h
(to)g(an)g(error,)i(unless)d(the)150 3894 y(b)m(yte)33
b(sequences)g(happ)s(en)e(to)j(b)s(e)e(parsable)h(as)g
Fr(UTF-8)p Fx(.)46 b(Note)34 b(that)g(ev)m(en)f(if)g(y)m(ou)g(don't)g
(get)g(an)g(error,)150 4004 y(the)f(output)g(ma)m(y)h(b)s(e)e
(incorrect)i(in)f(this)g(situation,)i(b)s(ecause)e Fr(ISO-8859-1)e
Fx(and)h Fr(UTF-8)g Fx(do)s(es)h(not)g(in)150 4113 y(general)f(enco)s
(de)g(the)f(same)h(c)m(haracters)h(as)f(the)f(same)h(b)m(yte)g
(sequences.)390 4244 y Fr(jas@latte:~$)44 b(idn)j(--quiet)f(--debug)g
("")390 4354 y(system)g(locale)g(uses)h(charset)f(`ISO-8859-1'.)390
4573 y(jas@latte:~$)e(CHARSET=UTF-8)h(idn)i(--quiet)e(--debug)h(r\177)
-48 b(aksm\177)g(org\027)g(as)390 4682 y(system)46 b(locale)g(uses)h
(charset)f(`UTF-8'.)390 4792 y(input[0])g(=)h(U+0072)390
4902 y(input[1])f(=)h(U+4af3)390 5011 y(input[2])f(=)h(U+006d)390
5121 y(input[3])f(=)h(U+1b29e5)390 5230 y(input[4])f(=)h(U+0073)390
5340 y(output[0])e(=)j(U+0078)p eop end
%%Page: 55 60
TeXDict begin 55 59 bop 150 -116 a Fx(Chapter)30 b(10:)41
b(In)m(v)m(oking)32 b(idn)2500 b(55)390 299 y Fr(output[1])45
b(=)j(U+006e)390 408 y(output[2])d(=)j(U+002d)390 518
y(output[3])d(=)j(U+002d)390 628 y(output[4])d(=)j(U+0072)390
737 y(output[5])d(=)j(U+006d)390 847 y(output[6])d(=)j(U+0073)390
956 y(output[7])d(=)j(U+002d)390 1066 y(output[8])d(=)j(U+0068)390
1176 y(output[9])d(=)j(U+0069)390 1285 y(output[10])d(=)i(U+0036)390
1395 y(output[11])e(=)i(U+0064)390 1504 y(output[12])e(=)i(U+0035)390
1614 y(output[13])e(=)i(U+0039)390 1724 y(output[14])e(=)i(U+0037)390
1833 y(output[15])e(=)i(U+0035)390 1943 y(output[16])e(=)i(U+0035)390
2052 y(output[17])e(=)i(U+0032)390 2162 y(output[18])e(=)i(U+0061)390
2271 y(xn--rms-hi6d597552a)390 2381 y(jas@latte:~$)275
2516 y Fx(The)35 b(sense)g(moral)i(here)e(is)h(to)g(forget)h(ab)s(out)e
(`)p Fr(CHARSET)p Fx(')g(\(con\014gure)h(y)m(our)f(lo)s(cales)i(prop)s
(erly)e(in-)150 2625 y(stead\))c(unless)f(y)m(ou)g(kno)m(w)h(what)f(y)m
(ou)h(are)f(doing,)h(and)f(if)g(y)m(ou)h(w)m(an)m(t)g(to)g(use)f(it,)h
(do)f(it)h(carefully)-8 b(,)31 b(after)150 2735 y(v)m(erifying)g(with)f
(`)p Fr(--debug)p Fx(')f(that)i(y)m(ou)g(get)g(the)g(desired)f
(results.)p eop end
%%Page: 56 61
TeXDict begin 56 60 bop 150 -116 a Fx(Chapter)30 b(11:)41
b(Emacs)31 b(API)2546 b(56)150 299 y Fu(11)80 b(Emacs)54
b(API)150 563 y Fx(Included)32 b(in)h(Libidn)g(are)g(`)p
Fr(punycode.el)p Fx(')e(and)i(`)p Fr(idna.el)p Fx(')f(that)i(pro)m
(vides)f(an)h(Emacs)f(Lisp)g(API)g(to)150 673 y(\(a)28
b(limited)g(set)g(of)7 b(\))27 b(the)h(Libidn)e(API.)h(This)f(section)j
(describ)s(es)d(the)h(API.)h(Curren)m(tly)e(the)h(IDNA)h(API)150
783 y(alw)m(a)m(ys)k(set)f(the)g Fr(UseSTD3ASCIIRules)25
b Fx(\015ag)31 b(and)f(clear)h(the)g Fr(AllowUnassigned)26
b Fx(\015ag,)31 b(in)f(the)h(future)150 892 y(there)g(ma)m(y)g(b)s(e)e
(functionalit)m(y)j(to)f(sp)s(ecify)f(these)h(\015ags)g(via)g(the)f
(API.)150 1140 y Fw(11.1)68 b(Pun)l(yco)t(de)45 b(Emacs)g(API)3371
1359 y Fx([V)-8 b(ariable])-3598 b Fp(punycode-program)390
1469 y Fx(Name)34 b(of)g(the)g(GNU)g(Libidn)f(`)p Fr(idn)p
Fx(')g(application.)52 b(The)33 b(default)h(is)f(`)p
Fr(idn)p Fx('.)50 b(This)33 b(v)-5 b(ariable)35 b(can)390
1578 y(b)s(e)30 b(customized.)3371 1783 y([V)-8 b(ariable])-3598
b Fp(punycode-environment)390 1892 y Fx(List)34 b(of)g(en)m(vironmen)m
(t)h(v)-5 b(ariable)35 b(de\014nitions)e(prep)s(ended)f(to)j(`)p
Fr(process-environment)p Fx('.)46 b(The)390 2002 y(default)31
b(is)f(`)p Fr(\("CHARSET=UTF-8"\))p Fx('.)36 b(This)30
b(v)-5 b(ariable)31 b(can)g(b)s(e)f(customized.)3371
2206 y([V)-8 b(ariable])-3598 b Fp(punycode-encode-parame)q(ter)q(s)390
2316 y Fx(List)62 b(of)g(parameters)g(passed)f(to)i Fn(pun)m(yco)s
(de-program)e Fx(to)h(in)m(v)m(ok)m(e)i(pun)m(yco)s(de)d(enco)s(ding)
390 2426 y(mo)s(de.)67 b(The)39 b(default)h(is)g(`)p
Fr(\("--quiet")27 b("--punycode-encode"\))p Fx('.)63
b(This)39 b(v)-5 b(ariable)40 b(can)g(b)s(e)390 2535
y(customized.)3371 2740 y([V)-8 b(ariable])-3598 b Fp
(punycode-decode-parame)q(ter)q(s)390 2849 y Fx(P)m(arameters)40
b(passed)e(to)i Fn(pun)m(yco)s(de-program)e Fx(to)i(in)m(v)m(ok)m(e)h
(pun)m(yco)s(de)d(deco)s(ding)h(mo)s(de.)65 b(The)390
2959 y(default)31 b(is)f(`)p Fr(\("--quiet")e("--punycode-decode"\))p
Fx('.)35 b(This)30 b(v)-5 b(ariable)31 b(can)g(b)s(e)e(customized.)3350
3164 y([F)-8 b(unction])-3599 b Fp(punycode-encode)50
b Fn(string)390 3273 y Fx(Returns)29 b(a)i(Pun)m(yco)s(de)f(enco)s
(ding)g(of)h(the)g Fn(string)8 b Fx(,)30 b(after)h(con)m(v)m(erting)h
(the)f(input)e(in)m(to)i(UTF-8.)3350 3478 y([F)-8 b(unction])-3599
b Fp(punycode-decode)50 b Fn(string)390 3587 y Fx(Returns)37
b(a)h(p)s(ossibly)g(m)m(ultib)m(yte)h(string)f(whic)m(h)g(is)g(the)g
(deco)s(ding)g(of)g(the)g Fn(string)46 b Fx(whic)m(h)38
b(is)g(a)390 3697 y(pun)m(yco)s(de)30 b(enco)s(ded)g(string.)150
3944 y Fw(11.2)68 b(IDNA)45 b(Emacs)g(API)3371 4164 y
Fx([V)-8 b(ariable])-3598 b Fp(idna-program)390 4273
y Fx(Name)34 b(of)g(the)g(GNU)g(Libidn)f(`)p Fr(idn)p
Fx(')g(application.)52 b(The)33 b(default)h(is)f(`)p
Fr(idn)p Fx('.)50 b(This)33 b(v)-5 b(ariable)35 b(can)390
4383 y(b)s(e)30 b(customized.)3371 4587 y([V)-8 b(ariable])-3598
b Fp(idna-environment)390 4697 y Fx(List)34 b(of)g(en)m(vironmen)m(t)h
(v)-5 b(ariable)35 b(de\014nitions)e(prep)s(ended)f(to)j(`)p
Fr(process-environment)p Fx('.)46 b(The)390 4807 y(default)31
b(is)f(`)p Fr(\("CHARSET=UTF-8"\))p Fx('.)36 b(This)30
b(v)-5 b(ariable)31 b(can)g(b)s(e)f(customized.)3371
5011 y([V)-8 b(ariable])-3598 b Fp(idna-to-ascii-paramete)q(rs)390
5121 y Fx(List)31 b(of)f(parameters)h(passed)f(to)h Fn(idna-program)f
Fx(to)i(in)m(v)m(ok)m(e)g(IDNA)f(T)-8 b(oASCI)s(I)29
b(mo)s(de.)41 b(The)30 b(de-)390 5230 y(fault)k(is)g(`)p
Fr(\("--quiet")28 b("--idna-to-ascii")d("--usestd3asciirules"\))p
Fx('.)45 b(This)33 b(v)-5 b(ariable)390 5340 y(can)31
b(b)s(e)e(customized.)p eop end
%%Page: 57 62
TeXDict begin 57 61 bop 150 -116 a Fx(Chapter)30 b(11:)41
b(Emacs)31 b(API)2546 b(57)3371 299 y([V)-8 b(ariable])-3598
b Fp(idna-to-unicode-parame)q(ter)q(s)390 408 y Fx(P)m(arameters)38
b(passed)e Fn(idna-program)g Fx(to)h(in)m(v)m(ok)m(e)i(IDNA)e(T)-8
b(oUnico)s(de)37 b(mo)s(de.)59 b(The)36 b(default)h(is)390
518 y(`)p Fr(\("--quiet")28 b("--idna-to-unicode")d
("--usestd3asciirules"\))p Fx('.)73 b(This)43 b(v)-5
b(ariable)44 b(can)390 628 y(b)s(e)30 b(customized.)3350
812 y([F)-8 b(unction])-3599 b Fp(idna-to-ascii)49 b
Fn(string)390 922 y Fx(Returns)26 b(an)h(ASCI)s(I)e(Compatible)j(Enco)s
(ding)e(\(A)m(CE\))i(of)f(the)h(string)e(computed)h(b)m(y)g(the)g(IDNA)
390 1031 y(T)-8 b(oASCI)s(I)29 b(op)s(eration)i(on)f(the)h(input)e
Fn(string)8 b Fx(,)31 b(after)g(con)m(v)m(erting)h(the)e(input)g(to)h
(UTF-8.)3350 1215 y([F)-8 b(unction])-3599 b Fp(idna-to-unicode)50
b Fn(string)390 1325 y Fx(Returns)43 b(a)g(p)s(ossibly)g(m)m(ultib)m
(yte)i(string)e(whic)m(h)g(is)h(the)g(output)f(of)g(the)h(IDNA)g(T)-8
b(oUnico)s(de)390 1435 y(op)s(eration)31 b(computed)f(on)g(the)h(input)
e Fn(string)8 b Fx(.)p eop end
%%Page: 58 63
TeXDict begin 58 62 bop 150 -116 a Fx(Chapter)30 b(12:)41
b(Ja)m(v)-5 b(a)32 b(API)2627 b(58)150 299 y Fu(12)80
b(Ja)l(v)-9 b(a)55 b(API)150 559 y Fx(Libidn)31 b(has)h(b)s(een)g(p)s
(orted)g(to)h(the)f(Ja)m(v)-5 b(a)34 b(programming)e(language,)j(and)c
(as)i(a)g(consequence)g(most)g(of)150 669 y(the)27 b(API)f(is)g(a)m(v)
-5 b(ailable)29 b(to)e(nativ)m(e)h(Ja)m(v)-5 b(a)27 b(applications.)41
b(This)26 b(section)h(con)m(tain)h(notes)f(on)f(this)g(supp)s(ort,)150
778 y(complete)32 b(do)s(cumen)m(tation)f(is)f(p)s(ending.)275
921 y(The)c(Ja)m(v)-5 b(a)28 b(library)-8 b(,)27 b(if)g(Libidn)f(has)g
(b)s(een)g(built)h(with)f(Ja)m(v)-5 b(a)28 b(supp)s(ort)d(\(see)j
(Section)f(1.7)h([Do)m(wnload-)150 1031 y(ing)h(and)f(Installing],)i
(page)f(6\),)h(will)f(b)s(e)f(placed)i(in)e(`)p Fr
(java/libidn-1.15.jar)p Fx('.)35 b(The)28 b(source)h(co)s(de)g(is)150
1141 y(lo)s(cated)j(in)e(`)p Fr(java/gnu/inet/encoding/)p
Fx('.)150 1386 y Fw(12.1)68 b(Ov)l(erview)150 1546 y
Fx(This)37 b(pac)m(k)-5 b(age)40 b(pro)m(vides)f(a)f(Ja)m(v)-5
b(a)39 b(implemen)m(tation)h(of)e(the)h(In)m(ternationalized)h(Domain)f
(Names)f(in)150 1655 y(Applications)43 b(\(IDNA\))g(standard.)75
b(It)42 b(is)g(written)g(en)m(tirely)i(in)d(Ja)m(v)-5
b(a)43 b(and)f(do)s(es)g(not)g(require)g(an)m(y)150 1765
y(additional)31 b(libraries)g(to)g(b)s(e)f(set)h(up.)275
1908 y(The)i(gn)m(u.inet.enco)s(ding.IDNA)k(class)e(o\013ers)g(t)m(w)m
(o)g(public)f(functions,)h(toASCI)s(I)f(and)g(toUnico)s(de)150
2017 y(whic)m(h)c(can)h(b)s(e)f(used)f(as)i(follo)m(ws:)390
2161 y Fr(gnu.inet.encoding.IDNA.t)o(oASC)o(II\(")o(bl\177)-49
b(ods.z)o(\177)h(ug"\))o(;)390 2270 y(gnu.inet.encoding.IDNA.t)o(oUni)o
(code)o(\("x)o(n--b)o(lds-)o(6qa)o(.xn-)o(-zg-)o(xka)o("\);)150
2516 y Fw(12.2)68 b(Miscellaneous)47 b(Programs)150 2675
y Fx(The)31 b(`)p Fr(misc/)p Fx(')f(directory)i(con)m(tains)h(sev)m
(eral)g(programs)e(that)h(are)g(related)g(to)g(the)g(Ja)m(v)-5
b(a)32 b(part)g(of)f(GNU)150 2785 y(Libidn,)e(but)h(that)h(don't)f
(need)h(to)g(b)s(e)e(included)h(in)g(the)h(main)f(source)g(tree.)150
2993 y Fq(12.2.1)63 b(GenerateRF)m(C3454)150 3140 y Fx(This)43
b(program)h(parses)g(RF)m(C3454)i(and)e(creates)h(the)f(RF)m(C3454.ja)m
(v)-5 b(a)48 b(program)c(that)h(is)f(required)150 3249
y(during)29 b(the)i(StringPrep)e(phase.)275 3392 y(The)19
b(RF)m(C)i(can)f(b)s(e)g(found)f(at)i(v)-5 b(arious)20
b(lo)s(cations,)k(for)c(example)h(at)g Fr(http://www.ietf.org/rfc/r)o
(fc34)o(54.t)o(xt)p Fx(.)275 3536 y(In)m(v)m(ok)m(e)31
b(the)g(program)f(as)h(follo)m(ws:)390 3679 y Fr($)47
b(java)g(GenerateRFC3454)390 3788 y(Creating)f(RFC3454.java...)d(Ok.)
150 3996 y Fq(12.2.2)63 b(GenerateNFK)m(C)150 4143 y
Fx(The)44 b(GenerateNFK)m(C)j(program)e(parses)f(the)h(Unico)s(de)g(c)m
(haracter)i(database)e(\014le)g(and)g(generates)150 4253
y(all)f(the)g(tables)g(required)e(for)h(NFK)m(C.)h(This)e(program)h
(requires)g(the)g(t)m(w)m(o)i(\014les)e(Unico)s(deData.txt)150
4362 y(and)e(Comp)s(ositionExclusions.txt)i(of)f(v)m(ersion)g(3.2)h(of)
f(the)g(Unico)s(de)g(\014les.)75 b(Note)43 b(that)g(RF)m(C3454)150
4472 y(\(Stringprep\))30 b(de\014nes)f(that)i(Unico)s(de)g(v)m(ersion)g
(3.2)g(is)f(to)i(b)s(e)d(used,)h(not)h(the)f(latest)i(v)m(ersion.)275
4615 y(The)d(Unico)s(de)i(data)g(\014les)f(can)h(b)s(e)f(found)f(at)i
Fr(http://www.unicode.org/P)o(ubli)o(c/)p Fx(.)275 4758
y(In)m(v)m(ok)m(e)g(the)g(program)f(as)h(follo)m(ws:)390
4902 y Fr($)47 b(java)g(GenerateNFKC)390 5011 y(Creating)f
(CombiningClass.java...)41 b(Ok.)390 5121 y(Creating)46
b(DecompositionKeys.java.)o(..)41 b(Ok.)390 5230 y(Creating)46
b(DecompositionMappings.j)o(ava)o(...)41 b(Ok.)390 5340
y(Creating)46 b(Composition.java...)c(Ok.)p eop end
%%Page: 59 64
TeXDict begin 59 63 bop 150 -116 a Fx(Chapter)30 b(12:)41
b(Ja)m(v)-5 b(a)32 b(API)2627 b(59)150 299 y Fq(12.2.3)63
b(T)-10 b(estIDNA)150 446 y Fx(The)22 b(T)-8 b(estIDNA)25
b(program)d(allo)m(ws)i(to)g(test)g(the)f(IDNA)g(implemen)m(tation)i
(man)m(ually)e(or)g(against)i(Simon)150 555 y(Josefsson's)30
b(test)i(v)m(ectors.)275 689 y(The)19 b(test)i(v)m(ectors)h(can)f(b)s
(e)e(found)g(at)i(the)g(Libidn)e(homepage,)k Fr
(http://www.gnu.org/softwa)o(re/l)o(ibid)o(n/)p Fx(.)275
822 y(T)-8 b(o)30 b(test)i(the)e(tranformation)h(man)m(ually)-8
b(,)32 b(use:)390 956 y Fr($)47 b(java)g(-cp)g(.:../libidn.jar)d
(TestIDNA)h(-a)i(<string)f(to)h(test>)390 1066 y(Input:)f(<string)g(to)
h(test>)390 1175 y(Output:)f(<toASCII\(string)d(to)48
b(test\)>)390 1285 y($)f(java)g(-cp)g(.:../libidn.jar)d(TestIDNA)h(-u)i
(<string)f(to)h(test>)390 1394 y(Input:)f(<string)g(to)h(test>)390
1504 y(Output:)f(<toUnicode\(string)d(to)k(test\)>)275
1637 y Fx(T)-8 b(o)30 b(test)i(against)f(draft-josefsson-idn-test-v)m
(ectors.h)m(tml,)j(use:)390 1771 y Fr($)47 b(java)g(-cp)g
(.:../libidn.jar)d(TestIDNA)h(-t)390 1881 y(No)i(errors)f(detected!)150
2078 y Fq(12.2.4)63 b(T)-10 b(estNFK)m(C)150 2225 y Fx(The)29
b(T)-8 b(estNFK)m(C)30 b(program)f(allo)m(ws)h(to)g(test)h(the)e(NFK)m
(C)g(implemen)m(tation)i(man)m(ually)f(or)f(against)i(the)150
2334 y(NormalizationT)-8 b(est.txt)34 b(\014le)d(from)f(the)g(Unico)s
(de)h(data)g(\014les.)275 2468 y(T)-8 b(o)30 b(test)i(the)e
(normalization)i(man)m(ually)-8 b(,)32 b(use:)390 2601
y Fr($)47 b(java)g(-cp)g(.:../libidn.jar)d(TestNFKC)h(<string)h(to)h
(test>)390 2711 y(Input:)f(<string)g(to)h(test>)390 2821
y(Output:)f(<nfkc)g(version)g(of)h(the)g(string)f(to)h(test>)275
2954 y Fx(T)-8 b(o)30 b(test)i(against)f(NormalizationT)-8
b(est.txt:)390 3088 y Fr($)47 b(java)g(-cp)g(.:../libidn.jar)d
(TestNFKC)390 3197 y(No)j(errors)f(detected!)150 3428
y Fw(12.3)68 b(P)l(ossible)46 b(Problems)150 3587 y Fx(Bew)m(are)28
b(of)f(Bugs:)39 b(This)26 b(Ja)m(v)-5 b(a)27 b(API)g(needs)f(a)h(lot)h
(more)e(testing,)j(esp)s(ecially)f(with)e Fr(")p Fx(exotic)p
Fr(")i Fx(c)m(haracter)150 3697 y(sets.)41 b(While)31
b(it)g(w)m(orks)g(for)f(me,)g(it)h(ma)m(y)g(not)g(w)m(ork)f(for)g(y)m
(ou.)275 3830 y(Enco)s(ding)21 b(of)h(y)m(our)h(Ja)m(v)-5
b(a)23 b(sources:)36 b(If)22 b(y)m(ou)g(are)h(using)f(non-ASCI)s(I)e(c)
m(haracters)k(in)e(y)m(our)g(Ja)m(v)-5 b(a)23 b(source)150
3940 y(co)s(de,)g(mak)m(e)f(sure)d(ja)m(v)-5 b(ac)22
b(compiles)g(y)m(our)e(programs)g(with)g(the)h(correct)h(enco)s(ding.)
37 b(If)20 b(necessary)h(sp)s(ecify)150 4049 y(the)31
b(enco)s(ding)f(using)g(the)g(-enco)s(ding)h(parameter.)275
4183 y(Ja)m(v)-5 b(a)24 b(Unico)s(de)g(handling:)37 b(Ja)m(v)-5
b(a)25 b(1.4)f(only)g(handles)f(16-bit)i(Unico)s(de)f(co)s(de)g(p)s
(oin)m(ts)g(\(i.e.)39 b(c)m(haracters)150 4293 y(in)28
b(the)h(Basic)h(Multilingual)g(Plane\),)g(this)f(implemen)m(tation)h
(therefore)f(ignores)g(all)h(references)f(to)g(so-)150
4402 y(called)36 b(Supplemen)m(tary)f(Characters)g(\(U)p
Fr(+)p Fx(10000)j(to)e(U)p Fr(+)p Fx(10FFFF\).)h(Starting)f(from)f(Ja)m
(v)-5 b(a)36 b(1.5,)h(these)150 4512 y(c)m(haracters)32
b(will)f(also)g(b)s(e)f(supp)s(orted)e(b)m(y)j(Ja)m(v)-5
b(a,)31 b(but)f(this)g(will)h(require)f(c)m(hanges)h(to)h(this)e
(library)-8 b(.)41 b(See)150 4621 y(also)31 b(the)g(next)f(section.)150
4852 y Fw(12.4)68 b(A)45 b(Note)h(on)e(Ja)l(v)-7 b(a)46
b(and)f(Unico)t(de)150 5011 y Fx(This)25 b(library)f(uses)h(Ja)m(v)-5
b(a's)27 b(builtin)e('c)m(har')h(datat)m(yp)s(e.)40 b(Up)25
b(to)h(Ja)m(v)-5 b(a)26 b(1.4,)i(this)d(datat)m(yp)s(e)h(only)g(supp)s
(orts)150 5121 y(16-bit)46 b(Unico)s(de)g(co)s(de)f(p)s(oin)m(ts,)k
(also)e(called)f(the)f(Basic)i(Multilingual)g(Plane.)85
b(F)-8 b(or)46 b(this)f(reason,)150 5230 y(this)35 b(library)h(do)s
(esn't)f(w)m(ork)h(for)f(Supplemen)m(tary)g(Characters)h(\(i.e.)57
b(c)m(haracters)37 b(from)e(U)p Fr(+)p Fx(10000)j(to)150
5340 y(U)p Fr(+)p Fx(10FFFF\).)33 b(All)e(references)g(to)g(suc)m(h)f
(c)m(haracters)i(are)f(silen)m(tly)g(ignored.)p eop end
%%Page: 60 65
TeXDict begin 60 64 bop 150 -116 a Fx(Chapter)30 b(12:)41
b(Ja)m(v)-5 b(a)32 b(API)2627 b(60)275 299 y(Starting)26
b(from)g(Ja)m(v)-5 b(a)28 b(1.5,)g(also)f(Supplemen)m(tary)f
(Characters)h(will)f(b)s(e)g(supp)s(orted.)38 b(Ho)m(w)m(ev)m(er,)29
b(this)150 408 y(will)24 b(require)g(c)m(hanges)h(in)f(the)h(presen)m
(t)f(v)m(ersion)g(of)h(the)f(library)-8 b(.)39 b(Ja)m(v)-5
b(a)25 b(1.5)g(is)f(curren)m(tly)g(in)g(b)s(eta)g(status.)275
543 y(F)-8 b(or)24 b(more)g(information)g(refer)g(to)g(the)g(do)s
(cumen)m(tation)h(of)f(ja)m(v)-5 b(a.lang.Character)26
b(in)d(the)h(JDK)g(API.)p eop end
%%Page: 61 66
TeXDict begin 61 65 bop 150 -116 a Fx(Chapter)30 b(13:)41
b(C#)30 b(API)2664 b(61)150 299 y Fu(13)80 b(C#)54 b(API)150
533 y Fx(The)33 b(Libidn)g(library)h(has)f(b)s(een)h(p)s(orted)f(to)i
(the)f(C#)f(language.)53 b(The)34 b(p)s(ort)f(reside)h(in)f(the)i
(top-lev)m(el)150 643 y(`)p Fr(csharp/)p Fx(')27 b(directory)-8
b(.)41 b(Curren)m(tly)-8 b(,)29 b(no)f(further)f(do)s(cumen)m(tation)i
(ab)s(out)f(the)g(implemen)m(tation)i(or)f(the)150 752
y(API)e(is)f(a)m(v)-5 b(ailable.)42 b(Ho)m(w)m(ev)m(er,)30
b(the)d(C#)f(p)s(ort)g(w)m(as)h(based)g(on)f(the)h(Ja)m(v)-5
b(a)28 b(p)s(ort,)f(and)f(the)h(API)f(is)h(exactly)150
862 y(the)k(same)f(as)h(in)f(the)h(Ja)m(v)-5 b(a)31 b(v)m(ersion.)41
b(The)30 b(help)g(\014les)g(for)g(the)h(Ja)m(v)-5 b(a)31
b(API)f(ma)m(y)h(th)m(us)f(b)s(e)g(useful.)p eop end
%%Page: 62 67
TeXDict begin 62 66 bop 150 -116 a Fx(Chapter)30 b(14:)41
b(Ac)m(kno)m(wledgemen)m(ts)2251 b(62)150 299 y Fu(14)80
b(Ac)l(kno)l(wledgemen)l(ts)150 533 y Fx(The)35 b(pun)m(yco)s(de)f
(implemen)m(tation)j(w)m(as)f(tak)m(en)g(from)f(the)h(IETF)f(IDN)h(Pun)
m(yco)s(de)e(sp)s(eci\014cation,)k(b)m(y)150 643 y(Adam)f(M.)g
(Costello.)63 b(The)36 b(TLD)h(co)s(de)g(w)m(as)h(con)m(tributed)f(b)m
(y)g(Thomas)g(Jacob.)61 b(The)37 b(Ja)m(v)-5 b(a)38 b(imple-)150
752 y(men)m(tation)i(w)m(as)f(con)m(tributed)g(b)m(y)f(Oliv)m(er)h
(Hitz.)66 b(The)38 b(C#)g(implemen)m(tation)i(w)m(as)f(con)m(tributed)g
(b)m(y)150 862 y(Alexander)28 b(Gnauc)m(k.)40 b(The)27
b(Unico)s(de)h(tables)g(w)m(ere)h(pro)m(vided)e(b)m(y)g(Unico)s(de,)i
(Inc.)39 b(Some)28 b(functions)f(for)150 971 y(dealing)i(with)f(Unico)s
(de)g(\(see)h(nfk)m(c.c)g(and)e(toutf8.c\))j(w)m(ere)e(b)s(orro)m(w)m
(ed)g(from)g(GLib,)g(do)m(wnloaded)g(from)150 1081 y
Fr(http://www.gtk.org/)p Fx(.)35 b(The)30 b(man)m(ual)h(b)s(orro)m(w)m
(ed)f(text)h(from)f(Libgcrypt)g(b)m(y)h(W)-8 b(erner)30
b(Ko)s(c)m(h.)275 1215 y(Inspiration)g(for)g(man)m(y)h(things)g(that,)g
(consciously)h(or)e(not,)i(ha)m(v)m(e)f(gone)h(in)m(to)g(this)e(pac)m
(k)-5 b(age)33 b(is)e(due)150 1325 y(to)40 b(a)f(n)m(um)m(b)s(er)f(of)h
(free)g(soft)m(w)m(are)h(pac)m(k)-5 b(age)41 b(that)e(the)h(author)e
(has)h(b)s(een)f(exp)s(osed)h(to.)67 b(The)38 b(author)150
1435 y(wishes)f(to)h(ac)m(kno)m(wledge)h(the)e(free)h(soft)m(w)m(are)g
(comm)m(unit)m(y)g(in)f(general,)j(for)d(giving)h(an)f(example)h(on)150
1544 y(what)30 b(role)h(soft)m(w)m(are)h(dev)m(elopmen)m(t)g(can)f(pla)
m(y)g(in)f(the)g(mo)s(dern)f(so)s(ciet)m(y)-8 b(.)275
1679 y(Sev)m(eral)49 b(p)s(eople)f(rep)s(orted)g(bugs,)53
b(sen)m(t)c(patc)m(hes)g(or)f(suggested)i(impro)m(v)m(emen)m(ts,)k(see)
49 b(the)g(\014le)150 1788 y(THANKS)30 b(in)g(the)g(top-lev)m(el)j
(directory)e(of)f(the)h(source)g(co)s(de.)p eop end
%%Page: 63 68
TeXDict begin 63 67 bop 150 -116 a Fx(Chapter)30 b(15:)41
b(History)2706 b(63)150 299 y Fu(15)80 b(History)150
533 y Fx(The)41 b(complete)h(history)g(of)f(user)g(visible)g(c)m
(hanges)h(is)g(stored)f(in)g(the)g(\014le)h(`)p Fr(NEWS)p
Fx(')e(in)h(the)h(top-lev)m(el)150 643 y(directory)g(of)h(the)f(source)
g(co)s(de)g(tree.)76 b(The)42 b(complete)h(history)f(of)g(mo)s
(di\014cations)g(to)h(eac)m(h)g(\014le)f(is)150 752 y(stored)h(in)g
(the)g(\014le)g(`)p Fr(ChangeLog)p Fx(')e(in)i(the)g(same)h(directory)
-8 b(.)79 b(This)42 b(section)j(con)m(tain)f(a)f(condensed)150
862 y(v)m(ersion)31 b(of)f(that)h(information,)g(in)f(the)h(form)f(of)g
(\\milestones")j(for)d(the)g(pro)5 b(ject.)150 1021 y(Stringprep)29
b(implemen)m(tation.)630 1131 y(V)-8 b(ersion)31 b(0.0.0)h(released)f
(on)g(2002-11-05.)150 1290 y(IDNA)g(and)f(Pun)m(yco)s(de)g(implemen)m
(tations,)i(part)e(of)g(the)h(GNU)g(pro)5 b(ject.)630
1400 y(V)-8 b(ersion)31 b(0.1.0)h(released)f(on)g(2003-01-05.)150
1559 y(Uses)g(o\016cial)g(IDNA)g(A)m(CE)g(pre\014x)e
Fr(xn--)p Fx(.)630 1669 y(V)-8 b(ersion)31 b(0.1.7)h(released)f(on)g
(2003-02-12.)150 1828 y(Command)e(line)i(in)m(terface.)630
1938 y(V)-8 b(ersion)31 b(0.1.11)i(released)e(on)f(2003-02-26.)150
2097 y(GNU)h(Lib)s(c)f(add-on)g(prop)s(osed.)630 2207
y(V)-8 b(ersion)31 b(0.1.12)i(released)e(on)f(2003-03-06.)150
2366 y(In)m(terop)s(erabilit)m(y)h(testing)h(during)d(IDNConnect.)630
2476 y(V)-8 b(ersion)31 b(0.3.1)h(released)f(on)g(2003-10-02.)150
2635 y(TLD)f(restriction)i(testing.)630 2745 y(V)-8 b(ersion)31
b(0.4.0)h(released)f(on)g(2004-02-28.)150 2904 y(GNU)g(Lib)s(c)f
(add-on)g(in)m(tegrated.)630 3014 y(V)-8 b(ersion)31
b(0.4.1)h(released)f(on)g(2004-03-08.)150 3173 y(Nativ)m(e)h(Ja)m(v)-5
b(a)32 b(implemen)m(tation.)630 3283 y(V)-8 b(ersion)31
b(0.4.2-0.4.9)j(released)e(b)s(et)m(w)m(een)f(2004-03-20)j(and)c
(2004-06-11.)150 3442 y(PR-29)h(functions)f(for)g(\\problem)h
(sequences".)630 3552 y(V)-8 b(ersion)31 b(0.5.0)h(released)f(on)g
(2004-06-26.)150 3711 y(Man)m(y)g(small)g(p)s(ortabilit)m(y)g(\014xes)f
(and)g(wider)g(use.)630 3821 y(V)-8 b(ersion)31 b(0.5.1)h(through)e
(0.5.20,)j(released)e(b)s(et)m(w)m(een)g(2004-07-09)j(and)c
(2005-10-23.)150 3980 y(Nativ)m(e)i(C#)e(implemen)m(tation.)630
4090 y(V)-8 b(ersion)31 b(0.6.0)h(released)f(on)g(2005-12-03.)150
4249 y(Windo)m(ws)f(supp)s(ort)f(through)h(cross-compilation.)630
4359 y(V)-8 b(ersion)31 b(0.6.1)h(released)f(on)g(2006-01-20.)150
4518 y(Library)f(declared)g(stable)h(b)m(y)g(releasing)g(v1.0.)630
4628 y(V)-8 b(ersion)31 b(1.0)g(released)h(on)e(2007-07-31.)p
eop end
%%Page: 64 69
TeXDict begin 64 68 bop 150 -116 a Fx(App)s(endix)29
b(A:)h(PR29)h(discussion)2323 b(64)150 299 y Fu(App)t(endix)52
b(A)81 b(PR29)54 b(discussion)150 500 y Fx(If)26 b(y)m(ou)h(wish)f(to)h
(exp)s(erimen)m(t)g(with)f(a)h(mo)s(di\014ed)f(Unico)s(de)h(NFK)m(C)g
(implemen)m(tation)h(according)f(to)h(the)150 609 y(PR29)j(prop)s
(osal,)g(y)m(ou)g(ma)m(y)g(\014nd)e(the)i(follo)m(wing)h(bug)e(rep)s
(ort)g(useful.)41 b(Ho)m(w)m(ev)m(er,)33 b(I)d(ha)m(v)m(e)i(not)f(v)m
(eri\014ed)150 719 y(that)k(the)g(suggested)g(mo)s(di\014cations)g(are)
g(correct.)54 b(F)-8 b(or)35 b(reference,)i(I'm)d(including)g(m)m(y)h
(resp)s(onse)e(to)150 829 y(the)e(rep)s(ort)e(as)i(w)m(ell.)150
956 y Fr(From:)46 b(Rick)h(McGowan)f(<rick@unicode.org>)150
1066 y(Subject:)g(Possible)f(bug)i(and)g(status)f(of)h(PR)g(29)h
(change\(s\))150 1176 y(To:)f(bug-libidn@gnu.org)150
1285 y(Date:)f(Wed,)h(27)g(Oct)g(2004)g(14:49:17)e(-0700)150
1504 y(Hello.)h(On)h(behalf)f(of)i(the)e(Unicode)g(Consortium)f
(editorial)h(committee,)f(I)i(would)150 1614 y(like)g(to)g(find)f(out)h
(more)g(information)e(about)h(the)h(PR)g(29)g(fixes,)f(if)i(any,)e(and)
150 1724 y(functions)f(in)i(Libidn.)f(Your)h(implementation)d(was)j
(listed)f(in)h(the)g(text)g(of)g(PR29)f(as)150 1833 y(needing)g
(investigation,)e(so)j(I)g(am)h(following)d(up)i(on)g(several)f
(implementations.)150 2052 y(The)h(UTC)g(has)g(accepted)e(the)i
(proposed)f(fix)h(to)g(D2)g(as)g(outlined)f(in)h(PR29,)f(and)h(a)h(new)
150 2162 y(draft)e(of)i(UAX)e(#15)h(has)g(been)g(issued.)150
2381 y(I)g(have)g(looked)f(at)h(Libidn)f(0.5.8)h(\(today\),)e(and)i
(there)g(may)g(still)f(be)h(a)h(possible)150 2491 y(bug)f(in)g
(NFKC.java)e(and)i(nfkc.c.)150 2710 y(------------------------)o(----)o
(----)o(---)o(----)o(----)o(---)o(----)o(----)150 2929
y(1.)g(In)g(NFKC.java,)e(this)i(line)g(in)g(canonicalOrdering\(\):)436
3148 y(if)h(\(i)f(>)g(0)h(&&)f(\(last_cc)e(==)j(0)f(||)g(last_cc)f(!=)h
(cc\)\))g({)150 3367 y(should)f(perhaps)g(be)h(changed)f(to:)436
3587 y(if)i(\(i)f(>)g(0)h(&&)f(\(last_cc)e(==)j(0)f(||)g(last_cc)f(<)h
(cc\)\))g({)150 3806 y(but)g(I'm)g(not)g(sure)f(of)i(the)e(sense)h(of)g
(this)g(comparison.)150 4025 y(------------------------)o(----)o(----)o
(---)o(----)o(----)o(---)o(----)o(----)150 4244 y(2.)g(In)g(nfkc.c,)f
(function)g(_g_utf8_normalize_wc\(\))41 b(has)47 b(this)g(code:)627
4463 y(if)g(\(i)h(>)f(0)h(&&)818 4573 y(\(last_cc)e(==)h(0)g(||)h
(last_cc)d(!=)j(cc\))e(&&)818 4682 y(combine)g
(\(wc_buffer[last_start],)41 b(wc_buffer[i],)1248 4792
y(&wc_buffer[last_start]\))o(\))723 4902 y({)150 5121
y(This)47 b(appears)e(to)j(have)e(the)h(same)g(bug)g(as)g(the)g
(current)f(Python)g(implementation)e(\(in)150 5230 y(Python)i(2.3.4\).)
g(The)h(code)f(should)h(be)g(checking,)e(as)i(per)g(new)g(rule)g(D2)g
(UAX)g(#15)150 5340 y(update,)f(that)g(the)h(next)g(combining)e
(character)h(is)h(the)g(same)f(or)h(HIGHER)g(than)f(the)p
eop end
%%Page: 65 70
TeXDict begin 65 69 bop 150 -116 a Fx(App)s(endix)29
b(A:)h(PR29)h(discussion)2323 b(65)150 299 y Fr(current)46
b(one.)g(It)i(now)f(checks)f(to)h(see)g(if)g(it's)g(non-zero)e(and)i
(not)g(equal.)150 518 y(The)g(above)f(line\(s\))g(should)g(perhaps)g
(be)h(changed)f(to:)627 737 y(if)h(\(i)h(>)f(0)h(&&)818
847 y(\(last_cc)e(==)h(0)g(||)h(last_cc)d(<)j(cc\))f(&&)818
956 y(combine)f(\(wc_buffer[last_start],)41 b(wc_buffer[i],)1248
1066 y(&wc_buffer[last_start]\))o(\))723 1176 y({)150
1395 y(but)47 b(I'm)g(not)g(sure)f(of)i(the)e(sense)h(of)g(the)g
(comparison)e(\(<)i(or)g(>)h(or)f(<=?\))g(here.)150 1614
y(In)g(the)g(text)g(of)g(PR29,)f(I)i(will)e(be)i(marking)d(Libidn)h(as)
i("needs)e(change")g(and)g(adding)150 1724 y(the)h(version)f(number)g
(that)g(I)i(checked.)d(If)j(any)f(further)e(change)h(is)i(made,)e
(please)150 1833 y(let)h(me)g(know)g(the)g(release)e(version,)h(and)h
(I'll)g(update)f(again.)150 2052 y(Regards,)532 2162
y(Rick)g(McGowan)150 2381 y(From:)g(Simon)h(Josefsson)e
(<jas@extundo.com>)150 2491 y(Subject:)h(Re:)g(Possible)g(bug)h(and)g
(status)f(of)h(PR)g(29)g(change\(s\))150 2600 y(To:)g(Rick)g(McGowan)e
(<rick@unicode.org>)150 2710 y(Cc:)i(bug-libidn@gnu.org)150
2819 y(Date:)f(Thu,)h(28)g(Oct)g(2004)g(09:47:47)e(+0200)150
3039 y(Rick)i(McGowan)e(<rick@unicode.org>)e(writes:)150
3258 y(>)k(Hello.)g(On)g(behalf)f(of)h(the)g(Unicode)f(Consortium)f
(editorial)g(committee,)g(I)i(would)150 3367 y(>)g(like)g(to)g(find)g
(out)g(more)f(information)f(about)i(the)f(PR)i(29)f(fixes,)f(if)h(any,)
g(and)150 3477 y(>)g(functions)f(in)h(Libidn.)f(Your)g(implementation)e
(was)j(listed)f(in)h(the)g(text)g(of)g(PR29)g(as)150
3587 y(>)g(needing)f(investigation,)e(so)j(I)h(am)f(following)e(up)i
(on)h(several)d(implementations.)150 3696 y(>)150 3806
y(>)i(The)g(UTC)g(has)g(accepted)f(the)h(proposed)e(fix)i(to)g(D2)g(as)
h(outlined)d(in)i(PR29,)g(and)g(a)g(new)150 3915 y(>)g(draft)g(of)g
(UAX)g(#15)g(has)g(been)f(issued.)150 4025 y(>)150 4134
y(>)h(I)h(have)f(looked)f(at)h(Libidn)f(0.5.8)g(\(today\),)g(and)h
(there)f(may)h(still)f(be)i(a)f(possible)150 4244 y(>)g(bug)g(in)h
(NFKC.java)d(and)i(nfkc.c.)150 4463 y(Hello)f(Rick.)150
4682 y(I)h(believe)f(the)h(current)f(behavior)g(is)h(intentional.)92
b(Libidn)46 b(do)h(not)g(aim)g(to)150 4792 y(implement)e
(latest-and-greatest)e(NFKC,)j(it)h(aim)g(to)g(implement)f(the)h(NFKC)
150 4902 y(functionality)d(required)i(for)h(StringPrep)e(and)i(IDN.)94
b(As)47 b(you)g(may)g(know,)150 5011 y(StringPrep/IDN)d(reference)h
(Unicode)h(3.2.0,)g(and)h(explicitly)e(says)i(any)g(later)150
5121 y(changes)f(\(which)g(I)h(consider)f(PR29)h(as\))f(do)i(not)f
(apply.)150 5340 y(In)g(fact,)g(I)g(believe)f(that)g(would)h(I)g
(incorporate)e(the)i(changes)f(suggested)f(in)p eop end
%%Page: 66 71
TeXDict begin 66 70 bop 150 -116 a Fx(App)s(endix)29
b(A:)h(PR29)h(discussion)2323 b(66)150 299 y Fr(PR29,)46
b(I)i(would)e(in)h(fact)g(be)g(violating)e(the)i(IDN)g(specifications.)
150 518 y(Thanks)f(for)h(looking)f(into)g(the)h(code)g(and)g(finding)f
(the)h(place)f(where)g(the)150 628 y(change)g(could)g(be)i(made.)94
b(I'll)46 b(see)h(if)g(I)h(can)f(mention)f(this)g(in)h(the)g(manual)150
737 y(somewhere,)e(for)i(technically)e(interested)g(readers.)150
956 y(Regards,)150 1066 y(Simon)p eop end
%%Page: 67 72
TeXDict begin 67 71 bop 150 -116 a Fx(App)s(endix)29
b(B:)i(On)e(Lab)s(el)h(Separators)2150 b(67)150 299 y
Fu(App)t(endix)52 b(B)81 b(On)54 b(Lab)t(el)f(Separators)150
533 y Fx(Some)43 b(strings)h(con)m(tains)g(c)m(haracters)h(whose)e(NFK)
m(C)h(normalized)g(form)f(con)m(tain)h(the)g(ASCI)s(I)e(dot)150
643 y(\(0x2E,)30 b(\\."\).)42 b(Examples)28 b(of)h(these)g(c)m
(haracters)h(are)f(U)p Fr(+)p Fx(2024)i(\(ONE)e(DOT)f(LEADER\))h(and)f
(U)p Fr(+)p Fx(248C)150 752 y(\(DIGIT)37 b(FIVE)g(FULL)g(STOP\).)g(The)
f(strings)h(ha)m(v)m(e)h(the)f(in)m(teresting)i(prop)s(ert)m(y)d(that)h
(their)g(IDNA)150 862 y(T)-8 b(oASCI)s(I)29 b(output)h(will)h(con)m
(tain)h(em)m(b)s(edded)d(dots.)41 b(F)-8 b(or)31 b(example:)390
996 y Fr(ToASCII)46 b(\(hi)h(U+248C)f(com\))g(=)i(hi5.com)390
1106 y(ToASCII)e(\(r\177)-48 b(aksm\177)g(org\027)g(as)45
b(U+2024)h(com\))g(=)i(xn--rksmrgs.com-l8as9u)275 1240
y Fx(This)36 b(demonstrate)i(the)g(t)m(w)m(o)h(general)g(cases:)56
b(The)37 b(\014rst)g(where)g(the)g(ASCI)s(I)f(dot)i(is)g(part)f(of)h
(an)150 1350 y(output)c(that)h(do)g(not)g(b)s(egin)f(with)g(the)h(IDN)g
(pre\014x)f Fr(xn--)p Fx(.)52 b(The)34 b(second)h(example)g(illustrate)
h(when)150 1460 y(the)31 b(dot)f(is)h(part)f(of)g(IDN)h(pre\014xed)e
(with)h Fr(xn--)p Fx(.)275 1594 y(The)e(input)h(strings)g(are,)h(from)f
(the)g(DNS)h(p)s(oin)m(t)f(of)h(view,)g(a)f(single)h(lab)s(el.)41
b(The)29 b(IDNA)h(algorithm)150 1704 y(translate)39 b(one)e(lab)s(el)h
(at)g(a)g(time.)63 b(Th)m(us,)38 b(the)g(output)f(is)h(exp)s(ected)g
(to)g(b)s(e)f(only)g(one)h(lab)s(el.)62 b(What)150 1813
y(is)36 b(imp)s(ortan)m(t)g(here)f(is)h(to)g(mak)m(e)h(sure)e(the)h
(DNS)f(resolv)m(er)i(receiv)m(es)h(the)d(correct)i(query)-8
b(.)57 b(The)35 b(DNS)150 1923 y(proto)s(col)43 b(do)s(es)f(not)h(use)f
(the)g(dot)h(to)g(delimit)g(lab)s(els)g(on)f(the)g(wire,)k(rather)c(it)
h(uses)f(length-v)-5 b(alue)150 2032 y(pairs.)38 b(Th)m(us)24
b(the)h(correct)g(query)f(w)m(ould)g(b)s(e)g(for)h Fr({7}hi5.com)c
Fx(and)j Fr({22}xn--rksmrgs.com-l8as9)o(u)150 2142 y
Fx(resp)s(ectiv)m(ely)-8 b(.)275 2276 y(Some)29 b(implemen)m(tations)
1169 2243 y Fg(1)1237 2276 y Fx(ha)m(v)m(e)i(decided)e(that)h(these)g
(inputs)e(strings)h(are)h(p)s(oten)m(tially)h(confusing)150
2386 y(for)25 b(the)f(user.)39 b(The)24 b(string)h Fr(hi)k(U+248C)g
(com)24 b Fx(lo)s(oks)h(lik)m(e)h Fr(hi5.com)d Fx(on)i(systems)f(that)i
(supp)s(ort)d(Unico)s(de)150 2496 y(prop)s(erly)-8 b(.)40
b(These)30 b(implemen)m(tations)i(do)e(not)h(follo)m(w)g(RF)m(C)g
(3490.)43 b(They)29 b(yield:)390 2630 y Fr(ToASCII)46
b(\(hi)h(U+248C)f(com\))g(=)i(hi5.com)390 2740 y(ToASCII)e(\(r\177)-48
b(aksm\177)g(org\027)g(as)45 b(U+2024)h(com\))g(=)i
(xn--rksmrgs-5wao1o.com)275 2874 y Fx(The)30 b(DNS)g(query)g(they)h(p)s
(erform)e(are)i Fr({3}hi5{3}com)c Fx(and)j Fr({18}xn--rksmrgs-5wao1o{)o
(3}co)o(m)150 2984 y Fx(resp)s(ectiv)m(ely)-8 b(.)45
b(Arguably)-8 b(,)31 b(this)g(leads)h(to)g(a)f(b)s(etter)g(user)f(exp)s
(erience,)i(and)f(suggests)g(that)h(the)f(IDNA)150 3093
y(sp)s(eci\014cation)g(is)g(sub-optimal)f(in)g(this)g(area.)150
3326 y Fw(B.1)67 b(Recommended)46 b(W)-11 b(ork)k(around)150
3485 y Fx(It)29 b(has)g(b)s(een)g(suggested)h(to)g(normalize)g(the)g
(en)m(tire)g(input)e(string)h(using)g(NFK)m(C)g(b)s(efore)g(passing)g
(it)h(to)150 3595 y(IDNA)37 b(T)-8 b(oASCI)s(I.)35 b(Y)-8
b(ou)37 b(ma)m(y)g(use)f Fr(stringprep_utf8_nfkc_norm)o(ali)o(ze)30
b Fx(or)36 b Fr(stringprep_ucs4_)150 3704 y(nfkc_normalize)p
Fx(.)61 b(This)37 b(app)s(ears)h(to)h(lead)g(to)g(similar)g(b)s(eha)m
(viour)f(as)g(IE/Firefo)m(x,)k(whic)m(h)c(w)m(ould)150
3814 y(a)m(v)m(oid)32 b(the)e(problem,)h(but)e(this)h(needs)g(to)i(b)s
(e)d(con\014rmed.)40 b(F)-8 b(eel)32 b(free)f(to)g(discuss)e(the)i
(issue)f(with)g(us.)275 3949 y(Alternativ)m(e)f(w)m(ork)-5
b(arounds)26 b(are)h(b)s(eing)f(considered.)40 b(Ev)m(en)m(tually)28
b(Libidn)e(ma)m(y)i(implemen)m(t)f(a)g(new)150 4058 y(\015ag)42
b(to)g(the)g Fr(idna_*)e Fx(functions)i(that)g(implemen)m(ts)g(a)g
(recommended)f(w)m(a)m(y)i(to)g(w)m(ork)e(around)g(this)150
4168 y(problem.)p 150 5241 1200 4 v 199 5308 a Fg(1)275
5340 y Ff(Notably)25 b(Microsoft's)j(In)n(ternet)d(Explorer)h(and)f
(Mozilla's)k(Firefo)n(x,)e(but)e(not)g(Apple's)h(Safari.)p
eop end
%%Page: 68 73
TeXDict begin 68 72 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(68)150 299 y Fu(App)t(endix)52
b(C)81 b(Cop)l(ying)51 b(Information)150 617 y Fw(C.1)68
b(GNU)45 b(F)-11 b(ree)45 b(Do)t(cumen)l(tation)h(License)1359
754 y Fx(V)-8 b(ersion)31 b(1.3,)g(3)g(No)m(v)m(em)m(b)s(er)h(2008)390
886 y(Cop)m(yrigh)m(t)842 883 y(c)817 886 y Fv(\015)e
Fx(2000,)j(2001,)f(2002,)g(2007,)h(2008)f(F)-8 b(ree)31
b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 995
y Fr(http://fsf.org/)390 1214 y Fx(Ev)m(ery)m(one)g(is)g(p)s(ermitted)f
(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)390
1324 y(of)g(this)f(license)h(do)s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f
(is)f(not)h(allo)m(w)m(ed.)199 1456 y(0.)61 b(PREAMBLE)330
1588 y(The)37 b(purp)s(ose)e(of)i(this)g(License)h(is)f(to)h(mak)m(e)g
(a)g(man)m(ual,)h(textb)s(o)s(ok,)h(or)d(other)g(functional)h(and)330
1698 y(useful)29 b(do)s(cumen)m(t)h Fn(free)36 b Fx(in)29
b(the)i(sense)f(of)g(freedom:)41 b(to)31 b(assure)e(ev)m(ery)m(one)j
(the)e(e\013ectiv)m(e)j(freedom)330 1808 y(to)f(cop)m(y)g(and)f
(redistribute)g(it,)h(with)g(or)f(without)g(mo)s(difying)g(it,)i
(either)f(commercially)h(or)e(non-)330 1917 y(commercially)-8
b(.)56 b(Secondarily)-8 b(,)36 b(this)f(License)g(preserv)m(es)g(for)f
(the)h(author)f(and)g(publisher)f(a)i(w)m(a)m(y)330 2027
y(to)i(get)g(credit)g(for)f(their)g(w)m(ork,)i(while)e(not)g(b)s(eing)g
(considered)g(resp)s(onsible)f(for)h(mo)s(di\014cations)330
2136 y(made)30 b(b)m(y)h(others.)330 2268 y(This)22 b(License)i(is)f(a)
h(kind)e(of)i(\\cop)m(yleft",)j(whic)m(h)c(means)g(that)h(deriv)-5
b(ativ)m(e)24 b(w)m(orks)f(of)h(the)f(do)s(cumen)m(t)330
2378 y(m)m(ust)34 b(themselv)m(es)h(b)s(e)e(free)h(in)g(the)g(same)g
(sense.)51 b(It)34 b(complemen)m(ts)h(the)f(GNU)g(General)h(Public)330
2488 y(License,)c(whic)m(h)f(is)h(a)f(cop)m(yleft)i(license)g(designed)
e(for)g(free)h(soft)m(w)m(are.)330 2620 y(W)-8 b(e)31
b(ha)m(v)m(e)f(designed)g(this)f(License)h(in)f(order)g(to)i(use)e(it)h
(for)f(man)m(uals)h(for)f(free)h(soft)m(w)m(are,)h(b)s(ecause)330
2729 y(free)42 b(soft)m(w)m(are)i(needs)e(free)g(do)s(cumen)m(tation:)
65 b(a)42 b(free)h(program)f(should)f(come)i(with)f(man)m(uals)330
2839 y(pro)m(viding)29 b(the)g(same)g(freedoms)f(that)i(the)f(soft)m(w)
m(are)h(do)s(es.)40 b(But)29 b(this)f(License)i(is)f(not)g(limited)g
(to)330 2948 y(soft)m(w)m(are)j(man)m(uals;)f(it)g(can)g(b)s(e)f(used)g
(for)g(an)m(y)h(textual)h(w)m(ork,)f(regardless)g(of)g(sub)5
b(ject)30 b(matter)i(or)330 3058 y(whether)f(it)h(is)f(published)f(as)i
(a)f(prin)m(ted)g(b)s(o)s(ok.)44 b(W)-8 b(e)32 b(recommend)f(this)h
(License)g(principally)f(for)330 3168 y(w)m(orks)f(whose)h(purp)s(ose)d
(is)j(instruction)f(or)g(reference.)199 3300 y(1.)61
b(APPLICABILITY)29 b(AND)j(DEFINITIONS)330 3432 y(This)39
b(License)i(applies)f(to)g(an)m(y)h(man)m(ual)f(or)g(other)g(w)m(ork,)i
(in)e(an)m(y)g(medium,)i(that)e(con)m(tains)i(a)330 3541
y(notice)h(placed)f(b)m(y)f(the)h(cop)m(yrigh)m(t)h(holder)e(sa)m(ying)
h(it)g(can)g(b)s(e)f(distributed)f(under)g(the)i(terms)330
3651 y(of)c(this)f(License.)62 b(Suc)m(h)37 b(a)h(notice)h(gran)m(ts)f
(a)g(w)m(orld-wide,)h(ro)m(y)m(alt)m(y-free)i(license,)f(unlimited)d
(in)330 3761 y(duration,)49 b(to)d(use)f(that)g(w)m(ork)h(under)d(the)j
(conditions)f(stated)h(herein.)85 b(The)45 b(\\Do)s(cumen)m(t",)330
3870 y(b)s(elo)m(w,)29 b(refers)f(to)h(an)m(y)g(suc)m(h)f(man)m(ual)h
(or)f(w)m(ork.)40 b(An)m(y)29 b(mem)m(b)s(er)e(of)i(the)f(public)g(is)g
(a)h(licensee,)i(and)330 3980 y(is)25 b(addressed)f(as)h(\\y)m(ou".)40
b(Y)-8 b(ou)26 b(accept)g(the)f(license)h(if)f(y)m(ou)h(cop)m(y)-8
b(,)27 b(mo)s(dify)d(or)h(distribute)g(the)g(w)m(ork)330
4089 y(in)30 b(a)h(w)m(a)m(y)g(requiring)f(p)s(ermission)f(under)g(cop)
m(yrigh)m(t)j(la)m(w.)330 4222 y(A)i(\\Mo)s(di\014ed)f(V)-8
b(ersion")35 b(of)f(the)g(Do)s(cumen)m(t)g(means)g(an)m(y)g(w)m(ork)f
(con)m(taining)j(the)e(Do)s(cumen)m(t)g(or)330 4331 y(a)k(p)s(ortion)f
(of)h(it,)i(either)e(copied)g(v)m(erbatim,)i(or)d(with)h(mo)s
(di\014cations)f(and/or)h(translated)g(in)m(to)330 4441
y(another)31 b(language.)330 4573 y(A)26 b(\\Secondary)g(Section")h(is)
f(a)h(named)e(app)s(endix)f(or)i(a)h(fron)m(t-matter)g(section)g(of)f
(the)g(Do)s(cumen)m(t)330 4682 y(that)c(deals)g(exclusiv)m(ely)h(with)e
(the)g(relationship)h(of)f(the)h(publishers)d(or)i(authors)g(of)h(the)f
(Do)s(cumen)m(t)330 4792 y(to)38 b(the)f(Do)s(cumen)m(t's)i(o)m(v)m
(erall)g(sub)5 b(ject)37 b(\(or)h(to)g(related)g(matters\))g(and)f(con)
m(tains)h(nothing)f(that)330 4902 y(could)j(fall)h(directly)g(within)f
(that)h(o)m(v)m(erall)i(sub)5 b(ject.)70 b(\(Th)m(us,)42
b(if)e(the)h(Do)s(cumen)m(t)g(is)f(in)g(part)h(a)330
5011 y(textb)s(o)s(ok)24 b(of)g(mathematics,)j(a)d(Secondary)f(Section)
h(ma)m(y)g(not)g(explain)g(an)m(y)g(mathematics.\))40
b(The)330 5121 y(relationship)28 b(could)f(b)s(e)g(a)g(matter)i(of)e
(historical)i(connection)f(with)f(the)h(sub)5 b(ject)27
b(or)g(with)g(related)330 5230 y(matters,)38 b(or)d(of)h(legal,)i
(commercial,)h(philosophical,)f(ethical)f(or)e(p)s(olitical)i(p)s
(osition)f(regarding)330 5340 y(them.)p eop end
%%Page: 69 74
TeXDict begin 69 73 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(69)330 299 y(The)25
b(\\In)m(v)-5 b(arian)m(t)27 b(Sections")g(are)f(certain)g(Secondary)g
(Sections)g(whose)f(titles)i(are)f(designated,)i(as)330
408 y(b)s(eing)e(those)h(of)g(In)m(v)-5 b(arian)m(t)27
b(Sections,)i(in)d(the)h(notice)h(that)f(sa)m(ys)g(that)g(the)g(Do)s
(cumen)m(t)g(is)g(released)330 518 y(under)f(this)i(License.)40
b(If)27 b(a)h(section)h(do)s(es)f(not)f(\014t)h(the)g(ab)s(o)m(v)m(e)h
(de\014nition)e(of)h(Secondary)f(then)h(it)g(is)330 628
y(not)k(allo)m(w)m(ed)i(to)e(b)s(e)g(designated)g(as)g(In)m(v)-5
b(arian)m(t.)46 b(The)31 b(Do)s(cumen)m(t)i(ma)m(y)f(con)m(tain)i(zero)
e(In)m(v)-5 b(arian)m(t)330 737 y(Sections.)39 b(If)25
b(the)f(Do)s(cumen)m(t)i(do)s(es)e(not)h(iden)m(tify)g(an)m(y)g(In)m(v)
-5 b(arian)m(t)25 b(Sections)h(then)e(there)h(are)g(none.)330
878 y(The)36 b(\\Co)m(v)m(er)i(T)-8 b(exts")38 b(are)f(certain)g(short)
g(passages)g(of)g(text)g(that)h(are)f(listed,)i(as)d(F)-8
b(ron)m(t-Co)m(v)m(er)330 988 y(T)g(exts)26 b(or)f(Bac)m(k-Co)m(v)m(er)
j(T)-8 b(exts,)27 b(in)d(the)h(notice)i(that)e(sa)m(ys)h(that)g(the)f
(Do)s(cumen)m(t)h(is)f(released)g(under)330 1097 y(this)h(License.)40
b(A)25 b(F)-8 b(ron)m(t-Co)m(v)m(er)29 b(T)-8 b(ext)26
b(ma)m(y)h(b)s(e)e(at)i(most)f(5)g(w)m(ords,)g(and)g(a)g(Bac)m(k-Co)m
(v)m(er)j(T)-8 b(ext)26 b(ma)m(y)330 1207 y(b)s(e)k(at)h(most)g(25)g(w)
m(ords.)330 1348 y(A)36 b(\\T)-8 b(ransparen)m(t")36
b(cop)m(y)g(of)g(the)f(Do)s(cumen)m(t)h(means)g(a)g(mac)m
(hine-readable)h(cop)m(y)-8 b(,)38 b(represen)m(ted)330
1457 y(in)d(a)h(format)g(whose)g(sp)s(eci\014cation)g(is)g(a)m(v)-5
b(ailable)38 b(to)f(the)f(general)g(public,)h(that)f(is)g(suitable)g
(for)330 1567 y(revising)c(the)g(do)s(cumen)m(t)f(straigh)m(tforw)m
(ardly)i(with)e(generic)i(text)g(editors)f(or)f(\(for)h(images)h(com-)
330 1677 y(p)s(osed)23 b(of)h(pixels\))g(generic)h(pain)m(t)f(programs)
g(or)f(\(for)h(dra)m(wings\))g(some)g(widely)g(a)m(v)-5
b(ailable)26 b(dra)m(wing)330 1786 y(editor,)k(and)f(that)g(is)g
(suitable)h(for)f(input)f(to)i(text)g(formatters)f(or)g(for)g
(automatic)i(translation)f(to)330 1896 y(a)d(v)-5 b(ariet)m(y)28
b(of)f(formats)g(suitable)h(for)e(input)g(to)i(text)g(formatters.)40
b(A)27 b(cop)m(y)g(made)g(in)g(an)g(otherwise)330 2005
y(T)-8 b(ransparen)m(t)37 b(\014le)h(format)g(whose)f(markup,)i(or)e
(absence)h(of)g(markup,)g(has)g(b)s(een)f(arranged)g(to)330
2115 y(th)m(w)m(art)27 b(or)g(discourage)g(subsequen)m(t)f(mo)s
(di\014cation)h(b)m(y)g(readers)f(is)g(not)h(T)-8 b(ransparen)m(t.)39
b(An)27 b(image)330 2225 y(format)35 b(is)f(not)h(T)-8
b(ransparen)m(t)34 b(if)g(used)g(for)g(an)m(y)g(substan)m(tial)h(amoun)
m(t)g(of)g(text.)53 b(A)35 b(cop)m(y)g(that)g(is)330
2334 y(not)c(\\T)-8 b(ransparen)m(t")31 b(is)f(called)i(\\Opaque".)330
2475 y(Examples)53 b(of)g(suitable)h(formats)f(for)g(T)-8
b(ransparen)m(t)53 b(copies)h(include)f(plain)g Fe(asci)r(i)g
Fx(without)330 2585 y(markup,)37 b(T)-8 b(exinfo)36 b(input)f(format,)j
(LaT)1759 2604 y(E)1810 2585 y(X)e(input)f(format,)j
Fk(SGML)f Fx(or)f Fk(XML)g Fx(using)g(a)g(publicly)330
2694 y(a)m(v)-5 b(ailable)42 b Fk(DTD)p Fx(,)g(and)d
(standard-conforming)h(simple)g Fk(HTML)p Fx(,)g(P)m(ostScript)h(or)f
Fk(PDF)g Fx(designed)330 2804 y(for)e(h)m(uman)g(mo)s(di\014cation.)65
b(Examples)38 b(of)h(transparen)m(t)f(image)i(formats)e(include)g
Fk(PNG)p Fx(,)h Fk(X)n(CF)330 2913 y Fx(and)h Fk(JPG)p
Fx(.)g(Opaque)h(formats)g(include)f(proprietary)g(formats)h(that)h(can)
f(b)s(e)f(read)g(and)h(edited)330 3023 y(only)54 b(b)m(y)f(proprietary)
h(w)m(ord)f(pro)s(cessors,)59 b Fk(SGML)54 b Fx(or)f
Fk(XML)h Fx(for)g(whic)m(h)f(the)h Fk(DTD)g Fx(and/or)330
3133 y(pro)s(cessing)61 b(to)s(ols)h(are)f(not)g(generally)i(a)m(v)-5
b(ailable,)71 b(and)60 b(the)h(mac)m(hine-generated)j
Fk(HTML)p Fx(,)330 3242 y(P)m(ostScript)31 b(or)f Fk(PDF)h
Fx(pro)s(duced)d(b)m(y)j(some)f(w)m(ord)g(pro)s(cessors)g(for)g(output)
g(purp)s(oses)f(only)-8 b(.)330 3383 y(The)34 b(\\Title)h(P)m(age")i
(means,)e(for)f(a)h(prin)m(ted)f(b)s(o)s(ok,)h(the)f(title)i(page)f
(itself,)h(plus)e(suc)m(h)f(follo)m(wing)330 3493 y(pages)28
b(as)g(are)g(needed)g(to)g(hold,)g(legibly)-8 b(,)30
b(the)e(material)h(this)e(License)i(requires)e(to)h(app)s(ear)f(in)h
(the)330 3602 y(title)g(page.)40 b(F)-8 b(or)28 b(w)m(orks)e(in)g
(formats)h(whic)m(h)g(do)f(not)h(ha)m(v)m(e)h(an)m(y)e(title)j(page)e
(as)g(suc)m(h,)g(\\Title)h(P)m(age")330 3712 y(means)j(the)f(text)i
(near)e(the)h(most)g(prominen)m(t)g(app)s(earance)f(of)h(the)g(w)m
(ork's)g(title,)h(preceding)f(the)330 3821 y(b)s(eginning)f(of)g(the)h
(b)s(o)s(dy)e(of)h(the)h(text.)330 3962 y(The)j(\\publisher")g(means)h
(an)m(y)f(p)s(erson)g(or)h(en)m(tit)m(y)h(that)f(distributes)f(copies)i
(of)e(the)h(Do)s(cumen)m(t)330 4072 y(to)c(the)g(public.)330
4213 y(A)f(section)h(\\En)m(titled)g(XYZ")f(means)f(a)h(named)g
(subunit)e(of)h(the)h(Do)s(cumen)m(t)h(whose)e(title)i(either)330
4322 y(is)d(precisely)g(XYZ)g(or)f(con)m(tains)i(XYZ)f(in)f(paren)m
(theses)i(follo)m(wing)g(text)g(that)f(translates)h(XYZ)e(in)330
4432 y(another)e(language.)40 b(\(Here)26 b(XYZ)f(stands)f(for)h(a)g
(sp)s(eci\014c)g(section)h(name)f(men)m(tioned)h(b)s(elo)m(w,)g(suc)m
(h)330 4542 y(as)i(\\Ac)m(kno)m(wledgemen)m(ts",)33 b(\\Dedications",)e
(\\Endorsemen)m(ts",)e(or)f(\\History".\))42 b(T)-8 b(o)29
b(\\Preserv)m(e)330 4651 y(the)34 b(Title")h(of)e(suc)m(h)h(a)g
(section)g(when)f(y)m(ou)h(mo)s(dify)e(the)i(Do)s(cumen)m(t)h(means)e
(that)h(it)g(remains)g(a)330 4761 y(section)e(\\En)m(titled)f(XYZ")g
(according)g(to)g(this)g(de\014nition.)330 4902 y(The)c(Do)s(cumen)m(t)
i(ma)m(y)f(include)f(W)-8 b(arran)m(t)m(y)30 b(Disclaimers)f(next)f(to)
g(the)g(notice)h(whic)m(h)e(states)i(that)330 5011 y(this)34
b(License)g(applies)g(to)h(the)f(Do)s(cumen)m(t.)52 b(These)33
b(W)-8 b(arran)m(t)m(y)36 b(Disclaimers)f(are)g(considered)e(to)330
5121 y(b)s(e)k(included)g(b)m(y)g(reference)h(in)g(this)f(License,)j
(but)d(only)h(as)g(regards)f(disclaiming)i(w)m(arran)m(ties:)330
5230 y(an)m(y)e(other)g(implication)i(that)e(these)g(W)-8
b(arran)m(t)m(y)39 b(Disclaimers)f(ma)m(y)g(ha)m(v)m(e)g(is)f(v)m(oid)g
(and)f(has)h(no)330 5340 y(e\013ect)32 b(on)e(the)h(meaning)f(of)h
(this)f(License.)p eop end
%%Page: 70 75
TeXDict begin 70 74 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(70)199 299 y(2.)61
b(VERBA)-8 b(TIM)31 b(COPYING)330 445 y(Y)-8 b(ou)39
b(ma)m(y)f(cop)m(y)h(and)e(distribute)h(the)g(Do)s(cumen)m(t)h(in)f(an)
m(y)g(medium,)h(either)g(commercially)h(or)330 555 y(noncommercially)-8
b(,)48 b(pro)m(vided)42 b(that)h(this)f(License,)47 b(the)42
b(cop)m(yrigh)m(t)i(notices,)j(and)42 b(the)h(license)330
664 y(notice)37 b(sa)m(ying)g(this)e(License)i(applies)e(to)i(the)f(Do)
s(cumen)m(t)g(are)g(repro)s(duced)e(in)i(all)g(copies,)j(and)330
774 y(that)27 b(y)m(ou)g(add)f(no)h(other)f(conditions)h(whatso)s(ev)m
(er)h(to)f(those)g(of)g(this)f(License.)40 b(Y)-8 b(ou)27
b(ma)m(y)g(not)g(use)330 883 y(tec)m(hnical)35 b(measures)d(to)i
(obstruct)f(or)g(con)m(trol)h(the)f(reading)g(or)g(further)e(cop)m
(ying)j(of)f(the)g(copies)330 993 y(y)m(ou)25 b(mak)m(e)g(or)g
(distribute.)38 b(Ho)m(w)m(ev)m(er,)28 b(y)m(ou)d(ma)m(y)g(accept)h
(comp)s(ensation)f(in)f(exc)m(hange)j(for)d(copies.)330
1103 y(If)32 b(y)m(ou)g(distribute)g(a)h(large)g(enough)f(n)m(um)m(b)s
(er)f(of)h(copies)h(y)m(ou)f(m)m(ust)h(also)g(follo)m(w)g(the)f
(conditions)330 1212 y(in)e(section)i(3.)330 1358 y(Y)-8
b(ou)21 b(ma)m(y)h(also)f(lend)g(copies,)i(under)d(the)h(same)g
(conditions)g(stated)h(ab)s(o)m(v)m(e,)i(and)c(y)m(ou)h(ma)m(y)g
(publicly)330 1468 y(displa)m(y)31 b(copies.)199 1614
y(3.)61 b(COPYING)30 b(IN)g(QUANTITY)330 1760 y(If)25
b(y)m(ou)g(publish)f(prin)m(ted)g(copies)i(\(or)g(copies)g(in)f(media)g
(that)h(commonly)g(ha)m(v)m(e)g(prin)m(ted)f(co)m(v)m(ers\))i(of)330
1870 y(the)32 b(Do)s(cumen)m(t,)h(n)m(um)m(b)s(ering)e(more)h(than)f
(100,)j(and)d(the)h(Do)s(cumen)m(t's)h(license)f(notice)h(requires)330
1979 y(Co)m(v)m(er)i(T)-8 b(exts,)36 b(y)m(ou)f(m)m(ust)f(enclose)i
(the)e(copies)h(in)f(co)m(v)m(ers)i(that)f(carry)-8 b(,)36
b(clearly)f(and)f(legibly)-8 b(,)37 b(all)330 2089 y(these)j(Co)m(v)m
(er)g(T)-8 b(exts:)59 b(F)-8 b(ron)m(t-Co)m(v)m(er)41
b(T)-8 b(exts)40 b(on)f(the)g(fron)m(t)g(co)m(v)m(er,)44
b(and)38 b(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts)40 b(on)330
2198 y(the)29 b(bac)m(k)h(co)m(v)m(er.)42 b(Both)30 b(co)m(v)m(ers)h(m)
m(ust)e(also)h(clearly)g(and)f(legibly)h(iden)m(tify)f(y)m(ou)h(as)f
(the)h(publisher)330 2308 y(of)k(these)h(copies.)53 b(The)34
b(fron)m(t)h(co)m(v)m(er)h(m)m(ust)e(presen)m(t)g(the)h(full)f(title)i
(with)d(all)j(w)m(ords)d(of)i(the)f(title)330 2418 y(equally)e
(prominen)m(t)e(and)g(visible.)43 b(Y)-8 b(ou)31 b(ma)m(y)g(add)g
(other)g(material)h(on)f(the)g(co)m(v)m(ers)h(in)e(addition.)330
2527 y(Cop)m(ying)36 b(with)g(c)m(hanges)h(limited)g(to)g(the)g(co)m(v)
m(ers,)i(as)d(long)h(as)g(they)f(preserv)m(e)g(the)h(title)g(of)g(the)
330 2637 y(Do)s(cumen)m(t)h(and)e(satisfy)i(these)f(conditions,)j(can)d
(b)s(e)g(treated)h(as)f(v)m(erbatim)h(cop)m(ying)g(in)f(other)330
2746 y(resp)s(ects.)330 2892 y(If)32 b(the)h(required)f(texts)i(for)e
(either)h(co)m(v)m(er)i(are)e(to)s(o)g(v)m(oluminous)g(to)g(\014t)g
(legibly)-8 b(,)35 b(y)m(ou)e(should)f(put)330 3002 y(the)h(\014rst)f
(ones)h(listed)g(\(as)h(man)m(y)f(as)g(\014t)g(reasonably\))g(on)g(the)
g(actual)h(co)m(v)m(er,)h(and)e(con)m(tin)m(ue)h(the)330
3112 y(rest)d(on)m(to)g(adjacen)m(t)h(pages.)330 3258
y(If)27 b(y)m(ou)g(publish)e(or)i(distribute)g(Opaque)f(copies)i(of)f
(the)h(Do)s(cumen)m(t)f(n)m(um)m(b)s(ering)f(more)i(than)e(100,)330
3367 y(y)m(ou)i(m)m(ust)g(either)h(include)e(a)i(mac)m(hine-readable)g
(T)-8 b(ransparen)m(t)28 b(cop)m(y)h(along)g(with)e(eac)m(h)i(Opaque)
330 3477 y(cop)m(y)-8 b(,)38 b(or)d(state)h(in)f(or)g(with)g(eac)m(h)h
(Opaque)e(cop)m(y)i(a)g(computer-net)m(w)m(ork)g(lo)s(cation)h(from)d
(whic)m(h)330 3587 y(the)24 b(general)i(net)m(w)m(ork-using)f(public)e
(has)h(access)i(to)f(do)m(wnload)f(using)g(public-standard)f(net)m(w)m
(ork)330 3696 y(proto)s(cols)40 b(a)f(complete)h(T)-8
b(ransparen)m(t)39 b(cop)m(y)g(of)g(the)h(Do)s(cumen)m(t,)i(free)d(of)g
(added)f(material.)67 b(If)330 3806 y(y)m(ou)39 b(use)g(the)g(latter)h
(option,)h(y)m(ou)f(m)m(ust)e(tak)m(e)j(reasonably)e(pruden)m(t)e
(steps,)k(when)d(y)m(ou)h(b)s(egin)330 3915 y(distribution)f(of)g
(Opaque)g(copies)h(in)e(quan)m(tit)m(y)-8 b(,)43 b(to)38
b(ensure)g(that)h(this)f(T)-8 b(ransparen)m(t)38 b(cop)m(y)h(will)330
4025 y(remain)30 b(th)m(us)g(accessible)i(at)f(the)f(stated)h(lo)s
(cation)h(un)m(til)e(at)h(least)h(one)e(y)m(ear)h(after)g(the)f(last)h
(time)330 4134 y(y)m(ou)37 b(distribute)f(an)h(Opaque)f(cop)m(y)i
(\(directly)g(or)e(through)g(y)m(our)h(agen)m(ts)h(or)f(retailers\))h
(of)f(that)330 4244 y(edition)31 b(to)g(the)g(public.)330
4390 y(It)k(is)f(requested,)i(but)e(not)h(required,)g(that)g(y)m(ou)g
(con)m(tact)h(the)f(authors)f(of)h(the)g(Do)s(cumen)m(t)g(w)m(ell)330
4500 y(b)s(efore)28 b(redistributing)g(an)m(y)h(large)h(n)m(um)m(b)s
(er)d(of)i(copies,)h(to)f(giv)m(e)h(them)f(a)g(c)m(hance)h(to)f(pro)m
(vide)g(y)m(ou)330 4609 y(with)h(an)g(up)s(dated)f(v)m(ersion)i(of)g
(the)f(Do)s(cumen)m(t.)199 4756 y(4.)61 b(MODIFICA)-8
b(TIONS)330 4902 y(Y)g(ou)26 b(ma)m(y)g(cop)m(y)g(and)f(distribute)g(a)
h(Mo)s(di\014ed)f(V)-8 b(ersion)26 b(of)g(the)g(Do)s(cumen)m(t)g(under)
e(the)h(conditions)330 5011 y(of)c(sections)h(2)g(and)e(3)h(ab)s(o)m(v)
m(e,)k(pro)m(vided)20 b(that)i(y)m(ou)f(release)i(the)e(Mo)s(di\014ed)f
(V)-8 b(ersion)22 b(under)d(precisely)330 5121 y(this)29
b(License,)h(with)f(the)g(Mo)s(di\014ed)f(V)-8 b(ersion)30
b(\014lling)f(the)g(role)h(of)f(the)g(Do)s(cumen)m(t,)h(th)m(us)f
(licensing)330 5230 y(distribution)k(and)h(mo)s(di\014cation)g(of)h
(the)f(Mo)s(di\014ed)f(V)-8 b(ersion)35 b(to)g(who)s(ev)m(er)f(p)s
(ossesses)f(a)i(cop)m(y)g(of)330 5340 y(it.)41 b(In)30
b(addition,)h(y)m(ou)f(m)m(ust)h(do)f(these)h(things)f(in)g(the)h(Mo)s
(di\014ed)e(V)-8 b(ersion:)p eop end
%%Page: 71 76
TeXDict begin 71 75 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(71)357 299 y(A.)60
b(Use)33 b(in)f(the)h(Title)h(P)m(age)g(\(and)f(on)f(the)h(co)m(v)m
(ers,)i(if)e(an)m(y\))g(a)g(title)h(distinct)f(from)g(that)g(of)g(the)
510 408 y(Do)s(cumen)m(t,)j(and)d(from)g(those)i(of)f(previous)f(v)m
(ersions)h(\(whic)m(h)g(should,)g(if)g(there)g(w)m(ere)g(an)m(y)-8
b(,)510 518 y(b)s(e)31 b(listed)h(in)f(the)g(History)h(section)g(of)g
(the)f(Do)s(cumen)m(t\).)45 b(Y)-8 b(ou)32 b(ma)m(y)g(use)f(the)g(same)
h(title)h(as)510 628 y(a)e(previous)f(v)m(ersion)g(if)h(the)f(original)
i(publisher)d(of)h(that)h(v)m(ersion)g(giv)m(es)h(p)s(ermission.)360
758 y(B.)61 b(List)31 b(on)f(the)h(Title)g(P)m(age,)i(as)d(authors,)h
(one)g(or)f(more)h(p)s(ersons)e(or)h(en)m(tities)j(resp)s(onsible)c
(for)510 867 y(authorship)c(of)h(the)h(mo)s(di\014cations)f(in)g(the)g
(Mo)s(di\014ed)f(V)-8 b(ersion,)28 b(together)g(with)d(at)i(least)h
(\014v)m(e)510 977 y(of)c(the)g(principal)g(authors)f(of)i(the)f(Do)s
(cumen)m(t)g(\(all)h(of)g(its)f(principal)g(authors,)h(if)f(it)g(has)g
(few)m(er)510 1087 y(than)30 b(\014v)m(e\),)h(unless)f(they)h(release)g
(y)m(ou)g(from)f(this)g(requiremen)m(t.)359 1217 y(C.)60
b(State)32 b(on)e(the)h(Title)h(page)f(the)g(name)g(of)g(the)g
(publisher)e(of)i(the)g(Mo)s(di\014ed)f(V)-8 b(ersion,)32
b(as)f(the)510 1326 y(publisher.)355 1456 y(D.)61 b(Preserv)m(e)31
b(all)g(the)g(cop)m(yrigh)m(t)h(notices)f(of)g(the)f(Do)s(cumen)m(t.)
363 1587 y(E.)60 b(Add)30 b(an)i(appropriate)f(cop)m(yrigh)m(t)i
(notice)f(for)g(y)m(our)f(mo)s(di\014cations)g(adjacen)m(t)i(to)f(the)g
(other)510 1696 y(cop)m(yrigh)m(t)g(notices.)365 1826
y(F.)61 b(Include,)28 b(immediately)h(after)f(the)h(cop)m(yrigh)m(t)g
(notices,)h(a)e(license)h(notice)g(giving)g(the)f(public)510
1936 y(p)s(ermission)23 b(to)j(use)e(the)g(Mo)s(di\014ed)g(V)-8
b(ersion)25 b(under)e(the)i(terms)f(of)h(this)f(License,)j(in)d(the)g
(form)510 2045 y(sho)m(wn)30 b(in)g(the)g(Addendum)f(b)s(elo)m(w.)353
2176 y(G.)61 b(Preserv)m(e)23 b(in)g(that)g(license)h(notice)g(the)f
(full)g(lists)g(of)g(In)m(v)-5 b(arian)m(t)23 b(Sections)h(and)e
(required)g(Co)m(v)m(er)510 2285 y(T)-8 b(exts)31 b(giv)m(en)g(in)f
(the)h(Do)s(cumen)m(t's)g(license)h(notice.)357 2415
y(H.)60 b(Include)30 b(an)g(unaltered)g(cop)m(y)h(of)g(this)f(License.)
392 2545 y(I.)60 b(Preserv)m(e)33 b(the)f(section)h(En)m(titled)g
(\\History",)h(Preserv)m(e)f(its)f(Title,)i(and)d(add)h(to)h(it)f(an)g
(item)510 2655 y(stating)d(at)g(least)g(the)g(title,)h(y)m(ear,)g(new)d
(authors,)i(and)e(publisher)f(of)j(the)f(Mo)s(di\014ed)f(V)-8
b(ersion)510 2765 y(as)32 b(giv)m(en)g(on)f(the)h(Title)g(P)m(age.)45
b(If)31 b(there)h(is)f(no)g(section)i(En)m(titled)f(\\History")h(in)e
(the)g(Do)s(cu-)510 2874 y(men)m(t,)37 b(create)f(one)f(stating)h(the)f
(title,)i(y)m(ear,)g(authors,)f(and)e(publisher)f(of)i(the)g(Do)s
(cumen)m(t)510 2984 y(as)h(giv)m(en)h(on)f(its)h(Title)g(P)m(age,)i
(then)d(add)g(an)g(item)g(describing)g(the)g(Mo)s(di\014ed)g(V)-8
b(ersion)37 b(as)510 3093 y(stated)31 b(in)f(the)h(previous)f(sen)m
(tence.)378 3224 y(J.)60 b(Preserv)m(e)33 b(the)g(net)m(w)m(ork)g(lo)s
(cation,)i(if)d(an)m(y)-8 b(,)34 b(giv)m(en)f(in)g(the)f(Do)s(cumen)m
(t)h(for)g(public)e(access)j(to)510 3333 y(a)e(T)-8 b(ransparen)m(t)30
b(cop)m(y)i(of)g(the)f(Do)s(cumen)m(t,)h(and)f(lik)m(ewise)h(the)g(net)
m(w)m(ork)g(lo)s(cations)g(giv)m(en)g(in)510 3443 y(the)g(Do)s(cumen)m
(t)g(for)g(previous)f(v)m(ersions)h(it)g(w)m(as)g(based)f(on.)45
b(These)31 b(ma)m(y)h(b)s(e)f(placed)h(in)g(the)510 3552
y(\\History")27 b(section.)40 b(Y)-8 b(ou)25 b(ma)m(y)h(omit)g(a)f(net)
m(w)m(ork)h(lo)s(cation)g(for)f(a)h(w)m(ork)f(that)g(w)m(as)h
(published)510 3662 y(at)36 b(least)h(four)e(y)m(ears)i(b)s(efore)e
(the)h(Do)s(cumen)m(t)h(itself,)h(or)d(if)h(the)g(original)h(publisher)
d(of)i(the)510 3771 y(v)m(ersion)31 b(it)g(refers)f(to)h(giv)m(es)h(p)s
(ermission.)354 3902 y(K.)60 b(F)-8 b(or)24 b(an)m(y)h(section)f(En)m
(titled)h(\\Ac)m(kno)m(wledgemen)m(ts")i(or)d(\\Dedications",)k
(Preserv)m(e)c(the)g(Title)510 4011 y(of)j(the)f(section,)j(and)d
(preserv)m(e)h(in)f(the)h(section)g(all)h(the)e(substance)h(and)f(tone)
h(of)f(eac)m(h)i(of)f(the)510 4121 y(con)m(tributor)k(ac)m(kno)m
(wledgemen)m(ts)i(and/or)d(dedications)h(giv)m(en)h(therein.)368
4251 y(L.)60 b(Preserv)m(e)36 b(all)g(the)g(In)m(v)-5
b(arian)m(t)36 b(Sections)g(of)f(the)h(Do)s(cumen)m(t,)h(unaltered)f
(in)f(their)g(text)i(and)510 4361 y(in)f(their)g(titles.)58
b(Section)37 b(n)m(um)m(b)s(ers)d(or)i(the)g(equiv)-5
b(alen)m(t)38 b(are)e(not)g(considered)g(part)g(of)g(the)510
4470 y(section)c(titles.)341 4600 y(M.)61 b(Delete)33
b(an)m(y)e(section)h(En)m(titled)f(\\Endorsemen)m(ts".)42
b(Suc)m(h)30 b(a)i(section)f(ma)m(y)h(not)f(b)s(e)f(included)510
4710 y(in)g(the)h(Mo)s(di\014ed)e(V)-8 b(ersion.)357
4840 y(N.)60 b(Do)29 b(not)g(retitle)h(an)m(y)e(existing)i(section)f
(to)g(b)s(e)f(En)m(titled)h(\\Endorsemen)m(ts")g(or)f(to)h(con\015ict)g
(in)510 4950 y(title)j(with)e(an)m(y)h(In)m(v)-5 b(arian)m(t)31
b(Section.)354 5080 y(O.)60 b(Preserv)m(e)31 b(an)m(y)g(W)-8
b(arran)m(t)m(y)32 b(Disclaimers.)330 5230 y(If)h(the)g(Mo)s(di\014ed)g
(V)-8 b(ersion)34 b(includes)f(new)g(fron)m(t-matter)i(sections)f(or)f
(app)s(endices)g(that)h(qualify)330 5340 y(as)28 b(Secondary)g
(Sections)g(and)f(con)m(tain)j(no)d(material)j(copied)e(from)f(the)h
(Do)s(cumen)m(t,)i(y)m(ou)e(ma)m(y)g(at)p eop end
%%Page: 72 77
TeXDict begin 72 76 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(72)330 299 y(y)m(our)32
b(option)h(designate)h(some)e(or)h(all)g(of)f(these)h(sections)h(as)e
(in)m(v)-5 b(arian)m(t.)48 b(T)-8 b(o)33 b(do)f(this,)h(add)f(their)330
408 y(titles)37 b(to)f(the)f(list)h(of)g(In)m(v)-5 b(arian)m(t)36
b(Sections)g(in)f(the)h(Mo)s(di\014ed)f(V)-8 b(ersion's)36
b(license)g(notice.)57 b(These)330 518 y(titles)32 b(m)m(ust)e(b)s(e)g
(distinct)h(from)e(an)m(y)i(other)g(section)g(titles.)330
650 y(Y)-8 b(ou)43 b(ma)m(y)g(add)f(a)g(section)i(En)m(titled)f
(\\Endorsemen)m(ts",)j(pro)m(vided)c(it)h(con)m(tains)g(nothing)g(but)
330 759 y(endorsemen)m(ts)30 b(of)g(y)m(our)f(Mo)s(di\014ed)g(V)-8
b(ersion)31 b(b)m(y)e(v)-5 b(arious)30 b(parties|for)g(example,)g
(statemen)m(ts)i(of)330 869 y(p)s(eer)27 b(review)g(or)g(that)h(the)f
(text)i(has)d(b)s(een)h(appro)m(v)m(ed)g(b)m(y)g(an)h(organization)h
(as)e(the)h(authoritativ)m(e)330 978 y(de\014nition)i(of)h(a)f
(standard.)330 1110 y(Y)-8 b(ou)29 b(ma)m(y)g(add)e(a)i(passage)g(of)g
(up)e(to)i(\014v)m(e)g(w)m(ords)e(as)i(a)g(F)-8 b(ron)m(t-Co)m(v)m(er)
30 b(T)-8 b(ext,)30 b(and)e(a)g(passage)i(of)e(up)330
1219 y(to)g(25)g(w)m(ords)e(as)i(a)f(Bac)m(k-Co)m(v)m(er)j(T)-8
b(ext,)29 b(to)f(the)f(end)f(of)i(the)f(list)h(of)f(Co)m(v)m(er)h(T)-8
b(exts)27 b(in)g(the)h(Mo)s(di\014ed)330 1329 y(V)-8
b(ersion.)58 b(Only)35 b(one)h(passage)h(of)f(F)-8 b(ron)m(t-Co)m(v)m
(er)38 b(T)-8 b(ext)36 b(and)g(one)g(of)g(Bac)m(k-Co)m(v)m(er)j(T)-8
b(ext)36 b(ma)m(y)h(b)s(e)330 1439 y(added)27 b(b)m(y)g(\(or)h(through)
f(arrangemen)m(ts)h(made)g(b)m(y\))g(an)m(y)g(one)f(en)m(tit)m(y)-8
b(.)42 b(If)27 b(the)h(Do)s(cumen)m(t)g(already)330 1548
y(includes)34 b(a)g(co)m(v)m(er)h(text)g(for)f(the)g(same)h(co)m(v)m
(er,)h(previously)e(added)f(b)m(y)h(y)m(ou)g(or)g(b)m(y)g(arrangemen)m
(t)330 1658 y(made)h(b)m(y)g(the)h(same)f(en)m(tit)m(y)i(y)m(ou)f(are)f
(acting)i(on)e(b)s(ehalf)f(of,)j(y)m(ou)f(ma)m(y)g(not)f(add)g
(another;)j(but)330 1767 y(y)m(ou)c(ma)m(y)h(replace)g(the)f(old)g
(one,)i(on)e(explicit)h(p)s(ermission)e(from)g(the)i(previous)e
(publisher)f(that)330 1877 y(added)e(the)g(old)h(one.)330
2008 y(The)25 b(author\(s\))h(and)f(publisher\(s\))f(of)i(the)f(Do)s
(cumen)m(t)h(do)g(not)f(b)m(y)h(this)f(License)h(giv)m(e)h(p)s
(ermission)330 2118 y(to)k(use)f(their)g(names)h(for)f(publicit)m(y)g
(for)h(or)f(to)h(assert)g(or)f(imply)g(endorsemen)m(t)g(of)h(an)m(y)g
(Mo)s(di\014ed)330 2228 y(V)-8 b(ersion.)199 2359 y(5.)61
b(COMBINING)31 b(DOCUMENTS)330 2491 y(Y)-8 b(ou)39 b(ma)m(y)g(com)m
(bine)h(the)f(Do)s(cumen)m(t)g(with)g(other)f(do)s(cumen)m(ts)h
(released)g(under)f(this)g(License,)330 2600 y(under)f(the)h(terms)g
(de\014ned)f(in)h(section)h(4)g(ab)s(o)m(v)m(e)g(for)f(mo)s(di\014ed)f
(v)m(ersions,)k(pro)m(vided)d(that)h(y)m(ou)330 2710
y(include)25 b(in)g(the)g(com)m(bination)i(all)f(of)g(the)f(In)m(v)-5
b(arian)m(t)26 b(Sections)g(of)g(all)g(of)f(the)h(original)g(do)s
(cumen)m(ts,)330 2819 y(unmo)s(di\014ed,)g(and)g(list)h(them)g(all)g
(as)g(In)m(v)-5 b(arian)m(t)28 b(Sections)f(of)g(y)m(our)g(com)m(bined)
g(w)m(ork)f(in)h(its)g(license)330 2929 y(notice,)32
b(and)e(that)h(y)m(ou)f(preserv)m(e)h(all)g(their)g(W)-8
b(arran)m(t)m(y)32 b(Disclaimers.)330 3061 y(The)e(com)m(bined)g(w)m
(ork)h(need)e(only)i(con)m(tain)g(one)g(cop)m(y)g(of)f(this)g(License,)
i(and)d(m)m(ultiple)i(iden)m(tical)330 3170 y(In)m(v)-5
b(arian)m(t)33 b(Sections)g(ma)m(y)g(b)s(e)f(replaced)h(with)f(a)h
(single)g(cop)m(y)-8 b(.)48 b(If)32 b(there)h(are)g(m)m(ultiple)g(In)m
(v)-5 b(arian)m(t)330 3280 y(Sections)27 b(with)g(the)g(same)g(name)g
(but)f(di\013eren)m(t)h(con)m(ten)m(ts,)i(mak)m(e)f(the)f(title)h(of)f
(eac)m(h)h(suc)m(h)f(section)330 3389 y(unique)33 b(b)m(y)h(adding)f
(at)i(the)f(end)g(of)g(it,)h(in)f(paren)m(theses,)i(the)e(name)g(of)g
(the)g(original)h(author)f(or)330 3499 y(publisher)23
b(of)i(that)h(section)g(if)f(kno)m(wn,)h(or)f(else)h(a)f(unique)f(n)m
(um)m(b)s(er.)38 b(Mak)m(e)26 b(the)g(same)f(adjustmen)m(t)330
3608 y(to)g(the)g(section)g(titles)h(in)e(the)h(list)g(of)f(In)m(v)-5
b(arian)m(t)26 b(Sections)f(in)f(the)g(license)i(notice)g(of)e(the)h
(com)m(bined)330 3718 y(w)m(ork.)330 3850 y(In)41 b(the)g(com)m
(bination,)46 b(y)m(ou)41 b(m)m(ust)g(com)m(bine)h(an)m(y)g(sections)g
(En)m(titled)g(\\History")h(in)e(the)g(v)-5 b(ari-)330
3959 y(ous)32 b(original)h(do)s(cumen)m(ts,)g(forming)f(one)g(section)h
(En)m(titled)g(\\History";)i(lik)m(ewise)f(com)m(bine)f(an)m(y)330
4069 y(sections)g(En)m(titled)f(\\Ac)m(kno)m(wledgemen)m(ts",)k(and)31
b(an)m(y)h(sections)h(En)m(titled)g(\\Dedications".)47
b(Y)-8 b(ou)330 4178 y(m)m(ust)30 b(delete)i(all)f(sections)h(En)m
(titled)f(\\Endorsemen)m(ts.")199 4310 y(6.)61 b(COLLECTIONS)28
b(OF)i(DOCUMENTS)330 4441 y(Y)-8 b(ou)32 b(ma)m(y)h(mak)m(e)g(a)f
(collection)i(consisting)f(of)f(the)g(Do)s(cumen)m(t)g(and)g(other)g
(do)s(cumen)m(ts)f(released)330 4551 y(under)41 b(this)h(License,)k
(and)c(replace)h(the)g(individual)f(copies)h(of)f(this)g(License)h(in)f
(the)h(v)-5 b(arious)330 4661 y(do)s(cumen)m(ts)42 b(with)g(a)h(single)
g(cop)m(y)h(that)f(is)f(included)g(in)g(the)h(collection,)48
b(pro)m(vided)42 b(that)i(y)m(ou)330 4770 y(follo)m(w)38
b(the)g(rules)e(of)h(this)g(License)h(for)f(v)m(erbatim)h(cop)m(ying)g
(of)f(eac)m(h)h(of)f(the)h(do)s(cumen)m(ts)e(in)h(all)330
4880 y(other)31 b(resp)s(ects.)330 5011 y(Y)-8 b(ou)32
b(ma)m(y)g(extract)h(a)f(single)g(do)s(cumen)m(t)f(from)g(suc)m(h)g(a)h
(collection,)i(and)d(distribute)g(it)h(individu-)330
5121 y(ally)k(under)d(this)i(License,)i(pro)m(vided)e(y)m(ou)g(insert)g
(a)g(cop)m(y)h(of)f(this)g(License)g(in)m(to)h(the)g(extracted)330
5230 y(do)s(cumen)m(t,)d(and)f(follo)m(w)i(this)e(License)h(in)g(all)g
(other)g(resp)s(ects)f(regarding)h(v)m(erbatim)g(cop)m(ying)h(of)330
5340 y(that)d(do)s(cumen)m(t.)p eop end
%%Page: 73 78
TeXDict begin 73 77 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(73)199 299 y(7.)61
b(A)m(GGREGA)-8 b(TION)32 b(WITH)e(INDEPENDENT)h(W)m(ORKS)330
441 y(A)d(compilation)i(of)e(the)g(Do)s(cumen)m(t)h(or)f(its)g(deriv)-5
b(ativ)m(es)30 b(with)d(other)i(separate)g(and)e(indep)s(enden)m(t)330
551 y(do)s(cumen)m(ts)33 b(or)g(w)m(orks,)h(in)f(or)h(on)f(a)g(v)m
(olume)h(of)g(a)f(storage)i(or)e(distribution)g(medium,)g(is)h(called)
330 661 y(an)c(\\aggregate")k(if)c(the)g(cop)m(yrigh)m(t)i(resulting)e
(from)f(the)i(compilation)g(is)f(not)h(used)e(to)i(limit)g(the)330
770 y(legal)d(righ)m(ts)f(of)g(the)g(compilation's)h(users)e(b)s(ey)m
(ond)g(what)g(the)h(individual)f(w)m(orks)g(p)s(ermit.)39
b(When)330 880 y(the)g(Do)s(cumen)m(t)g(is)f(included)g(in)g(an)g
(aggregate,)44 b(this)38 b(License)h(do)s(es)f(not)h(apply)f(to)h(the)g
(other)330 989 y(w)m(orks)30 b(in)g(the)h(aggregate)i(whic)m(h)d(are)h
(not)g(themselv)m(es)g(deriv)-5 b(ativ)m(e)32 b(w)m(orks)f(of)f(the)h
(Do)s(cumen)m(t.)330 1132 y(If)22 b(the)h(Co)m(v)m(er)h(T)-8
b(ext)23 b(requiremen)m(t)g(of)g(section)h(3)f(is)g(applicable)h(to)f
(these)h(copies)f(of)g(the)g(Do)s(cumen)m(t,)330 1241
y(then)f(if)g(the)h(Do)s(cumen)m(t)g(is)g(less)f(than)g(one)h(half)f
(of)h(the)g(en)m(tire)g(aggregate,)k(the)c(Do)s(cumen)m(t's)g(Co)m(v)m
(er)330 1351 y(T)-8 b(exts)27 b(ma)m(y)g(b)s(e)f(placed)h(on)g(co)m(v)m
(ers)h(that)f(brac)m(k)m(et)h(the)f(Do)s(cumen)m(t)g(within)f(the)h
(aggregate,)j(or)d(the)330 1461 y(electronic)37 b(equiv)-5
b(alen)m(t)36 b(of)g(co)m(v)m(ers)g(if)f(the)g(Do)s(cumen)m(t)h(is)f
(in)g(electronic)i(form.)54 b(Otherwise)35 b(they)330
1570 y(m)m(ust)30 b(app)s(ear)g(on)g(prin)m(ted)g(co)m(v)m(ers)i(that)f
(brac)m(k)m(et)h(the)f(whole)f(aggregate.)199 1713 y(8.)61
b(TRANSLA)-8 b(TION)330 1855 y(T)g(ranslation)41 b(is)f(considered)f(a)
i(kind)e(of)h(mo)s(di\014cation,)j(so)d(y)m(ou)g(ma)m(y)h(distribute)e
(translations)330 1965 y(of)45 b(the)f(Do)s(cumen)m(t)h(under)e(the)h
(terms)h(of)f(section)i(4.)83 b(Replacing)45 b(In)m(v)-5
b(arian)m(t)45 b(Sections)g(with)330 2074 y(translations)h(requires)f
(sp)s(ecial)h(p)s(ermission)f(from)g(their)g(cop)m(yrigh)m(t)i
(holders,)i(but)c(y)m(ou)g(ma)m(y)330 2184 y(include)24
b(translations)i(of)e(some)h(or)g(all)g(In)m(v)-5 b(arian)m(t)25
b(Sections)g(in)f(addition)h(to)g(the)g(original)h(v)m(ersions)330
2293 y(of)32 b(these)f(In)m(v)-5 b(arian)m(t)33 b(Sections.)44
b(Y)-8 b(ou)32 b(ma)m(y)g(include)f(a)h(translation)g(of)g(this)f
(License,)i(and)d(all)j(the)330 2403 y(license)42 b(notices)g(in)f(the)
h(Do)s(cumen)m(t,)j(and)40 b(an)m(y)i(W)-8 b(arran)m(t)m(y)42
b(Disclaimers,)k(pro)m(vided)41 b(that)h(y)m(ou)330 2513
y(also)f(include)f(the)g(original)h(English)f(v)m(ersion)g(of)g(this)g
(License)h(and)e(the)h(original)h(v)m(ersions)g(of)330
2622 y(those)35 b(notices)g(and)e(disclaimers.)53 b(In)33
b(case)i(of)g(a)f(disagreemen)m(t)h(b)s(et)m(w)m(een)g(the)f
(translation)i(and)330 2732 y(the)f(original)i(v)m(ersion)e(of)h(this)f
(License)h(or)f(a)g(notice)i(or)e(disclaimer,)i(the)f(original)g(v)m
(ersion)g(will)330 2841 y(prev)-5 b(ail.)330 2984 y(If)28
b(a)h(section)h(in)e(the)h(Do)s(cumen)m(t)h(is)e(En)m(titled)i(\\Ac)m
(kno)m(wledgemen)m(ts",)i(\\Dedications",)g(or)d(\\His-)330
3093 y(tory",)f(the)f(requiremen)m(t)f(\(section)i(4\))f(to)g(Preserv)m
(e)g(its)f(Title)i(\(section)f(1\))g(will)g(t)m(ypically)h(require)330
3203 y(c)m(hanging)j(the)g(actual)h(title.)199 3345 y(9.)61
b(TERMINA)-8 b(TION)330 3488 y(Y)g(ou)30 b(ma)m(y)h(not)f(cop)m(y)-8
b(,)31 b(mo)s(dify)-8 b(,)30 b(sublicense,)g(or)g(distribute)f(the)h
(Do)s(cumen)m(t)g(except)h(as)f(expressly)330 3598 y(pro)m(vided)38
b(under)f(this)i(License.)65 b(An)m(y)39 b(attempt)h(otherwise)f(to)g
(cop)m(y)-8 b(,)42 b(mo)s(dify)-8 b(,)40 b(sublicense,)h(or)330
3707 y(distribute)30 b(it)h(is)f(v)m(oid,)h(and)f(will)h(automatically)
i(terminate)f(y)m(our)e(righ)m(ts)h(under)e(this)h(License.)330
3850 y(Ho)m(w)m(ev)m(er,)35 b(if)e(y)m(ou)f(cease)i(all)f(violation)i
(of)d(this)g(License,)i(then)e(y)m(our)h(license)g(from)f(a)h
(particular)330 3959 y(cop)m(yrigh)m(t)k(holder)e(is)h(reinstated)h
(\(a\))f(pro)m(visionally)-8 b(,)39 b(unless)c(and)g(un)m(til)h(the)g
(cop)m(yrigh)m(t)h(holder)330 4069 y(explicitly)42 b(and)e(\014nally)h
(terminates)g(y)m(our)g(license,)j(and)c(\(b\))h(p)s(ermanen)m(tly)-8
b(,)43 b(if)e(the)g(cop)m(yrigh)m(t)330 4178 y(holder)34
b(fails)h(to)g(notify)g(y)m(ou)g(of)f(the)h(violation)h(b)m(y)e(some)h
(reasonable)g(means)g(prior)e(to)i(60)h(da)m(ys)330 4288
y(after)31 b(the)f(cessation.)330 4430 y(Moreo)m(v)m(er,)k(y)m(our)d
(license)i(from)e(a)h(particular)f(cop)m(yrigh)m(t)i(holder)e(is)h
(reinstated)g(p)s(ermanen)m(tly)f(if)330 4540 y(the)d(cop)m(yrigh)m(t)h
(holder)f(noti\014es)g(y)m(ou)g(of)g(the)g(violation)h(b)m(y)f(some)g
(reasonable)h(means,)f(this)g(is)g(the)330 4650 y(\014rst)f(time)i(y)m
(ou)f(ha)m(v)m(e)h(receiv)m(ed)g(notice)g(of)f(violation)i(of)e(this)f
(License)i(\(for)f(an)m(y)g(w)m(ork\))g(from)f(that)330
4759 y(cop)m(yrigh)m(t)33 b(holder,)g(and)e(y)m(ou)h(cure)g(the)g
(violation)i(prior)d(to)i(30)f(da)m(ys)h(after)f(y)m(our)g(receipt)h
(of)f(the)330 4869 y(notice.)330 5011 y(T)-8 b(ermination)28
b(of)g(y)m(our)f(righ)m(ts)h(under)e(this)i(section)g(do)s(es)f(not)h
(terminate)h(the)e(licenses)i(of)f(parties)330 5121 y(who)38
b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
(under)f(this)h(License.)64 b(If)38 b(y)m(our)g(righ)m(ts)h(ha)m(v)m(e)
330 5230 y(b)s(een)25 b(terminated)i(and)e(not)h(p)s(ermanen)m(tly)g
(reinstated,)i(receipt)f(of)f(a)g(cop)m(y)h(of)f(some)h(or)f(all)h(of)f
(the)330 5340 y(same)31 b(material)h(do)s(es)e(not)g(giv)m(e)i(y)m(ou)f
(an)m(y)g(righ)m(ts)f(to)i(use)e(it.)p eop end
%%Page: 74 79
TeXDict begin 74 78 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(74)154 299 y(10.)61
b(FUTURE)30 b(REVISIONS)f(OF)i(THIS)e(LICENSE)330 433
y(The)41 b(F)-8 b(ree)43 b(Soft)m(w)m(are)f(F)-8 b(oundation)43
b(ma)m(y)f(publish)e(new,)k(revised)d(v)m(ersions)h(of)g(the)g(GNU)g(F)
-8 b(ree)330 543 y(Do)s(cumen)m(tation)34 b(License)e(from)g(time)h(to)
g(time.)46 b(Suc)m(h)31 b(new)h(v)m(ersions)g(will)h(b)s(e)e(similar)h
(in)g(spirit)330 653 y(to)j(the)g(presen)m(t)f(v)m(ersion,)i(but)e(ma)m
(y)h(di\013er)f(in)g(detail)h(to)g(address)f(new)g(problems)f(or)i
(concerns.)330 762 y(See)c Fr(http://www.gnu.org/copy)o(left)o(/)p
Fx(.)330 897 y(Eac)m(h)f(v)m(ersion)g(of)g(the)f(License)h(is)g(giv)m
(en)g(a)g(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)39
b(If)29 b(the)g(Do)s(cumen)m(t)330 1006 y(sp)s(eci\014es)45
b(that)h(a)g(particular)f(n)m(um)m(b)s(ered)f(v)m(ersion)i(of)f(this)g
(License)h(\\or)g(an)m(y)g(later)g(v)m(ersion")330 1116
y(applies)33 b(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f
(follo)m(wing)i(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
1225 y(sp)s(eci\014ed)37 b(v)m(ersion)i(or)e(of)h(an)m(y)h(later)g(v)m
(ersion)f(that)g(has)g(b)s(een)f(published)f(\(not)j(as)f(a)g(draft\))g
(b)m(y)330 1335 y(the)33 b(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
b(oundation.)49 b(If)32 b(the)h(Do)s(cumen)m(t)g(do)s(es)g(not)g(sp)s
(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)330 1445
y(this)i(License,)j(y)m(ou)d(ma)m(y)i(c)m(ho)s(ose)f(an)m(y)g(v)m
(ersion)g(ev)m(er)g(published)e(\(not)i(as)g(a)f(draft\))h(b)m(y)f(the)
h(F)-8 b(ree)330 1554 y(Soft)m(w)m(are)33 b(F)-8 b(oundation.)46
b(If)32 b(the)g(Do)s(cumen)m(t)g(sp)s(eci\014es)g(that)g(a)h(pro)m(xy)f
(can)g(decide)g(whic)m(h)g(future)330 1664 y(v)m(ersions)h(of)g(this)f
(License)h(can)g(b)s(e)f(used,)g(that)i(pro)m(xy's)e(public)g(statemen)
m(t)i(of)f(acceptance)i(of)e(a)330 1773 y(v)m(ersion)e(p)s(ermanen)m
(tly)f(authorizes)h(y)m(ou)g(to)g(c)m(ho)s(ose)g(that)g(v)m(ersion)g
(for)f(the)h(Do)s(cumen)m(t.)154 1908 y(11.)61 b(RELICENSING)330
2042 y(\\Massiv)m(e)39 b(Multiauthor)f(Collab)s(oration)g(Site")h(\(or)
e(\\MMC)h(Site"\))h(means)e(an)m(y)h(W)-8 b(orld)37 b(Wide)330
2152 y(W)-8 b(eb)36 b(serv)m(er)g(that)h(publishes)d(cop)m(yrigh)m
(table)k(w)m(orks)e(and)f(also)i(pro)m(vides)e(prominen)m(t)h
(facilities)330 2262 y(for)27 b(an)m(yb)s(o)s(dy)g(to)h(edit)g(those)g
(w)m(orks.)39 b(A)28 b(public)f(wiki)h(that)g(an)m(yb)s(o)s(dy)e(can)i
(edit)g(is)f(an)h(example)g(of)330 2371 y(suc)m(h)33
b(a)h(serv)m(er.)51 b(A)34 b(\\Massiv)m(e)i(Multiauthor)e(Collab)s
(oration")h(\(or)f(\\MMC"\))h(con)m(tained)g(in)f(the)330
2481 y(site)d(means)f(an)m(y)h(set)g(of)g(cop)m(yrigh)m(table)h(w)m
(orks)e(th)m(us)g(published)f(on)h(the)h(MMC)f(site.)330
2615 y(\\CC-BY-SA")36 b(means)f(the)g(Creativ)m(e)i(Commons)e(A)m
(ttribution-Share)g(Alik)m(e)i(3.0)f(license)g(pub-)330
2725 y(lished)27 b(b)m(y)f(Creativ)m(e)j(Commons)d(Corp)s(oration,)h(a)
g(not-for-pro\014t)g(corp)s(oration)h(with)e(a)h(principal)330
2834 y(place)g(of)f(business)e(in)i(San)f(F)-8 b(rancisco,)29
b(California,)f(as)e(w)m(ell)h(as)f(future)f(cop)m(yleft)i(v)m(ersions)
f(of)g(that)330 2944 y(license)31 b(published)e(b)m(y)h(that)h(same)g
(organization.)330 3078 y(\\Incorp)s(orate")h(means)e(to)h(publish)e
(or)i(republish)e(a)i(Do)s(cumen)m(t,)g(in)g(whole)g(or)f(in)g(part,)h
(as)g(part)330 3188 y(of)g(another)f(Do)s(cumen)m(t.)330
3323 y(An)c(MMC)g(is)h(\\eligible)h(for)e(relicensing")h(if)g(it)f(is)h
(licensed)f(under)f(this)h(License,)i(and)e(if)g(all)h(w)m(orks)330
3432 y(that)43 b(w)m(ere)f(\014rst)f(published)f(under)h(this)h
(License)g(somewhere)g(other)g(than)g(this)g(MMC,)h(and)330
3542 y(subsequen)m(tly)34 b(incorp)s(orated)h(in)f(whole)h(or)g(in)f
(part)h(in)m(to)h(the)f(MMC,)g(\(1\))h(had)e(no)h(co)m(v)m(er)h(texts)
330 3651 y(or)30 b(in)m(v)-5 b(arian)m(t)32 b(sections,)g(and)d(\(2\))j
(w)m(ere)f(th)m(us)f(incorp)s(orated)g(prior)g(to)h(No)m(v)m(em)m(b)s
(er)g(1,)g(2008.)330 3786 y(The)40 b(op)s(erator)h(of)g(an)f(MMC)h
(Site)g(ma)m(y)g(republish)e(an)h(MMC)h(con)m(tained)h(in)e(the)h(site)
g(under)330 3895 y(CC-BY-SA)30 b(on)g(the)h(same)f(site)h(at)g(an)m(y)g
(time)g(b)s(efore)e(August)h(1,)h(2009,)h(pro)m(vided)e(the)g(MMC)h(is)
330 4005 y(eligible)h(for)e(relicensing.)p eop end
%%Page: 75 80
TeXDict begin 75 79 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(75)150 299 y Fw(ADDENDUM:)45
b(Ho)l(w)h(to)f(use)g(this)h(License)f(for)g(y)l(our)g(do)t(cumen)l(ts)
150 458 y Fx(T)-8 b(o)35 b(use)f(this)h(License)g(in)f(a)h(do)s(cumen)m
(t)g(y)m(ou)f(ha)m(v)m(e)i(written,)g(include)f(a)f(cop)m(y)i(of)f(the)
f(License)h(in)g(the)150 568 y(do)s(cumen)m(t)30 b(and)g(put)g(the)g
(follo)m(wing)i(cop)m(yrigh)m(t)g(and)e(license)h(notices)g(just)f
(after)h(the)g(title)h(page:)468 673 y Fd(Copyright)42
b(\(C\))79 b Fc(year)88 b(your)40 b(name)9 b Fd(.)468
760 y(Permission)42 b(is)e(granted)g(to)g(copy,)h(distribute)g(and/or)g
(modify)f(this)g(document)468 847 y(under)h(the)f(terms)g(of)g(the)g
(GNU)g(Free)g(Documentation)i(License,)f(Version)g(1.3)468
934 y(or)f(any)g(later)g(version)h(published)h(by)d(the)h(Free)g
(Software)h(Foundation;)468 1021 y(with)g(no)e(Invariant)j(Sections,)f
(no)f(Front-Cover)h(Texts,)g(and)f(no)f(Back-Cover)468
1108 y(Texts.)80 b(A)40 b(copy)g(of)g(the)f(license)i(is)f(included)h
(in)f(the)g(section)g(entitled)h(``GNU)468 1196 y(Free)g(Documentation)
h(License''.)275 1323 y Fx(If)d(y)m(ou)h(ha)m(v)m(e)h(In)m(v)-5
b(arian)m(t)41 b(Sections,)i(F)-8 b(ron)m(t-Co)m(v)m(er)42
b(T)-8 b(exts)41 b(and)e(Bac)m(k-Co)m(v)m(er)k(T)-8 b(exts,)43
b(replace)e(the)150 1432 y(\\with)6 b(.)22 b(.)g(.)12
b(T)-8 b(exts.")41 b(line)31 b(with)f(this:)547 1537
y Fd(with)40 b(the)g(Invariant)h(Sections)g(being)g Fc(list)f(their)g
(titles)9 b Fd(,)41 b(with)547 1624 y(the)f(Front-Cover)i(Texts)e
(being)g Fc(list)9 b Fd(,)40 b(and)g(with)g(the)g(Back-Cover)i(Texts)
547 1712 y(being)e Fc(list)9 b Fd(.)275 1839 y Fx(If)34
b(y)m(ou)i(ha)m(v)m(e)g(In)m(v)-5 b(arian)m(t)36 b(Sections)g(without)f
(Co)m(v)m(er)h(T)-8 b(exts,)38 b(or)d(some)g(other)h(com)m(bination)g
(of)g(the)150 1948 y(three,)31 b(merge)g(those)g(t)m(w)m(o)g
(alternativ)m(es)i(to)e(suit)f(the)h(situation.)275 2075
y(If)23 b(y)m(our)h(do)s(cumen)m(t)f(con)m(tains)i(non)m(trivial)g
(examples)g(of)f(program)f(co)s(de,)j(w)m(e)e(recommend)g(releasing)150
2185 y(these)44 b(examples)f(in)g(parallel)h(under)e(y)m(our)h(c)m
(hoice)i(of)e(free)g(soft)m(w)m(are)h(license,)k(suc)m(h)43
b(as)g(the)g(GNU)150 2295 y(General)31 b(Public)f(License,)i(to)f(p)s
(ermit)e(their)i(use)f(in)g(free)g(soft)m(w)m(are.)150
2512 y Fw(C.2)68 b(GNU)45 b(Lesser)g(General)h(Public)f(License)1417
2654 y Fx(V)-8 b(ersion)31 b(2.1,)h(F)-8 b(ebruary)30
b(1999)390 2781 y(Cop)m(yrigh)m(t)842 2778 y(c)817 2781
y Fv(\015)g Fx(1991,)j(1999)f(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
b(oundation,)31 b(Inc.)390 2891 y(51)g(F)-8 b(ranklin)31
b(Street,)g(Fifth)g(Flo)s(or,)g(Boston,)g(MA)g(02110-1301,)k(USA)390
3110 y(Ev)m(ery)m(one)c(is)g(p)s(ermitted)f(to)h(cop)m(y)g(and)f
(distribute)g(v)m(erbatim)h(copies)390 3220 y(of)g(this)f(license)h(do)
s(cumen)m(t,)g(but)e(c)m(hanging)j(it)f(is)f(not)h(allo)m(w)m(ed.)390
3439 y([This)f(is)g(the)h(\014rst)e(released)j(v)m(ersion)e(of)h(the)g
(Lesser)f(GPL.)61 b(It)30 b(also)i(coun)m(ts)390 3549
y(as)f(the)f(successor)h(of)f(the)h(GNU)g(Library)e(Public)i(License,)g
(v)m(ersion)g(2,)g(hence)f(the)390 3658 y(v)m(ersion)h(n)m(um)m(b)s(er)
e(2.1.])150 3843 y Fq(Pream)m(ble)150 3990 y Fx(The)e(licenses)i(for)f
(most)g(soft)m(w)m(are)i(are)e(designed)g(to)h(tak)m(e)g(a)m(w)m(a)m(y)
h(y)m(our)e(freedom)g(to)h(share)e(and)h(c)m(hange)150
4099 y(it.)42 b(By)32 b(con)m(trast,)g(the)f(GNU)g(General)h(Public)f
(Licenses)g(are)g(in)m(tended)g(to)g(guaran)m(tee)h(y)m(our)f(freedom)
150 4209 y(to)g(share)f(and)g(c)m(hange)i(free)e(soft)m(w)m(are|to)j
(mak)m(e)e(sure)f(the)g(soft)m(w)m(are)i(is)e(free)h(for)f(all)h(its)g
(users.)275 4336 y(This)40 b(license,)45 b(the)c(Lesser)g(General)h
(Public)f(License,)j(applies)d(to)h(some)f(sp)s(ecially)h(designated)
150 4446 y(soft)m(w)m(are|t)m(ypically)24 b(libraries|of)e(the)f(F)-8
b(ree)22 b(Soft)m(w)m(are)g(F)-8 b(oundation)22 b(and)f(other)g
(authors)g(who)g(decide)150 4555 y(to)35 b(use)f(it.)53
b(Y)-8 b(ou)35 b(can)g(use)f(it)g(to)s(o,)j(but)c(w)m(e)i(suggest)g(y)m
(ou)g(\014rst)f(think)f(carefully)i(ab)s(out)f(whether)g(this)150
4665 y(license)27 b(or)e(the)h(ordinary)f(General)h(Public)g(License)g
(is)f(the)h(b)s(etter)g(strategy)h(to)f(use)f(in)h(an)m(y)g(particular)
150 4774 y(case,)32 b(based)e(on)g(the)h(explanations)g(b)s(elo)m(w.)
275 4902 y(When)41 b(w)m(e)g(sp)s(eak)g(of)h(free)f(soft)m(w)m(are,)46
b(w)m(e)c(are)f(referring)g(to)h(freedom)g(of)f(use,)j(not)e(price.)73
b(Our)150 5011 y(General)30 b(Public)f(Licenses)g(are)h(designed)f(to)g
(mak)m(e)i(sure)d(that)i(y)m(ou)f(ha)m(v)m(e)h(the)g(freedom)f(to)g
(distribute)150 5121 y(copies)e(of)g(free)f(soft)m(w)m(are)i(\(and)f(c)
m(harge)g(for)f(this)h(service)g(if)g(y)m(ou)f(wish\);)i(that)f(y)m(ou)
g(receiv)m(e)h(source)f(co)s(de)150 5230 y(or)34 b(can)h(get)h(it)f(if)
f(y)m(ou)h(w)m(an)m(t)g(it;)i(that)e(y)m(ou)g(can)g(c)m(hange)g(the)g
(soft)m(w)m(are)h(and)e(use)g(pieces)h(of)f(it)h(in)f(new)150
5340 y(free)c(programs;)h(and)f(that)g(y)m(ou)h(are)g(informed)f(that)h
(y)m(ou)f(can)h(do)f(these)h(things.)p eop end
%%Page: 76 81
TeXDict begin 76 80 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(76)275 299 y(T)-8
b(o)27 b(protect)h(y)m(our)e(righ)m(ts,)j(w)m(e)e(need)f(to)i(mak)m(e)g
(restrictions)f(that)h(forbid)e(distributors)f(to)j(den)m(y)f(y)m(ou)
150 408 y(these)32 b(righ)m(ts)g(or)g(to)g(ask)g(y)m(ou)g(to)g
(surrender)d(these)j(righ)m(ts.)45 b(These)32 b(restrictions)g
(translate)h(to)f(certain)150 518 y(resp)s(onsibilities)e(for)h(y)m(ou)
f(if)h(y)m(ou)f(distribute)g(copies)h(of)g(the)f(library)g(or)h(if)f(y)
m(ou)h(mo)s(dify)e(it.)275 664 y(F)-8 b(or)28 b(example,)h(if)f(y)m(ou)
g(distribute)f(copies)i(of)f(the)g(library)-8 b(,)29
b(whether)e(gratis)h(or)g(for)g(a)g(fee,)h(y)m(ou)f(m)m(ust)150
774 y(giv)m(e)40 b(the)f(recipien)m(ts)h(all)g(the)e(righ)m(ts)i(that)f
(w)m(e)g(ga)m(v)m(e)i(y)m(ou.)66 b(Y)-8 b(ou)40 b(m)m(ust)e(mak)m(e)i
(sure)e(that)h(they)-8 b(,)42 b(to)s(o,)150 883 y(receiv)m(e)28
b(or)f(can)f(get)i(the)e(source)h(co)s(de.)40 b(If)25
b(y)m(ou)i(link)f(other)h(co)s(de)g(with)f(the)g(library)-8
b(,)28 b(y)m(ou)f(m)m(ust)f(pro)m(vide)150 993 y(complete)35
b(ob)5 b(ject)34 b(\014les)g(to)g(the)f(recipien)m(ts,)j(so)d(that)i
(they)e(can)h(relink)f(them)h(with)f(the)g(library)g(after)150
1103 y(making)28 b(c)m(hanges)h(to)g(the)f(library)f(and)h(recompiling)
g(it.)41 b(And)27 b(y)m(ou)h(m)m(ust)g(sho)m(w)g(them)g(these)g(terms)g
(so)150 1212 y(they)j(kno)m(w)f(their)g(righ)m(ts.)275
1358 y(W)-8 b(e)28 b(protect)g(y)m(our)e(righ)m(ts)i(with)e(a)i(t)m(w)m
(o-step)g(metho)s(d:)39 b(\(1\))28 b(w)m(e)f(cop)m(yrigh)m(t)h(the)f
(library)-8 b(,)28 b(and)e(\(2\))i(w)m(e)150 1468 y(o\013er)37
b(y)m(ou)f(this)g(license,)j(whic)m(h)d(giv)m(es)h(y)m(ou)g(legal)h(p)s
(ermission)d(to)i(cop)m(y)-8 b(,)39 b(distribute)d(and/or)g(mo)s(dify)
150 1577 y(the)31 b(library)-8 b(.)275 1724 y(T)g(o)30
b(protect)g(eac)m(h)h(distributor,)f(w)m(e)g(w)m(an)m(t)g(to)h(mak)m(e)
g(it)f(v)m(ery)g(clear)h(that)f(there)g(is)g(no)f(w)m(arran)m(t)m(y)i
(for)150 1833 y(the)24 b(free)g(library)-8 b(.)39 b(Also,)26
b(if)e(the)g(library)f(is)h(mo)s(di\014ed)f(b)m(y)h(someone)g(else)h
(and)e(passed)h(on,)h(the)f(recipien)m(ts)150 1943 y(should)32
b(kno)m(w)i(that)g(what)f(they)h(ha)m(v)m(e)g(is)g(not)f(the)h
(original)g(v)m(ersion,)h(so)f(that)g(the)f(original)i(author's)150
2052 y(reputation)c(will)f(not)h(b)s(e)f(a\013ected)i(b)m(y)e(problems)
g(that)h(migh)m(t)g(b)s(e)e(in)m(tro)s(duced)h(b)m(y)g(others.)275
2198 y(Finally)-8 b(,)40 b(soft)m(w)m(are)e(paten)m(ts)g(p)s(ose)e(a)i
(constan)m(t)g(threat)f(to)h(the)f(existence)i(of)e(an)m(y)g(free)g
(program.)150 2308 y(W)-8 b(e)27 b(wish)e(to)i(mak)m(e)g(sure)e(that)i
(a)f(compan)m(y)g(cannot)h(e\013ectiv)m(ely)i(restrict)d(the)h(users)e
(of)h(a)g(free)g(program)150 2418 y(b)m(y)h(obtaining)h(a)f(restrictiv)
m(e)i(license)g(from)d(a)i(paten)m(t)g(holder.)39 b(Therefore,)28
b(w)m(e)g(insist)f(that)g(an)m(y)h(paten)m(t)150 2527
y(license)j(obtained)f(for)f(a)h(v)m(ersion)g(of)g(the)f(library)g(m)m
(ust)h(b)s(e)f(consisten)m(t)i(with)e(the)h(full)f(freedom)h(of)f(use)
150 2637 y(sp)s(eci\014ed)h(in)g(this)g(license.)275
2783 y(Most)i(GNU)g(soft)m(w)m(are,)i(including)d(some)h(libraries,)g
(is)g(co)m(v)m(ered)h(b)m(y)e(the)h(ordinary)f(GNU)h(General)150
2892 y(Public)38 b(License.)65 b(This)37 b(license,)k(the)e(GNU)g
(Lesser)f(General)h(Public)f(License,)j(applies)d(to)h(certain)150
3002 y(designated)d(libraries,)i(and)d(is)g(quite)h(di\013eren)m(t)h
(from)e(the)h(ordinary)f(General)h(Public)g(License.)57
b(W)-8 b(e)150 3112 y(use)33 b(this)g(license)i(for)e(certain)h
(libraries)f(in)g(order)g(to)h(p)s(ermit)f(linking)g(those)h(libraries)
g(in)m(to)g(non-free)150 3221 y(programs.)275 3367 y(When)h(a)h
(program)g(is)g(link)m(ed)g(with)f(a)h(library)-8 b(,)38
b(whether)d(statically)j(or)e(using)f(a)i(shared)e(library)-8
b(,)150 3477 y(the)28 b(com)m(bination)h(of)f(the)g(t)m(w)m(o)h(is)f
(legally)i(sp)s(eaking)d(a)i(com)m(bined)f(w)m(ork,)g(a)g(deriv)-5
b(ativ)m(e)30 b(of)e(the)g(original)150 3587 y(library)-8
b(.)73 b(The)41 b(ordinary)f(General)i(Public)f(License)h(therefore)g
(p)s(ermits)e(suc)m(h)h(linking)g(only)h(if)f(the)150
3696 y(en)m(tire)34 b(com)m(bination)h(\014ts)e(its)h(criteria)h(of)e
(freedom.)50 b(The)33 b(Lesser)g(General)i(Public)e(License)h(p)s
(ermits)150 3806 y(more)d(lax)g(criteria)g(for)f(linking)h(other)f(co)s
(de)h(with)f(the)h(library)-8 b(.)275 3952 y(W)g(e)25
b(call)i(this)d(license)i(the)f Fn(Lesser)31 b Fx(General)26
b(Public)e(License)h(b)s(ecause)g(it)g(do)s(es)g Fb(L)-5
b(ess)33 b Fx(to)25 b(protect)h(the)150 4061 y(user's)c(freedom)h(than)
g(the)g(ordinary)f(General)h(Public)g(License.)39 b(It)23
b(also)h(pro)m(vides)e(other)i(free)e(soft)m(w)m(are)150
4171 y(dev)m(elop)s(ers)36 b(Less)g(of)g(an)g(adv)-5
b(an)m(tage)38 b(o)m(v)m(er)f(comp)s(eting)f(non-free)g(programs.)57
b(These)36 b(disadv)-5 b(an)m(tages)150 4281 y(are)28
b(the)f(reason)h(w)m(e)g(use)f(the)h(ordinary)e(General)j(Public)e
(License)h(for)f(man)m(y)h(libraries.)39 b(Ho)m(w)m(ev)m(er,)31
b(the)150 4390 y(Lesser)f(license)i(pro)m(vides)e(adv)-5
b(an)m(tages)32 b(in)e(certain)h(sp)s(ecial)g(circumstances.)275
4536 y(F)-8 b(or)38 b(example,)j(on)d(rare)h(o)s(ccasions,)i(there)d
(ma)m(y)h(b)s(e)e(a)i(sp)s(ecial)g(need)f(to)g(encourage)i(the)e
(widest)150 4646 y(p)s(ossible)d(use)g(of)g(a)h(certain)g(library)-8
b(,)37 b(so)f(that)g(it)f(b)s(ecomes)h(a)g(de-facto)h(standard.)54
b(T)-8 b(o)36 b(ac)m(hiev)m(e)i(this,)150 4756 y(non-free)33
b(programs)f(m)m(ust)h(b)s(e)f(allo)m(w)m(ed)j(to)f(use)e(the)h
(library)-8 b(.)48 b(A)33 b(more)g(frequen)m(t)g(case)h(is)f(that)h(a)f
(free)150 4865 y(library)i(do)s(es)g(the)g(same)h(job)f(as)g(widely)h
(used)e(non-free)h(libraries.)56 b(In)34 b(this)i(case,)h(there)f(is)f
(little)i(to)150 4975 y(gain)32 b(b)m(y)g(limiting)h(the)f(free)g
(library)g(to)g(free)g(soft)m(w)m(are)i(only)-8 b(,)33
b(so)f(w)m(e)g(use)g(the)g(Lesser)f(General)i(Public)150
5084 y(License.)275 5230 y(In)39 b(other)i(cases,)k(p)s(ermission)39
b(to)j(use)e(a)h(particular)g(library)f(in)h(non-free)f(programs)h
(enables)g(a)150 5340 y(greater)33 b(n)m(um)m(b)s(er)e(of)h(p)s(eople)g
(to)g(use)g(a)g(large)h(b)s(o)s(dy)e(of)h(free)g(soft)m(w)m(are.)46
b(F)-8 b(or)33 b(example,)g(p)s(ermission)e(to)p eop
end
%%Page: 77 82
TeXDict begin 77 81 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(77)150 299 y(use)33
b(the)g(GNU)g(C)f(Library)g(in)h(non-free)f(programs)h(enables)g(man)m
(y)g(more)g(p)s(eople)g(to)g(use)g(the)g(whole)150 408
y(GNU)e(op)s(erating)g(system,)g(as)f(w)m(ell)i(as)e(its)h(v)-5
b(arian)m(t,)32 b(the)e(GNU/Lin)m(ux)h(op)s(erating)g(system.)275
542 y(Although)i(the)g(Lesser)g(General)i(Public)d(License)i(is)g(Less)
f(protectiv)m(e)i(of)e(the)h(users')e(freedom,)i(it)150
651 y(do)s(es)28 b(ensure)f(that)i(the)f(user)g(of)g(a)h(program)f
(that)h(is)f(link)m(ed)g(with)g(the)h(Library)e(has)h(the)g(freedom)h
(and)150 761 y(the)i(wherewithal)f(to)h(run)e(that)i(program)f(using)g
(a)h(mo)s(di\014ed)e(v)m(ersion)i(of)f(the)h(Library)-8
b(.)275 894 y(The)28 b(precise)h(terms)g(and)f(conditions)h(for)g(cop)m
(ying,)h(distribution)e(and)g(mo)s(di\014cation)h(follo)m(w.)42
b(P)m(a)m(y)150 1003 y(close)35 b(atten)m(tion)i(to)e(the)f
(di\013erence)h(b)s(et)m(w)m(een)g(a)f(\\w)m(ork)h(based)f(on)g(the)g
(library")g(and)g(a)h(\\w)m(ork)f(that)150 1113 y(uses)j(the)h
(library".)62 b(The)37 b(former)g(con)m(tains)h(co)s(de)g(deriv)m(ed)g
(from)e(the)i(library)-8 b(,)40 b(whereas)d(the)h(latter)150
1223 y(m)m(ust)30 b(b)s(e)g(com)m(bined)h(with)f(the)g(library)g(in)g
(order)g(to)h(run.)150 1397 y Fq(TERMS)41 b(AND)g(CONDITIONS)f(F)m(OR)h
(COPYING,)f(DISTRIBUTION)150 1522 y(AND)h(MODIFICA)-10
b(TION)199 1669 y Fx(0.)61 b(This)21 b(License)h(Agreemen)m(t)h
(applies)f(to)g(an)m(y)g(soft)m(w)m(are)h(library)e(or)g(other)h
(program)f(whic)m(h)h(con)m(tains)330 1778 y(a)40 b(notice)h(placed)f
(b)m(y)g(the)g(cop)m(yrigh)m(t)h(holder)e(or)h(other)g(authorized)g
(part)m(y)g(sa)m(ying)g(it)g(ma)m(y)h(b)s(e)330 1888
y(distributed)e(under)g(the)i(terms)f(of)h(this)f(Lesser)g(General)h
(Public)f(License)h(\(also)h(called)g(\\this)330 1998
y(License"\).)g(Eac)m(h)31 b(licensee)h(is)e(addressed)g(as)g(\\y)m
(ou".)330 2131 y(A)h(\\library")g(means)g(a)g(collection)j(of)d(soft)m
(w)m(are)h(functions)f(and/or)f(data)i(prepared)e(so)h(as)g(to)h(b)s(e)
330 2240 y(con)m(v)m(enien)m(tly)g(link)m(ed)e(with)f(application)j
(programs)d(\(whic)m(h)h(use)f(some)h(of)g(those)g(functions)g(and)330
2350 y(data\))h(to)h(form)d(executables.)330 2483 y(The)43
b(\\Library",)k(b)s(elo)m(w,)h(refers)43 b(to)i(an)m(y)f(suc)m(h)f
(soft)m(w)m(are)i(library)e(or)h(w)m(ork)g(whic)m(h)f(has)h(b)s(een)330
2592 y(distributed)22 b(under)g(these)h(terms.)38 b(A)24
b(\\w)m(ork)f(based)g(on)g(the)g(Library")g(means)g(either)g(the)h
(Library)330 2702 y(or)43 b(an)m(y)h(deriv)-5 b(ativ)m(e)45
b(w)m(ork)e(under)f(cop)m(yrigh)m(t)j(la)m(w:)67 b(that)44
b(is)g(to)g(sa)m(y)-8 b(,)48 b(a)43 b(w)m(ork)h(con)m(taining)h(the)330
2812 y(Library)c(or)h(a)h(p)s(ortion)e(of)h(it,)k(either)d(v)m(erbatim)
f(or)g(with)g(mo)s(di\014cations)g(and/or)g(translated)330
2921 y(straigh)m(tforw)m(ardly)33 b(in)m(to)g(another)f(language.)46
b(\(Hereinafter,)34 b(translation)f(is)f(included)f(without)330
3031 y(limitation)h(in)e(the)h(term)f(\\mo)s(di\014cation".\))330
3164 y(\\Source)22 b(co)s(de")h(for)e(a)i(w)m(ork)f(means)f(the)i
(preferred)d(form)i(of)g(the)g(w)m(ork)g(for)f(making)i(mo)s
(di\014cations)330 3273 y(to)33 b(it.)45 b(F)-8 b(or)33
b(a)f(library)-8 b(,)32 b(complete)i(source)e(co)s(de)g(means)f(all)i
(the)f(source)g(co)s(de)g(for)g(all)g(mo)s(dules)f(it)330
3383 y(con)m(tains,)k(plus)c(an)m(y)i(asso)s(ciated)h(in)m(terface)h
(de\014nition)d(\014les,)h(plus)f(the)h(scripts)f(used)g(to)h(con)m
(trol)330 3493 y(compilation)f(and)e(installation)i(of)f(the)f(library)
-8 b(.)330 3626 y(Activities)41 b(other)e(than)f(cop)m(ying,)43
b(distribution)38 b(and)g(mo)s(di\014cation)h(are)g(not)g(co)m(v)m
(ered)h(b)m(y)f(this)330 3735 y(License;)31 b(they)f(are)g(outside)h
(its)f(scop)s(e.)40 b(The)30 b(act)h(of)f(running)e(a)j(program)e
(using)h(the)g(Library)f(is)330 3845 y(not)24 b(restricted,)j(and)c
(output)h(from)f(suc)m(h)h(a)g(program)g(is)g(co)m(v)m(ered)i(only)e
(if)g(its)h(con)m(ten)m(ts)h(constitute)330 3954 y(a)g(w)m(ork)f(based)
g(on)g(the)h(Library)f(\(indep)s(enden)m(t)f(of)i(the)f(use)g(of)h(the)
f(Library)g(in)g(a)g(to)s(ol)i(for)e(writing)330 4064
y(it\).)63 b(Whether)37 b(that)h(is)g(true)f(dep)s(ends)f(on)h(what)g
(the)h(Library)e(do)s(es)h(and)g(what)h(the)f(program)330
4174 y(that)31 b(uses)f(the)g(Library)g(do)s(es.)199
4307 y(1.)61 b(Y)-8 b(ou)38 b(ma)m(y)h(cop)m(y)f(and)g(distribute)f(v)m
(erbatim)i(copies)f(of)g(the)g(Library's)f(complete)j(source)e(co)s(de)
330 4416 y(as)c(y)m(ou)g(receiv)m(e)i(it,)g(in)d(an)m(y)h(medium,)g
(pro)m(vided)g(that)g(y)m(ou)h(conspicuously)e(and)h(appropriately)330
4526 y(publish)27 b(on)h(eac)m(h)h(cop)m(y)g(an)f(appropriate)h(cop)m
(yrigh)m(t)g(notice)h(and)e(disclaimer)h(of)f(w)m(arran)m(t)m(y;)i(k)m
(eep)330 4635 y(in)m(tact)f(all)f(the)f(notices)h(that)g(refer)f(to)h
(this)f(License)g(and)g(to)h(the)f(absence)g(of)h(an)m(y)f(w)m(arran)m
(t)m(y;)j(and)330 4745 y(distribute)g(a)h(cop)m(y)g(of)f(this)h
(License)g(along)g(with)f(the)h(Library)-8 b(.)330 4878
y(Y)g(ou)31 b(ma)m(y)g(c)m(harge)h(a)f(fee)g(for)f(the)h(ph)m(ysical)g
(act)h(of)f(transferring)f(a)h(cop)m(y)-8 b(,)32 b(and)e(y)m(ou)h(ma)m
(y)g(at)g(y)m(our)330 4988 y(option)g(o\013er)g(w)m(arran)m(t)m(y)g
(protection)h(in)e(exc)m(hange)i(for)e(a)g(fee.)199 5121
y(2.)61 b(Y)-8 b(ou)27 b(ma)m(y)h(mo)s(dify)d(y)m(our)i(cop)m(y)h(or)e
(copies)i(of)f(the)g(Library)f(or)g(an)m(y)h(p)s(ortion)g(of)f(it,)j
(th)m(us)d(forming)h(a)330 5230 y(w)m(ork)k(based)g(on)g(the)h(Library)
-8 b(,)31 b(and)f(cop)m(y)i(and)f(distribute)g(suc)m(h)g(mo)s
(di\014cations)g(or)g(w)m(ork)g(under)330 5340 y(the)g(terms)f(of)g
(Section)i(1)e(ab)s(o)m(v)m(e,)i(pro)m(vided)e(that)h(y)m(ou)g(also)g
(meet)g(all)h(of)e(these)h(conditions:)p eop end
%%Page: 78 83
TeXDict begin 78 82 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(78)379 299 y(a.)61
b(The)30 b(mo)s(di\014ed)f(w)m(ork)i(m)m(ust)f(itself)h(b)s(e)f(a)h
(soft)m(w)m(are)g(library)-8 b(.)374 436 y(b.)60 b(Y)-8
b(ou)43 b(m)m(ust)f(cause)i(the)e(\014les)h(mo)s(di\014ed)e(to)i(carry)
g(prominen)m(t)f(notices)i(stating)f(that)h(y)m(ou)510
545 y(c)m(hanged)31 b(the)g(\014les)f(and)g(the)g(date)h(of)g(an)m(y)g
(c)m(hange.)384 682 y(c.)61 b(Y)-8 b(ou)41 b(m)m(ust)f(cause)g(the)h
(whole)f(of)h(the)f(w)m(ork)g(to)h(b)s(e)f(licensed)g(at)h(no)f(c)m
(harge)i(to)f(all)g(third)510 792 y(parties)31 b(under)e(the)h(terms)g
(of)h(this)f(License.)374 929 y(d.)60 b(If)43 b(a)i(facilit)m(y)h(in)d
(the)i(mo)s(di\014ed)d(Library)h(refers)h(to)h(a)f(function)f(or)h(a)h
(table)f(of)h(data)f(to)510 1039 y(b)s(e)d(supplied)f(b)m(y)i(an)f
(application)i(program)f(that)g(uses)f(the)h(facilit)m(y)-8
b(,)47 b(other)42 b(than)f(as)h(an)510 1148 y(argumen)m(t)37
b(passed)f(when)f(the)h(facilit)m(y)j(is)d(in)m(v)m(ok)m(ed,)k(then)c
(y)m(ou)g(m)m(ust)g(mak)m(e)i(a)e(go)s(o)s(d)h(faith)510
1258 y(e\013ort)30 b(to)g(ensure)f(that,)h(in)f(the)g(ev)m(en)m(t)i(an)
e(application)i(do)s(es)e(not)g(supply)f(suc)m(h)h(function)g(or)510
1367 y(table,)f(the)d(facilit)m(y)j(still)e(op)s(erates,)h(and)e(p)s
(erforms)f(whatev)m(er)i(part)f(of)h(its)f(purp)s(ose)f(remains)510
1477 y(meaningful.)510 1614 y(\(F)-8 b(or)32 b(example,)g(a)f(function)
g(in)g(a)g(library)f(to)i(compute)f(square)g(ro)s(ots)g(has)g(a)g(purp)
s(ose)e(that)510 1724 y(is)35 b(en)m(tirely)i(w)m(ell-de\014ned)e
(indep)s(enden)m(t)f(of)h(the)g(application.)57 b(Therefore,)36
b(Subsection)f(2d)510 1833 y(requires)25 b(that)h(an)m(y)f
(application-supplied)h(function)f(or)g(table)h(used)f(b)m(y)g(this)g
(function)g(m)m(ust)510 1943 y(b)s(e)34 b(optional:)49
b(if)35 b(the)f(application)i(do)s(es)e(not)g(supply)f(it,)j(the)e
(square)g(ro)s(ot)h(function)f(m)m(ust)510 2052 y(still)d(compute)g
(square)f(ro)s(ots.\))330 2217 y(These)k(requiremen)m(ts)g(apply)f(to)i
(the)f(mo)s(di\014ed)f(w)m(ork)h(as)g(a)g(whole.)52 b(If)33
b(iden)m(ti\014able)i(sections)g(of)330 2326 y(that)27
b(w)m(ork)f(are)h(not)f(deriv)m(ed)g(from)g(the)g(Library)-8
b(,)27 b(and)f(can)g(b)s(e)g(reasonably)g(considered)g(indep)s(en-)330
2436 y(den)m(t)32 b(and)e(separate)j(w)m(orks)e(in)g(themselv)m(es,)i
(then)e(this)h(License,)g(and)f(its)h(terms,)f(do)h(not)f(apply)330
2545 y(to)26 b(those)g(sections)g(when)e(y)m(ou)i(distribute)e(them)i
(as)f(separate)h(w)m(orks.)39 b(But)26 b(when)e(y)m(ou)h(distribute)330
2655 y(the)32 b(same)g(sections)h(as)f(part)g(of)g(a)g(whole)g(whic)m
(h)g(is)f(a)i(w)m(ork)f(based)f(on)h(the)g(Library)-8
b(,)32 b(the)g(distri-)330 2765 y(bution)e(of)g(the)h(whole)f(m)m(ust)h
(b)s(e)e(on)i(the)f(terms)g(of)h(this)f(License,)h(whose)f(p)s
(ermissions)g(for)g(other)330 2874 y(licensees)f(extend)f(to)g(the)g
(en)m(tire)h(whole,)g(and)e(th)m(us)g(to)i(eac)m(h)g(and)e(ev)m(ery)i
(part)e(regardless)h(of)g(who)330 2984 y(wrote)j(it.)330
3121 y(Th)m(us,)48 b(it)e(is)f(not)h(the)f(in)m(ten)m(t)h(of)g(this)f
(section)h(to)g(claim)h(righ)m(ts)e(or)g(con)m(test)i(y)m(our)f(righ)m
(ts)f(to)330 3230 y(w)m(ork)34 b(written)f(en)m(tirely)i(b)m(y)f(y)m
(ou;)h(rather,)g(the)f(in)m(ten)m(t)h(is)e(to)i(exercise)f(the)g(righ)m
(t)g(to)h(con)m(trol)g(the)330 3340 y(distribution)30
b(of)g(deriv)-5 b(ativ)m(e)32 b(or)f(collectiv)m(e)i(w)m(orks)e(based)f
(on)g(the)h(Library)-8 b(.)330 3477 y(In)44 b(addition,)49
b(mere)c(aggregation)j(of)d(another)g(w)m(ork)g(not)g(based)f(on)h(the)
g(Library)f(with)h(the)330 3587 y(Library)27 b(\(or)h(with)f(a)h(w)m
(ork)g(based)f(on)h(the)g(Library\))f(on)g(a)h(v)m(olume)h(of)f(a)g
(storage)h(or)f(distribution)330 3696 y(medium)h(do)s(es)i(not)f(bring)
g(the)g(other)h(w)m(ork)f(under)f(the)i(scop)s(e)f(of)h(this)f
(License.)199 3833 y(3.)61 b(Y)-8 b(ou)32 b(ma)m(y)g(opt)f(to)h(apply)f
(the)g(terms)h(of)f(the)g(ordinary)g(GNU)h(General)g(Public)f(License)h
(instead)330 3943 y(of)27 b(this)g(License)g(to)h(a)f(giv)m(en)h(cop)m
(y)f(of)g(the)g(Library)-8 b(.)40 b(T)-8 b(o)27 b(do)g(this,)g(y)m(ou)g
(m)m(ust)g(alter)h(all)g(the)f(notices)330 4052 y(that)44
b(refer)g(to)g(this)g(License,)k(so)c(that)g(they)g(refer)g(to)g(the)g
(ordinary)f(GNU)i(General)f(Public)330 4162 y(License,)32
b(v)m(ersion)f(2,)g(instead)g(of)g(to)h(this)e(License.)43
b(\(If)30 b(a)h(new)m(er)g(v)m(ersion)g(than)g(v)m(ersion)g(2)g(of)g
(the)330 4271 y(ordinary)c(GNU)i(General)g(Public)e(License)i(has)e
(app)s(eared,)h(then)g(y)m(ou)g(can)g(sp)s(ecify)g(that)g(v)m(ersion)
330 4381 y(instead)j(if)f(y)m(ou)h(wish.\))40 b(Do)31
b(not)g(mak)m(e)g(an)m(y)g(other)g(c)m(hange)g(in)f(these)h(notices.)
330 4518 y(Once)25 b(this)g(c)m(hange)h(is)e(made)h(in)g(a)g(giv)m(en)h
(cop)m(y)-8 b(,)27 b(it)f(is)f(irrev)m(ersible)g(for)g(that)g(cop)m(y)
-8 b(,)27 b(so)f(the)f(ordinary)330 4628 y(GNU)e(General)g(Public)e
(License)i(applies)f(to)h(all)g(subsequen)m(t)e(copies)i(and)e(deriv)-5
b(ativ)m(e)24 b(w)m(orks)e(made)330 4737 y(from)30 b(that)h(cop)m(y)-8
b(.)330 4874 y(This)39 b(option)g(is)h(useful)f(when)f(y)m(ou)i(wish)e
(to)i(cop)m(y)h(part)e(of)g(the)h(co)s(de)f(of)h(the)g(Library)e(in)m
(to)j(a)330 4984 y(program)30 b(that)h(is)g(not)f(a)h(library)-8
b(.)199 5121 y(4.)61 b(Y)-8 b(ou)25 b(ma)m(y)g(cop)m(y)g(and)f
(distribute)g(the)g(Library)g(\(or)g(a)h(p)s(ortion)f(or)g(deriv)-5
b(ativ)m(e)26 b(of)f(it,)h(under)d(Section)330 5230 y(2\))h(in)f(ob)5
b(ject)25 b(co)s(de)f(or)f(executable)i(form)e(under)f(the)i(terms)f
(of)h(Sections)g(1)g(and)f(2)h(ab)s(o)m(v)m(e)g(pro)m(vided)330
5340 y(that)j(y)m(ou)f(accompan)m(y)h(it)g(with)e(the)h(complete)i
(corresp)s(onding)d(mac)m(hine-readable)i(source)f(co)s(de,)p
eop end
%%Page: 79 84
TeXDict begin 79 83 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(79)330 299 y(whic)m(h)38
b(m)m(ust)g(b)s(e)f(distributed)g(under)f(the)j(terms)e(of)i(Sections)f
(1)h(and)e(2)h(ab)s(o)m(v)m(e)i(on)d(a)i(medium)330 408
y(customarily)31 b(used)f(for)g(soft)m(w)m(are)i(in)m(terc)m(hange.)330
555 y(If)23 b(distribution)g(of)h(ob)5 b(ject)24 b(co)s(de)g(is)g(made)
g(b)m(y)f(o\013ering)i(access)f(to)h(cop)m(y)f(from)f(a)h(designated)h
(place,)330 664 y(then)g(o\013ering)g(equiv)-5 b(alen)m(t)27
b(access)f(to)g(cop)m(y)g(the)f(source)h(co)s(de)f(from)f(the)i(same)f
(place)h(satis\014es)g(the)330 774 y(requiremen)m(t)i(to)g(distribute)f
(the)h(source)g(co)s(de,)g(ev)m(en)h(though)e(third)g(parties)h(are)g
(not)g(comp)s(elled)330 883 y(to)j(cop)m(y)g(the)g(source)f(along)i
(with)e(the)g(ob)5 b(ject)32 b(co)s(de.)199 1029 y(5.)61
b(A)35 b(program)f(that)i(con)m(tains)g(no)e(deriv)-5
b(ativ)m(e)37 b(of)d(an)m(y)h(p)s(ortion)g(of)g(the)g(Library)-8
b(,)35 b(but)f(is)h(designed)330 1139 y(to)h(w)m(ork)f(with)g(the)h
(Library)e(b)m(y)h(b)s(eing)g(compiled)g(or)h(link)m(ed)f(with)g(it,)i
(is)f(called)g(a)g(\\w)m(ork)f(that)330 1249 y(uses)g(the)g(Library".)
54 b(Suc)m(h)34 b(a)h(w)m(ork,)i(in)e(isolation,)j(is)d(not)g(a)g
(deriv)-5 b(ativ)m(e)37 b(w)m(ork)e(of)g(the)g(Library)-8
b(,)330 1358 y(and)30 b(therefore)h(falls)f(outside)h(the)g(scop)s(e)f
(of)h(this)f(License.)330 1504 y(Ho)m(w)m(ev)m(er,)e(linking)d(a)g(\\w)
m(ork)g(that)g(uses)g(the)f(Library")h(with)f(the)h(Library)f(creates)i
(an)e(executable)330 1614 y(that)30 b(is)f(a)h(deriv)-5
b(ativ)m(e)30 b(of)g(the)f(Library)g(\(b)s(ecause)g(it)h(con)m(tains)g
(p)s(ortions)f(of)g(the)h(Library\),)f(rather)330 1724
y(than)22 b(a)g(\\w)m(ork)h(that)g(uses)e(the)i(library".)38
b(The)21 b(executable)j(is)e(therefore)g(co)m(v)m(ered)i(b)m(y)e(this)g
(License.)330 1833 y(Section)31 b(6)g(states)h(terms)e(for)g
(distribution)g(of)g(suc)m(h)g(executables.)330 1979
y(When)j(a)h(\\w)m(ork)g(that)h(uses)e(the)g(Library")h(uses)f
(material)i(from)e(a)h(header)f(\014le)h(that)g(is)f(part)h(of)330
2089 y(the)28 b(Library)-8 b(,)28 b(the)g(ob)5 b(ject)29
b(co)s(de)f(for)f(the)h(w)m(ork)g(ma)m(y)g(b)s(e)f(a)h(deriv)-5
b(ativ)m(e)30 b(w)m(ork)e(of)f(the)h(Library)f(ev)m(en)330
2198 y(though)h(the)h(source)g(co)s(de)g(is)g(not.)40
b(Whether)29 b(this)g(is)f(true)h(is)g(esp)s(ecially)h(signi\014can)m
(t)f(if)g(the)g(w)m(ork)330 2308 y(can)k(b)s(e)f(link)m(ed)h(without)g
(the)f(Library)-8 b(,)33 b(or)g(if)g(the)g(w)m(ork)f(is)h(itself)g(a)g
(library)-8 b(.)48 b(The)32 b(threshold)g(for)330 2418
y(this)e(to)h(b)s(e)f(true)g(is)h(not)f(precisely)h(de\014ned)e(b)m(y)i
(la)m(w.)330 2564 y(If)k(suc)m(h)g(an)h(ob)5 b(ject)37
b(\014le)e(uses)g(only)h(n)m(umerical)g(parameters,)i(data)e(structure)
f(la)m(y)m(outs)j(and)d(ac-)330 2673 y(cessors,)e(and)e(small)h(macros)
g(and)f(small)h(inline)f(functions)h(\(ten)g(lines)g(or)f(less)h(in)f
(length\),)i(then)330 2783 y(the)d(use)g(of)h(the)f(ob)5
b(ject)32 b(\014le)e(is)g(unrestricted,)h(regardless)f(of)h(whether)e
(it)i(is)f(legally)j(a)d(deriv)-5 b(ativ)m(e)330 2892
y(w)m(ork.)54 b(\(Executables)36 b(con)m(taining)h(this)e(ob)5
b(ject)35 b(co)s(de)g(plus)f(p)s(ortions)h(of)g(the)g(Library)f(will)h
(still)330 3002 y(fall)c(under)e(Section)i(6.\))330 3148
y(Otherwise,)26 b(if)f(the)g(w)m(ork)f(is)h(a)g(deriv)-5
b(ativ)m(e)27 b(of)e(the)g(Library)-8 b(,)25 b(y)m(ou)g(ma)m(y)h
(distribute)e(the)h(ob)5 b(ject)26 b(co)s(de)330 3258
y(for)31 b(the)g(w)m(ork)g(under)f(the)h(terms)g(of)g(Section)h(6.)43
b(An)m(y)31 b(executables)i(con)m(taining)f(that)g(w)m(ork)f(also)330
3367 y(fall)g(under)e(Section)i(6,)g(whether)f(or)g(not)h(they)f(are)h
(link)m(ed)g(directly)g(with)f(the)g(Library)g(itself.)199
3513 y(6.)61 b(As)40 b(an)f(exception)i(to)f(the)g(Sections)g(ab)s(o)m
(v)m(e,)j(y)m(ou)d(ma)m(y)g(also)h(com)m(bine)f(or)g(link)f(a)h(\\w)m
(ork)g(that)330 3623 y(uses)c(the)g(Library")g(with)f(the)i(Library)e
(to)i(pro)s(duce)d(a)j(w)m(ork)f(con)m(taining)i(p)s(ortions)d(of)h
(the)h(Li-)330 3733 y(brary)-8 b(,)37 b(and)f(distribute)g(that)g(w)m
(ork)h(under)d(terms)i(of)g(y)m(our)h(c)m(hoice,)i(pro)m(vided)d(that)h
(the)f(terms)330 3842 y(p)s(ermit)26 b(mo)s(di\014cation)i(of)f(the)g
(w)m(ork)g(for)g(the)g(customer's)h(o)m(wn)f(use)f(and)h(rev)m(erse)g
(engineering)h(for)330 3952 y(debugging)i(suc)m(h)g(mo)s
(di\014cations.)330 4098 y(Y)-8 b(ou)35 b(m)m(ust)f(giv)m(e)i(prominen)
m(t)e(notice)i(with)e(eac)m(h)h(cop)m(y)h(of)e(the)h(w)m(ork)f(that)h
(the)g(Library)e(is)i(used)330 4208 y(in)g(it)i(and)e(that)h(the)g
(Library)f(and)g(its)h(use)f(are)h(co)m(v)m(ered)h(b)m(y)f(this)g
(License.)57 b(Y)-8 b(ou)36 b(m)m(ust)f(supply)330 4317
y(a)j(cop)m(y)h(of)f(this)g(License.)64 b(If)37 b(the)h(w)m(ork)g
(during)f(execution)i(displa)m(ys)f(cop)m(yrigh)m(t)h(notices,)j(y)m
(ou)330 4427 y(m)m(ust)34 b(include)f(the)h(cop)m(yrigh)m(t)h(notice)g
(for)e(the)h(Library)f(among)h(them,)h(as)f(w)m(ell)h(as)e(a)h
(reference)330 4536 y(directing)d(the)g(user)e(to)i(the)g(cop)m(y)g(of)
g(this)f(License.)41 b(Also,)31 b(y)m(ou)g(m)m(ust)f(do)h(one)f(of)h
(these)g(things:)379 4682 y(a.)61 b(Accompan)m(y)40 b(the)f(w)m(ork)g
(with)g(the)g(complete)h(corresp)s(onding)e(mac)m(hine-readable)j
(source)510 4792 y(co)s(de)23 b(for)f(the)g(Library)f(including)h
(whatev)m(er)h(c)m(hanges)h(w)m(ere)e(used)g(in)g(the)g(w)m(ork)h
(\(whic)m(h)f(m)m(ust)510 4902 y(b)s(e)36 b(distributed)g(under)f
(Sections)i(1)h(and)e(2)h(ab)s(o)m(v)m(e\);)42 b(and,)37
b(if)g(the)g(w)m(ork)g(is)g(an)f(executable)510 5011
y(link)m(ed)c(with)f(the)h(Library)-8 b(,)31 b(with)g(the)h(complete)h
(mac)m(hine-readable)g(\\w)m(ork)f(that)g(uses)f(the)510
5121 y(Library",)46 b(as)e(ob)5 b(ject)44 b(co)s(de)f(and/or)g(source)g
(co)s(de,)k(so)c(that)h(the)g(user)e(can)h(mo)s(dify)g(the)510
5230 y(Library)28 b(and)g(then)h(relink)f(to)i(pro)s(duce)e(a)h(mo)s
(di\014ed)e(executable)k(con)m(taining)f(the)f(mo)s(di\014ed)510
5340 y(Library)-8 b(.)58 b(\(It)36 b(is)g(understo)s(o)s(d)f(that)h
(the)h(user)e(who)h(c)m(hanges)h(the)f(con)m(ten)m(ts)i(of)e
(de\014nitions)p eop end
%%Page: 80 85
TeXDict begin 80 84 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(80)510 299 y(\014les)29
b(in)g(the)g(Library)f(will)h(not)h(necessarily)f(b)s(e)g(able)g(to)h
(recompile)g(the)f(application)i(to)e(use)510 408 y(the)i(mo)s
(di\014ed)e(de\014nitions.\))374 536 y(b.)60 b(Use)33
b(a)g(suitable)g(shared)f(library)h(mec)m(hanism)g(for)f(linking)h
(with)f(the)h(Library)-8 b(.)48 b(A)32 b(suitable)510
646 y(mec)m(hanism)h(is)h(one)f(that)h(\(1\))g(uses)f(at)h(run)d(time)j
(a)g(cop)m(y)g(of)f(the)g(library)g(already)h(presen)m(t)510
756 y(on)44 b(the)g(user's)g(computer)g(system,)k(rather)c(than)g(cop)m
(ying)h(library)f(functions)g(in)m(to)h(the)510 865 y(executable,)32
b(and)d(\(2\))i(will)f(op)s(erate)h(prop)s(erly)d(with)i(a)g(mo)s
(di\014ed)e(v)m(ersion)j(of)f(the)g(library)-8 b(,)30
b(if)510 975 y(the)j(user)f(installs)i(one,)g(as)f(long)h(as)f(the)g
(mo)s(di\014ed)f(v)m(ersion)h(is)g(in)m(terface-compatible)j(with)510
1084 y(the)31 b(v)m(ersion)f(that)h(the)g(w)m(ork)f(w)m(as)h(made)g
(with.)384 1212 y(c.)61 b(Accompan)m(y)27 b(the)g(w)m(ork)f(with)g(a)h
(written)f(o\013er,)i(v)-5 b(alid)26 b(for)g(at)h(least)h(three)e(y)m
(ears,)i(to)f(giv)m(e)h(the)510 1322 y(same)37 b(user)f(the)h
(materials)i(sp)s(eci\014ed)d(in)g(Subsection)h(6a,)i(ab)s(o)m(v)m(e,)h
(for)d(a)g(c)m(harge)h(no)f(more)510 1431 y(than)30 b(the)h(cost)g(of)g
(p)s(erforming)e(this)h(distribution.)374 1559 y(d.)60
b(If)36 b(distribution)f(of)i(the)f(w)m(ork)h(is)f(made)g(b)m(y)g
(o\013ering)h(access)h(to)f(cop)m(y)g(from)f(a)g(designated)510
1669 y(place,)d(o\013er)e(equiv)-5 b(alen)m(t)33 b(access)f(to)g(cop)m
(y)g(the)f(ab)s(o)m(v)m(e)i(sp)s(eci\014ed)d(materials)j(from)d(the)i
(same)510 1778 y(place.)384 1906 y(e.)61 b(V)-8 b(erify)25
b(that)h(the)f(user)f(has)g(already)i(receiv)m(ed)g(a)f(cop)m(y)g(of)g
(these)g(materials)i(or)d(that)i(y)m(ou)f(ha)m(v)m(e)510
2016 y(already)31 b(sen)m(t)g(this)f(user)g(a)h(cop)m(y)-8
b(.)330 2162 y(F)g(or)29 b(an)g(executable,)i(the)d(required)g(form)g
(of)h(the)g(\\w)m(ork)g(that)g(uses)f(the)h(Library")f(m)m(ust)g
(include)330 2271 y(an)m(y)d(data)h(and)f(utilit)m(y)h(programs)f
(needed)g(for)g(repro)s(ducing)e(the)j(executable)g(from)f(it.)40
b(Ho)m(w)m(ev)m(er,)330 2381 y(as)32 b(a)h(sp)s(ecial)f(exception,)i
(the)e(materials)h(to)g(b)s(e)e(distributed)g(need)h(not)g(include)g
(an)m(ything)g(that)330 2491 y(is)j(normally)h(distributed)e(\(in)h
(either)h(source)f(or)g(binary)f(form\))h(with)g(the)h(ma)5
b(jor)35 b(comp)s(onen)m(ts)330 2600 y(\(compiler,)40
b(k)m(ernel,)g(and)c(so)i(on\))f(of)g(the)h(op)s(erating)f(system)g(on)
g(whic)m(h)g(the)h(executable)g(runs,)330 2710 y(unless)30
b(that)h(comp)s(onen)m(t)f(itself)i(accompanies)f(the)g(executable.)330
2838 y(It)j(ma)m(y)g(happ)s(en)d(that)j(this)g(requiremen)m(t)f(con)m
(tradicts)i(the)f(license)h(restrictions)f(of)f(other)h(pro-)330
2947 y(prietary)e(libraries)h(that)f(do)g(not)h(normally)f(accompan)m
(y)i(the)e(op)s(erating)h(system.)46 b(Suc)m(h)32 b(a)g(con-)330
3057 y(tradiction)e(means)f(y)m(ou)g(cannot)g(use)g(b)s(oth)f(them)h
(and)f(the)h(Library)f(together)i(in)f(an)f(executable)330
3166 y(that)j(y)m(ou)g(distribute.)199 3294 y(7.)61 b(Y)-8
b(ou)36 b(ma)m(y)g(place)h(library)e(facilities)j(that)e(are)h(a)f(w)m
(ork)f(based)h(on)f(the)h(Library)f(side-b)m(y-side)h(in)330
3404 y(a)f(single)g(library)g(together)h(with)e(other)h(library)f
(facilities)j(not)e(co)m(v)m(ered)h(b)m(y)e(this)h(License,)i(and)330
3513 y(distribute)27 b(suc)m(h)h(a)g(com)m(bined)g(library)-8
b(,)28 b(pro)m(vided)g(that)g(the)g(separate)h(distribution)e(of)h(the)
g(w)m(ork)330 3623 y(based)41 b(on)f(the)h(Library)g(and)f(of)h(the)g
(other)g(library)g(facilities)i(is)e(otherwise)g(p)s(ermitted,)j(and)
330 3733 y(pro)m(vided)30 b(that)h(y)m(ou)g(do)f(these)h(t)m(w)m(o)g
(things:)379 3861 y(a.)61 b(Accompan)m(y)45 b(the)f(com)m(bined)h
(library)e(with)h(a)g(cop)m(y)h(of)f(the)h(same)f(w)m(ork)g(based)g(on)
g(the)510 3970 y(Library)-8 b(,)40 b(uncom)m(bined)d(with)g(an)m(y)h
(other)g(library)g(facilities.)65 b(This)37 b(m)m(ust)h(b)s(e)f
(distributed)510 4080 y(under)29 b(the)h(terms)h(of)f(the)h(Sections)g
(ab)s(o)m(v)m(e.)374 4208 y(b.)60 b(Giv)m(e)24 b(prominen)m(t)d(notice)
j(with)e(the)g(com)m(bined)h(library)e(of)i(the)f(fact)h(that)g(part)f
(of)g(it)h(is)f(a)h(w)m(ork)510 4317 y(based)k(on)g(the)g(Library)-8
b(,)28 b(and)e(explaining)i(where)e(to)i(\014nd)e(the)h(accompan)m
(ying)i(uncom)m(bined)510 4427 y(form)h(of)g(the)h(same)g(w)m(ork.)199
4555 y(8.)61 b(Y)-8 b(ou)46 b(ma)m(y)g(not)f(cop)m(y)-8
b(,)51 b(mo)s(dify)-8 b(,)49 b(sublicense,)g(link)c(with,)k(or)c
(distribute)g(the)h(Library)e(except)330 4664 y(as)g(expressly)f(pro)m
(vided)g(under)f(this)h(License.)80 b(An)m(y)44 b(attempt)g(otherwise)g
(to)g(cop)m(y)-8 b(,)48 b(mo)s(dify)-8 b(,)330 4774 y(sublicense,)25
b(link)f(with,)i(or)e(distribute)f(the)i(Library)e(is)h(v)m(oid,)i(and)
e(will)g(automatically)j(terminate)330 4883 y(y)m(our)35
b(righ)m(ts)h(under)d(this)j(License.)55 b(Ho)m(w)m(ev)m(er,)39
b(parties)d(who)f(ha)m(v)m(e)h(receiv)m(ed)h(copies,)g(or)e(righ)m(ts,)
330 4993 y(from)k(y)m(ou)i(under)d(this)i(License)g(will)h(not)f(ha)m
(v)m(e)h(their)f(licenses)h(terminated)f(so)h(long)f(as)g(suc)m(h)330
5103 y(parties)31 b(remain)f(in)g(full)g(compliance.)199
5230 y(9.)61 b(Y)-8 b(ou)38 b(are)g(not)g(required)e(to)i(accept)h
(this)f(License,)i(since)e(y)m(ou)f(ha)m(v)m(e)i(not)f(signed)f(it.)63
b(Ho)m(w)m(ev)m(er,)330 5340 y(nothing)27 b(else)i(gran)m(ts)f(y)m(ou)f
(p)s(ermission)g(to)h(mo)s(dify)f(or)g(distribute)g(the)h(Library)e(or)
i(its)f(deriv)-5 b(ativ)m(e)p eop end
%%Page: 81 86
TeXDict begin 81 85 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(81)330 299 y(w)m(orks.)38
b(These)23 b(actions)h(are)g(prohibited)e(b)m(y)h(la)m(w)h(if)f(y)m(ou)
g(do)g(not)h(accept)g(this)f(License.)39 b(Therefore,)330
408 y(b)m(y)k(mo)s(difying)g(or)g(distributing)f(the)i(Library)e(\(or)h
(an)m(y)h(w)m(ork)f(based)g(on)g(the)g(Library\),)k(y)m(ou)330
518 y(indicate)33 b(y)m(our)g(acceptance)h(of)f(this)f(License)h(to)h
(do)e(so,)h(and)f(all)h(its)g(terms)f(and)g(conditions)h(for)330
628 y(cop)m(ying,)f(distributing)d(or)i(mo)s(difying)e(the)i(Library)f
(or)g(w)m(orks)g(based)g(on)h(it.)154 778 y(10.)61 b(Eac)m(h)22
b(time)g(y)m(ou)g(redistribute)f(the)h(Library)f(\(or)g(an)m(y)h(w)m
(ork)g(based)f(on)g(the)h(Library\),)h(the)f(recipien)m(t)330
888 y(automatically)32 b(receiv)m(es)e(a)g(license)f(from)g(the)g
(original)h(licensor)f(to)h(cop)m(y)-8 b(,)31 b(distribute,)d(link)h
(with)330 998 y(or)f(mo)s(dify)f(the)h(Library)f(sub)5
b(ject)27 b(to)i(these)f(terms)g(and)f(conditions.)40
b(Y)-8 b(ou)29 b(ma)m(y)f(not)g(imp)s(ose)g(an)m(y)330
1107 y(further)e(restrictions)j(on)e(the)h(recipien)m(ts')h(exercise)f
(of)g(the)g(righ)m(ts)g(gran)m(ted)g(herein.)40 b(Y)-8
b(ou)28 b(are)g(not)330 1217 y(resp)s(onsible)h(for)i(enforcing)f
(compliance)i(b)m(y)e(third)g(parties)g(with)h(this)f(License.)154
1367 y(11.)61 b(If,)27 b(as)g(a)g(consequence)h(of)f(a)g(court)g
(judgmen)m(t)f(or)h(allegation)i(of)e(paten)m(t)h(infringemen)m(t)e(or)
h(for)g(an)m(y)330 1477 y(other)h(reason)f(\(not)h(limited)g(to)g
(paten)m(t)h(issues\),)f(conditions)g(are)f(imp)s(osed)g(on)g(y)m(ou)h
(\(whether)f(b)m(y)330 1587 y(court)c(order,)h(agreemen)m(t)g(or)f
(otherwise\))g(that)g(con)m(tradict)i(the)d(conditions)h(of)g(this)g
(License,)i(they)330 1696 y(do)34 b(not)g(excuse)h(y)m(ou)f(from)g(the)
g(conditions)h(of)f(this)g(License.)53 b(If)33 b(y)m(ou)i(cannot)g
(distribute)e(so)i(as)330 1806 y(to)f(satisfy)g(sim)m(ultaneously)h(y)m
(our)e(obligations)j(under)c(this)h(License)h(and)f(an)m(y)h(other)g(p)
s(ertinen)m(t)330 1915 y(obligations,)48 b(then)43 b(as)g(a)g
(consequence)h(y)m(ou)f(ma)m(y)h(not)f(distribute)g(the)g(Library)f(at)
i(all.)79 b(F)-8 b(or)330 2025 y(example,)30 b(if)e(a)g(paten)m(t)h
(license)h(w)m(ould)e(not)g(p)s(ermit)f(ro)m(y)m(alt)m(y-free)32
b(redistribution)27 b(of)h(the)h(Library)330 2134 y(b)m(y)35
b(all)h(those)f(who)f(receiv)m(e)j(copies)f(directly)f(or)g(indirectly)
h(through)e(y)m(ou,)i(then)f(the)g(only)g(w)m(a)m(y)330
2244 y(y)m(ou)27 b(could)f(satisfy)h(b)s(oth)e(it)i(and)f(this)g
(License)h(w)m(ould)f(b)s(e)g(to)h(refrain)e(en)m(tirely)j(from)e
(distribution)330 2354 y(of)31 b(the)f(Library)-8 b(.)330
2504 y(If)43 b(an)m(y)g(p)s(ortion)g(of)g(this)h(section)g(is)f(held)g
(in)m(v)-5 b(alid)44 b(or)f(unenforceable)g(under)f(an)m(y)i
(particular)330 2614 y(circumstance,)i(the)c(balance)g(of)g(the)g
(section)h(is)f(in)m(tended)f(to)i(apply)-8 b(,)45 b(and)c(the)h
(section)h(as)f(a)330 2724 y(whole)31 b(is)f(in)m(tended)g(to)h(apply)f
(in)g(other)h(circumstances.)330 2874 y(It)41 b(is)f(not)h(the)f(purp)s
(ose)f(of)i(this)f(section)i(to)f(induce)f(y)m(ou)h(to)g(infringe)f(an)
m(y)h(paten)m(ts)g(or)g(other)330 2984 y(prop)s(ert)m(y)e(righ)m(t)i
(claims)f(or)g(to)h(con)m(test)h(v)-5 b(alidit)m(y)41
b(of)f(an)m(y)g(suc)m(h)g(claims;)45 b(this)40 b(section)h(has)f(the)
330 3093 y(sole)33 b(purp)s(ose)e(of)h(protecting)h(the)g(in)m(tegrit)m
(y)h(of)e(the)g(free)h(soft)m(w)m(are)g(distribution)f(system)g(whic)m
(h)330 3203 y(is)j(implemen)m(ted)h(b)m(y)f(public)f(license)i
(practices.)56 b(Man)m(y)36 b(p)s(eople)f(ha)m(v)m(e)h(made)f(generous)
h(con)m(tri-)330 3313 y(butions)f(to)h(the)f(wide)h(range)f(of)h(soft)m
(w)m(are)h(distributed)d(through)h(that)h(system)f(in)g(reliance)i(on)
330 3422 y(consisten)m(t)g(application)g(of)e(that)h(system;)i(it)e(is)
g(up)e(to)i(the)g(author/donor)f(to)h(decide)g(if)g(he)f(or)330
3532 y(she)i(is)h(willing)g(to)g(distribute)f(soft)m(w)m(are)i(through)
e(an)m(y)g(other)h(system)g(and)f(a)g(licensee)i(cannot)330
3641 y(imp)s(ose)30 b(that)h(c)m(hoice.)330 3792 y(This)26
b(section)j(is)e(in)m(tended)g(to)h(mak)m(e)g(thoroughly)f(clear)h
(what)f(is)g(b)s(eliev)m(ed)h(to)g(b)s(e)f(a)g(consequence)330
3902 y(of)k(the)f(rest)h(of)f(this)g(License.)154 4052
y(12.)61 b(If)38 b(the)h(distribution)f(and/or)h(use)f(of)h(the)g
(Library)f(is)h(restricted)g(in)f(certain)i(coun)m(tries)f(either)330
4162 y(b)m(y)c(paten)m(ts)h(or)g(b)m(y)f(cop)m(yrigh)m(ted)i(in)m
(terfaces,)h(the)d(original)i(cop)m(yrigh)m(t)g(holder)e(who)g(places)h
(the)330 4271 y(Library)k(under)g(this)h(License)g(ma)m(y)h(add)e(an)h
(explicit)i(geographical)g(distribution)d(limitation)330
4381 y(excluding)29 b(those)g(coun)m(tries,)h(so)f(that)g(distribution)
f(is)g(p)s(ermitted)h(only)f(in)g(or)h(among)g(coun)m(tries)330
4491 y(not)k(th)m(us)f(excluded.)48 b(In)32 b(suc)m(h)g(case,)j(this)d
(License)i(incorp)s(orates)f(the)g(limitation)h(as)f(if)g(written)330
4600 y(in)d(the)h(b)s(o)s(dy)d(of)j(this)f(License.)154
4751 y(13.)61 b(The)32 b(F)-8 b(ree)33 b(Soft)m(w)m(are)g(F)-8
b(oundation)33 b(ma)m(y)f(publish)f(revised)h(and/or)g(new)f(v)m
(ersions)i(of)f(the)g(Lesser)330 4861 y(General)i(Public)f(License)g
(from)g(time)g(to)h(time.)49 b(Suc)m(h)33 b(new)f(v)m(ersions)h(will)h
(b)s(e)e(similar)h(in)g(spirit)330 4970 y(to)e(the)g(presen)m(t)f(v)m
(ersion,)h(but)f(ma)m(y)h(di\013er)f(in)g(detail)i(to)f(address)e(new)h
(problems)g(or)g(concerns.)330 5121 y(Eac)m(h)c(v)m(ersion)g(is)g(giv)m
(en)h(a)f(distinguishing)f(v)m(ersion)h(n)m(um)m(b)s(er.)38
b(If)25 b(the)h(Library)f(sp)s(eci\014es)g(a)h(v)m(ersion)330
5230 y(n)m(um)m(b)s(er)19 b(of)i(this)f(License)h(whic)m(h)f(applies)h
(to)g(it)g(and)f(\\an)m(y)h(later)g(v)m(ersion",)j(y)m(ou)d(ha)m(v)m(e)
g(the)g(option)g(of)330 5340 y(follo)m(wing)h(the)e(terms)h(and)f
(conditions)g(either)h(of)g(that)g(v)m(ersion)g(or)f(of)h(an)m(y)f
(later)i(v)m(ersion)f(published)p eop end
%%Page: 82 87
TeXDict begin 82 86 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(82)330 299 y(b)m(y)41
b(the)h(F)-8 b(ree)42 b(Soft)m(w)m(are)h(F)-8 b(oundation.)74
b(If)41 b(the)h(Library)e(do)s(es)i(not)f(sp)s(ecify)g(a)h(license)g(v)
m(ersion)330 408 y(n)m(um)m(b)s(er,)29 b(y)m(ou)h(ma)m(y)h(c)m(ho)s
(ose)g(an)m(y)f(v)m(ersion)h(ev)m(er)g(published)d(b)m(y)i(the)g(F)-8
b(ree)31 b(Soft)m(w)m(are)g(F)-8 b(oundation.)154 543
y(14.)61 b(If)25 b(y)m(ou)h(wish)e(to)j(incorp)s(orate)f(parts)f(of)g
(the)h(Library)f(in)m(to)h(other)g(free)f(programs)h(whose)f(distribu-)
330 653 y(tion)30 b(conditions)g(are)g(incompatible)h(with)e(these,)h
(write)g(to)g(the)g(author)f(to)i(ask)e(for)h(p)s(ermission.)330
762 y(F)-8 b(or)33 b(soft)m(w)m(are)h(whic)m(h)e(is)h(cop)m(yrigh)m
(ted)h(b)m(y)e(the)h(F)-8 b(ree)34 b(Soft)m(w)m(are)f(F)-8
b(oundation,)34 b(write)f(to)g(the)g(F)-8 b(ree)330 872
y(Soft)m(w)m(are)42 b(F)-8 b(oundation;)47 b(w)m(e)41
b(sometimes)h(mak)m(e)g(exceptions)f(for)g(this.)72 b(Our)39
b(decision)i(will)h(b)s(e)330 981 y(guided)30 b(b)m(y)h(the)g(t)m(w)m
(o)h(goals)g(of)f(preserving)f(the)h(free)g(status)g(of)g(all)h(deriv)
-5 b(ativ)m(es)32 b(of)f(our)f(free)h(soft-)330 1091
y(w)m(are)g(and)f(of)g(promoting)h(the)f(sharing)g(and)g(reuse)g(of)h
(soft)m(w)m(are)h(generally)-8 b(.)330 1323 y Fw(NO)45
b(W)-15 b(ARRANTY)154 1483 y Fx(15.)61 b(BECA)m(USE)47
b(THE)f(LIBRAR)-8 b(Y)48 b(IS)e(LICENSED)g(FREE)g(OF)h(CHAR)m(GE,)h
(THERE)e(IS)g(NO)330 1592 y(W)-10 b(ARRANTY)33 b(F)m(OR)h(THE)e(LIBRAR)
-8 b(Y,)34 b(TO)e(THE)g(EXTENT)h(PERMITTED)f(BY)h(APPLI-)330
1702 y(CABLE)27 b(LA)-10 b(W.)27 b(EX)m(CEPT)g(WHEN)h(OTHER)-10
b(WISE)25 b(ST)-8 b(A)g(TED)28 b(IN)e(WRITING)i(THE)e(COPY-)330
1812 y(RIGHT)f(HOLDERS)f(AND/OR)i(OTHER)e(P)-8 b(AR)g(TIES)25
b(PR)m(O)m(VIDE)g(THE)g(LIBRAR)-8 b(Y)25 b(\\AS)g(IS")330
1921 y(WITHOUT)40 b(W)-10 b(ARRANTY)42 b(OF)f(ANY)g(KIND,)g(EITHER)f
(EXPRESSED)g(OR)h(IMPLIED,)330 2031 y(INCLUDING,)33 b(BUT)g(NOT)g
(LIMITED)f(TO,)g(THE)h(IMPLIED)g(W)-10 b(ARRANTIES)32
b(OF)h(MER-)330 2140 y(CHANT)-8 b(ABILITY)28 b(AND)g(FITNESS)e(F)m(OR)i
(A)g(P)-8 b(AR)g(TICULAR)27 b(PURPOSE.)g(THE)g(ENTIRE)330
2250 y(RISK)f(AS)g(TO)g(THE)h(QUALITY)f(AND)h(PERF)m(ORMANCE)g(OF)g
(THE)f(LIBRAR)-8 b(Y)28 b(IS)e(WITH)330 2359 y(YOU.)j(SHOULD)f(THE)h
(LIBRAR)-8 b(Y)29 b(PR)m(O)m(VE)g(DEFECTIVE,)f(YOU)h(ASSUME)f(THE)g
(COST)330 2469 y(OF)i(ALL)g(NECESSAR)-8 b(Y)30 b(SER)-10
b(VICING,)30 b(REP)-8 b(AIR)30 b(OR)g(CORRECTION.)154
2604 y(16.)61 b(IN)26 b(NO)g(EVENT)g(UNLESS)f(REQUIRED)h(BY)h
(APPLICABLE)f(LA)-10 b(W)26 b(OR)g(A)m(GREED)h(TO)f(IN)330
2713 y(WRITING)37 b(WILL)f(ANY)i(COPYRIGHT)e(HOLDER,)h(OR)f(ANY)h
(OTHER)f(P)-8 b(AR)g(TY)38 b(WHO)330 2823 y(MA)-8 b(Y)62
b(MODIFY)g(AND/OR)g(REDISTRIBUTE)e(THE)h(LIBRAR)-8 b(Y)62
b(AS)f(PERMITTED)330 2932 y(ABO)m(VE,)40 b(BE)f(LIABLE)f(TO)g(YOU)h(F)m
(OR)g(D)m(AMA)m(GES,)h(INCLUDING)f(ANY)h(GENERAL,)330
3042 y(SPECIAL,)e(INCIDENT)-8 b(AL)40 b(OR)e(CONSEQUENTIAL)g(D)m(AMA)m
(GES)j(ARISING)e(OUT)g(OF)330 3152 y(THE)51 b(USE)g(OR)g(INABILITY)h
(TO)f(USE)g(THE)g(LIBRAR)-8 b(Y)52 b(\(INCLUDING)h(BUT)e(NOT)330
3261 y(LIMITED)29 b(TO)g(LOSS)f(OF)h(D)m(A)-8 b(T)g(A)31
b(OR)e(D)m(A)-8 b(T)g(A)31 b(BEING)f(RENDERED)g(INA)m(CCURA)-8
b(TE)29 b(OR)330 3371 y(LOSSES)38 b(SUST)-8 b(AINED)40
b(BY)h(YOU)f(OR)g(THIRD)g(P)-8 b(AR)g(TIES)40 b(OR)g(A)h(F)-10
b(AILURE)40 b(OF)g(THE)330 3480 y(LIBRAR)-8 b(Y)48 b(TO)f(OPERA)-8
b(TE)47 b(WITH)h(ANY)g(OTHER)f(SOFTW)-10 b(ARE\),)47
b(EVEN)h(IF)f(SUCH)330 3590 y(HOLDER)33 b(OR)h(OTHER)f(P)-8
b(AR)g(TY)34 b(HAS)f(BEEN)h(AD)m(VISED)g(OF)g(THE)f(POSSIBILITY)f(OF)
330 3699 y(SUCH)e(D)m(AMA)m(GES.)150 3932 y Fw(END)45
b(OF)g(TERMS)f(AND)h(CONDITIONS)p eop end
%%Page: 83 88
TeXDict begin 83 87 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(83)150 299 y Fq(Ho)m(w)40
b(to)h(Apply)g(These)h(T)-10 b(erms)42 b(to)f(Y)-10 b(our)41
b(New)f(Libraries)150 446 y Fx(If)24 b(y)m(ou)i(dev)m(elop)g(a)f(new)f
(library)-8 b(,)27 b(and)d(y)m(ou)h(w)m(an)m(t)h(it)f(to)h(b)s(e)e(of)i
(the)f(greatest)h(p)s(ossible)f(use)g(to)g(the)g(public,)150
555 y(w)m(e)k(recommend)f(making)g(it)h(free)f(soft)m(w)m(are)i(that)f
(ev)m(ery)m(one)h(can)e(redistribute)g(and)g(c)m(hange.)41
b(Y)-8 b(ou)29 b(can)150 665 y(do)i(so)g(b)m(y)g(p)s(ermitting)g
(redistribution)g(under)e(these)j(terms)f(\(or,)g(alternativ)m(ely)-8
b(,)35 b(under)30 b(the)h(terms)g(of)150 775 y(the)g(ordinary)e
(General)j(Public)e(License\).)275 903 y(T)-8 b(o)34
b(apply)g(these)g(terms,)h(attac)m(h)h(the)e(follo)m(wing)i(notices)f
(to)g(the)f(library)-8 b(.)51 b(It)35 b(is)f(safest)g(to)h(attac)m(h)
150 1013 y(them)f(to)i(the)e(start)h(of)g(eac)m(h)h(source)e(\014le)h
(to)g(most)g(e\013ectiv)m(ely)i(con)m(v)m(ey)f(the)f(exclusion)g(of)g
(w)m(arran)m(t)m(y;)150 1122 y(and)26 b(eac)m(h)i(\014le)f(should)e(ha)
m(v)m(e)j(at)f(least)h(the)f(\\cop)m(yrigh)m(t")i(line)e(and)f(a)h(p)s
(oin)m(ter)g(to)g(where)f(the)h(full)g(notice)150 1232
y(is)j(found.)390 1338 y Fc(one)40 b(line)g(to)g(give)g(the)g
(library's)h(name)f(and)g(an)g(idea)g(of)g(what)g(it)f(does.)390
1425 y Fd(Copyright)i(\(C\))f Fc(year)88 b(name)40 b(of)g(author)390
1600 y Fd(This)g(library)h(is)f(free)g(software;)h(you)f(can)g
(redistribute)i(it)e(and/or)g(modify)h(it)390 1687 y(under)f(the)g
(terms)h(of)e(the)h(GNU)g(Lesser)h(General)g(Public)f(License)h(as)f
(published)h(by)390 1774 y(the)f(Free)g(Software)h(Foundation;)h
(either)e(version)h(2.1)f(of)g(the)g(License,)h(or)e(\(at)390
1861 y(your)h(option\))h(any)f(later)g(version.)390 2036
y(This)g(library)h(is)f(distributed)h(in)f(the)g(hope)g(that)g(it)g
(will)g(be)g(useful,)h(but)390 2123 y(WITHOUT)g(ANY)f(WARRANTY;)h
(without)g(even)f(the)g(implied)h(warranty)g(of)390 2210
y(MERCHANTABILITY)i(or)c(FITNESS)i(FOR)f(A)g(PARTICULAR)h(PURPOSE.)80
b(See)40 b(the)g(GNU)390 2297 y(Lesser)h(General)f(Public)h(License)g
(for)f(more)g(details.)390 2472 y(You)g(should)g(have)h(received)g(a)e
(copy)h(of)g(the)g(GNU)g(Lesser)g(General)h(Public)390
2559 y(License)g(along)f(with)g(this)g(library;)i(if)d(not,)h(write)h
(to)e(the)h(Free)g(Software)390 2646 y(Foundation,)i(Inc.,)e(51)g
(Franklin)h(Street,)g(Fifth)f(Floor,)h(Boston,)f(MA)g(02110-1301,)390
2733 y(USA.)275 2862 y Fx(Also)31 b(add)e(information)i(on)f(ho)m(w)h
(to)g(con)m(tact)i(y)m(ou)d(b)m(y)g(electronic)j(and)d(pap)s(er)f
(mail.)275 2990 y(Y)-8 b(ou)28 b(should)f(also)i(get)g(y)m(our)f(emplo)
m(y)m(er)h(\(if)f(y)m(ou)g(w)m(ork)g(as)h(a)f(programmer\))g(or)g(y)m
(our)f(sc)m(ho)s(ol,)j(if)e(an)m(y)-8 b(,)150 3100 y(to)38
b(sign)g(a)g(\\cop)m(yrigh)m(t)i(disclaimer")f(for)e(the)h(library)-8
b(,)40 b(if)e(necessary)-8 b(.)63 b(Here)38 b(is)g(a)g(sample;)k(alter)
d(the)150 3210 y(names:)390 3316 y Fd(Yoyodyne,)i(Inc.,)g(hereby)f
(disclaims)i(all)d(copyright)j(interest)f(in)e(the)h(library)390
3403 y(`Frob')h(\(a)e(library)i(for)f(tweaking)h(knobs\))g(written)f
(by)g(James)h(Random)f(Hacker.)390 3577 y Fc(signature)h(of)f(Ty)g
(Coon)9 b Fd(,)40 b(1)f(April)h(1990)390 3665 y(Ty)g(Coon,)g(President)
h(of)f(Vice)275 3793 y Fx(That's)30 b(all)h(there)g(is)f(to)h(it!)150
4014 y Fw(C.3)68 b(GNU)45 b(General)h(Public)e(License)1477
4154 y Fx(V)-8 b(ersion)31 b(3,)g(29)g(June)e(2007)390
4283 y(Cop)m(yrigh)m(t)842 4280 y(c)817 4283 y Fv(\015)h
Fx(2007)i(F)-8 b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation,)32
b(Inc.)e Fr(http://fsf.org/)390 4502 y Fx(Ev)m(ery)m(one)h(is)g(p)s
(ermitted)f(to)h(cop)m(y)g(and)f(distribute)g(v)m(erbatim)h(copies)g
(of)g(this)390 4612 y(license)g(do)s(cumen)m(t,)g(but)e(c)m(hanging)j
(it)f(is)f(not)h(allo)m(w)m(ed.)150 4833 y Fw(Pream)l(ble)150
4992 y Fx(The)g(GNU)g(General)h(Public)f(License)h(is)f(a)h(free,)f
(cop)m(yleft)i(license)f(for)f(soft)m(w)m(are)i(and)d(other)i(kinds)e
(of)150 5102 y(w)m(orks.)275 5230 y(The)d(licenses)i(for)e(most)i(soft)
m(w)m(are)g(and)e(other)i(practical)g(w)m(orks)f(are)g(designed)g(to)h
(tak)m(e)g(a)m(w)m(a)m(y)h(y)m(our)150 5340 y(freedom)k(to)h(share)e
(and)h(c)m(hange)h(the)f(w)m(orks.)51 b(By)35 b(con)m(trast,)h(the)e
(GNU)h(General)g(Public)e(License)i(is)p eop end
%%Page: 84 89
TeXDict begin 84 88 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(84)150 299 y(in)m(tended)25
b(to)h(guaran)m(tee)h(y)m(our)e(freedom)g(to)h(share)f(and)f(c)m(hange)
j(all)f(v)m(ersions)f(of)h(a)f(program|to)h(mak)m(e)150
408 y(sure)35 b(it)h(remains)f(free)h(soft)m(w)m(are)h(for)f(all)g(its)
g(users.)56 b(W)-8 b(e,)38 b(the)e(F)-8 b(ree)37 b(Soft)m(w)m(are)g(F)
-8 b(oundation,)37 b(use)f(the)150 518 y(GNU)j(General)g(Public)f
(License)g(for)g(most)h(of)f(our)f(soft)m(w)m(are;)44
b(it)39 b(applies)f(also)h(to)g(an)m(y)f(other)h(w)m(ork)150
628 y(released)31 b(this)f(w)m(a)m(y)i(b)m(y)e(its)h(authors.)40
b(Y)-8 b(ou)31 b(can)g(apply)f(it)h(to)g(y)m(our)f(programs,)g(to)s(o.)
275 774 y(When)37 b(w)m(e)g(sp)s(eak)g(of)g(free)h(soft)m(w)m(are,)i(w)
m(e)e(are)g(referring)e(to)i(freedom,)h(not)f(price.)61
b(Our)36 b(General)150 884 y(Public)e(Licenses)g(are)h(designed)f(to)h
(mak)m(e)g(sure)f(that)g(y)m(ou)h(ha)m(v)m(e)g(the)g(freedom)f(to)g
(distribute)g(copies)150 993 y(of)e(free)f(soft)m(w)m(are)i(\(and)e(c)m
(harge)i(for)e(them)h(if)f(y)m(ou)h(wish\),)f(that)h(y)m(ou)g(receiv)m
(e)h(source)f(co)s(de)g(or)f(can)h(get)150 1103 y(it)e(if)f(y)m(ou)g(w)
m(an)m(t)i(it,)f(that)g(y)m(ou)f(can)h(c)m(hange)g(the)f(soft)m(w)m
(are)i(or)e(use)g(pieces)h(of)f(it)h(in)f(new)g(free)g(programs,)150
1213 y(and)h(that)h(y)m(ou)f(kno)m(w)h(y)m(ou)g(can)f(do)g(these)h
(things.)275 1359 y(T)-8 b(o)24 b(protect)h(y)m(our)f(righ)m(ts,)i(w)m
(e)f(need)f(to)h(prev)m(en)m(t)g(others)f(from)g(den)m(ying)g(y)m(ou)g
(these)h(righ)m(ts)f(or)g(asking)150 1469 y(y)m(ou)37
b(to)g(surrender)d(the)j(righ)m(ts.)60 b(Therefore,)38
b(y)m(ou)f(ha)m(v)m(e)g(certain)h(resp)s(onsibilities)e(if)h(y)m(ou)f
(distribute)150 1578 y(copies)30 b(of)f(the)g(soft)m(w)m(are,)i(or)e
(if)f(y)m(ou)i(mo)s(dify)e(it:)40 b(resp)s(onsibilities)29
b(to)h(resp)s(ect)f(the)g(freedom)g(of)g(others.)275
1725 y(F)-8 b(or)30 b(example,)g(if)g(y)m(ou)f(distribute)g(copies)i
(of)e(suc)m(h)g(a)h(program,)g(whether)e(gratis)j(or)e(for)g(a)h(fee,)h
(y)m(ou)150 1834 y(m)m(ust)i(pass)f(on)h(to)h(the)f(recipien)m(ts)h
(the)f(same)h(freedoms)e(that)i(y)m(ou)f(receiv)m(ed.)50
b(Y)-8 b(ou)34 b(m)m(ust)f(mak)m(e)h(sure)150 1944 y(that)29
b(they)-8 b(,)29 b(to)s(o,)h(receiv)m(e)g(or)f(can)f(get)i(the)e
(source)h(co)s(de.)40 b(And)27 b(y)m(ou)i(m)m(ust)f(sho)m(w)g(them)h
(these)f(terms)h(so)150 2053 y(they)i(kno)m(w)f(their)g(righ)m(ts.)275
2200 y(Dev)m(elop)s(ers)i(that)f(use)g(the)g(GNU)h(GPL)f(protect)g(y)m
(our)g(righ)m(ts)h(with)e(t)m(w)m(o)j(steps:)41 b(\(1\))32
b(assert)g(cop)m(y-)150 2310 y(righ)m(t)38 b(on)e(the)h(soft)m(w)m
(are,)k(and)36 b(\(2\))i(o\013er)g(y)m(ou)f(this)g(License)g(giving)h
(y)m(ou)f(legal)i(p)s(ermission)d(to)i(cop)m(y)-8 b(,)150
2419 y(distribute)30 b(and/or)g(mo)s(dify)g(it.)275 2566
y(F)-8 b(or)35 b(the)g(dev)m(elop)s(ers')h(and)e(authors')h
(protection,)j(the)d(GPL)g(clearly)h(explains)f(that)h(there)f(is)g(no)
150 2675 y(w)m(arran)m(t)m(y)g(for)f(this)g(free)g(soft)m(w)m(are.)54
b(F)-8 b(or)35 b(b)s(oth)e(users')h(and)g(authors')g(sak)m(e,)i(the)e
(GPL)h(requires)e(that)150 2785 y(mo)s(di\014ed)42 b(v)m(ersions)i(b)s
(e)f(mark)m(ed)g(as)h(c)m(hanged,)j(so)d(that)g(their)f(problems)g
(will)g(not)h(b)s(e)f(attributed)150 2894 y(erroneously)30
b(to)h(authors)f(of)h(previous)f(v)m(ersions.)275 3041
y(Some)e(devices)h(are)f(designed)g(to)h(den)m(y)f(users)g(access)h(to)
g(install)g(or)f(run)f(mo)s(di\014ed)g(v)m(ersions)h(of)h(the)150
3151 y(soft)m(w)m(are)34 b(inside)e(them,)g(although)h(the)f(man)m
(ufacturer)g(can)h(do)f(so.)46 b(This)32 b(is)g(fundamen)m(tally)g
(incom-)150 3260 y(patible)j(with)e(the)h(aim)h(of)f(protecting)h
(users')e(freedom)h(to)h(c)m(hange)g(the)f(soft)m(w)m(are.)53
b(The)33 b(systematic)150 3370 y(pattern)j(of)g(suc)m(h)g(abuse)f(o)s
(ccurs)h(in)f(the)i(area)f(of)g(pro)s(ducts)f(for)h(individuals)f(to)h
(use,)i(whic)m(h)d(is)h(pre-)150 3479 y(cisely)d(where)e(it)h(is)f
(most)h(unacceptable.)46 b(Therefore,)32 b(w)m(e)g(ha)m(v)m(e)h
(designed)e(this)g(v)m(ersion)h(of)g(the)g(GPL)150 3589
y(to)38 b(prohibit)e(the)i(practice)g(for)f(those)h(pro)s(ducts.)60
b(If)37 b(suc)m(h)f(problems)h(arise)h(substan)m(tially)g(in)f(other)
150 3699 y(domains,)28 b(w)m(e)f(stand)g(ready)g(to)h(extend)f(this)g
(pro)m(vision)g(to)h(those)f(domains)g(in)g(future)f(v)m(ersions)i(of)f
(the)150 3808 y(GPL,)k(as)f(needed)g(to)h(protect)h(the)e(freedom)h(of)
f(users.)275 3955 y(Finally)-8 b(,)34 b(ev)m(ery)f(program)f(is)g
(threatened)h(constan)m(tly)h(b)m(y)e(soft)m(w)m(are)i(paten)m(ts.)47
b(States)33 b(should)f(not)150 4064 y(allo)m(w)25 b(paten)m(ts)e(to)h
(restrict)g(dev)m(elopmen)m(t)g(and)f(use)g(of)g(soft)m(w)m(are)h(on)f
(general-purp)s(ose)g(computers,)i(but)150 4174 y(in)h(those)h(that)g
(do,)g(w)m(e)g(wish)f(to)h(a)m(v)m(oid)h(the)e(sp)s(ecial)h(danger)f
(that)h(paten)m(ts)h(applied)e(to)h(a)g(free)f(program)150
4283 y(could)h(mak)m(e)i(it)f(e\013ectiv)m(ely)i(proprietary)-8
b(.)40 b(T)-8 b(o)28 b(prev)m(en)m(t)g(this,)g(the)g(GPL)f(assures)g
(that)h(paten)m(ts)g(cannot)150 4393 y(b)s(e)i(used)f(to)i(render)f
(the)g(program)g(non-free.)275 4539 y(The)f(precise)i(terms)f(and)g
(conditions)h(for)f(cop)m(ying,)i(distribution)d(and)h(mo)s
(di\014cation)h(follo)m(w.)150 4790 y Fw(TERMS)44 b(AND)h(CONDITIONS)
199 4949 y Fx(0.)61 b(De\014nitions.)330 5090 y(\\This)30
b(License")h(refers)f(to)i(v)m(ersion)e(3)h(of)g(the)f(GNU)h(General)g
(Public)g(License.)330 5230 y(\\Cop)m(yrigh)m(t")e(also)g(means)e(cop)m
(yrigh)m(t-lik)m(e)k(la)m(ws)d(that)g(apply)f(to)h(other)g(kinds)f(of)g
(w)m(orks,)h(suc)m(h)g(as)330 5340 y(semiconductor)j(masks.)p
eop end
%%Page: 85 90
TeXDict begin 85 89 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(85)330 299 y(\\The)40
b(Program")h(refers)f(to)g(an)m(y)h(cop)m(yrigh)m(table)h(w)m(ork)e
(licensed)h(under)e(this)h(License.)70 b(Eac)m(h)330
408 y(licensee)43 b(is)f(addressed)f(as)h(\\y)m(ou".)76
b(\\Licensees")44 b(and)d(\\recipien)m(ts")i(ma)m(y)g(b)s(e)e
(individuals)g(or)330 518 y(organizations.)330 650 y(T)-8
b(o)32 b(\\mo)s(dify")g(a)g(w)m(ork)g(means)g(to)h(cop)m(y)f(from)g(or)
f(adapt)h(all)h(or)f(part)g(of)g(the)g(w)m(ork)f(in)h(a)g(fashion)330
759 y(requiring)d(cop)m(yrigh)m(t)h(p)s(ermission,)e(other)i(than)f
(the)g(making)g(of)g(an)g(exact)i(cop)m(y)-8 b(.)41 b(The)29
b(resulting)330 869 y(w)m(ork)f(is)f(called)i(a)f(\\mo)s(di\014ed)f(v)m
(ersion")i(of)f(the)g(earlier)g(w)m(ork)g(or)g(a)g(w)m(ork)f(\\based)h
(on")g(the)g(earlier)330 978 y(w)m(ork.)330 1110 y(A)k(\\co)m(v)m(ered)
i(w)m(ork")f(means)f(either)g(the)g(unmo)s(di\014ed)e(Program)i(or)g(a)
h(w)m(ork)f(based)g(on)g(the)g(Pro-)330 1219 y(gram.)330
1351 y(T)-8 b(o)31 b(\\propagate")i(a)e(w)m(ork)g(means)g(to)h(do)e(an)
m(ything)i(with)e(it)h(that,)h(without)f(p)s(ermission,)f(w)m(ould)330
1461 y(mak)m(e)c(y)m(ou)e(directly)i(or)e(secondarily)h(liable)h(for)e
(infringemen)m(t)h(under)e(applicable)i(cop)m(yrigh)m(t)h(la)m(w,)330
1570 y(except)34 b(executing)g(it)g(on)e(a)i(computer)f(or)f(mo)s
(difying)h(a)g(priv)-5 b(ate)33 b(cop)m(y)-8 b(.)50 b(Propagation)34
b(includes)330 1680 y(cop)m(ying,)39 b(distribution)c(\(with)h(or)h
(without)f(mo)s(di\014cation\),)i(making)f(a)m(v)-5 b(ailable)38
b(to)f(the)f(public,)330 1789 y(and)30 b(in)g(some)h(coun)m(tries)g
(other)f(activities)j(as)e(w)m(ell.)330 1921 y(T)-8 b(o)28
b(\\con)m(v)m(ey")j(a)d(w)m(ork)g(means)g(an)m(y)g(kind)f(of)h
(propagation)h(that)g(enables)f(other)g(parties)g(to)h(mak)m(e)330
2030 y(or)k(receiv)m(e)j(copies.)50 b(Mere)34 b(in)m(teraction)i(with)d
(a)g(user)g(through)g(a)g(computer)h(net)m(w)m(ork,)h(with)e(no)330
2140 y(transfer)d(of)g(a)h(cop)m(y)-8 b(,)32 b(is)e(not)h(con)m(v)m
(eying.)330 2271 y(An)25 b(in)m(teractiv)m(e)k(user)c(in)m(terface)j
(displa)m(ys)e(\\Appropriate)g(Legal)h(Notices")h(to)f(the)f(exten)m(t)
h(that)f(it)330 2381 y(includes)k(a)g(con)m(v)m(enien)m(t)j(and)c
(prominen)m(tly)h(visible)h(feature)g(that)f(\(1\))i(displa)m(ys)e(an)g
(appropriate)330 2491 y(cop)m(yrigh)m(t)j(notice,)h(and)d(\(2\))i
(tells)f(the)g(user)f(that)i(there)e(is)h(no)g(w)m(arran)m(t)m(y)g(for)
g(the)g(w)m(ork)g(\(except)330 2600 y(to)e(the)g(exten)m(t)h(that)f(w)m
(arran)m(ties)g(are)g(pro)m(vided\),)g(that)g(licensees)g(ma)m(y)g(con)
m(v)m(ey)h(the)f(w)m(ork)f(under)330 2710 y(this)37 b(License,)i(and)e
(ho)m(w)g(to)g(view)h(a)f(cop)m(y)h(of)f(this)g(License.)61
b(If)36 b(the)i(in)m(terface)g(presen)m(ts)f(a)g(list)330
2819 y(of)32 b(user)e(commands)h(or)h(options,)g(suc)m(h)f(as)g(a)h
(men)m(u,)f(a)h(prominen)m(t)f(item)h(in)f(the)h(list)g(meets)g(this)
330 2929 y(criterion.)199 3061 y(1.)61 b(Source)30 b(Co)s(de.)330
3192 y(The)g(\\source)i(co)s(de")f(for)g(a)g(w)m(ork)g(means)g(the)g
(preferred)f(form)g(of)h(the)g(w)m(ork)g(for)g(making)g(mo)s(di-)330
3302 y(\014cations)g(to)g(it.)41 b(\\Ob)5 b(ject)31 b(co)s(de")g(means)
g(an)m(y)f(non-source)h(form)f(of)g(a)h(w)m(ork.)330
3433 y(A)36 b(\\Standard)f(In)m(terface")i(means)f(an)f(in)m(terface)i
(that)g(either)f(is)g(an)f(o\016cial)i(standard)e(de\014ned)330
3543 y(b)m(y)e(a)g(recognized)i(standards)d(b)s(o)s(dy)-8
b(,)33 b(or,)h(in)f(the)g(case)h(of)f(in)m(terfaces)i(sp)s(eci\014ed)d
(for)h(a)h(particular)330 3652 y(programming)44 b(language,)49
b(one)c(that)f(is)g(widely)h(used)e(among)i(dev)m(elop)s(ers)f(w)m
(orking)h(in)e(that)330 3762 y(language.)330 3893 y(The)24
b(\\System)g(Libraries")g(of)g(an)g(executable)i(w)m(ork)e(include)f
(an)m(ything,)j(other)f(than)e(the)i(w)m(ork)f(as)330
4003 y(a)k(whole,)g(that)g(\(a\))g(is)f(included)g(in)g(the)g(normal)g
(form)g(of)h(pac)m(k)-5 b(aging)29 b(a)e(Ma)5 b(jor)28
b(Comp)s(onen)m(t,)g(but)330 4113 y(whic)m(h)33 b(is)g(not)h(part)f(of)
h(that)g(Ma)5 b(jor)34 b(Comp)s(onen)m(t,)g(and)e(\(b\))i(serv)m(es)g
(only)f(to)h(enable)g(use)f(of)h(the)330 4222 y(w)m(ork)c(with)g(that)g
(Ma)5 b(jor)31 b(Comp)s(onen)m(t,)e(or)h(to)h(implemen)m(t)g(a)f
(Standard)f(In)m(terface)i(for)e(whic)m(h)h(an)330 4332
y(implemen)m(tation)g(is)e(a)m(v)-5 b(ailable)30 b(to)f(the)f(public)g
(in)f(source)i(co)s(de)f(form.)39 b(A)29 b(\\Ma)5 b(jor)29
b(Comp)s(onen)m(t",)330 4441 y(in)38 b(this)g(con)m(text,)k(means)c(a)g
(ma)5 b(jor)38 b(essen)m(tial)i(comp)s(onen)m(t)e(\(k)m(ernel,)j(windo)
m(w)d(system,)i(and)e(so)330 4551 y(on\))c(of)g(the)g(sp)s(eci\014c)f
(op)s(erating)h(system)g(\(if)g(an)m(y\))h(on)e(whic)m(h)h(the)g
(executable)h(w)m(ork)f(runs,)f(or)h(a)330 4661 y(compiler)d(used)f(to)
h(pro)s(duce)e(the)h(w)m(ork,)h(or)f(an)h(ob)5 b(ject)31
b(co)s(de)g(in)m(terpreter)f(used)g(to)h(run)e(it.)330
4792 y(The)f(\\Corresp)s(onding)g(Source")h(for)f(a)h(w)m(ork)g(in)g
(ob)5 b(ject)29 b(co)s(de)g(form)g(means)f(all)i(the)f(source)g(co)s
(de)330 4902 y(needed)35 b(to)h(generate,)i(install,)f(and)e(\(for)g
(an)h(executable)g(w)m(ork\))g(run)e(the)h(ob)5 b(ject)36
b(co)s(de)g(and)e(to)330 5011 y(mo)s(dify)39 b(the)g(w)m(ork,)j
(including)d(scripts)g(to)i(con)m(trol)f(those)g(activities.)71
b(Ho)m(w)m(ev)m(er,)44 b(it)c(do)s(es)f(not)330 5121
y(include)i(the)h(w)m(ork's)g(System)g(Libraries,)i(or)e(general-purp)s
(ose)f(to)s(ols)i(or)f(generally)h(a)m(v)-5 b(ailable)330
5230 y(free)31 b(programs)g(whic)m(h)g(are)h(used)e(unmo)s(di\014ed)f
(in)i(p)s(erforming)f(those)h(activities)j(but)d(whic)m(h)g(are)330
5340 y(not)g(part)f(of)h(the)g(w)m(ork.)42 b(F)-8 b(or)32
b(example,)f(Corresp)s(onding)e(Source)i(includes)f(in)m(terface)i
(de\014nition)p eop end
%%Page: 86 91
TeXDict begin 86 90 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(86)330 299 y(\014les)32
b(asso)s(ciated)i(with)d(source)i(\014les)f(for)g(the)g(w)m(ork,)h(and)
f(the)g(source)g(co)s(de)h(for)e(shared)h(libraries)330
408 y(and)g(dynamically)g(link)m(ed)h(subprograms)e(that)h(the)h(w)m
(ork)f(is)g(sp)s(eci\014cally)h(designed)f(to)h(require,)330
518 y(suc)m(h)k(as)g(b)m(y)g(in)m(timate)i(data)e(comm)m(unication)i
(or)e(con)m(trol)h(\015o)m(w)f(b)s(et)m(w)m(een)h(those)f(subprograms)
330 628 y(and)30 b(other)g(parts)g(of)h(the)g(w)m(ork.)330
756 y(The)h(Corresp)s(onding)f(Source)i(need)f(not)h(include)f(an)m
(ything)i(that)f(users)f(can)h(regenerate)h(auto-)330
865 y(matically)e(from)e(other)h(parts)f(of)h(the)f(Corresp)s(onding)f
(Source.)330 993 y(The)h(Corresp)s(onding)e(Source)j(for)f(a)h(w)m(ork)
f(in)g(source)h(co)s(de)f(form)g(is)h(that)f(same)h(w)m(ork.)199
1121 y(2.)61 b(Basic)32 b(P)m(ermissions.)330 1249 y(All)44
b(righ)m(ts)f(gran)m(ted)g(under)f(this)h(License)g(are)g(gran)m(ted)h
(for)f(the)g(term)g(of)g(cop)m(yrigh)m(t)h(on)f(the)330
1358 y(Program,)29 b(and)e(are)i(irrev)m(o)s(cable)g(pro)m(vided)f(the)
g(stated)h(conditions)g(are)f(met.)40 b(This)28 b(License)g(ex-)330
1468 y(plicitly)h(a\016rms)e(y)m(our)h(unlimited)g(p)s(ermission)e(to)j
(run)d(the)i(unmo)s(di\014ed)e(Program.)40 b(The)27 b(output)330
1577 y(from)37 b(running)e(a)j(co)m(v)m(ered)h(w)m(ork)e(is)g(co)m(v)m
(ered)i(b)m(y)e(this)h(License)f(only)h(if)f(the)g(output,)i(giv)m(en)g
(its)330 1687 y(con)m(ten)m(t,)33 b(constitutes)f(a)g(co)m(v)m(ered)g
(w)m(ork.)42 b(This)31 b(License)g(ac)m(kno)m(wledges)i(y)m(our)e(righ)
m(ts)g(of)g(fair)g(use)330 1797 y(or)f(other)h(equiv)-5
b(alen)m(t,)32 b(as)f(pro)m(vided)f(b)m(y)g(cop)m(yrigh)m(t)i(la)m(w.)
330 1924 y(Y)-8 b(ou)41 b(ma)m(y)h(mak)m(e,)i(run)c(and)g(propagate)i
(co)m(v)m(ered)g(w)m(orks)f(that)g(y)m(ou)h(do)e(not)h(con)m(v)m(ey)-8
b(,)46 b(without)330 2034 y(conditions)30 b(so)f(long)h(as)g(y)m(our)f
(license)h(otherwise)g(remains)f(in)g(force.)41 b(Y)-8
b(ou)30 b(ma)m(y)f(con)m(v)m(ey)i(co)m(v)m(ered)330 2144
y(w)m(orks)40 b(to)g(others)g(for)g(the)g(sole)g(purp)s(ose)e(of)i(ha)m
(ving)h(them)e(mak)m(e)i(mo)s(di\014cations)f(exclusiv)m(ely)330
2253 y(for)45 b(y)m(ou,)50 b(or)45 b(pro)m(vide)h(y)m(ou)f(with)g
(facilities)j(for)d(running)f(those)h(w)m(orks,)50 b(pro)m(vided)45
b(that)h(y)m(ou)330 2363 y(comply)34 b(with)f(the)h(terms)f(of)h(this)f
(License)i(in)e(con)m(v)m(eying)i(all)g(material)g(for)e(whic)m(h)g(y)m
(ou)h(do)g(not)330 2472 y(con)m(trol)i(cop)m(yrigh)m(t.)55
b(Those)35 b(th)m(us)f(making)h(or)g(running)e(the)i(co)m(v)m(ered)h(w)
m(orks)f(for)f(y)m(ou)h(m)m(ust)g(do)330 2582 y(so)29
b(exclusiv)m(ely)h(on)e(y)m(our)g(b)s(ehalf,)h(under)d(y)m(our)j
(direction)g(and)f(con)m(trol,)i(on)e(terms)h(that)g(prohibit)330
2692 y(them)35 b(from)g(making)g(an)m(y)h(copies)g(of)f(y)m(our)h(cop)m
(yrigh)m(ted)g(material)h(outside)e(their)h(relationship)330
2801 y(with)30 b(y)m(ou.)330 2929 y(Con)m(v)m(eying)46
b(under)d(an)m(y)i(other)g(circumstances)g(is)g(p)s(ermitted)g(solely)g
(under)f(the)g(conditions)330 3039 y(stated)31 b(b)s(elo)m(w.)41
b(Sublicensing)30 b(is)g(not)h(allo)m(w)m(ed;)h(section)g(10)f(mak)m
(es)g(it)g(unnecessary)-8 b(.)199 3166 y(3.)61 b(Protecting)32
b(Users')e(Legal)i(Righ)m(ts)f(F)-8 b(rom)31 b(An)m(ti-Circum)m(v)m(en)
m(tion)i(La)m(w.)330 3294 y(No)44 b(co)m(v)m(ered)i(w)m(ork)d(shall)h
(b)s(e)g(deemed)f(part)h(of)g(an)f(e\013ectiv)m(e)k(tec)m(hnological)g
(measure)c(under)330 3404 y(an)m(y)30 b(applicable)h(la)m(w)f
(ful\014lling)g(obligations)h(under)e(article)i(11)g(of)f(the)g(WIPO)f
(cop)m(yrigh)m(t)i(treat)m(y)330 3513 y(adopted)e(on)f(20)i(Decem)m(b)s
(er)f(1996,)i(or)e(similar)g(la)m(ws)g(prohibiting)f(or)h(restricting)g
(circum)m(v)m(en)m(tion)330 3623 y(of)i(suc)m(h)f(measures.)330
3751 y(When)25 b(y)m(ou)h(con)m(v)m(ey)g(a)g(co)m(v)m(ered)h(w)m(ork,)f
(y)m(ou)g(w)m(aiv)m(e)h(an)m(y)e(legal)i(p)s(o)m(w)m(er)f(to)g(forbid)e
(circum)m(v)m(en)m(tion)j(of)330 3861 y(tec)m(hnological)j(measures)d
(to)g(the)g(exten)m(t)h(suc)m(h)e(circum)m(v)m(en)m(tion)j(is)d
(e\013ected)i(b)m(y)f(exercising)g(righ)m(ts)330 3970
y(under)35 b(this)h(License)h(with)e(resp)s(ect)i(to)g(the)f(co)m(v)m
(ered)i(w)m(ork,)g(and)d(y)m(ou)i(disclaim)g(an)m(y)f(in)m(ten)m(tion)
330 4080 y(to)41 b(limit)g(op)s(eration)g(or)f(mo)s(di\014cation)h(of)g
(the)f(w)m(ork)h(as)f(a)h(means)f(of)h(enforcing,)i(against)f(the)330
4189 y(w)m(ork's)28 b(users,)f(y)m(our)h(or)f(third)g(parties')h(legal)
h(righ)m(ts)f(to)g(forbid)f(circum)m(v)m(en)m(tion)i(of)e(tec)m
(hnological)330 4299 y(measures.)199 4427 y(4.)61 b(Con)m(v)m(eying)31
b(V)-8 b(erbatim)32 b(Copies.)330 4555 y(Y)-8 b(ou)28
b(ma)m(y)g(con)m(v)m(ey)h(v)m(erbatim)f(copies)g(of)g(the)f(Program's)h
(source)g(co)s(de)f(as)h(y)m(ou)f(receiv)m(e)j(it,)f(in)e(an)m(y)330
4664 y(medium,)33 b(pro)m(vided)g(that)h(y)m(ou)f(conspicuously)g(and)g
(appropriately)g(publish)f(on)h(eac)m(h)h(cop)m(y)g(an)330
4774 y(appropriate)e(cop)m(yrigh)m(t)i(notice;)g(k)m(eep)f(in)m(tact)h
(all)f(notices)g(stating)h(that)e(this)g(License)h(and)f(an)m(y)330
4883 y(non-p)s(ermissiv)m(e)d(terms)g(added)f(in)h(accord)h(with)f
(section)h(7)f(apply)g(to)h(the)f(co)s(de;)h(k)m(eep)g(in)m(tact)h(all)
330 4993 y(notices)37 b(of)f(the)g(absence)g(of)g(an)m(y)g(w)m(arran)m
(t)m(y;)j(and)c(giv)m(e)i(all)g(recipien)m(ts)f(a)h(cop)m(y)f(of)g
(this)f(License)330 5103 y(along)c(with)f(the)h(Program.)330
5230 y(Y)-8 b(ou)27 b(ma)m(y)g(c)m(harge)h(an)m(y)f(price)g(or)f(no)h
(price)f(for)h(eac)m(h)g(cop)m(y)h(that)f(y)m(ou)g(con)m(v)m(ey)-8
b(,)29 b(and)d(y)m(ou)h(ma)m(y)h(o\013er)330 5340 y(supp)s(ort)h(or)h
(w)m(arran)m(t)m(y)h(protection)h(for)e(a)h(fee.)p eop
end
%%Page: 87 92
TeXDict begin 87 91 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(87)199 299 y(5.)61
b(Con)m(v)m(eying)31 b(Mo)s(di\014ed)f(Source)g(V)-8
b(ersions.)330 427 y(Y)g(ou)27 b(ma)m(y)g(con)m(v)m(ey)h(a)f(w)m(ork)g
(based)f(on)h(the)g(Program,)g(or)g(the)g(mo)s(di\014cations)g(to)g
(pro)s(duce)e(it)i(from)330 536 y(the)36 b(Program,)h(in)e(the)g(form)g
(of)g(source)h(co)s(de)g(under)d(the)j(terms)f(of)h(section)g(4,)h(pro)
m(vided)e(that)330 646 y(y)m(ou)c(also)g(meet)g(all)h(of)e(these)h
(conditions:)379 774 y(a.)61 b(The)28 b(w)m(ork)h(m)m(ust)f(carry)h
(prominen)m(t)f(notices)i(stating)g(that)f(y)m(ou)g(mo)s(di\014ed)e
(it,)j(and)e(giving)i(a)510 883 y(relev)-5 b(an)m(t)32
b(date.)374 1011 y(b.)60 b(The)34 b(w)m(ork)h(m)m(ust)f(carry)h
(prominen)m(t)f(notices)i(stating)g(that)f(it)g(is)g(released)g(under)e
(this)i(Li-)510 1121 y(cense)i(and)f(an)m(y)h(conditions)h(added)e
(under)f(section)j(7.)60 b(This)36 b(requiremen)m(t)h(mo)s(di\014es)f
(the)510 1230 y(requiremen)m(t)31 b(in)f(section)h(4)g(to)g(\\k)m(eep)h
(in)m(tact)g(all)f(notices".)384 1358 y(c.)61 b(Y)-8
b(ou)36 b(m)m(ust)g(license)g(the)g(en)m(tire)h(w)m(ork,)g(as)f(a)g
(whole,)h(under)d(this)i(License)g(to)h(an)m(y)m(one)f(who)510
1468 y(comes)31 b(in)m(to)g(p)s(ossession)e(of)h(a)h(cop)m(y)-8
b(.)41 b(This)29 b(License)i(will)f(therefore)h(apply)-8
b(,)30 b(along)h(with)f(an)m(y)510 1577 y(applicable)k(section)f(7)g
(additional)h(terms,)f(to)h(the)e(whole)h(of)g(the)g(w)m(ork,)g(and)f
(all)i(its)f(parts,)510 1687 y(regardless)h(of)g(ho)m(w)g(they)g(are)g
(pac)m(k)-5 b(aged.)52 b(This)33 b(License)h(giv)m(es)h(no)f(p)s
(ermission)e(to)j(license)510 1797 y(the)c(w)m(ork)h(in)f(an)m(y)g
(other)h(w)m(a)m(y)-8 b(,)33 b(but)d(it)i(do)s(es)f(not)g(in)m(v)-5
b(alidate)33 b(suc)m(h)e(p)s(ermission)f(if)h(y)m(ou)h(ha)m(v)m(e)510
1906 y(separately)g(receiv)m(ed)f(it.)374 2034 y(d.)60
b(If)36 b(the)h(w)m(ork)g(has)g(in)m(teractiv)m(e)j(user)c(in)m
(terfaces,)k(eac)m(h)e(m)m(ust)f(displa)m(y)g(Appropriate)g(Legal)510
2144 y(Notices;)49 b(ho)m(w)m(ev)m(er,)c(if)c(the)h(Program)f(has)g(in)
m(teractiv)m(e)j(in)m(terfaces)e(that)g(do)f(not)h(displa)m(y)510
2253 y(Appropriate)30 b(Legal)i(Notices,)g(y)m(our)f(w)m(ork)f(need)g
(not)h(mak)m(e)g(them)g(do)f(so.)330 2399 y(A)38 b(compilation)h(of)f
(a)g(co)m(v)m(ered)h(w)m(ork)f(with)f(other)h(separate)h(and)e(indep)s
(enden)m(t)f(w)m(orks,)k(whic)m(h)330 2509 y(are)c(not)g(b)m(y)g(their)
g(nature)f(extensions)h(of)g(the)g(co)m(v)m(ered)i(w)m(ork,)f(and)e
(whic)m(h)h(are)g(not)g(com)m(bined)330 2619 y(with)27
b(it)i(suc)m(h)e(as)h(to)h(form)e(a)h(larger)h(program,)f(in)f(or)h(on)
g(a)g(v)m(olume)g(of)g(a)h(storage)g(or)f(distribution)330
2728 y(medium,)43 b(is)f(called)g(an)g(\\aggregate")j(if)c(the)h
(compilation)h(and)e(its)g(resulting)h(cop)m(yrigh)m(t)h(are)330
2838 y(not)31 b(used)f(to)h(limit)h(the)e(access)i(or)f(legal)h(righ)m
(ts)f(of)g(the)g(compilation's)h(users)e(b)s(ey)m(ond)g(what)h(the)330
2947 y(individual)j(w)m(orks)h(p)s(ermit.)54 b(Inclusion)34
b(of)h(a)h(co)m(v)m(ered)g(w)m(ork)f(in)g(an)g(aggregate)j(do)s(es)c
(not)h(cause)330 3057 y(this)30 b(License)h(to)g(apply)f(to)h(the)g
(other)g(parts)f(of)g(the)h(aggregate.)199 3185 y(6.)61
b(Con)m(v)m(eying)31 b(Non-Source)g(F)-8 b(orms.)330
3313 y(Y)g(ou)29 b(ma)m(y)h(con)m(v)m(ey)g(a)f(co)m(v)m(ered)i(w)m(ork)
e(in)f(ob)5 b(ject)30 b(co)s(de)f(form)f(under)g(the)h(terms)f(of)h
(sections)h(4)g(and)330 3422 y(5,)42 b(pro)m(vided)d(that)g(y)m(ou)h
(also)g(con)m(v)m(ey)g(the)g(mac)m(hine-readable)g(Corresp)s(onding)e
(Source)g(under)330 3532 y(the)31 b(terms)f(of)g(this)h(License,)g(in)f
(one)h(of)f(these)h(w)m(a)m(ys:)379 3660 y(a.)61 b(Con)m(v)m(ey)32
b(the)f(ob)5 b(ject)31 b(co)s(de)g(in,)g(or)g(em)m(b)s(o)s(died)f(in,)h
(a)g(ph)m(ysical)h(pro)s(duct)d(\(including)i(a)g(ph)m(ys-)510
3769 y(ical)37 b(distribution)d(medium\),)j(accompanied)f(b)m(y)f(the)h
(Corresp)s(onding)d(Source)j(\014xed)e(on)i(a)510 3879
y(durable)30 b(ph)m(ysical)h(medium)e(customarily)i(used)f(for)g(soft)m
(w)m(are)i(in)m(terc)m(hange.)374 4007 y(b.)60 b(Con)m(v)m(ey)30
b(the)f(ob)5 b(ject)30 b(co)s(de)f(in,)g(or)g(em)m(b)s(o)s(died)f(in,)h
(a)g(ph)m(ysical)g(pro)s(duct)f(\(including)h(a)g(ph)m(ysi-)510
4116 y(cal)k(distribution)e(medium\),)h(accompanied)h(b)m(y)e(a)i
(written)f(o\013er,)g(v)-5 b(alid)33 b(for)e(at)i(least)g(three)510
4226 y(y)m(ears)i(and)f(v)-5 b(alid)35 b(for)f(as)g(long)h(as)g(y)m(ou)
g(o\013er)f(spare)h(parts)f(or)g(customer)h(supp)s(ort)d(for)i(that)510
4335 y(pro)s(duct)c(mo)s(del,)i(to)g(giv)m(e)g(an)m(y)m(one)h(who)d(p)s
(ossesses)h(the)h(ob)5 b(ject)32 b(co)s(de)f(either)h(\(1\))g(a)g(cop)m
(y)g(of)510 4445 y(the)24 b(Corresp)s(onding)e(Source)i(for)g(all)h
(the)f(soft)m(w)m(are)h(in)f(the)g(pro)s(duct)f(that)i(is)f(co)m(v)m
(ered)h(b)m(y)f(this)510 4555 y(License,)30 b(on)g(a)f(durable)g(ph)m
(ysical)h(medium)e(customarily)i(used)f(for)g(soft)m(w)m(are)i(in)m
(terc)m(hange,)510 4664 y(for)k(a)g(price)h(no)f(more)g(than)g(y)m(our)
g(reasonable)h(cost)g(of)f(ph)m(ysically)h(p)s(erforming)e(this)h(con-)
510 4774 y(v)m(eying)f(of)f(source,)g(or)g(\(2\))h(access)g(to)g(cop)m
(y)f(the)g(Corresp)s(onding)e(Source)i(from)f(a)h(net)m(w)m(ork)510
4883 y(serv)m(er)e(at)g(no)f(c)m(harge.)384 5011 y(c.)61
b(Con)m(v)m(ey)40 b(individual)e(copies)h(of)g(the)g(ob)5
b(ject)40 b(co)s(de)f(with)g(a)g(cop)m(y)g(of)g(the)g(written)g
(o\013er)g(to)510 5121 y(pro)m(vide)e(the)g(Corresp)s(onding)e(Source.)
59 b(This)36 b(alternativ)m(e)k(is)c(allo)m(w)m(ed)j(only)e(o)s
(ccasionally)510 5230 y(and)29 b(noncommercially)-8 b(,)31
b(and)e(only)g(if)h(y)m(ou)f(receiv)m(ed)i(the)e(ob)5
b(ject)31 b(co)s(de)e(with)g(suc)m(h)g(an)g(o\013er,)510
5340 y(in)h(accord)h(with)f(subsection)h(6b.)p eop end
%%Page: 88 93
TeXDict begin 88 92 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(88)374 299 y(d.)60
b(Con)m(v)m(ey)37 b(the)f(ob)5 b(ject)37 b(co)s(de)f(b)m(y)g
(o\013ering)g(access)i(from)d(a)i(designated)f(place)h(\(gratis)g(or)f
(for)510 408 y(a)j(c)m(harge\),)k(and)c(o\013er)g(equiv)-5
b(alen)m(t)41 b(access)f(to)g(the)f(Corresp)s(onding)e(Source)i(in)f
(the)i(same)510 518 y(w)m(a)m(y)30 b(through)f(the)g(same)h(place)h(at)
f(no)f(further)f(c)m(harge.)41 b(Y)-8 b(ou)30 b(need)f(not)h(require)f
(recipien)m(ts)510 628 y(to)42 b(cop)m(y)h(the)f(Corresp)s(onding)e
(Source)h(along)i(with)f(the)g(ob)5 b(ject)42 b(co)s(de.)75
b(If)42 b(the)f(place)i(to)510 737 y(cop)m(y)c(the)g(ob)5
b(ject)39 b(co)s(de)g(is)g(a)g(net)m(w)m(ork)g(serv)m(er,)i(the)e
(Corresp)s(onding)e(Source)h(ma)m(y)h(b)s(e)f(on)510
847 y(a)45 b(di\013eren)m(t)g(serv)m(er)f(\(op)s(erated)h(b)m(y)f(y)m
(ou)h(or)g(a)f(third)g(part)m(y\))h(that)g(supp)s(orts)d(equiv)-5
b(alen)m(t)510 956 y(cop)m(ying)35 b(facilities,)i(pro)m(vided)c(y)m
(ou)h(main)m(tain)h(clear)g(directions)f(next)g(to)h(the)f(ob)5
b(ject)35 b(co)s(de)510 1066 y(sa)m(ying)h(where)f(to)h(\014nd)d(the)i
(Corresp)s(onding)f(Source.)55 b(Regardless)35 b(of)h(what)f(serv)m(er)
g(hosts)510 1176 y(the)e(Corresp)s(onding)e(Source,)j(y)m(ou)f(remain)f
(obligated)j(to)e(ensure)f(that)i(it)f(is)g(a)m(v)-5
b(ailable)35 b(for)510 1285 y(as)c(long)g(as)f(needed)g(to)h(satisfy)g
(these)g(requiremen)m(ts.)384 1442 y(e.)61 b(Con)m(v)m(ey)24
b(the)g(ob)5 b(ject)24 b(co)s(de)f(using)g(p)s(eer-to-p)s(eer)h
(transmission,)g(pro)m(vided)f(y)m(ou)h(inform)f(other)510
1551 y(p)s(eers)d(where)g(the)h(ob)5 b(ject)22 b(co)s(de)f(and)f
(Corresp)s(onding)f(Source)i(of)g(the)g(w)m(ork)g(are)g(b)s(eing)g
(o\013ered)510 1661 y(to)31 b(the)g(general)g(public)f(at)h(no)f(c)m
(harge)i(under)d(subsection)h(6d.)330 1864 y(A)35 b(separable)f(p)s
(ortion)g(of)h(the)g(ob)5 b(ject)35 b(co)s(de,)h(whose)e(source)h(co)s
(de)g(is)f(excluded)g(from)g(the)h(Cor-)330 1974 y(resp)s(onding)c
(Source)h(as)h(a)g(System)f(Library)-8 b(,)33 b(need)f(not)h(b)s(e)e
(included)h(in)g(con)m(v)m(eying)i(the)f(ob)5 b(ject)330
2084 y(co)s(de)31 b(w)m(ork.)330 2240 y(A)h(\\User)g(Pro)s(duct")f(is)h
(either)g(\(1\))g(a)g(\\consumer)g(pro)s(duct",)f(whic)m(h)h(means)f
(an)m(y)h(tangible)h(p)s(er-)330 2350 y(sonal)g(prop)s(ert)m(y)g(whic)m
(h)f(is)h(normally)h(used)e(for)h(p)s(ersonal,)g(family)-8
b(,)35 b(or)e(household)f(purp)s(oses,)g(or)330 2459
y(\(2\))26 b(an)m(ything)f(designed)f(or)h(sold)g(for)f(incorp)s
(oration)h(in)m(to)h(a)f(dw)m(elling.)39 b(In)24 b(determining)h
(whether)330 2569 y(a)30 b(pro)s(duct)e(is)h(a)h(consumer)f(pro)s
(duct,)f(doubtful)h(cases)h(shall)g(b)s(e)e(resolv)m(ed)j(in)e(fa)m(v)m
(or)h(of)g(co)m(v)m(erage.)330 2679 y(F)-8 b(or)42 b(a)g(particular)g
(pro)s(duct)f(receiv)m(ed)i(b)m(y)e(a)h(particular)g(user,)i
(\\normally)f(used")e(refers)g(to)i(a)330 2788 y(t)m(ypical)e(or)e
(common)h(use)e(of)i(that)g(class)g(of)f(pro)s(duct,)h(regardless)g(of)
f(the)h(status)f(of)h(the)f(par-)330 2898 y(ticular)d(user)e(or)h(of)h
(the)f(w)m(a)m(y)h(in)f(whic)m(h)f(the)i(particular)f(user)g(actually)h
(uses,)g(or)f(exp)s(ects)h(or)f(is)330 3007 y(exp)s(ected)d(to)g(use,)g
(the)g(pro)s(duct.)43 b(A)32 b(pro)s(duct)f(is)g(a)h(consumer)f(pro)s
(duct)g(regardless)h(of)g(whether)330 3117 y(the)h(pro)s(duct)f(has)h
(substan)m(tial)g(commercial,)j(industrial)c(or)h(non-consumer)g(uses,)
g(unless)f(suc)m(h)330 3226 y(uses)e(represen)m(t)g(the)h(only)f
(signi\014can)m(t)i(mo)s(de)e(of)g(use)g(of)h(the)f(pro)s(duct.)330
3383 y(\\Installation)h(Information")e(for)g(a)g(User)g(Pro)s(duct)f
(means)g(an)m(y)i(metho)s(ds,)e(pro)s(cedures,)g(autho-)330
3493 y(rization)d(k)m(eys,)g(or)f(other)f(information)h(required)f(to)h
(install)g(and)f(execute)i(mo)s(di\014ed)d(v)m(ersions)i(of)g(a)330
3602 y(co)m(v)m(ered)h(w)m(ork)e(in)g(that)h(User)f(Pro)s(duct)f(from)h
(a)h(mo)s(di\014ed)e(v)m(ersion)h(of)h(its)f(Corresp)s(onding)f
(Source.)330 3712 y(The)30 b(information)h(m)m(ust)f(su\016ce)g(to)i
(ensure)d(that)i(the)g(con)m(tin)m(ued)g(functioning)g(of)f(the)h(mo)s
(di\014ed)330 3821 y(ob)5 b(ject)34 b(co)s(de)f(is)g(in)f(no)h(case)h
(prev)m(en)m(ted)f(or)g(in)m(terfered)g(with)g(solely)h(b)s(ecause)f
(mo)s(di\014cation)g(has)330 3931 y(b)s(een)d(made.)330
4088 y(If)38 b(y)m(ou)i(con)m(v)m(ey)g(an)f(ob)5 b(ject)40
b(co)s(de)f(w)m(ork)g(under)e(this)i(section)h(in,)h(or)e(with,)i(or)e
(sp)s(eci\014cally)g(for)330 4197 y(use)g(in,)i(a)e(User)g(Pro)s(duct,)
i(and)e(the)g(con)m(v)m(eying)i(o)s(ccurs)d(as)i(part)f(of)g(a)g
(transaction)h(in)f(whic)m(h)330 4307 y(the)d(righ)m(t)g(of)g(p)s
(ossession)f(and)g(use)h(of)f(the)h(User)g(Pro)s(duct)f(is)g
(transferred)g(to)i(the)e(recipien)m(t)i(in)330 4416
y(p)s(erp)s(etuit)m(y)43 b(or)g(for)g(a)h(\014xed)e(term)i
(\(regardless)g(of)f(ho)m(w)h(the)f(transaction)i(is)e(c)m
(haracterized\),)330 4526 y(the)c(Corresp)s(onding)e(Source)i(con)m(v)m
(ey)m(ed)i(under)c(this)i(section)h(m)m(ust)f(b)s(e)f(accompanied)i(b)m
(y)f(the)330 4635 y(Installation)d(Information.)52 b(But)35
b(this)f(requiremen)m(t)g(do)s(es)g(not)h(apply)f(if)g(neither)g(y)m
(ou)h(nor)f(an)m(y)330 4745 y(third)28 b(part)m(y)i(retains)f(the)g
(abilit)m(y)i(to)e(install)h(mo)s(di\014ed)e(ob)5 b(ject)30
b(co)s(de)f(on)g(the)h(User)f(Pro)s(duct)f(\(for)330
4855 y(example,)j(the)g(w)m(ork)f(has)g(b)s(een)g(installed)h(in)f(R)m
(OM\).)330 5011 y(The)38 b(requiremen)m(t)g(to)h(pro)m(vide)g
(Installation)g(Information)g(do)s(es)f(not)g(include)g(a)h(requiremen)
m(t)330 5121 y(to)32 b(con)m(tin)m(ue)h(to)f(pro)m(vide)g(supp)s(ort)e
(service,)j(w)m(arran)m(t)m(y)-8 b(,)33 b(or)f(up)s(dates)e(for)i(a)g
(w)m(ork)f(that)h(has)g(b)s(een)330 5230 y(mo)s(di\014ed)37
b(or)h(installed)h(b)m(y)g(the)f(recipien)m(t,)k(or)c(for)g(the)g(User)
h(Pro)s(duct)e(in)h(whic)m(h)g(it)h(has)f(b)s(een)330
5340 y(mo)s(di\014ed)29 b(or)h(installed.)42 b(Access)31
b(to)g(a)g(net)m(w)m(ork)g(ma)m(y)g(b)s(e)e(denied)h(when)f(the)i(mo)s
(di\014cation)f(itself)p eop end
%%Page: 89 94
TeXDict begin 89 93 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(89)330 299 y(materially)32
b(and)e(adv)m(ersely)h(a\013ects)h(the)e(op)s(eration)h(of)g(the)f(net)
m(w)m(ork)h(or)g(violates)h(the)f(rules)f(and)330 408
y(proto)s(cols)h(for)f(comm)m(unication)i(across)f(the)g(net)m(w)m
(ork.)330 535 y(Corresp)s(onding)26 b(Source)h(con)m(v)m(ey)m(ed,)j
(and)d(Installation)i(Information)f(pro)m(vided,)g(in)f(accord)h(with)
330 645 y(this)d(section)i(m)m(ust)e(b)s(e)g(in)g(a)h(format)g(that)f
(is)h(publicly)f(do)s(cumen)m(ted)g(\(and)g(with)g(an)h(implemen)m(ta-)
330 754 y(tion)i(a)m(v)-5 b(ailable)29 b(to)f(the)g(public)e(in)h
(source)h(co)s(de)f(form\),)h(and)f(m)m(ust)g(require)g(no)g(sp)s
(ecial)h(passw)m(ord)330 864 y(or)i(k)m(ey)i(for)e(unpac)m(king,)g
(reading)h(or)f(cop)m(ying.)199 990 y(7.)61 b(Additional)31
b(T)-8 b(erms.)330 1117 y(\\Additional)29 b(p)s(ermissions")e(are)h
(terms)f(that)h(supplemen)m(t)f(the)h(terms)g(of)f(this)h(License)g(b)m
(y)g(mak-)330 1226 y(ing)41 b(exceptions)h(from)e(one)h(or)g(more)g(of)
g(its)g(conditions.)72 b(Additional)42 b(p)s(ermissions)d(that)j(are)
330 1336 y(applicable)31 b(to)f(the)g(en)m(tire)h(Program)f(shall)g(b)s
(e)f(treated)i(as)f(though)f(they)h(w)m(ere)h(included)e(in)g(this)330
1445 y(License,)36 b(to)e(the)g(exten)m(t)i(that)e(they)g(are)g(v)-5
b(alid)34 b(under)f(applicable)i(la)m(w.)52 b(If)33 b(additional)i(p)s
(ermis-)330 1555 y(sions)27 b(apply)h(only)f(to)h(part)g(of)f(the)h
(Program,)h(that)f(part)f(ma)m(y)h(b)s(e)f(used)g(separately)h(under)e
(those)330 1665 y(p)s(ermissions,)31 b(but)g(the)h(en)m(tire)h(Program)
f(remains)f(go)m(v)m(erned)i(b)m(y)f(this)g(License)g(without)g(regard)
330 1774 y(to)f(the)g(additional)g(p)s(ermissions.)330
1901 y(When)45 b(y)m(ou)g(con)m(v)m(ey)i(a)e(cop)m(y)h(of)f(a)g(co)m(v)
m(ered)i(w)m(ork,)h(y)m(ou)e(ma)m(y)f(at)h(y)m(our)f(option)g(remo)m(v)
m(e)i(an)m(y)330 2010 y(additional)30 b(p)s(ermissions)e(from)h(that)h
(cop)m(y)-8 b(,)31 b(or)f(from)e(an)m(y)i(part)f(of)h(it.)41
b(\(Additional)30 b(p)s(ermissions)330 2120 y(ma)m(y)41
b(b)s(e)f(written)g(to)h(require)f(their)h(o)m(wn)f(remo)m(v)-5
b(al)42 b(in)e(certain)h(cases)g(when)f(y)m(ou)g(mo)s(dify)g(the)330
2229 y(w)m(ork.\))48 b(Y)-8 b(ou)33 b(ma)m(y)g(place)h(additional)f(p)s
(ermissions)e(on)i(material,)i(added)d(b)m(y)g(y)m(ou)h(to)g(a)g(co)m
(v)m(ered)330 2339 y(w)m(ork,)e(for)f(whic)m(h)g(y)m(ou)h(ha)m(v)m(e)g
(or)g(can)f(giv)m(e)i(appropriate)f(cop)m(yrigh)m(t)g(p)s(ermission.)
330 2465 y(Not)m(withstanding)e(an)m(y)g(other)g(pro)m(vision)f(of)h
(this)f(License,)h(for)f(material)i(y)m(ou)f(add)f(to)h(a)f(co)m(v)m
(ered)330 2575 y(w)m(ork,)40 b(y)m(ou)e(ma)m(y)g(\(if)g(authorized)g(b)
m(y)g(the)g(cop)m(yrigh)m(t)h(holders)e(of)h(that)g(material\))h
(supplemen)m(t)330 2685 y(the)31 b(terms)f(of)g(this)h(License)g(with)f
(terms:)379 2811 y(a.)61 b(Disclaiming)31 b(w)m(arran)m(t)m(y)f(or)g
(limiting)g(liabilit)m(y)h(di\013eren)m(tly)f(from)f(the)g(terms)g(of)h
(sections)g(15)510 2921 y(and)g(16)h(of)g(this)f(License;)h(or)374
3047 y(b.)60 b(Requiring)30 b(preserv)-5 b(ation)31 b(of)g(sp)s
(eci\014ed)f(reasonable)h(legal)i(notices)f(or)e(author)h(attributions)
510 3157 y(in)24 b(that)i(material)g(or)f(in)f(the)h(Appropriate)g
(Legal)h(Notices)h(displa)m(y)m(ed)e(b)m(y)g(w)m(orks)f(con)m(taining)
510 3266 y(it;)31 b(or)384 3393 y(c.)61 b(Prohibiting)23
b(misrepresen)m(tation)i(of)e(the)h(origin)g(of)f(that)i(material,)h
(or)d(requiring)g(that)h(mo)s(d-)510 3502 y(i\014ed)30
b(v)m(ersions)h(of)f(suc)m(h)g(material)i(b)s(e)e(mark)m(ed)h(in)f
(reasonable)h(w)m(a)m(ys)g(as)g(di\013eren)m(t)g(from)f(the)510
3612 y(original)i(v)m(ersion;)f(or)374 3738 y(d.)60 b(Limiting)42
b(the)f(use)g(for)g(publicit)m(y)h(purp)s(oses)d(of)i(names)g(of)h
(licensors)f(or)h(authors)e(of)i(the)510 3848 y(material;)32
b(or)384 3974 y(e.)61 b(Declining)29 b(to)f(gran)m(t)g(righ)m(ts)f
(under)f(trademark)h(la)m(w)h(for)f(use)g(of)g(some)h(trade)f(names,)h
(trade-)510 4084 y(marks,)i(or)h(service)g(marks;)f(or)397
4210 y(f.)60 b(Requiring)26 b(indemni\014cation)g(of)g(licensors)h(and)
f(authors)f(of)i(that)f(material)i(b)m(y)e(an)m(y)m(one)h(who)510
4320 y(con)m(v)m(eys)45 b(the)e(material)h(\(or)g(mo)s(di\014ed)e(v)m
(ersions)h(of)h(it\))g(with)e(con)m(tractual)k(assumptions)510
4430 y(of)40 b(liabilit)m(y)h(to)f(the)f(recipien)m(t,)k(for)c(an)m(y)h
(liabilit)m(y)h(that)f(these)g(con)m(tractual)i(assumptions)510
4539 y(directly)31 b(imp)s(ose)f(on)g(those)h(licensors)g(and)f
(authors.)330 4682 y(All)i(other)h(non-p)s(ermissiv)m(e)e(additional)i
(terms)e(are)i(considered)e(\\further)g(restrictions")i(within)330
4792 y(the)j(meaning)f(of)h(section)g(10.)57 b(If)35
b(the)h(Program)f(as)h(y)m(ou)g(receiv)m(ed)g(it,)i(or)d(an)m(y)h(part)
f(of)h(it,)h(con-)330 4902 y(tains)f(a)g(notice)h(stating)g(that)f(it)g
(is)g(go)m(v)m(erned)h(b)m(y)e(this)h(License)g(along)h(with)e(a)h
(term)g(that)g(is)g(a)330 5011 y(further)24 b(restriction,)k(y)m(ou)e
(ma)m(y)g(remo)m(v)m(e)h(that)f(term.)39 b(If)26 b(a)g(license)g(do)s
(cumen)m(t)g(con)m(tains)g(a)g(further)330 5121 y(restriction)33
b(but)f(p)s(ermits)g(relicensing)h(or)g(con)m(v)m(eying)h(under)d(this)
i(License,)g(y)m(ou)g(ma)m(y)g(add)f(to)i(a)330 5230
y(co)m(v)m(ered)g(w)m(ork)e(material)h(go)m(v)m(erned)h(b)m(y)e(the)g
(terms)g(of)g(that)h(license)g(do)s(cumen)m(t,)g(pro)m(vided)e(that)330
5340 y(the)g(further)e(restriction)i(do)s(es)f(not)h(surviv)m(e)f(suc)m
(h)g(relicensing)h(or)g(con)m(v)m(eying.)p eop end
%%Page: 90 95
TeXDict begin 90 94 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(90)330 299 y(If)30
b(y)m(ou)g(add)g(terms)g(to)h(a)g(co)m(v)m(ered)h(w)m(ork)e(in)g
(accord)h(with)f(this)g(section,)i(y)m(ou)e(m)m(ust)g(place,)i(in)e
(the)330 408 y(relev)-5 b(an)m(t)31 b(source)f(\014les,)g(a)g(statemen)
m(t)h(of)f(the)g(additional)g(terms)g(that)g(apply)f(to)i(those)f
(\014les,)g(or)g(a)330 518 y(notice)i(indicating)f(where)f(to)h(\014nd)
e(the)h(applicable)i(terms.)330 648 y(Additional)37 b(terms,)h(p)s
(ermissiv)m(e)e(or)h(non-p)s(ermissiv)m(e,)h(ma)m(y)f(b)s(e)e(stated)j
(in)e(the)h(form)f(of)g(a)h(sep-)330 757 y(arately)i(written)f
(license,)i(or)e(stated)h(as)e(exceptions;)43 b(the)38
b(ab)s(o)m(v)m(e)h(requiremen)m(ts)e(apply)g(either)330
867 y(w)m(a)m(y)-8 b(.)199 996 y(8.)61 b(T)-8 b(ermination.)330
1126 y(Y)g(ou)40 b(ma)m(y)g(not)f(propagate)i(or)e(mo)s(dify)g(a)g(co)m
(v)m(ered)i(w)m(ork)f(except)g(as)g(expressly)f(pro)m(vided)g(un-)330
1235 y(der)d(this)h(License.)62 b(An)m(y)37 b(attempt)h(otherwise)f(to)
h(propagate)g(or)f(mo)s(dify)f(it)i(is)f(v)m(oid,)i(and)e(will)330
1345 y(automatically)g(terminate)d(y)m(our)g(righ)m(ts)g(under)f(this)g
(License)i(\(including)e(an)m(y)h(paten)m(t)h(licenses)330
1455 y(gran)m(ted)c(under)e(the)h(third)g(paragraph)g(of)g(section)i
(11\).)330 1584 y(Ho)m(w)m(ev)m(er,)j(if)e(y)m(ou)f(cease)i(all)f
(violation)i(of)d(this)g(License,)i(then)e(y)m(our)h(license)g(from)f
(a)h(particular)330 1694 y(cop)m(yrigh)m(t)k(holder)e(is)h(reinstated)h
(\(a\))f(pro)m(visionally)-8 b(,)39 b(unless)c(and)g(un)m(til)h(the)g
(cop)m(yrigh)m(t)h(holder)330 1803 y(explicitly)42 b(and)e(\014nally)h
(terminates)g(y)m(our)g(license,)j(and)c(\(b\))h(p)s(ermanen)m(tly)-8
b(,)43 b(if)e(the)g(cop)m(yrigh)m(t)330 1913 y(holder)34
b(fails)h(to)g(notify)g(y)m(ou)g(of)f(the)h(violation)h(b)m(y)e(some)h
(reasonable)g(means)g(prior)e(to)i(60)h(da)m(ys)330 2022
y(after)31 b(the)f(cessation.)330 2152 y(Moreo)m(v)m(er,)k(y)m(our)d
(license)i(from)e(a)h(particular)f(cop)m(yrigh)m(t)i(holder)e(is)h
(reinstated)g(p)s(ermanen)m(tly)f(if)330 2262 y(the)d(cop)m(yrigh)m(t)h
(holder)f(noti\014es)g(y)m(ou)g(of)g(the)g(violation)h(b)m(y)f(some)g
(reasonable)h(means,)f(this)g(is)g(the)330 2371 y(\014rst)f(time)i(y)m
(ou)f(ha)m(v)m(e)h(receiv)m(ed)g(notice)g(of)f(violation)i(of)e(this)f
(License)i(\(for)f(an)m(y)g(w)m(ork\))g(from)f(that)330
2481 y(cop)m(yrigh)m(t)33 b(holder,)g(and)e(y)m(ou)h(cure)g(the)g
(violation)i(prior)d(to)i(30)f(da)m(ys)h(after)f(y)m(our)g(receipt)h
(of)f(the)330 2590 y(notice.)330 2720 y(T)-8 b(ermination)28
b(of)g(y)m(our)f(righ)m(ts)h(under)e(this)i(section)g(do)s(es)f(not)h
(terminate)h(the)e(licenses)i(of)f(parties)330 2829 y(who)38
b(ha)m(v)m(e)h(receiv)m(ed)h(copies)e(or)h(righ)m(ts)f(from)g(y)m(ou)g
(under)f(this)h(License.)64 b(If)38 b(y)m(our)g(righ)m(ts)h(ha)m(v)m(e)
330 2939 y(b)s(een)f(terminated)h(and)e(not)i(p)s(ermanen)m(tly)f
(reinstated,)j(y)m(ou)e(do)f(not)h(qualify)f(to)h(receiv)m(e)h(new)330
3049 y(licenses)31 b(for)f(the)h(same)g(material)h(under)c(section)k
(10.)199 3178 y(9.)61 b(Acceptance)32 b(Not)g(Required)d(for)i(Ha)m
(ving)g(Copies.)330 3308 y(Y)-8 b(ou)38 b(are)g(not)g(required)f(to)h
(accept)h(this)f(License)g(in)f(order)g(to)h(receiv)m(e)i(or)e(run)e(a)
i(cop)m(y)g(of)g(the)330 3417 y(Program.)i(Ancillary)27
b(propagation)g(of)g(a)g(co)m(v)m(ered)h(w)m(ork)e(o)s(ccurring)g
(solely)i(as)f(a)g(consequence)g(of)330 3527 y(using)i(p)s(eer-to-p)s
(eer)g(transmission)g(to)h(receiv)m(e)h(a)e(cop)m(y)h(lik)m(ewise)h(do)
s(es)d(not)i(require)e(acceptance.)330 3636 y(Ho)m(w)m(ev)m(er,)g
(nothing)c(other)g(than)g(this)f(License)i(gran)m(ts)g(y)m(ou)f(p)s
(ermission)f(to)i(propagate)g(or)f(mo)s(dify)330 3746
y(an)m(y)34 b(co)m(v)m(ered)g(w)m(ork.)50 b(These)32
b(actions)j(infringe)e(cop)m(yrigh)m(t)h(if)f(y)m(ou)h(do)f(not)g
(accept)i(this)e(License.)330 3856 y(Therefore,)f(b)m(y)f(mo)s(difying)
g(or)g(propagating)h(a)g(co)m(v)m(ered)h(w)m(ork,)f(y)m(ou)g(indicate)g
(y)m(our)g(acceptance)330 3965 y(of)f(this)f(License)h(to)g(do)f(so.)
154 4095 y(10.)61 b(Automatic)32 b(Licensing)f(of)f(Do)m(wnstream)i
(Recipien)m(ts.)330 4224 y(Eac)m(h)39 b(time)g(y)m(ou)g(con)m(v)m(ey)h
(a)f(co)m(v)m(ered)h(w)m(ork,)h(the)d(recipien)m(t)i(automatically)h
(receiv)m(es)f(a)f(license)330 4334 y(from)e(the)h(original)h
(licensors,)h(to)f(run,)f(mo)s(dify)f(and)g(propagate)i(that)f(w)m
(ork,)i(sub)5 b(ject)38 b(to)g(this)330 4443 y(License.)60
b(Y)-8 b(ou)38 b(are)f(not)g(resp)s(onsible)e(for)i(enforcing)g
(compliance)h(b)m(y)f(third)f(parties)h(with)f(this)330
4553 y(License.)330 4682 y(An)43 b(\\en)m(tit)m(y)i(transaction")g(is)f
(a)f(transaction)i(transferring)e(con)m(trol)h(of)g(an)f(organization,)
49 b(or)330 4792 y(substan)m(tially)24 b(all)f(assets)g(of)g(one,)i(or)
e(sub)s(dividing)d(an)j(organization,)j(or)d(merging)g(organizations.)
330 4902 y(If)28 b(propagation)i(of)f(a)h(co)m(v)m(ered)g(w)m(ork)f
(results)g(from)f(an)h(en)m(tit)m(y)i(transaction,)f(eac)m(h)g(part)m
(y)g(to)f(that)330 5011 y(transaction)g(who)d(receiv)m(es)k(a)d(cop)m
(y)i(of)e(the)h(w)m(ork)f(also)i(receiv)m(es)g(whatev)m(er)f(licenses)g
(to)g(the)g(w)m(ork)330 5121 y(the)d(part)m(y's)g(predecessor)g(in)g
(in)m(terest)h(had)e(or)h(could)g(giv)m(e)h(under)e(the)h(previous)f
(paragraph,)i(plus)330 5230 y(a)31 b(righ)m(t)g(to)h(p)s(ossession)e
(of)h(the)g(Corresp)s(onding)e(Source)i(of)g(the)f(w)m(ork)h(from)g
(the)g(predecessor)f(in)330 5340 y(in)m(terest,)i(if)e(the)h
(predecessor)f(has)g(it)h(or)f(can)h(get)h(it)e(with)h(reasonable)g
(e\013orts.)p eop end
%%Page: 91 96
TeXDict begin 91 95 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(91)330 299 y(Y)-8
b(ou)36 b(ma)m(y)g(not)g(imp)s(ose)f(an)m(y)h(further)e(restrictions)j
(on)e(the)h(exercise)g(of)g(the)g(righ)m(ts)g(gran)m(ted)g(or)330
408 y(a\016rmed)27 b(under)f(this)h(License.)40 b(F)-8
b(or)28 b(example,)h(y)m(ou)f(ma)m(y)g(not)g(imp)s(ose)f(a)h(license)g
(fee,)h(ro)m(y)m(alt)m(y)-8 b(,)31 b(or)330 518 y(other)d(c)m(harge)g
(for)g(exercise)h(of)e(righ)m(ts)h(gran)m(ted)g(under)e(this)i
(License,)h(and)d(y)m(ou)i(ma)m(y)g(not)g(initiate)330
628 y(litigation)f(\(including)d(a)g(cross-claim)i(or)e(coun)m
(terclaim)i(in)e(a)g(la)m(wsuit\))i(alleging)g(that)e(an)m(y)h(paten)m
(t)330 737 y(claim)j(is)g(infringed)e(b)m(y)i(making,)g(using,)g
(selling,)h(o\013ering)f(for)f(sale,)i(or)e(imp)s(orting)g(the)h
(Program)330 847 y(or)i(an)m(y)h(p)s(ortion)f(of)h(it.)154
984 y(11.)61 b(P)m(aten)m(ts.)330 1121 y(A)41 b(\\con)m(tributor")h(is)
f(a)g(cop)m(yrigh)m(t)i(holder)d(who)h(authorizes)g(use)g(under)e(this)
i(License)h(of)f(the)330 1230 y(Program)35 b(or)f(a)h(w)m(ork)g(on)f
(whic)m(h)g(the)h(Program)f(is)h(based.)53 b(The)34 b(w)m(ork)g(th)m
(us)g(licensed)h(is)g(called)330 1340 y(the)c(con)m(tributor's)f(\\con)
m(tributor)i(v)m(ersion".)330 1477 y(A)g(con)m(tributor's)g(\\essen)m
(tial)i(paten)m(t)e(claims")h(are)f(all)h(paten)m(t)f(claims)h(o)m
(wned)e(or)h(con)m(trolled)h(b)m(y)330 1587 y(the)21
b(con)m(tributor,)j(whether)d(already)g(acquired)g(or)h(hereafter)f
(acquired,)j(that)d(w)m(ould)g(b)s(e)g(infringed)330
1696 y(b)m(y)27 b(some)h(manner,)g(p)s(ermitted)f(b)m(y)g(this)h
(License,)h(of)e(making,)i(using,)f(or)f(selling)i(its)f(con)m
(tributor)330 1806 y(v)m(ersion,)40 b(but)c(do)i(not)f(include)g
(claims)i(that)f(w)m(ould)f(b)s(e)f(infringed)h(only)g(as)h(a)g
(consequence)g(of)330 1915 y(further)33 b(mo)s(di\014cation)h(of)g(the)
g(con)m(tributor)g(v)m(ersion.)52 b(F)-8 b(or)34 b(purp)s(oses)e(of)i
(this)g(de\014nition,)h(\\con-)330 2025 y(trol")40 b(includes)f(the)g
(righ)m(t)h(to)f(gran)m(t)h(paten)m(t)g(sublicenses)f(in)g(a)g(manner)g
(consisten)m(t)h(with)f(the)330 2134 y(requiremen)m(ts)30
b(of)h(this)f(License.)330 2271 y(Eac)m(h)44 b(con)m(tributor)h(gran)m
(ts)f(y)m(ou)g(a)h(non-exclusiv)m(e,)j(w)m(orldwide,)f(ro)m(y)m(alt)m
(y-free)g(paten)m(t)e(license)330 2381 y(under)26 b(the)h(con)m
(tributor's)g(essen)m(tial)i(paten)m(t)f(claims,)h(to)f(mak)m(e,)h
(use,)f(sell,)g(o\013er)g(for)f(sale,)i(imp)s(ort)330
2491 y(and)h(otherwise)h(run,)e(mo)s(dify)g(and)h(propagate)i(the)e
(con)m(ten)m(ts)i(of)f(its)g(con)m(tributor)f(v)m(ersion.)330
2628 y(In)e(the)h(follo)m(wing)h(three)e(paragraphs,)h(a)g(\\paten)m(t)
h(license")g(is)e(an)m(y)h(express)f(agreemen)m(t)j(or)d(com-)330
2737 y(mitmen)m(t,)g(ho)m(w)m(ev)m(er)g(denominated,)f(not)f(to)h
(enforce)g(a)f(paten)m(t)i(\(suc)m(h)e(as)g(an)g(express)g(p)s
(ermission)330 2847 y(to)32 b(practice)h(a)f(paten)m(t)h(or)e(co)m(v)m
(enan)m(t)j(not)e(to)g(sue)f(for)h(paten)m(t)g(infringemen)m(t\).)45
b(T)-8 b(o)32 b(\\gran)m(t")h(suc)m(h)330 2956 y(a)i(paten)m(t)h
(license)f(to)h(a)f(part)m(y)g(means)f(to)i(mak)m(e)f(suc)m(h)g(an)f
(agreemen)m(t)j(or)d(commitmen)m(t)i(not)f(to)330 3066
y(enforce)c(a)g(paten)m(t)g(against)h(the)e(part)m(y)-8
b(.)330 3203 y(If)36 b(y)m(ou)h(con)m(v)m(ey)h(a)f(co)m(v)m(ered)h(w)m
(ork,)h(kno)m(wingly)e(relying)g(on)f(a)h(paten)m(t)h(license,)h(and)d
(the)h(Corre-)330 3313 y(sp)s(onding)21 b(Source)h(of)h(the)g(w)m(ork)g
(is)f(not)h(a)m(v)-5 b(ailable)25 b(for)e(an)m(y)m(one)g(to)h(cop)m(y)
-8 b(,)25 b(free)e(of)g(c)m(harge)g(and)f(under)330 3422
y(the)32 b(terms)f(of)h(this)f(License,)i(through)e(a)h(publicly)f(a)m
(v)-5 b(ailable)34 b(net)m(w)m(ork)e(serv)m(er)g(or)g(other)g(readily)
330 3532 y(accessible)38 b(means,)g(then)e(y)m(ou)h(m)m(ust)f(either)h
(\(1\))h(cause)e(the)h(Corresp)s(onding)e(Source)h(to)h(b)s(e)f(so)330
3641 y(a)m(v)-5 b(ailable,)32 b(or)e(\(2\))g(arrange)g(to)h(depriv)m(e)
e(y)m(ourself)h(of)g(the)g(b)s(ene\014t)e(of)i(the)g(paten)m(t)g
(license)h(for)e(this)330 3751 y(particular)35 b(w)m(ork,)g(or)f(\(3\))
i(arrange,)g(in)d(a)i(manner)e(consisten)m(t)j(with)e(the)g(requiremen)
m(ts)h(of)f(this)330 3861 y(License,)j(to)f(extend)g(the)f(paten)m(t)h
(license)h(to)f(do)m(wnstream)f(recipien)m(ts.)56 b(\\Kno)m(wingly)36
b(relying")330 3970 y(means)31 b(y)m(ou)h(ha)m(v)m(e)g(actual)h(kno)m
(wledge)f(that,)g(but)f(for)g(the)g(paten)m(t)i(license,)f(y)m(our)g
(con)m(v)m(eying)h(the)330 4080 y(co)m(v)m(ered)40 b(w)m(ork)e(in)g(a)g
(coun)m(try)-8 b(,)41 b(or)e(y)m(our)f(recipien)m(t's)h(use)f(of)g(the)
h(co)m(v)m(ered)g(w)m(ork)g(in)e(a)i(coun)m(try)-8 b(,)330
4189 y(w)m(ould)35 b(infringe)g(one)g(or)g(more)g(iden)m(ti\014able)h
(paten)m(ts)g(in)f(that)h(coun)m(try)f(that)h(y)m(ou)f(ha)m(v)m(e)i
(reason)330 4299 y(to)31 b(b)s(eliev)m(e)h(are)e(v)-5
b(alid.)330 4436 y(If,)31 b(pursuan)m(t)e(to)j(or)e(in)h(connection)h
(with)e(a)h(single)h(transaction)g(or)f(arrangemen)m(t,)h(y)m(ou)f(con)
m(v)m(ey)-8 b(,)330 4545 y(or)35 b(propagate)h(b)m(y)e(pro)s(curing)g
(con)m(v)m(ey)m(ance)j(of,)g(a)e(co)m(v)m(ered)h(w)m(ork,)g(and)f(gran)
m(t)g(a)g(paten)m(t)h(license)330 4655 y(to)c(some)f(of)h(the)f
(parties)h(receiving)g(the)f(co)m(v)m(ered)i(w)m(ork)e(authorizing)h
(them)f(to)h(use,)g(propagate,)330 4765 y(mo)s(dify)26
b(or)h(con)m(v)m(ey)h(a)g(sp)s(eci\014c)e(cop)m(y)i(of)f(the)g(co)m(v)m
(ered)i(w)m(ork,)f(then)e(the)h(paten)m(t)h(license)g(y)m(ou)f(gran)m
(t)330 4874 y(is)j(automatically)k(extended)c(to)h(all)g(recipien)m(ts)
h(of)e(the)h(co)m(v)m(ered)h(w)m(ork)e(and)g(w)m(orks)g(based)g(on)h
(it.)330 5011 y(A)d(paten)m(t)g(license)h(is)e(\\discriminatory")i(if)e
(it)h(do)s(es)f(not)h(include)f(within)g(the)h(scop)s(e)f(of)h(its)g
(co)m(v)m(er-)330 5121 y(age,)f(prohibits)c(the)h(exercise)h(of,)h(or)d
(is)h(conditioned)h(on)f(the)g(non-exercise)h(of)f(one)g(or)g(more)g
(of)g(the)330 5230 y(righ)m(ts)32 b(that)g(are)g(sp)s(eci\014cally)h
(gran)m(ted)f(under)e(this)i(License.)45 b(Y)-8 b(ou)32
b(ma)m(y)g(not)g(con)m(v)m(ey)h(a)f(co)m(v)m(ered)330
5340 y(w)m(ork)d(if)g(y)m(ou)g(are)h(a)f(part)m(y)g(to)h(an)f
(arrangemen)m(t)h(with)e(a)i(third)e(part)m(y)h(that)g(is)g(in)g(the)g
(business)f(of)p eop end
%%Page: 92 97
TeXDict begin 92 96 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(92)330 299 y(distributing)30
b(soft)m(w)m(are,)i(under)d(whic)m(h)h(y)m(ou)h(mak)m(e)g(pa)m(ymen)m
(t)g(to)g(the)g(third)f(part)m(y)g(based)g(on)h(the)330
408 y(exten)m(t)f(of)g(y)m(our)f(activit)m(y)i(of)e(con)m(v)m(eying)i
(the)e(w)m(ork,)h(and)e(under)g(whic)m(h)g(the)i(third)e(part)m(y)h
(gran)m(ts,)330 518 y(to)35 b(an)m(y)g(of)f(the)h(parties)f(who)g(w)m
(ould)g(receiv)m(e)i(the)f(co)m(v)m(ered)h(w)m(ork)e(from)g(y)m(ou,)i
(a)f(discriminatory)330 628 y(paten)m(t)g(license)h(\(a\))f(in)f
(connection)h(with)f(copies)h(of)g(the)f(co)m(v)m(ered)i(w)m(ork)f(con)
m(v)m(ey)m(ed)h(b)m(y)e(y)m(ou)h(\(or)330 737 y(copies)k(made)e(from)h
(those)g(copies\),)j(or)d(\(b\))g(primarily)f(for)h(and)f(in)h
(connection)h(with)e(sp)s(eci\014c)330 847 y(pro)s(ducts)32
b(or)i(compilations)h(that)f(con)m(tain)h(the)f(co)m(v)m(ered)i(w)m
(ork,)e(unless)f(y)m(ou)h(en)m(tered)h(in)m(to)f(that)330
956 y(arrangemen)m(t,)e(or)e(that)h(paten)m(t)g(license)h(w)m(as)e
(gran)m(ted,)i(prior)d(to)j(28)f(Marc)m(h)g(2007.)330
1084 y(Nothing)23 b(in)e(this)h(License)h(shall)f(b)s(e)f(construed)h
(as)g(excluding)g(or)g(limiting)h(an)m(y)f(implied)g(license)h(or)330
1194 y(other)k(defenses)f(to)h(infringemen)m(t)g(that)g(ma)m(y)g
(otherwise)g(b)s(e)e(a)m(v)-5 b(ailable)29 b(to)e(y)m(ou)g(under)e
(applicable)330 1303 y(paten)m(t)31 b(la)m(w.)154 1431
y(12.)61 b(No)31 b(Surrender)d(of)i(Others')g(F)-8 b(reedom.)330
1559 y(If)24 b(conditions)g(are)h(imp)s(osed)f(on)g(y)m(ou)g(\(whether)
g(b)m(y)g(court)h(order,)g(agreemen)m(t)h(or)e(otherwise\))h(that)330
1669 y(con)m(tradict)35 b(the)f(conditions)h(of)e(this)h(License,)h
(they)f(do)g(not)g(excuse)g(y)m(ou)g(from)g(the)f(conditions)330
1778 y(of)k(this)f(License.)59 b(If)36 b(y)m(ou)h(cannot)g(con)m(v)m
(ey)h(a)e(co)m(v)m(ered)i(w)m(ork)f(so)g(as)f(to)h(satisfy)g(sim)m
(ultaneously)330 1888 y(y)m(our)44 b(obligations)i(under)c(this)i
(License)h(and)e(an)m(y)i(other)f(p)s(ertinen)m(t)g(obligations,)49
b(then)44 b(as)h(a)330 1998 y(consequence)40 b(y)m(ou)f(ma)m(y)g(not)g
(con)m(v)m(ey)i(it)e(at)h(all.)67 b(F)-8 b(or)40 b(example,)i(if)d(y)m
(ou)g(agree)h(to)g(terms)e(that)330 2107 y(obligate)32
b(y)m(ou)e(to)h(collect)h(a)f(ro)m(y)m(alt)m(y)h(for)e(further)e(con)m
(v)m(eying)k(from)e(those)g(to)h(whom)e(y)m(ou)h(con)m(v)m(ey)330
2217 y(the)h(Program,)h(the)f(only)g(w)m(a)m(y)h(y)m(ou)g(could)f
(satisfy)g(b)s(oth)g(those)g(terms)g(and)g(this)g(License)g(w)m(ould)
330 2326 y(b)s(e)f(to)h(refrain)f(en)m(tirely)h(from)f(con)m(v)m(eying)
i(the)f(Program.)154 2454 y(13.)61 b(Use)31 b(with)f(the)g(GNU)h
(A\013ero)g(General)h(Public)e(License.)330 2582 y(Not)m(withstanding)
39 b(an)m(y)g(other)f(pro)m(vision)h(of)f(this)g(License,)k(y)m(ou)c
(ha)m(v)m(e)i(p)s(ermission)d(to)i(link)f(or)330 2692
y(com)m(bine)h(an)m(y)g(co)m(v)m(ered)i(w)m(ork)e(with)f(a)h(w)m(ork)g
(licensed)g(under)e(v)m(ersion)i(3)g(of)g(the)g(GNU)g(A\013ero)330
2801 y(General)29 b(Public)f(License)h(in)m(to)h(a)f(single)g(com)m
(bined)f(w)m(ork,)h(and)f(to)h(con)m(v)m(ey)h(the)f(resulting)g(w)m
(ork.)330 2911 y(The)f(terms)g(of)g(this)h(License)f(will)h(con)m(tin)m
(ue)g(to)g(apply)f(to)h(the)g(part)f(whic)m(h)g(is)g(the)h(co)m(v)m
(ered)h(w)m(ork,)330 3020 y(but)38 b(the)h(sp)s(ecial)g(requiremen)m
(ts)f(of)h(the)g(GNU)g(A\013ero)g(General)g(Public)g(License,)i
(section)f(13,)330 3130 y(concerning)31 b(in)m(teraction)h(through)e(a)
h(net)m(w)m(ork)g(will)f(apply)g(to)i(the)e(com)m(bination)i(as)e(suc)m
(h.)154 3258 y(14.)61 b(Revised)31 b(V)-8 b(ersions)30
b(of)h(this)f(License.)330 3386 y(The)35 b(F)-8 b(ree)36
b(Soft)m(w)m(are)g(F)-8 b(oundation)36 b(ma)m(y)g(publish)d(revised)i
(and/or)g(new)g(v)m(ersions)h(of)f(the)g(GNU)330 3495
y(General)f(Public)f(License)g(from)g(time)g(to)h(time.)49
b(Suc)m(h)33 b(new)f(v)m(ersions)h(will)h(b)s(e)e(similar)h(in)g
(spirit)330 3605 y(to)e(the)g(presen)m(t)f(v)m(ersion,)h(but)f(ma)m(y)h
(di\013er)f(in)g(detail)i(to)f(address)e(new)h(problems)g(or)g
(concerns.)330 3733 y(Eac)m(h)37 b(v)m(ersion)g(is)f(giv)m(en)h(a)g
(distinguishing)e(v)m(ersion)i(n)m(um)m(b)s(er.)57 b(If)36
b(the)g(Program)g(sp)s(eci\014es)g(that)330 3842 y(a)31
b(certain)h(n)m(um)m(b)s(ered)d(v)m(ersion)i(of)g(the)g(GNU)g(General)h
(Public)e(License)h(\\or)g(an)m(y)g(later)h(v)m(ersion")330
3952 y(applies)h(to)g(it,)h(y)m(ou)e(ha)m(v)m(e)i(the)f(option)g(of)f
(follo)m(wing)i(the)f(terms)f(and)g(conditions)h(either)g(of)f(that)330
4061 y(n)m(um)m(b)s(ered)h(v)m(ersion)h(or)g(of)g(an)m(y)g(later)h(v)m
(ersion)g(published)d(b)m(y)i(the)g(F)-8 b(ree)35 b(Soft)m(w)m(are)g(F)
-8 b(oundation.)330 4171 y(If)28 b(the)h(Program)g(do)s(es)g(not)g(sp)s
(ecify)f(a)h(v)m(ersion)g(n)m(um)m(b)s(er)f(of)h(the)g(GNU)g(General)h
(Public)e(License,)330 4281 y(y)m(ou)j(ma)m(y)g(c)m(ho)s(ose)g(an)m(y)g
(v)m(ersion)g(ev)m(er)g(published)d(b)m(y)j(the)f(F)-8
b(ree)32 b(Soft)m(w)m(are)f(F)-8 b(oundation.)330 4408
y(If)39 b(the)h(Program)g(sp)s(eci\014es)f(that)h(a)g(pro)m(xy)g(can)g
(decide)g(whic)m(h)f(future)g(v)m(ersions)h(of)f(the)h(GNU)330
4518 y(General)34 b(Public)e(License)i(can)f(b)s(e)f(used,)h(that)h
(pro)m(xy's)e(public)h(statemen)m(t)h(of)f(acceptance)j(of)d(a)330
4628 y(v)m(ersion)e(p)s(ermanen)m(tly)f(authorizes)h(y)m(ou)g(to)g(c)m
(ho)s(ose)g(that)g(v)m(ersion)g(for)f(the)h(Program.)330
4756 y(Later)37 b(license)g(v)m(ersions)f(ma)m(y)h(giv)m(e)g(y)m(ou)g
(additional)g(or)f(di\013eren)m(t)h(p)s(ermissions.)56
b(Ho)m(w)m(ev)m(er,)40 b(no)330 4865 y(additional)25
b(obligations)i(are)e(imp)s(osed)f(on)g(an)m(y)h(author)f(or)h(cop)m
(yrigh)m(t)h(holder)e(as)h(a)g(result)f(of)h(y)m(our)330
4975 y(c)m(ho)s(osing)31 b(to)g(follo)m(w)h(a)f(later)g(v)m(ersion.)154
5103 y(15.)61 b(Disclaimer)32 b(of)f(W)-8 b(arran)m(t)m(y)g(.)330
5230 y(THERE)47 b(IS)f(NO)h(W)-10 b(ARRANTY)48 b(F)m(OR)f(THE)g(PR)m
(OGRAM,)h(TO)f(THE)g(EXTENT)f(PER-)330 5340 y(MITTED)g(BY)i(APPLICABLE)
e(LA)-10 b(W.)47 b(EX)m(CEPT)f(WHEN)i(OTHER)-10 b(WISE)45
b(ST)-8 b(A)g(TED)47 b(IN)p eop end
%%Page: 93 98
TeXDict begin 93 97 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(93)330 299 y(WRITING)34
b(THE)f(COPYRIGHT)g(HOLDERS)g(AND/OR)i(OTHER)e(P)-8 b(AR)g(TIES)33
b(PR)m(O)m(VIDE)330 408 y(THE)d(PR)m(OGRAM)i(\\AS)e(IS")h(WITHOUT)f(W)
-10 b(ARRANTY)31 b(OF)g(ANY)g(KIND,)g(EITHER)f(EX-)330
518 y(PRESSED)k(OR)h(IMPLIED,)g(INCLUDING,)g(BUT)h(NOT)e(LIMITED)h(TO,)
f(THE)h(IMPLIED)330 628 y(W)-10 b(ARRANTIES)38 b(OF)g(MER)m(CHANT)-8
b(ABILITY)39 b(AND)g(FITNESS)e(F)m(OR)i(A)f(P)-8 b(AR)g(TICULAR)330
737 y(PURPOSE.)39 b(THE)h(ENTIRE)f(RISK)g(AS)h(TO)f(THE)g(QUALITY)h
(AND)h(PERF)m(ORMANCE)330 847 y(OF)29 b(THE)g(PR)m(OGRAM)h(IS)f(WITH)g
(YOU.)h(SHOULD)f(THE)g(PR)m(OGRAM)h(PR)m(O)m(VE)g(DEFEC-)330
956 y(TIVE,)24 b(YOU)g(ASSUME)f(THE)h(COST)f(OF)h(ALL)g(NECESSAR)-8
b(Y)23 b(SER)-10 b(VICING,)23 b(REP)-8 b(AIR)24 b(OR)330
1066 y(CORRECTION.)154 1200 y(16.)61 b(Limitation)32
b(of)e(Liabilit)m(y)-8 b(.)330 1334 y(IN)26 b(NO)g(EVENT)g(UNLESS)f
(REQUIRED)h(BY)h(APPLICABLE)f(LA)-10 b(W)26 b(OR)g(A)m(GREED)h(TO)f(IN)
330 1444 y(WRITING)37 b(WILL)f(ANY)i(COPYRIGHT)e(HOLDER,)h(OR)f(ANY)h
(OTHER)f(P)-8 b(AR)g(TY)38 b(WHO)330 1553 y(MODIFIES)33
b(AND/OR)h(CONVEYS)e(THE)h(PR)m(OGRAM)h(AS)e(PERMITTED)h(ABO)m(VE,)h
(BE)330 1663 y(LIABLE)d(TO)e(YOU)i(F)m(OR)g(D)m(AMA)m(GES,)i(INCLUDING)
e(ANY)g(GENERAL,)g(SPECIAL,)f(IN-)330 1772 y(CIDENT)-8
b(AL)32 b(OR)f(CONSEQUENTIAL)f(D)m(AMA)m(GES)j(ARISING)f(OUT)f(OF)h
(THE)f(USE)g(OR)330 1882 y(INABILITY)47 b(TO)f(USE)g(THE)g(PR)m(OGRAM)i
(\(INCLUDING)f(BUT)g(NOT)f(LIMITED)h(TO)330 1992 y(LOSS)28
b(OF)h(D)m(A)-8 b(T)g(A)31 b(OR)e(D)m(A)-8 b(T)g(A)31
b(BEING)f(RENDERED)f(INA)m(CCURA)-8 b(TE)30 b(OR)e(LOSSES)g(SUS-)330
2101 y(T)-8 b(AINED)43 b(BY)g(YOU)f(OR)g(THIRD)h(P)-8
b(AR)g(TIES)42 b(OR)g(A)g(F)-10 b(AILURE)43 b(OF)f(THE)g(PR)m(OGRAM)330
2211 y(TO)30 b(OPERA)-8 b(TE)29 b(WITH)i(ANY)f(OTHER)g(PR)m(OGRAMS\),)h
(EVEN)f(IF)h(SUCH)e(HOLDER)h(OR)330 2320 y(OTHER)36 b(P)-8
b(AR)g(TY)37 b(HAS)g(BEEN)f(AD)m(VISED)i(OF)f(THE)f(POSSIBILITY)f(OF)h
(SUCH)g(D)m(AM-)330 2430 y(A)m(GES.)154 2564 y(17.)61
b(In)m(terpretation)31 b(of)g(Sections)g(15)g(and)f(16.)330
2698 y(If)d(the)h(disclaimer)g(of)f(w)m(arran)m(t)m(y)i(and)d
(limitation)k(of)d(liabilit)m(y)j(pro)m(vided)d(ab)s(o)m(v)m(e)h
(cannot)g(b)s(e)f(giv)m(en)330 2808 y(lo)s(cal)35 b(legal)h(e\013ect)g
(according)f(to)f(their)h(terms,)g(reviewing)f(courts)g(shall)h(apply)e
(lo)s(cal)j(la)m(w)e(that)330 2917 y(most)j(closely)i(appro)m(ximates)f
(an)f(absolute)g(w)m(aiv)m(er)i(of)e(all)g(civil)i(liabilit)m(y)f(in)f
(connection)h(with)330 3027 y(the)d(Program,)i(unless)d(a)h(w)m(arran)m
(t)m(y)h(or)f(assumption)g(of)g(liabilit)m(y)i(accompanies)f(a)g(cop)m
(y)g(of)f(the)330 3136 y(Program)c(in)f(return)f(for)h(a)h(fee.)150
3368 y Fw(END)45 b(OF)g(TERMS)f(AND)h(CONDITIONS)150
3625 y(Ho)l(w)h(to)f(Apply)f(These)h(T)-11 b(erms)45
b(to)g(Y)-11 b(our)44 b(New)i(Programs)150 3784 y Fx(If)20
b(y)m(ou)i(dev)m(elop)f(a)h(new)e(program,)j(and)d(y)m(ou)i(w)m(an)m(t)
f(it)h(to)f(b)s(e)g(of)g(the)g(greatest)i(p)s(ossible)d(use)h(to)g(the)
g(public,)150 3894 y(the)28 b(b)s(est)f(w)m(a)m(y)i(to)g(ac)m(hiev)m(e)
h(this)e(is)g(to)g(mak)m(e)h(it)g(free)f(soft)m(w)m(are)h(whic)m(h)e
(ev)m(ery)m(one)j(can)e(redistribute)g(and)150 4003 y(c)m(hange)k
(under)c(these)j(terms.)275 4137 y(T)-8 b(o)29 b(do)h(so,)g(attac)m(h)h
(the)f(follo)m(wing)h(notices)f(to)h(the)e(program.)40
b(It)30 b(is)g(safest)g(to)g(attac)m(h)h(them)f(to)g(the)150
4247 y(start)38 b(of)g(eac)m(h)g(source)g(\014le)f(to)h(most)g
(e\013ectiv)m(ely)i(state)f(the)f(exclusion)g(of)f(w)m(arran)m(t)m(y;)
42 b(and)37 b(eac)m(h)i(\014le)150 4357 y(should)29 b(ha)m(v)m(e)j(at)f
(least)h(the)e(\\cop)m(yrigh)m(t")j(line)e(and)e(a)i(p)s(oin)m(ter)g
(to)g(where)f(the)g(full)g(notice)i(is)e(found.)390 4468
y Fc(one)40 b(line)g(to)g(give)g(the)g(program's)h(name)f(and)g(a)g
(brief)g(idea)g(of)g(what)g(it)g(does.)390 4555 y Fd(Copyright)h(\(C\))
f Fc(year)49 b(name)40 b(of)g(author)390 4730 y Fd(This)g(program)h(is)
f(free)g(software:)h(you)f(can)g(redistribute)i(it)e(and/or)g(modify)
390 4817 y(it)g(under)g(the)g(terms)g(of)g(the)g(GNU)g(General)h
(Public)f(License)h(as)f(published)h(by)390 4904 y(the)f(Free)g
(Software)h(Foundation,)h(either)e(version)h(3)f(of)f(the)h(License,)h
(or)f(\(at)390 4991 y(your)g(option\))h(any)f(later)g(version.)390
5166 y(This)g(program)h(is)f(distributed)h(in)f(the)g(hope)g(that)g(it)
g(will)g(be)g(useful,)h(but)390 5253 y(WITHOUT)g(ANY)f(WARRANTY;)h
(without)g(even)f(the)g(implied)h(warranty)g(of)390 5340
y(MERCHANTABILITY)i(or)c(FITNESS)i(FOR)f(A)g(PARTICULAR)h(PURPOSE.)80
b(See)40 b(the)g(GNU)p eop end
%%Page: 94 99
TeXDict begin 94 98 bop 150 -116 a Fx(App)s(endix)29
b(C:)h(Cop)m(ying)g(Information)2143 b(94)390 299 y Fd(General)41
b(Public)f(License)h(for)f(more)g(details.)390 473 y(You)g(should)g
(have)h(received)g(a)e(copy)h(of)g(the)g(GNU)g(General)h(Public)f
(License)390 560 y(along)g(with)g(this)h(program.)80
b(If)40 b(not,)g(see)g(http://www.gnu.org/licenses/.)275
695 y Fx(Also)31 b(add)e(information)i(on)f(ho)m(w)h(to)g(con)m(tact)i
(y)m(ou)d(b)m(y)g(electronic)j(and)d(pap)s(er)f(mail.)275
829 y(If)e(the)i(program)f(do)s(es)f(terminal)i(in)m(teraction,)i(mak)m
(e)e(it)g(output)f(a)g(short)g(notice)i(lik)m(e)f(this)f(when)f(it)150
939 y(starts)k(in)f(an)g(in)m(teractiv)m(e)j(mo)s(de:)390
1051 y Fc(program)49 b Fd(Copyright)42 b(\(C\))e Fc(year)48
b(name)41 b(of)e(author)390 1138 y Fd(This)h(program)h(comes)f(with)g
(ABSOLUTELY)i(NO)e(WARRANTY;)h(for)f(details)h(type)f(`show)g(w'.)390
1225 y(This)g(is)g(free)g(software,)h(and)f(you)g(are)g(welcome)h(to)e
(redistribute)j(it)390 1313 y(under)e(certain)h(conditions;)h(type)e
(`show)g(c')g(for)g(details.)275 1447 y Fx(The)27 b(h)m(yp)s(othetical)
i(commands)f(`)p Fr(show)h(w)p Fx(')f(and)f(`)p Fr(show)j(c)p
Fx(')d(should)g(sho)m(w)h(the)g(appropriate)g(parts)g(of)150
1557 y(the)i(General)h(Public)f(License.)41 b(Of)30 b(course,)h(y)m
(our)f(program's)g(commands)f(migh)m(t)i(b)s(e)f(di\013eren)m(t;)h(for)
f(a)150 1666 y(GUI)h(in)m(terface,)h(y)m(ou)f(w)m(ould)f(use)g(an)g
(\\ab)s(out)h(b)s(o)m(x".)275 1801 y(Y)-8 b(ou)34 b(should)f(also)i
(get)g(y)m(our)e(emplo)m(y)m(er)i(\(if)g(y)m(ou)f(w)m(ork)g(as)g(a)g
(programmer\))g(or)g(sc)m(ho)s(ol,)i(if)d(an)m(y)-8 b(,)36
b(to)150 1910 y(sign)d(a)g(\\cop)m(yrigh)m(t)h(disclaimer")g(for)e(the)
h(program,)g(if)f(necessary)-8 b(.)48 b(F)-8 b(or)34
b(more)e(information)h(on)g(this,)150 2020 y(and)d(ho)m(w)g(to)h(apply)
f(and)g(follo)m(w)i(the)e(GNU)h(GPL,)g(see)g Fr
(http://www.gnu.org/licen)o(ses)o(/)p Fx(.)275 2154 y(The)44
b(GNU)h(General)g(Public)f(License)i(do)s(es)e(not)h(p)s(ermit)e
(incorp)s(orating)i(y)m(our)g(program)f(in)m(to)150 2264
y(proprietary)35 b(programs.)57 b(If)35 b(y)m(our)h(program)f(is)h(a)g
(subroutine)f(library)-8 b(,)37 b(y)m(ou)f(ma)m(y)h(consider)e(it)i
(more)150 2374 y(useful)30 b(to)i(p)s(ermit)e(linking)i(proprietary)e
(applications)i(with)f(the)g(library)-8 b(.)43 b(If)31
b(this)g(is)g(what)g(y)m(ou)g(w)m(an)m(t)150 2483 y(to)f(do,)g(use)f
(the)g(GNU)h(Lesser)g(General)g(Public)f(License)h(instead)g(of)f(this)
h(License.)40 b(But)30 b(\014rst,)f(please)150 2593 y(read)h
Fr(http://www.gnu.org/philos)o(ophy)o(/why)o(-no)o(t-lg)o(pl.h)o(tml)o
Fx(.)p eop end
%%Page: 95 100
TeXDict begin 95 99 bop 150 -116 a Fx(F)-8 b(unction)31
b(and)f(V)-8 b(ariable)32 b(Index)2370 b(95)150 299 y
Fu(F)-13 b(unction)52 b(and)h(V)-13 b(ariable)53 b(Index)150
610 y Fw(I)150 726 y Fd(idn_free)12 b Fa(:)j(:)e(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)38
b Ff(13)150 814 y Fd(idna-to-ascii)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Ff(57)150 901 y Fd(idna-to-unicode)11
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
b Ff(57)150 988 y Fd(idna_strerror)16 b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)43 b Ff(29)150 1076 y Fd(idna_to_ascii_4i)9
b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
b Ff(26)150 1163 y Fd(idna_to_ascii_4z)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)35 b Ff(27)150 1250 y Fd(idna_to_ascii_8z)9
b Fa(:)16 b(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)35
b Ff(27)150 1338 y Fd(idna_to_ascii_lz)9 b Fa(:)16 b(:)e(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)35 b Ff(27)150 1425 y Fd(idna_to_unicode_44i)18
b Fa(:)g(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)44 b Ff(26)150 1512
y Fd(idna_to_unicode_4z4z)16 b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
b Ff(28)150 1600 y Fd(idna_to_unicode_8z4z)16 b Fa(:)h(:)c(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)42 b Ff(28)150 1687 y Fd(idna_to_unicode_8z8z)16
b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)42 b Ff(28)150 1774 y Fd
(idna_to_unicode_8zlz)16 b Fa(:)h(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)42
b Ff(29)150 1862 y Fd(idna_to_unicode_lzlz)16 b Fa(:)h(:)c(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)42 b Ff(29)150 2105 y Fw(P)150 2221 y Fd(pr29_4)17
b Fa(:)e(:)e(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)43 b Ff(36)150 2308 y Fd(pr29_4z)15
b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)41 b Ff(37)150 2395 y Fd(pr29_8z)15
b Fa(:)f(:)f(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)41 b Ff(37)150 2483 y Fd(pr29_strerror)16
b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
b Ff(37)150 2570 y Fd(punycode-decode)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Ff(56)150 2657 y Fd(punycode-encode)11
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
b Ff(56)150 2745 y Fd(punycode_decode)11 b Fa(:)17 b(:)c(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Ff(23)150 2832 y Fd(punycode_encode)11
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38
b Ff(22)150 2919 y Fd(punycode_strerror)6 b Fa(:)17 b(:)c(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)32 b Ff(24)150 3172 y Fw(S)150 3288
y Fd(stringprep)7 b Fa(:)15 b(:)e(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)33 b Ff(18)150 3375 y Fd(stringprep_4i)16
b Fa(:)g(:)e(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)43
b Ff(17)150 3462 y Fd(stringprep_4zi)14 b Fa(:)i(:)d(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)40 b Ff(18)2025 610 y Fd
(stringprep_check_version)28 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Ff(10)2025
699 y Fd(stringprep_convert)25 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
47 b Ff(16)2025 787 y Fd(stringprep_iscsi)9 b Fa(:)16
b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35 b Ff(20)2025
875 y Fd(stringprep_locale_charset)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Ff(16)2025
964 y Fd(stringprep_locale_to_utf8)25 b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)46 b Ff(16)2025
1052 y Fd(stringprep_nameprep_no_unassig)q(ned)17 b Fa(:)i(:)13
b(:)g(:)g(:)h(:)f(:)g(:)g(:)43 b Ff(20)2025 1141 y Fd(stringprep_plain)
9 b Fa(:)16 b(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)35
b Ff(20)2025 1229 y Fd(stringprep_profile)25 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)47 b Ff(19)2025 1318 y
Fd(stringprep_strerror)18 b Fa(:)f(:)c(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)45
b Ff(19)2025 1406 y Fd(stringprep_ucs4_nfkc_normalize)8
b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34
b Ff(15)2025 1494 y Fd(stringprep_ucs4_to_utf8)8 b Fa(:)18
b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)34 b Ff(14)2025 1583 y Fd(stringprep_unichar_to_utf8)17
b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)44 b Ff(14)2025 1671 y Fd(stringprep_utf8_nfkc_normalize)8
b Fa(:)19 b(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)34
b Ff(15)2025 1760 y Fd(stringprep_utf8_to_locale)25 b
Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)46 b Ff(16)2025 1848 y Fd(stringprep_utf8_to_ucs4)8
b Fa(:)18 b(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)34 b Ff(15)2025 1937 y Fd
(stringprep_utf8_to_unichar)17 b Fa(:)i(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)44 b Ff(14)2025 2025
y Fd(stringprep_xmpp_nodeprep)28 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)49 b Ff(21)2025
2113 y Fd(stringprep_xmpp_resourceprep)13 b Fa(:)19 b(:)13
b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)39
b Ff(21)2025 2371 y Fw(T)2025 2490 y Fd(tld_check_4)24
b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
48 b Ff(33)2025 2578 y Fd(tld_check_4t)21 b Fa(:)14 b(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Ff(31)2025
2667 y Fd(tld_check_4tz)16 b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)43 b Ff(31)2025 2755 y Fd(tld_check_4z)21
b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45
b Ff(34)2025 2844 y Fd(tld_check_8z)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Ff(34)2025 2932
y Fd(tld_check_lz)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)45 b Ff(34)2025 3020 y Fd(tld_default_table)6
b Fa(:)17 b(:)c(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)33 b Ff(33)2025
3109 y Fd(tld_get_4)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b Ff(32)2025 3197
y Fd(tld_get_4z)7 b Fa(:)15 b(:)e(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)33 b Ff(32)2025 3286 y Fd(tld_get_table)16
b Fa(:)g(:)d(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)43
b Ff(33)2025 3374 y Fd(tld_get_z)9 b Fa(:)15 b(:)f(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)36 b
Ff(32)2025 3462 y Fd(tld_strerror)21 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)45 b Ff(35)p eop end
%%Page: 96 101
TeXDict begin 96 100 bop 150 -116 a Fx(Concept)31 b(Index)2927
b(96)150 299 y Fu(Concept)52 b(Index)150 638 y Fw(A)150
754 y Ff(AIX)14 b Fa(:)e(:)h(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
b Ff(4)150 841 y(ARM)11 b Fa(:)h(:)h(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)37
b Ff(5)150 929 y(Auto)r(conf)26 b(tests)10 b Fa(:)j(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)36 b Ff(11)150 1162
y Fw(C)150 1278 y Ff(command)26 b(line)20 b Fa(:)13 b(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)46 b Ff(52)150
1365 y(Compiling)27 b(y)n(our)e(application)17 b Fa(:)e(:)e(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)44
b Ff(11)150 1452 y(Con\014gure)26 b(tests)20 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)45
b Ff(11)150 1539 y(Con)n(tributing)23 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)50 b Ff(7)150
1789 y Fw(D)150 1905 y Ff(de-allo)r(cation)25 b Fa(:)13
b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
b Ff(12)150 1992 y(Debian)18 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45
b Ff(3)150 2079 y(Do)n(wnload)22 b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)48
b Ff(6)150 2312 y Fw(E)150 2428 y Ff(Examples)7 b Fa(:)14
b(:)f(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)33 b Ff(38)150 2678 y Fw(F)150 2794 y Ff(FDL,)26
b(GNU)f(F)-6 b(ree)25 b(Do)r(cumen)n(tation)h(License)20
b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)45 b Ff(68)150 2881
y(free)24 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49 b
Ff(12)150 2968 y(F)-6 b(reeBSD)22 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
b Ff(5)150 3201 y Fw(G)150 3317 y Ff(GPL,)26 b(GNU)f(General)i(Public)f
(License)e Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)49
b Ff(83)150 3567 y Fw(H)150 3683 y Ff(Hac)n(king)18 b
Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)45 b Ff(7)150 3770 y(heap)25 b(memory)10
b Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)36
b Ff(12)150 3857 y(HP-UX)12 b Fa(:)f(:)j(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)39
b Ff(4)150 4090 y Fw(I)150 4206 y Fd(idn)8 b Fa(:)14
b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34 b Ff(52)150 4293 y(IDNA)24
b(F)-6 b(unctions)12 b Fa(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)38 b Ff(25)150 4381 y(Installation)14 b Fa(:)g(:)g(:)f(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)41
b Ff(6)150 4468 y(in)n(v)n(oking)25 b Fd(idn)8 b Fa(:)14
b(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)34
b Ff(52)150 4555 y(IRIX)18 b Fa(:)12 b(:)h(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)45
b Ff(4)150 4788 y Fw(L)150 4904 y Ff(LGPL,)26 b(GNU)f(Lesser)i(General)
g(Public)f(License)19 b Fa(:)13 b(:)h(:)f(:)45 b Ff(75)150
4991 y(License,)27 b(GNU)e(GPL)13 b Fa(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)39 b Ff(83)150 5079 y(License,)27 b(GNU)e(LGPL)6
b Fa(:)13 b(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)32 b Ff(75)2025
638 y Fw(M)2025 759 y Ff(MacOS)26 b(X)7 b Fa(:)12 b(:)h(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)34
b Ff(5)2025 848 y(Mandrak)n(e)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)48
b Ff(4)2025 938 y(Memory)26 b(handling)9 b Fa(:)k(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)g(:)h(:)35 b Ff(12)2025 1027 y(Microsoft)13
b Fa(:)i(:)e(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g
(:)h(:)f(:)g(:)g(:)40 b Ff(5)2025 1117 y(mingw32)23 b
Fa(:)13 b(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)49 b Ff(5)2025 1206 y(Motorola)28
b(Cold\014re)10 b Fa(:)j(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)37 b Ff(5)2025 1451 y Fw(N)2025 1572 y Ff(NetBSD)15
b Fa(:)e(:)g(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)
f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)h(:)42 b Ff(5)2025 1817 y Fw(O)2025
1938 y Ff(Op)r(enBSD)18 b Fa(:)c(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)47 b Ff(5)2025
2027 y(Op)r(enP)n(o)n(w)n(er)26 b(720)10 b Fa(:)k(:)g(:)f(:)g(:)g(:)g
(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)38 b Ff(4)2025 2289
y Fw(P)2025 2410 y Ff(PR29)26 b(F)-6 b(unctions)20 b
Fa(:)13 b(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)46
b Ff(36)2025 2499 y(Pun)n(yco)r(de)25 b(F)-6 b(unctions)17
b Fa(:)c(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)44 b Ff(22)2025
2761 y Fw(R)2025 2882 y Ff(RedHat)7 b Fa(:)12 b(:)i(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)34
b Ff(4)2025 2971 y(RedHat)25 b(Adv)l(anced)f(Serv)n(er)19
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)47 b Ff(4)2025 3061 y(Rep)r(orting)26
b(Bugs)10 b Fa(:)j(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)37 b Ff(7)2025 3323 y Fw(S)2025 3443 y Ff(Solaris)9
b Fa(:)14 b(:)f(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g
(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)36 b Ff(4)2025 3533 y(Stringprep)25
b(F)-6 b(unctions)20 b Fa(:)14 b(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)
g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)47
b Ff(17)2025 3622 y(SuSE)13 b Fa(:)f(:)h(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)40
b Ff(4)2025 3712 y(SuSE)25 b(Lin)n(ux)c Fa(:)14 b(:)f(:)g(:)g(:)g(:)g
(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)
h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)50 b
Ff(4)2025 3957 y Fw(T)2025 4078 y Ff(TLD)25 b(F)-6 b(unctions)15
b Fa(:)e(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)41
b Ff(31)2025 4167 y(T)-6 b(ru64)21 b Fa(:)13 b(:)g(:)g(:)g(:)h(:)f(:)g
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)48
b Ff(4)2025 4412 y Fw(U)2025 4533 y Ff(uClib)r(c)10 b
Fa(:)k(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f
(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)
g(:)g(:)g(:)g(:)h(:)f(:)g(:)37 b Ff(5)2025 4622 y(uClin)n(ux)21
b Fa(:)13 b(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g
(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)
g(:)h(:)f(:)g(:)g(:)g(:)49 b Ff(5)2025 4712 y(Utilit)n(y)25
b(F)-6 b(unctions)20 b Fa(:)13 b(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)
g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g
(:)h(:)46 b Ff(14)2025 4974 y Fw(W)2025 5094 y Ff(Windo)n(ws)9
b Fa(:)k(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)
g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)g(:)h(:)f(:)g(:)g(:)g(:)g(:)g(:)h
(:)f(:)g(:)35 b Ff(4,)27 b(5)p eop end
%%Trailer
userdict /end-hook known{end-hook}if
%%EOF
|