1 13f7391e 2004-05-15 devnull .fp 1 R LucidaSans
2 13f7391e 2004-05-15 devnull .fp 2 I LucidaSansI
3 13f7391e 2004-05-15 devnull .fp 3 B LucidaSansB
4 13f7391e 2004-05-15 devnull .fp 5 L LucidaCW
5 530d0016 2005-01-11 devnull .ds 9 /usr/local/plan9
6 13f7391e 2004-05-15 devnull .if n .uf 4
7 13f7391e 2004-05-15 devnull .if n .bd 3
8 13f7391e 2004-05-15 devnull .if n .rm bd
9 13f7391e 2004-05-15 devnull '''\" PWB Manual Entry Macros - 1.36 of 11/11/80
10 13f7391e 2004-05-15 devnull '''\" Nroff/Troff Version @(#)1.36
11 13f7391e 2004-05-15 devnull '''\" Option -rs1 short (9") pages
12 13f7391e 2004-05-15 devnull '''\" Option -rp# set no. of first page, put no. of pgs. on stderr
13 13f7391e 2004-05-15 devnull '''\" Option -rd1 give modified date instead of printed date
14 13f7391e 2004-05-15 devnull ... temporary fixes for neat manual printing...
16 13f7391e 2004-05-15 devnull .tmwrong version of man entry macros - use -man6
19 13f7391e 2004-05-15 devnull .ifn .ds Tm \uTM\d
20 13f7391e 2004-05-15 devnull .ift .ds Tm \v'-0.5m'\s-4TM\s+4\v'0.5m'
23 13f7391e 2004-05-15 devnull .in\\n()Ru+\\n(INu
24 13f7391e 2004-05-15 devnull .ll\\n(LLu
25 13f7391e 2004-05-15 devnull .lt\\n(LLu
26 13f7391e 2004-05-15 devnull .pl\\n()Lu
29 13f7391e 2004-05-15 devnull .ift .ta 3.6m 7.2m 10.8m 14.4m 18m 21.6m 25.2m 28.8m 32.4m 36m 39.6m 43.2m 46.8m
30 13f7391e 2004-05-15 devnull .ifn .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n
36 13f7391e 2004-05-15 devnull .ift .vs \\n()Vp
37 13f7391e 2004-05-15 devnull .ps\\n()S
44 13f7391e 2004-05-15 devnull .ie\\n()s 'sp |2v
45 13f7391e 2004-05-15 devnull .el'sp |3v
46 13f7391e 2004-05-15 devnull .".ps\\n()S-1
47 13f7391e 2004-05-15 devnull .tl \\*(]H\\*(]L\\*(]H
49 13f7391e 2004-05-15 devnull .ps\\n()S
50 13f7391e 2004-05-15 devnull .ie\\n()s 'sp 1.5v
51 13f7391e 2004-05-15 devnull .el'sp 3v
54 13f7391e 2004-05-15 devnull .if \\n(CL .2C
59 13f7391e 2004-05-15 devnull .if\\n()s 'sp |\\n(.pu-1v-1p
60 13f7391e 2004-05-15 devnull .if\\n()t 'sp |\\n(.pu-3v
61 13f7391e 2004-05-15 devnull .ifn 'sp |\\n(.pu-4v
62 13f7391e 2004-05-15 devnull .ifn .tl Page %\\*(]D\\*(]W
63 13f7391e 2004-05-15 devnull .ift .tl %
69 13f7391e 2004-05-15 devnull .if "\\*(.T"aps"\{\
72 13f7391e 2004-05-15 devnull . if\\n()s .tl \l0.25i\l0.25i\h1i\l0.25i
73 13f7391e 2004-05-15 devnull . if\\n()t .tl \l0.25i\l0.25i
79 13f7391e 2004-05-15 devnull .wh-.5p }C
80 13f7391e 2004-05-15 devnull .ll\\n(LLu
86 13f7391e 2004-05-15 devnull .ll\\n(LLu
89 13f7391e 2004-05-15 devnull .nr )P \\n%+1-\\np
90 13f7391e 2004-05-15 devnull .if \\nq .tm \\n(.F \\n()P \\np
92 13f7391e 2004-05-15 devnull .if \\nq .nr p \\n%
96 13f7391e 2004-05-15 devnull .nrIN \\n()Mu
97 13f7391e 2004-05-15 devnull .ift .ds ]H \\$1\^(\^\\$2\^)
98 13f7391e 2004-05-15 devnull .ifn .ds ]H \\$1(\\$2)
99 13f7391e 2004-05-15 devnull .if\\n()s .ds ]D
100 13f7391e 2004-05-15 devnull .if\\n()t .ds ]D Plan 9
101 13f7391e 2004-05-15 devnull .ifn .ds ]D Plan 9
103 13f7391e 2004-05-15 devnull .if!\\$3 .ds ]L (\^\\$3\^)
104 13f7391e 2004-05-15 devnull .if!\\$4 .ds ]D \\$4
106 13f7391e 2004-05-15 devnull .wh-\\n(:mu }F
108 13f7391e 2004-05-15 devnull .if\\n(nl .}P
109 13f7391e 2004-05-15 devnull .nr)I \\n()Mu
113 13f7391e 2004-05-15 devnull .ifn \{.na
115 13f7391e 2004-05-15 devnull .ift \{.bd S 3 3
117 13f7391e 2004-05-15 devnull \Xhtml <B>
118 13f7391e 2004-05-15 devnull \Xhtml [<A HREF="/sys/man/index.html">manual index</A>]
119 13f7391e 2004-05-15 devnull \Xhtml [<A HREF="/sys/man/\\$2/INDEX.html">section index</A>]
120 13f7391e 2004-05-15 devnull \Xhtml </B>
123 0215fd56 2005-01-16 devnull .ie '\\$2'' \\$4\X'html href \\$1'\fL\\$1\fP\X'html /href'\\$3
124 5940cb84 2005-01-14 devnull .el \\$4\X'html href \\$1'\\$2\X'html /href'\\$3
128 13f7391e 2004-05-15 devnull .}X 0 "\\$1"
130 13f7391e 2004-05-15 devnull \&\Xhtml <H4>\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6\Xhtml </H4>
134 13f7391e 2004-05-15 devnull .}X 3n "" ""
136 13f7391e 2004-05-15 devnull \Xhtml <H4>\&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6\Xhtml </H4>
141 13f7391e 2004-05-15 devnull .sp\\n(PDu
146 13f7391e 2004-05-15 devnull '''if\\$2SYNOPSIS .ss 18
148 13f7391e 2004-05-15 devnull .if!\\$3 .SM
154 13f7391e 2004-05-15 devnull .nr)I \\n()Mu
160 13f7391e 2004-05-15 devnull .ps\\n()S-1
161 13f7391e 2004-05-15 devnull .if!\\$1 \&\\$1
162 13f7391e 2004-05-15 devnull .if!\\$2 \&\\$2
163 13f7391e 2004-05-15 devnull .if!\\$3 \&\\$3
164 13f7391e 2004-05-15 devnull .if!\\$4 \&\\$4
165 13f7391e 2004-05-15 devnull .if!\\$5 \&\\$5
166 13f7391e 2004-05-15 devnull .if!\\$6 \&\\$6
167 13f7391e 2004-05-15 devnull .if!\\$1 .ps \\n()S
168 13f7391e 2004-05-15 devnull .if\\$1 .it 1 }N
175 13f7391e 2004-05-15 devnull .if!\\$1 \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
181 13f7391e 2004-05-15 devnull .ie!\\$1 \%\&\f5\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
182 13f7391e 2004-05-15 devnull .el .ft5
188 13f7391e 2004-05-15 devnull .ift \{.ie!\\$1 \%\&\f5\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
189 13f7391e 2004-05-15 devnull .el .ft5 \}
190 13f7391e 2004-05-15 devnull .ifn \{.ft5
191 13f7391e 2004-05-15 devnull .if!\\$1 \{.ie\\$2 `\\$1'
192 13f7391e 2004-05-15 devnull .el .ie\\$3 `\\$1 \\$2'
193 13f7391e 2004-05-15 devnull .el .ie\\$4 `\\$1 \\$2 \\$3'
194 13f7391e 2004-05-15 devnull .el .ie\\$5 `\\$1 \\$2 \\$3 \\$4'
195 13f7391e 2004-05-15 devnull .el .ie\\$6 `\\$1 \\$2 \\$3 \\$4 \\$5'
196 13f7391e 2004-05-15 devnull .el `\\$1 \\$2 \\$3 \\$4 \\$5 \\$6'\}\}
201 13f7391e 2004-05-15 devnull .}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
207 13f7391e 2004-05-15 devnull .}S 2 1 \& "\Xhtml manref start \\$1 \\$2\\$1" "\\$2\Xhtml manref end \\$1 \\$2" "\\$3" "\\$4" "\\$5" "\\$6"
213 13f7391e 2004-05-15 devnull .ift .}S 2 5 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
214 13f7391e 2004-05-15 devnull .ifn .}S 2 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
220 13f7391e 2004-05-15 devnull .ift .}S 1 5 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
221 13f7391e 2004-05-15 devnull .ifn .}S 1 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
227 13f7391e 2004-05-15 devnull .ift .}S 5 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
228 13f7391e 2004-05-15 devnull .ifn .}S 1 1 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
234 13f7391e 2004-05-15 devnull .ift .}S 5 2 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
235 13f7391e 2004-05-15 devnull .ifn .}S 1 2 \%\& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
241 13f7391e 2004-05-15 devnull .ift \%\&\f5\\$1\f1\\$2
242 13f7391e 2004-05-15 devnull .ifn \%`\\$1'\\$2
247 13f7391e 2004-05-15 devnull .ift \%\&\f1\\$1\\f5\\$2\\f1\\$3
248 13f7391e 2004-05-15 devnull .ifn \%\\$1`\\$2'\\$3
253 13f7391e 2004-05-15 devnull .if\\$12 .if !\\$5 .ds ]F \^
254 13f7391e 2004-05-15 devnull .if\\$22 .if !\\$5 .ds ]F \^
255 13f7391e 2004-05-15 devnull .ie!\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
260 13f7391e 2004-05-15 devnull .ift .ft5
268 13f7391e 2004-05-15 devnull .sp\\n(PDu
271 13f7391e 2004-05-15 devnull .nr)I \\n()Mu
274 13f7391e 2004-05-15 devnull .dePP \"indirect PP so we can attach html - see tmac.anhtml
284 13f7391e 2004-05-15 devnull .ift .nr PD .4v
285 13f7391e 2004-05-15 devnull .ifn .nr PD 1v
286 13f7391e 2004-05-15 devnull .if!\\$1 .nr PD \\$1v
289 13f7391e 2004-05-15 devnull .sp\\n(PDu
291 13f7391e 2004-05-15 devnull .if!\\$1 .nr )I \\$1n
292 13f7391e 2004-05-15 devnull .ll\\n(LLu
293 13f7391e 2004-05-15 devnull .in\\n()Ru+\\n(INu+\\n()Iu
294 13f7391e 2004-05-15 devnull .ti\\n()Ru+\\n(INu
298 13f7391e 2004-05-15 devnull .ie!\\$1 \{.TP "\\$2"
299 13f7391e 2004-05-15 devnull \&\\$1\}
300 13f7391e 2004-05-15 devnull .el\{.sp\\n(PDu
302 13f7391e 2004-05-15 devnull .if!\\$2 .nr )I \\$2n
304 13f7391e 2004-05-15 devnull .ll\\n(LLu
305 13f7391e 2004-05-15 devnull .in\\n()Ru+\\n(INu+\\n()Iu
309 13f7391e 2004-05-15 devnull .if!\\$1 \{.nr )I \\$1n
310 13f7391e 2004-05-15 devnull .if\\$10 .nr )I \\n()M\}
311 13f7391e 2004-05-15 devnull .sp\\n(PDu
313 13f7391e 2004-05-15 devnull .in\\n()Ru
321 13f7391e 2004-05-15 devnull .IP "" "\w'\f5\\$1\ \ \fP'u"
325 13f7391e 2004-05-15 devnull .ds]X \&\\*(]B\\
328 13f7391e 2004-05-15 devnull .if!\\$1 .nr )I \\$1n
330 13f7391e 2004-05-15 devnull .ll\\n(LLu
331 13f7391e 2004-05-15 devnull .in\\n()Ru+\\n(INu+\\n()Iu
332 13f7391e 2004-05-15 devnull .ti\\n(INu
333 13f7391e 2004-05-15 devnull .ie!\\n()Iu+\\n()Ru-\w\\*(]Xu-3p \{\\*(]X
335 13f7391e 2004-05-15 devnull .el\\*(]X\h|\\n()Iu+\\n()Ru\c
340 13f7391e 2004-05-15 devnull .if\\n()E .br
341 13f7391e 2004-05-15 devnull .if\\n()E1 .di
342 13f7391e 2004-05-15 devnull .if\\n()E0 .}f
343 13f7391e 2004-05-15 devnull .if\\n()E1 .}1
344 13f7391e 2004-05-15 devnull .if\\n()E2 .}2
347 13f7391e 2004-05-15 devnull .nr]\\n+()p \\n()I
348 13f7391e 2004-05-15 devnull .nr)\\n()p \\n()R
349 13f7391e 2004-05-15 devnull .ie!\\$1 .nr )R +\\$1n
350 13f7391e 2004-05-15 devnull .el.nr )R +\\n()I
351 13f7391e 2004-05-15 devnull .nr)I \\n()Mu
355 13f7391e 2004-05-15 devnull .if!\\$1 \{.ie \\$10 .nr )p 1 1
356 13f7391e 2004-05-15 devnull .el.nr )p \\$1 1 \}
357 13f7391e 2004-05-15 devnull .ds]i \\*(]I\\n()p
358 13f7391e 2004-05-15 devnull .ds]r \\*(]R\\n()p
359 13f7391e 2004-05-15 devnull .nr)I \\*(]i
360 13f7391e 2004-05-15 devnull .nr)R \\*(]r
361 13f7391e 2004-05-15 devnull .if\\n()p .nr )p -1
364 13f7391e 2004-05-15 devnull '''\" .2C begin 2-column display, by diversion
365 13f7391e 2004-05-15 devnull '''\" CC=amount of text that will fit on page
366 13f7391e 2004-05-15 devnull '''\" CL=1 multicolumn in effect, else 0
367 13f7391e 2004-05-15 devnull '''\" CI saved indent
368 13f7391e 2004-05-15 devnull '''\" CB contains diverted text
372 13f7391e 2004-05-15 devnull .nr CC \\n(.t/1v*2v
373 13f7391e 2004-05-15 devnull .nr CI \\n(IN
374 13f7391e 2004-05-15 devnull .nr IN 0
376 13f7391e 2004-05-15 devnull .nr CL 1
378 13f7391e 2004-05-15 devnull .dt \\n(CCu C1
380 13f7391e 2004-05-15 devnull '''\" .1C return to 1-column
382 13f7391e 2004-05-15 devnull .nr CL 0
386 13f7391e 2004-05-15 devnull '''\" end of diversion, at end of page or return to 1-column
387 13f7391e 2004-05-15 devnull '''\" CC=pos of nominal column end
392 13f7391e 2004-05-15 devnull .if \\n(dn \{.nr CC \\n(dnu/2u+\\n(nlu
393 13f7391e 2004-05-15 devnull .wh \\n(CCu C2
396 13f7391e 2004-05-15 devnull .nr IN \\n(CIu
400 13f7391e 2004-05-15 devnull '''\" end of first column retrieved from diversion
401 13f7391e 2004-05-15 devnull '''\" CC=pos of actual column end
403 13f7391e 2004-05-15 devnull .wh \\n(CCu
405 13f7391e 2004-05-15 devnull .po +(\\n(LLu/2u)u
407 13f7391e 2004-05-15 devnull .if \\n(dn>1v .ns
409 13f7391e 2004-05-15 devnull '''\" end of second column
412 13f7391e 2004-05-15 devnull .po -(\\n(LLu/2u)u
413 13f7391e 2004-05-15 devnull .if \\n(CC>\\n(nl .sp |\\n(CCu
417 13f7391e 2004-05-15 devnull .if\\$1 .nr !K 0
418 13f7391e 2004-05-15 devnull .if\w\\$1 \{\
419 13f7391e 2004-05-15 devnull .ie\\$1P .nr !K 1
420 13f7391e 2004-05-15 devnull .el.ie \\$1BP .nr !K 3
421 13f7391e 2004-05-15 devnull .el.ie \\$1BR .nr !K 4
422 13f7391e 2004-05-15 devnull .el.nr !K 2 \}
423 13f7391e 2004-05-15 devnull .if\\n(!K .wh -(\\n(:mu+5v) )G
426 13f7391e 2004-05-15 devnull .if\\n(!K 'sp 2v
427 13f7391e 2004-05-15 devnull .ie\\n(!K=1 \{\
428 13f7391e 2004-05-15 devnull .iet .bd1 3
429 13f7391e 2004-05-15 devnull .el.bd1 0
430 13f7391e 2004-05-15 devnull .tlPRIVATE
432 13f7391e 2004-05-15 devnull .tlThis information should not be disclosed to unauthorized persons.
433 13f7391e 2004-05-15 devnull .tlIt is meant solely for use by authorized Bell System employees. \}
434 13f7391e 2004-05-15 devnull .el.ie \\n(!K=3 \{\
435 13f7391e 2004-05-15 devnull .iet .bd1 3
436 13f7391e 2004-05-15 devnull .el.bd1 0
437 13f7391e 2004-05-15 devnull .tlBELL LABORATORIES PROPRIETARY
439 13f7391e 2004-05-15 devnull .tlNot for use or disclosure outside Bell Laboratories except by
440 13f7391e 2004-05-15 devnull .tlwritten approval of the director of the distributing organization. \}
441 13f7391e 2004-05-15 devnull .el.ie \\n(!K=4 \{\
442 13f7391e 2004-05-15 devnull .iet .bd1 3
443 13f7391e 2004-05-15 devnull .el.bd1 0
444 13f7391e 2004-05-15 devnull .tlBELL LABORATORIES RESTRICTED
446 13f7391e 2004-05-15 devnull .tlThe information herein is meant solely for use by authorized
447 13f7391e 2004-05-15 devnull .tlBell Laboratories employees and is not to be disclosed to others. \}
448 13f7391e 2004-05-15 devnull .el.if \\n(!K=2 \{\
449 13f7391e 2004-05-15 devnull .iet .bd1 3
450 13f7391e 2004-05-15 devnull .el.bd1 0
451 13f7391e 2004-05-15 devnull .tlNOTICE
453 13f7391e 2004-05-15 devnull .tlNot for use or disclosure outside the
454 13f7391e 2004-05-15 devnull .tlBell System except under written agreement. \}
457 13f7391e 2004-05-15 devnull .ift .if \ns .nr )s 1
459 13f7391e 2004-05-15 devnull .ift .if !\ns .nr )t 1
460 13f7391e 2004-05-15 devnull .if\n()s \{.nr )L 9i
461 13f7391e 2004-05-15 devnull .nrLL 4.75i
462 13f7391e 2004-05-15 devnull .nr)O .75i
464 13f7391e 2004-05-15 devnull .nr)V 9 \}
465 13f7391e 2004-05-15 devnull .if\n()t \{.nr )L 11i
466 13f7391e 2004-05-15 devnull .nrLL 6.5i
467 13f7391e 2004-05-15 devnull .nr)O 1i
469 13f7391e 2004-05-15 devnull .nr)V 11 \}
470 13f7391e 2004-05-15 devnull .ift \{.ds R ®
471 13f7391e 2004-05-15 devnull .dsS \s\n()S
473 13f7391e 2004-05-15 devnull .ifn \{.nr )L 11i
474 13f7391e 2004-05-15 devnull .nrLL 6.5i
475 13f7391e 2004-05-15 devnull .nr)O .463i
476 13f7391e 2004-05-15 devnull .if '\*(.T'think' \{.nrLL 80n
477 13f7391e 2004-05-15 devnull .nr)O 0\}
478 13f7391e 2004-05-15 devnull .if '\*(.T'thinksmall' \{.nrLL 142n
480 13f7391e 2004-05-15 devnull .nr)O 0\}
481 13f7391e 2004-05-15 devnull .dsR (Reg.)
484 13f7391e 2004-05-15 devnull .if\nT .nr LL 80n
485 13f7391e 2004-05-15 devnull .if\nV>1 \{
486 13f7391e 2004-05-15 devnull .nrLL 82n
487 13f7391e 2004-05-15 devnull .nr)L 84v
488 13f7391e 2004-05-15 devnull .rmul \}
489 13f7391e 2004-05-15 devnull .nr)p 0 1
490 13f7391e 2004-05-15 devnull .ds]I \\\\n(]
491 13f7391e 2004-05-15 devnull .ds]R \\\\n()
492 13f7391e 2004-05-15 devnull .if\nd0 .nr m \n(mo-1
493 13f7391e 2004-05-15 devnull .if\nm0 .ds ]m January
494 13f7391e 2004-05-15 devnull .if\nm1 .ds ]m February
495 13f7391e 2004-05-15 devnull .if\nm2 .ds ]m March
496 13f7391e 2004-05-15 devnull .if\nm3 .ds ]m April
497 13f7391e 2004-05-15 devnull .if\nm4 .ds ]m May
498 13f7391e 2004-05-15 devnull .if\nm5 .ds ]m June
499 13f7391e 2004-05-15 devnull .if\nm6 .ds ]m July
500 13f7391e 2004-05-15 devnull .if\nm7 .ds ]m August
501 13f7391e 2004-05-15 devnull .if\nm8 .ds ]m September
502 13f7391e 2004-05-15 devnull .if\nm9 .ds ]m October
503 13f7391e 2004-05-15 devnull .if\nm10 .ds ]m November
504 13f7391e 2004-05-15 devnull .if\nm11 .ds ]m December
505 13f7391e 2004-05-15 devnull .ifn \{.nr m \nm+1
506 13f7391e 2004-05-15 devnull .nr yD (\n(yr%100
507 13f7391e 2004-05-15 devnull .af yD 01
508 13f7391e 2004-05-15 devnull .ie\nd .ds ]W (last mod. \nm/\nd/\ny)
509 13f7391e 2004-05-15 devnull .el.ds ]W (printed \n(mo/\n(dy/\n(yD)
511 13f7391e 2004-05-15 devnull .if\n()s .ds ]W
512 13f7391e 2004-05-15 devnull .if\n()t \{.ie \nd .ds ]W \*(]m \nd, 20\ny
513 13f7391e 2004-05-15 devnull .el.ds ]W \*(]m \n(dy, 20\n(yr
515 13f7391e 2004-05-15 devnull .pl\n()Lu
516 13f7391e 2004-05-15 devnull .ll\n(LLu
517 13f7391e 2004-05-15 devnull .lt\n(LLu
518 13f7391e 2004-05-15 devnull .po\n()Ou
519 13f7391e 2004-05-15 devnull .ift .tr \``\''
521 13f7391e 2004-05-15 devnull .if\n()s .nr :m 3.5v
522 13f7391e 2004-05-15 devnull .if\n()t .nr :m 6v
523 13f7391e 2004-05-15 devnull .ifn .nr :m 7v
524 13f7391e 2004-05-15 devnull .ift .nr )M 3.6m
525 13f7391e 2004-05-15 devnull .ifn .nr )M 5n
527 13f7391e 2004-05-15 devnull .nr q \np
528 13f7391e 2004-05-15 devnull .if!\np .nr p 1