$ od -c -N 50000 [qv]<notecards>1.3K>DOC>NOTEFILECONCEPTS.TED!8 0000000 N o t e C a r d s 1 . 3 \r A n 0000020 I n t r o d u c t i o n t o 0000040 t h e I n t e r n a l O r 0000060 g a n i z a t i o n o f N o 0000100 t e F i l e s \r R a n d y T r 0000120 i g g \r F r a n k H a l a s z 0000140 \r I n t e l l i g e n t S y s 0000160 t e m s L a b o r a t o r y \r 0000200 X e r o x P a l o A l t o 0000220 R e s e r a c h C e n t e r \r 0000240 \r F i r s t w r i t t e n : 0000260 9 / 3 / 8 5 R a n d y T r i 0000300 g g \r L a s t u p d a t e d : 0000320 9 / 4 / 8 5 R a n d y T r 0000340 i g g \r U p d a t e d f o r 0000360 1 . 3 : 7 / 1 6 / 8 6 F 0000400 r a n k H a l a s z \r \r T h i 0000420 s d o c u m e n t p r o v i 0000440 d e s a b r i e f e x p l 0000460 a n a t i o n o f t h e s 0000500 t r u c t u r e o f a N o 0000520 t e F i l e . I t a l s o 0000540 d e s c r i b e s h o w c 0000560 h e c k p o i n t i n g , a b 0000600 o r t i n g , a n d r e c o 0000620 v e r i n g a N o t e F i l 0000640 e a f t e r a c r a s h 0000660 w o r k . F i n a l l y , 0000700 i t d e s c r i b e s t h e 0000720 u s e o f I n s p e c t 0000740 a n d R e p a i r t o r e 0000760 p a i r a N o t e F i l e 0001000 w i t h i n c o n s i s t e n 0001020 t l i n k s . ( F o r f 0001040 u r t h e r i n f o r m a t i 0001060 o n s e e t h e d o c u m 0001100 e n t e n t i t l e d " I n 0001120 s p e c t i n g a n d R e p 0001140 a i r i n g N o t e f i l e s 0001160 . " ) \r \r 1 . \t B a c k g r o u 0001200 n d C o n c e p t s \r 1 . 1 \t 0001220 U n i q u e i d e n t i f i e 0001240 r s : U I D s \r A l l o b j 0001260 e c t s i n N o t e C a r d 0001300 s ( i . e . , c a r d s , 0001320 l i n k s , N o t e F i l e s 0001340 ) a r e a s s i g n e d a 0001360 u n i q u e i d e n t i f i 0001400 e r c a l l e d a U I D . 0001420 E a c h U I D i s a 0001440 1 1 2 - b i t n u m b e r 0001460 t h a t i s g u a r a n t e 0001500 e d t o b e u n i q u e 0001520 a c r o s s a l l t i m e 0001540 a n d s p a c e . U I D s 0001560 a r e u s e d i n m a n 0001600 y p l a c e s i n N o t e 0001620 C a r d s a s k e y s f o 0001640 r i n d e x i n g a n d r 0001660 e t r i e v i n g c a r d s , 0001700 l i n k s , a n d N o t e 0001720 F i l e s . \r 1 . 2 \t C a r d 0001740 p a r t s \r F o r s t o r a g 0001760 e p u r p o s e s a n o t 0002000 e c a r d i s d e c o m p 0002020 o s e d i n t o 4 i n d e 0002040 p e n d e n t p a r t s : s 0002060 u b s t a n c e ( i . e . , 0002100 i t s c o n t e n t ) , t i 0002120 t l e , p r o p e r t y l i 0002140 s t , a n d l i n k s . 0002160 E a c h o f t h e s e p a 0002200 r t s i s s t o r e d s e 0002220 p a r a t e l y i n t h e 0002240 d a t a a r e a o f t h e 0002260 N o t e F i l e [ S e e S 0002300 e c t i o n 2 b e l o w ] . 0002320 W h e n a c a r d i s 0002340 s a v e d , o n l y t h o 0002360 s e c a r d p a r t s t h 0002400 a t h a v e c h a n g e d 0002420 a r e r e w r i t t e n i n 0002440 t h e N o t e F i l e . \r T 0002460 h e s u b s t a n c e o f 0002500 t h e c a r d i s s t o r 0002520 e d o n t h e N o t e F i 0002540 l e i n a m a n n e r a 0002560 p p r o p r i a t e t o i t 0002600 s t y p e . T h u s a 0002620 T e x t c a r d ' s s u b s 0002640 t a n c e i s a t e x t 0002660 s t r e a m a n d i s w r 0002700 i t t e n o n t h e N o t 0002720 e F i l e e x a c t l y t h 0002740 e w a y T E d i t w r i t 0002760 e s o u t t e x t s t r e 0003000 a m s ( i . e . , t e x t 0003020 f o l l o w e d b y " l o o 0003040 k s " i n f o r m a t i o n ) 0003060 . I n c o n t r a s t , 0003100 a l l t i t l e s a r e s 0003120 t o r e d a s s t r i n g s 0003140 a n d a l l p r o p e r t 0003160 y l i s t s a s s t a n d 0003200 a r d L i s p l i s t s . 0003220 S t o r a g e o f L i n k 0003240 s i s d e s c r i b e d i 0003260 n S e c t i o n 4 b e l o 0003300 w . \r 2 . N o t e F i l e 0003320 S t r u c t u r e : i n d e x 0003340 a n d d a t a a r e a s \r 0003360 A N o t e F i l e c o n s i 0003400 s t s o f t h r e e p a r 0003420 t s , a h e a d e r , a n 0003440 i n d e x , a n d a d a 0003460 t a a r e a . T h e h e 0003500 a d e r a n d t h e i n d 0003520 e x a r e f i x e d i n 0003540 s i z e f o r e a c h N o 0003560 t e F i l e . T h e d a t 0003600 a a r e a f o l l o w s t 0003620 h e i n d e x a r e a a n 0003640 d g r o w s a s c a r d s 0003660 a r e a d d e d t o o r 0003700 m o d i f i e d i n t h e 0003720 N o t e F i l e . \r T h e 0003740 N o t e F i l e h e a d e r 0003760 c o n t a i n s t h e f o 0004000 l l o w i n g i n f o r m a t 0004020 i o n a b o u t t h e N o 0004040 t e F i l e : i t s U I D 0004060 , a n u m b e r i d e n t 0004100 i f y i n g i t s f o r m a 0004120 t , t h e c h e c k p o i n 0004140 t p o i n t e r [ S e e S 0004160 e c t i o n 3 ] , t h e s 0004200 i z e o f t h e i n d e x 0004220 , a n d a p o i n t e r 0004240 t o t h e n e x t a v a i 0004260 l a b l e i n d e x e n t r 0004300 y . ( F o r t h e e x a 0004320 c t f o r m a t o f t h e 0004340 N o t e F i l e h e a d e r 0004360 e x a m i n e t h e f u n 0004400 c t i o n N C . G e t N o t e 0004420 F i l e H e a d e r . ) I f 0004440 t h e N o t e F i l e h e 0004460 a d e r i s d e s t r o y e 0004500 d , i t c a n n o t b e 0004520 a u t o m a t i c a l l y r e 0004540 c o n s t r u c t e d . C a 0004560 r e f u l h a n d m a n i p 0004600 u l a t i o n o f t h e N 0004620 o t e F i l e b y a N o t 0004640 e C a r d s w i z a r d i s 0004660 r e q u i r e d t o r e c 0004700 o v e r a N o t e F i l e 0004720 w i t h a b a d h e a d e 0004740 r . \r T h e s t r u c t u r e 0004760 o f t h e i n d e x a n 0005000 d d a t a a r e a i s s 0005020 h o w n i n F i g u r e 1 0005040 . \r T h e i n d e x c o n 0005060 t a i n s a f i x e d n u 0005100 m b e r o f i n d e x e n 0005120 t r i e s . E a c h i n d 0005140 e x e n t r y t h a t i s 0005160 i n u s e , c o n t a i n 0005200 s i n f o r m a t i o n f o 0005220 r o n e o f t h e c a r 0005240 d s i n t h e N o t e F i 0005260 l e . S p e c i f i c a l l 0005300 y , a n i n d e x e n t r 0005320 y c o n t a i n s 5 f i e 0005340 l d s : a s t a t u s c h 0005360 a r a c t e r , t h e c a r 0005400 d ' s U I D , a n d 4 p 0005420 o i n t e r s . T h e s t 0005440 a t u s c h a r a c t e r s 0005460 p e c i f i e s w h e t h e r 0005500 t h e i n d e x e n t r y 0005520 i s f r e e ( n o t i n 0005540 u s e ) o r c o n t a i n 0005560 s i n f o r m a t i o n f o 0005600 r a n a c t i v e o r a 0005620 d e l e t e d c a r d . 0005640 I f t h e i n d e x e n t 0005660 r y i s n o t f r e e , 0005700 t h e U I D f i e l d c o 0005720 n t a i n s t h e U I D o 0005740 f t h e c a r d r e f e r 0005760 e d t o b y t h i s i n 0006000 d e x e n t r y a n d t h 0006020 e f o u r p o i n t e r f 0006040 i e l d s c o n t a i n t h 0006060 e l o c a t i o n i n t h 0006100 e d a t a a r e a o f t 0006120 h e 4 p a r t s o f i t 0006140 s c a r d : s u b s t a n c 0006160 e , t i t l e , l i n k s 0006200 a n d p r o p e r t y l i s 0006220 t . \r T h e n u m b e r o f 0006240 i n d e x e n t r i e s i 0006260 s f i x e d a t N o t e F 0006300 i l e c r e a t i o n t i m 0006320 e . T h e d e a f u l t 0006340 i s 2 0 0 0 e n t r i e s . 0006360 T h e n u m b e r o f 0006400 i n d e x e n t r i e s i s 0006420 a u t o m a t i c a l l y d 0006440 o u b l e d b y t h e N o 0006460 t e F i l e c o m p a c t o r 0006500 i f 7 5 % o f t h e e 0006520 n t r i e s a r e u s e d . 0006540 T h e c o m p a c t o r 0006560 a l s o f r e e s ( i . e . 0006600 , m a k e s u n u s e d ) 0006620 a l l o f t h e i n d e x 0006640 e n t r i e s t h a t r e 0006660 f e r t o d e l e t e d c 0006700 a r d s . I n n o r m a 0006720 l o p e r a t i o n , N o t 0006740 e C a r d s p r i n t s a 0006760 w a r n i n g w h e n e v e r 0007000 m o r e t h a n 9 0 % o 0007020 f t h e i n d e x e n t r 0007040 i e s i n a N o t e F i l 0007060 e a r e u s e d . A t 0007100 t h i s p o i n t , t h e 0007120 N o t e F i l e s h o u l d 0007140 b e c o m p a c t e d t o 0007160 i n c r e a s e t h e i n 0007200 d e x s i z e . \r \r T h e d 0007220 a t a a r e a c o n t a i n 0007240 s t h e a c t u a l i n f 0007260 o r m a t i o n a b o u t t 0007300 h e c a r d . W h e n e v 0007320 e r y o u c h a n g e , s 0007340 a y , t h e t i t l e o f 0007360 a c a r d , t h e n e w 0007400 t i t l e i s w r i t t e 0007420 n a t t h e e n d o f 0007440 t h e d a t a a r e a . 0007460 T h e t i t l e p o i n t e 0007500 r i n t h e c a r d ' s 0007520 i n d e x e n t r y i s t 0007540 h e n u p d a t e d t o p 0007560 o i n t t o t h i s n e w 0007600 l o c a t i o n i n t h e 0007620 d a t a a r e a . T h u 0007640 s , i n g e n e r a l , a 0007660 N o t e F i l e ' s d a t a 0007700 a r e a g r o w s e v e r 0007720 y t i m e a n y p a r t 0007740 o f a n y c a r d i s c 0007760 h a n g e d . \r T h e o l d 0010000 i n f o r m a t i o n , n o w 0010020 s o m e w h e r e i n t h 0010040 e m i d d l e o f t h e 0010060 d a t a a r e a , i s n o 0010100 t r e m o v e d . H o w e 0010120 v e r , i t i s n o l o 0010140 n g e r d i r e c t l y a c 0010160 c e s s i b l e b e c a u s e 0010200 t h e r e i s n o i n d 0010220 e x e n t r y t h a t p o 0010240 i n t s t o i t . T h u 0010260 s , f o r m o s t p u r p 0010300 o s e s t h i s o l d i n 0010320 f o r m a t i o n c a n b e 0010340 c o n s i d e r e d " d e a 0010360 d s p a c e " i n t h e 0010400 N o t e F i l e . T h e N 0010420 o t e F i l e c o m p a c t o 0010440 r [ S e e N o t e C a r d s 0010460 1 . 2 K R e f e r e n c e 0010500 M a n u a l ] r e w r i t e s 0010520 t h e N o t e F i l e , e 0010540 l i m i n a t i n g a l l s 0010560 u c h d e a d s p a c e . 0010600 \r ( ( S K E T C H a % f i 0010620 g u r e % f r o m % a % d 0010640 o c u m e n t V E R S I O N 0010660 3 P R I R A N G E ( 6 7 0010700 . 0 ) S K E T C H C O N T E 0010720 X T ( ( R O U N D 1 B L 0010740 A C K ) ( \r G A C H A 1 0 0010760 ( M E D I U M R E G U L A 0011000 R R E G U L A R ) ) ( C E 0011020 N T E R B A S E L I N E ) 0011040 ( L I N E 1 8 . 0 1 5 ) 0011060 N I L L A S T ( C E N T E 0011100 R C E N T E R ) ( \r N I L 0011120 N I L N I L ) T N I L 0011140 N I L 1 . 0 N I L ) ) 0011160 ( ( . 0 5 1 2 . 0 ( P R 0011200 I 6 2 ) ) ( T E X T ( 0011220 1 2 0 . 0 . 2 4 0 . 0 ) 0011240 ( \r " I n d e x E n t r y 0011260 f o r C a r d A " " ( I 0011300 n d e x E n t r y # i ) " ) 0011320 1 . 0 ( C E N T E R B 0011340 A S E L I N E ) ( G A C H A 0011360 1 0 ( M E D I U M R E G 0011400 U L A R \r R E G U L A R ) ) 0011420 ( ( 4 3 . 0 2 4 3 . 0 0011440 1 5 4 . 0 1 2 . 0 ) ( 6 0011460 4 . 0 2 3 1 . 0 1 1 2 . 0011500 0 1 2 . 0 ) ) B L A C K ) 0011520 ) ( ( 0 . 0 5 2 . 0 0011540 ( P R I 5 3 ) ) ( \r W I R 0011560 E ( ( 1 2 8 . 0 . 2 0 0011600 8 . 0 ) ( 1 2 8 . 0 . 0011620 1 6 0 . 0 ) ( 2 3 2 . 0 . 0011640 1 6 0 . 0 ) ) ( R O U N 0011660 D 1 B L A C K ) ( N I L 0011700 ( L I N E 1 8 . 0 1 0011720 3 . 0 \r ) ) N I L 1 . 0 0011740 N I L ( N I L ( ( 2 3 2 0011760 . 0 . 1 6 0 . 0 ) ( 2 0012000 1 9 . 6 3 6 3 . 1 5 5 . 9 0012020 8 2 8 ) ( 2 1 9 . 6 3 6 3 0012040 . 1 6 4 . 0 1 7 2 ) ) ) ) ) 0012060 ( ( 0 . 0 \r 4 . 0 ( 0012100 P R I 5 5 ) ) ( W I R E 0012120 ( ( 1 2 8 . 0 . 2 0 8 . 0012140 0 ) ) ( R O U N D 1 B L 0012160 A C K ) ( N I L ( L I N 0012200 E 1 8 . 0 1 5 . 0 ) T 0012220 ) N I L 1 . 0 N I L 0012240 \r ( N I L N I L ) ) ) ( ( 0012260 0 . 0 5 6 . 0 ( P R I 0012300 5 6 ) ) ( W I R E ( ( 1 0012320 5 2 . 0 . 2 0 8 . 0 ) 0012340 ( 1 5 2 . 0 . 9 6 . 0 ) 0012360 ( 2 3 2 . 0 . 9 6 . 0 ) 0012400 ) ( \r R O U N D 1 B L A 0012420 C K ) ( N I L ( L I N E 0012440 1 8 . 0 1 3 . 0 ) ) N 0012460 I L 1 . 0 N I L ( N I 0012500 L ( ( 2 3 2 . 0 . 9 6 0012520 . 0 ) ( 2 1 9 . 6 3 6 3 . 0012540 9 1 . 9 8 2 7 8 ) \r ( 2 0012560 1 9 . 6 3 6 3 . 1 0 0 . 0 0012600 1 7 2 ) ) ) ) ) ( ( 0 . 0 0012620 4 0 . 0 ( P R I 5 7 ) ) 0012640 ( W I R E ( ( 1 8 4 . 0 0012660 . 2 0 8 . 0 ) ( 1 8 4 0012700 . 0 . 1 2 8 . 0 ) ( \r 0012720 2 3 2 . 0 . 1 2 8 . 0 ) ) 0012740 ( R O U N D 1 B L A C K 0012760 ) ( N I L ( L I N E 0013000 1 8 . 0 1 3 . 0 ) ) N I L 0013020 1 . 0 N I L ( N I L 0013040 ( ( 2 3 2 . 0 . 1 2 8 . 0013060 0 ) ( \r 2 1 9 . 6 3 6 3 . 0013100 1 2 3 . 9 8 2 8 ) ( 2 1 0013120 9 . 6 3 6 3 . 1 3 2 . 0 1 0013140 7 2 ) ) ) ) ) ( ( 0 . 0 0013160 8 8 . 0 ( P R I 6 1 ) ) 0013200 ( W I R E ( ( 2 0 8 . 0 0013220 . 2 0 8 . 0 ) ( \r 2 0 8 0013240 . 0 . 3 2 . 0 ) ( 2 3 0013260 2 . 0 . 3 2 . 0 ) ) ( 0013300 R O U N D 1 B L A C K ) 0013320 ( N I L ( L I N E 1 8 . 0013340 0 1 3 . 0 ) ) N I L 1 0013360 . 0 N I L ( N I L ( ( 0013400 \r 2 3 2 . 0 . 3 2 . 0 ) 0013420 ( 2 1 9 . 6 3 6 3 . 2 7 0013440 . 9 8 2 7 8 ) ( 2 1 9 . 6 3 0013460 6 3 . 3 6 . 0 1 7 2 2 ) ) 0013500 ) ) ) ( ( . 0 2 4 9 6 . 0013520 0 ( P R I 4 8 ) ) ( T 0013540 E X T B O X \r ( 2 4 . 0 0013560 2 0 0 . 0 1 9 2 . 0 2 4 0013600 . 0 ) ( " A c t i v e : 0013620 U I D : | | | 0013640 | " ) 1 . 0 ( L E 0013660 F T C E N T E R ) ( G A C 0013700 H A 1 0 ( M E D I U M \r 0013720 R E G U L A R R E G U L A R ) 0013740 ) ( ( 2 6 . 0 2 0 6 . 0 0013760 2 0 3 1 2 ) ) B L A C K 0014000 ( R O U N D 1 B L A C K ) 0014020 N I L ( N I L N I L N 0014040 I L ) ) ) ( ( 0 . 0 1 1 0014060 2 . 0 \r ( P R I 4 9 ) ) 0014100 ( W I R E ( ( 2 4 0 . 0 0014120 . 1 7 6 . 0 ) ( 4 6 4 . 0014140 0 . 1 7 6 . 0 ) ) ( R 0014160 O U N D 1 B L A C K ) N I 0014200 L N I L 1 . 0 N I L N 0014220 I L ) ) ( ( . 0 2 4 \r 1 0014240 1 2 . 0 ( P R I 4 8 ) ) 0014260 ( T E X T B O X ( 2 4 0 . 0014300 0 1 7 6 . 0 2 2 4 . 0 0014320 2 4 . 0 ) ( " I n d e x 0014340 E n t r y # N " ) 1 . 0 0014360 ( C E N T E R C E N T E R ) 0014400 ( \r G A C H A 1 0 ( M 0014420 E D I U M R E G U L A R R E 0014440 G U L A R ) ) ( ( 3 0 3 . 0 0014460 1 8 2 . 0 9 8 1 2 ) ) 0014500 B L A C K ( R O U N D 1 0014520 B L A C K ) N I L ( N I L 0014540 N I L N I L ) ) \r ) ( ( 0014560 0 . 0 1 1 2 . 0 ( P R I 0014600 4 9 ) ) ( W I R E ( ( 0014620 2 4 0 . 0 . 2 0 0 . 0 ) 0014640 ( 4 6 4 . 0 . 2 0 0 . 0 0014660 ) ) ( R O U N D 1 B L A 0014700 C K ) N I L N I L 1 . 0 0014720 \r N I L N I L ) ) ( ( . 0014740 0 2 4 1 1 2 . 0 ( P R I 0014760 4 8 ) ) ( T E X T B O X 0015000 ( 2 4 0 . 0 2 0 0 . 0 0015020 2 2 4 . 0 2 4 . 0 ) ( " 0015040 . . . " ) 1 . 0 ( C E N 0015060 T E R \r C E N T E R ) ( G 0015100 A C H A 1 0 ( M E D I U M 0015120 R E G U L A R R E G U L A R 0015140 ) ) ( ( 3 4 1 . 5 2 0 6 0015160 . 0 2 1 1 2 ) ) B L A C K 0015200 ( R O U N D 1 B L A C K 0015220 ) N I L ( N I L \r N I L 0015240 N I L ) ) ) ( ( . 0 2 4 0015260 1 1 2 . 0 ( P R I 4 8 ) 0015300 ) ( T E X T B O X ( 2 4 0015320 0 . 0 2 2 4 . 0 2 2 4 . 0015340 0 2 4 . 0 ) ( " I n d 0015360 e x E n t r y # 3 " ) 1 0015400 . 0 \r ( C E N T E R C E N 0015420 T E R ) ( G A C H A 1 0 0015440 ( M E D I U M R E G U L A R 0015460 R E G U L A R ) ) ( ( 2 9 0015500 9 . 5 2 3 0 . 0 1 0 5 1 0015520 2 ) ) B L A C K ( R O U N 0015540 D 1 B L A C K \r ) N I L 0015560 ( N I L N I L N I L ) ) ) 0015600 ( ( 0 . 0 1 1 2 . 0 0015620 ( P R I 4 9 ) ) ( W I R E 0015640 ( ( 2 4 0 . 0 . 2 4 8 0015660 . 0 ) ( 4 6 4 . 0 . 2 0015700 4 8 . 0 ) ) ( R O U N D 1 0015720 \r B L A C K ) N I L N I L 0015740 1 . 0 N I L N I L ) ) 0015760 ( ( . 0 2 4 1 1 2 . 0 0016000 ( P R I 4 8 ) ) ( T E X T 0016020 B O X ( 2 4 0 . 0 2 4 8 0016040 . 0 2 2 4 . 0 2 4 . 0 ) 0016060 ( \r " I n d e x E n t r y 0016100 # 2 " ) 1 . 0 ( C E N 0016120 T E R C E N T E R ) ( G A 0016140 C H A 1 0 ( M E D I U M 0016160 R E G U L A R R E G U L A R ) 0016200 ) ( ( 3 0 3 . 0 2 5 4 . 0016220 0 9 8 1 2 ) ) \r B L A C K 0016240 ( R O U N D 1 B L A C K 0016260 ) N I L ( N I L N I L 0016300 N I L ) ) ) ( ( 0 . 0 1 0016320 1 2 . 0 ( P R I 4 9 ) ) 0016340 ( W I R E ( ( 2 4 0 . 0 0016360 . 2 7 2 . 0 ) ( 4 6 4 . 0016400 0 \r . 2 7 2 . 0 ) ) ( 0016420 R O U N D 1 B L A C K ) N 0016440 I L N I L 1 . 0 N I L 0016460 N I L ) ) ( ( . 0 2 4 1 0016500 1 2 . 0 ( P R I 4 8 ) ) 0016520 ( T E X T B O X ( 2 4 0 . 0016540 0 2 7 2 . 0 \r 2 2 4 . 0 0016560 2 4 . 0 ) ( " I n d e x 0016600 E n t r y # 1 " ) 1 . 0 0016620 ( C E N T E R C E N T E R 0016640 ) ( G A C H A 1 0 ( M 0016660 E D I U M R E G U L A R R E 0016700 G U L A R ) ) ( ( \r 3 0 3 . 0016720 0 2 7 8 . 0 9 8 1 2 ) ) 0016740 B L A C K ( R O U N D 1 0016760 B L A C K ) N I L ( N I 0017000 L N I L N I L ) ) ) ( ( 0017020 . 0 2 4 1 1 2 . 0 ( P R 0017040 I 8 ) ) ( T E X T B O X 0017060 ( \r 2 4 0 . 0 2 9 6 . 0 0017100 2 2 4 . 0 2 4 . 0 ) ( 0017120 " N o t e F i l e H e a d e r 0017140 " ) 1 . 0 ( C E N T E R 0017160 C E N T E R ) ( G A C H A 0017200 1 0 ( M E D I U M R E G 0017220 U L A R \r R E G U L A R ) ) 0017240 ( ( 2 9 9 . 5 3 0 2 . 0 0017260 1 0 5 1 2 ) ) B L A C K 0017300 ( R O U N D 1 B L A C K ) 0017320 N I L ( N I L N I L N I 0017340 L ) ) ) ( ( 0 . 0 1 1 2 0017360 . 0 ( P R I 4 9 ) \r ) 0017400 ( W I R E ( ( 2 4 0 . 0 . 0017420 2 9 6 . 0 ) ( 4 6 4 . 0 0017440 . 2 9 6 . 0 ) ) ( R O 0017460 U N D 1 B L A C K ) N I L 0017500 N I L 1 . 0 N I L N I 0017520 L ) ) ( ( 0 . 0 4 . 0 0017540 ( \r P R I 2 1 ) ) ( W I 0017560 R E ( ( 4 7 2 . 0 . 2 0017600 9 6 . 0 ) ( 4 8 0 . 0 . 0017620 2 9 6 . 0 ) ) ( R O U N D 0017640 2 . 0 B L A C K ) N I L 0017660 N I L 1 . 0 N I L N I 0017700 L ) ) ( ( \r 0 . 0 6 0 . 0017720 0 ( P R I 2 2 ) ) ( W 0017740 I R E ( ( 4 8 0 . 0 . 0017760 2 9 6 . 0 ) ( 4 8 0 . 0 . 0020000 1 7 6 . 0 ) ) ( R O U N 0020020 D 2 . 0 B L A C K ) N I 0020040 L N I L 1 . 0 N I L \r 0020060 N I L ) ) ( ( 0 . 0 4 . 0020100 0 ( P R I 2 4 ) ) ( W 0020120 I R E ( ( 4 8 0 . 0 . 0020140 2 4 0 . 0 ) ( 4 8 8 . 0 . 0020160 2 4 0 . 0 ) ) ( R O U N 0020200 D 2 . 0 B L A C K ) N I 0020220 L N I L \r 1 . 0 N I L 0020240 N I L ) ) ( ( . 0 5 1 2 0020260 . 0 ( P R I 2 5 ) ) ( 0020300 T E X T ( 4 9 6 . 0 . 0020320 2 3 2 . 0 ) ( " I n d e x " 0020340 ) 1 . 0 ( L E F T B A 0020360 S E L I N E ) ( \r G A C H A 0020400 1 0 ( M E D I U M R E G 0020420 U L A R R E G U L A R ) ) 0020440 ( ( 4 9 6 . 0 2 2 9 . 0 0020460 3 5 . 0 1 2 . 0 ) ) B L A 0020500 C K ) ) ( ( 0 . 0 1 6 . 0020520 0 ( P R I 3 2 ) ) ( \r 0020540 W I R E ( ( 3 7 6 . 0 . 0020560 1 4 4 . 0 ) ( 3 7 6 . 0 0020600 . 1 7 6 . 0 ) ) ( R O U 0020620 N D 1 B L A C K ) N I L 0020640 N I L 1 . 0 N I L N I L 0020660 ) ) ( ( . 0 3 2 6 8 . 0 0020700 ( P R I \r 3 7 ) ) ( T 0020720 E X T B O X ( 2 4 0 . 0 0020740 1 4 4 . 0 1 3 6 . 0 3 2 0020760 . 0 ) ( " C a r d A S u 0021000 b s t a n c e " ) 1 . 0 0021020 ( C E N T E R C E N T E R ) 0021040 ( G A C H A 1 0 ( \r M E 0021060 D I U M R E G U L A R R E G 0021100 U L A R ) ) ( ( 2 5 2 . 0 0021120 1 5 4 . 0 1 1 2 1 2 ) ) 0021140 B L A C K ( R O U N D 1 0021160 B L A C K ) N I L ( N I L 0021200 N I L N I L ) ) ) ( ( 0 0021220 . 0 \r 4 . 0 ( P R I 2 0021240 8 ) ) ( W I R E ( ( 4 8 0021260 0 . 0 . 9 6 . 0 ) ( 4 0021300 8 8 . 0 . 9 6 . 0 ) ) 0021320 ( R O U N D 2 . 0 B L A C 0021340 K ) N I L N I L 1 . 0 0021360 N I L N I L ) ) \r ( ( . 0 0021400 5 1 2 . 0 ( P R I 3 0 0021420 ) ) ( T E X T ( 4 9 6 . 0021440 0 . 9 6 . 0 ) ( " D a 0021460 t a " " A r e a " ) 1 0021500 . 0 ( L E F T B A S E L I 0021520 N E ) ( G A C H A 1 0 0021540 ( \r M E D I U M R E G U L A R 0021560 R E G U L A R ) ) ( ( 4 9 0021600 6 . 0 9 9 . 0 3 5 . 0 0021620 1 2 . 0 ) ( 4 9 6 . 0 0021640 8 7 . 0 2 8 . 0 1 2 . 0 0021660 ) ) B L A C K ) ) ( ( . 0 0021700 3 2 5 6 . 0 \r ( P R I 0021720 4 1 ) ) ( T E X T B O X 0021740 ( 2 4 0 . 0 8 0 . 0 1 1 0021760 2 . 0 3 2 . 0 ) ( " C a 0022000 r d A T i t l e " ) 1 . 0022020 0 ( C E N T E R C E N T E 0022040 R ) ( G A C H A 1 0 \r 0022060 ( M E D I U M R E G U L A R 0022100 R E G U L A R ) ) ( ( 2 5 4 0022120 . 0 9 0 . 0 8 4 1 2 ) ) 0022140 B L A C K ( R O U N D 1 0022160 B L A C K ) N I L ( N I 0022200 L N I L N I L ) ) ) ( ( 0022220 0 . 0 \r 8 4 . 0 ( P R I 0022240 3 4 ) ) ( W I R E ( ( 0022260 2 4 0 . 0 . 1 1 2 . 0 ) 0022300 ( 4 0 8 . 0 . 1 1 2 . 0 0022320 ) ) ( R O U N D 1 B L A 0022340 C K ) N I L N I L 1 . 0 0022360 N I L N I L ) ) \r ( ( 0 0022400 . 0 2 8 . 0 ( P R I 3 0022420 5 ) ) ( W I R E ( ( 4 0 0022440 8 . 0 . 1 1 2 . 0 ) ( 0022460 4 6 4 . 0 . 1 1 2 . 0 ) ) 0022500 ( R O U N D 1 B L A C K 0022520 ) N I L N I L 1 . 0 N 0022540 I L \r N I L ) ) ( ( . 0 3 0022560 2 5 6 . 0 ( P R I 4 2 0022600 ) ) ( T E X T B O X ( 3 0022620 5 2 . 0 8 0 . 0 1 1 2 . 0022640 0 3 2 . 0 ) ( " C a r d 0022660 B L i n k s " ) 1 . 0 0022700 ( C E N T E R \r C E N T E R 0022720 ) ( G A C H A 1 0 ( M 0022740 E D I U M R E G U L A R R E 0022760 G U L A R ) ) ( ( 3 6 6 . 0 0023000 9 0 . 0 8 4 1 2 ) ) B 0023020 L A C K ( R O U N D 1 B 0023040 L A C K ) N I L ( N I L 0023060 \r N I L N I L ) ) ) ( ( 0 0023100 . 0 1 6 . 0 ( P R I 3 0023120 6 ) ) ( W I R E ( ( 3 1 0023140 2 . 0 . 1 4 4 . 0 ) ( 0023160 3 1 2 . 0 . 1 1 2 . 0 ) ) 0023200 ( R O U N D 1 B L A C K 0023220 ) N I L \r N I L 1 . 0 0023240 N I L N I L ) ) ( ( . 0 3 0023260 2 3 6 . 0 ( P R I 3 9 0023300 ) ) ( T E X T B O X ( 2 0023320 4 0 . 0 1 1 2 . 0 7 2 . 0023340 0 3 2 . 0 ) ( " C a r d 0023360 A \r " " L i n k s " ) 0023400 1 . 0 ( C E N T E R C E 0023420 N T E R ) ( G A C H A 1 0 0023440 ( M E D I U M R E G U L A 0023460 R R E G U L A R ) ) ( ( 2 0023500 5 1 . 5 1 2 8 . 0 4 9 1 0023520 2 ) ( 2 5 8 . 5 \r 1 1 6 0023540 . 0 3 5 1 2 ) ) B L A C K 0023560 ( R O U N D 1 B L A C K 0023600 ) N I L ( N I L N I L 0023620 N I L ) ) ) ( ( 0 . 0 6 0023640 8 . 0 ( P R I 3 1 ) ) 0023660 ( W I R E ( ( 2 4 0 . 0 . 0023700 \r 1 4 4 . 0 ) ( 3 7 6 . 0023720 0 . 1 4 4 . 0 ) ) ( R 0023740 O U N D 1 B L A C K ) N I 0023760 L N I L 1 . 0 N I L N 0024000 I L ) ) ( ( 0 . 0 4 4 . 0024020 0 ( P R I 3 3 ) ) ( W 0024040 I R E ( ( \r 3 7 6 . 0 . 0024060 1 4 4 . 0 ) ( 4 6 4 . 0 0024100 . 1 4 4 . 0 ) ) ( R O U 0024120 N D 1 B L A C K ) N I L 0024140 N I L 1 . 0 N I L N I L 0024160 ) ) ( ( . 0 3 2 7 6 . 0 0024200 ( P R I 4 0 ) ) ( \r T 0024220 E X T B O X ( 3 1 2 . 0 0024240 1 1 2 . 0 1 5 2 . 0 3 2 0024260 . 0 ) ( " C a r d B S u 0024300 b s t a n c e " ) 1 . 0 0024320 ( C E N T E R C E N T E R ) 0024340 ( G A C H A 1 0 ( M E D 0024360 I U M \r R E G U L A R R E G 0024400 U L A R ) ) ( ( 3 3 2 . 0 0024420 1 2 2 . 0 1 1 2 1 2 ) ) 0024440 B L A C K ( R O U N D 1 0024460 B L A C K ) N I L ( 3 2 8 0024500 0 0 N I L N I L ) ) ) ( 0024520 ( . 0 3 2 4 4 . 0 \r ( P 0024540 R I 3 8 ) ) ( T E X T B O 0024560 X ( 3 7 6 . 0 1 4 4 . 0 0024600 8 8 . 0 3 2 . 0 ) ( 0024620 " C a r d A T i t l e " ) 0024640 1 . 0 ( C E N T E R C E 0024660 N T E R ) ( G A C H A 1 0 0024700 \r ( M E D I U M R E G U L 0024720 A R R E G U L A R ) ) ( ( 0024740 3 7 8 . 0 1 5 4 . 0 8 4 0024760 1 2 ) ) B L A C K ( R O U 0025000 N D 1 B L A C K ) N I L 0025020 ( 3 2 8 0 0 N I L N I L ) 0025040 ) ) ( ( 0 . 0 \r 4 . 0 0025060 ( P R I 2 3 ) ) ( W I R 0025100 E ( ( 4 7 2 . 0 . 1 7 0025120 6 . 0 ) ( 4 8 0 . 0 . 0025140 1 7 6 . 0 ) ) ( R O U N D 0025160 2 . 0 B L A C K ) N I L 0025200 N I L 1 . 0 N I L N I L 0025220 \r ) ) ( ( 0 . 0 8 0 . 0 0025240 ( P R I 2 6 ) ) ( W I 0025260 R E ( ( 4 8 0 . 0 . 1 0025300 7 6 . 0 ) ( 4 8 0 . 0 . 0025320 1 6 . 0 ) ) ( R O U N D 0025340 2 . 0 B L A C K ) N I L 0025360 N I L \r 1 . 0 N I L N I 0025400 L ) ) ( ( . 2 2 4 1 5 2 0025420 . 0 ( P R I 1 ) ) ( B 0025440 O X ( 2 4 0 . 0 1 6 . 0 0025460 2 2 4 . 0 3 0 4 . 0 ) 0025500 ( R O U N D 1 B L A C K ) 0025520 N I L 1 . 0 ( \r N I L 0025540 N I L N I L ) ) ) ( ( . 0025560 0 3 2 6 0 . 0 ( P R I 0025600 6 0 ) ) ( T E X T B O X 0025620 ( 3 4 4 . 0 1 6 . 0 1 2 0025640 0 . 0 3 2 . 0 ) ( " C a 0025660 r d D T i t l e " ) 1 . 0025700 0 \r ( C E N T E R C E N T 0025720 E R ) ( G A C H A 1 0 0025740 ( M E D I U M R E G U L A R 0025760 R E G U L A R ) ) ( ( 3 6 2 0026000 . 0 2 6 . 0 8 4 1 2 ) ) 0026020 B L A C K ( R O U N D 1 0026040 B L A C K ) \r N I L ( N 0026060 I L N I L N I L ) ) ) ( 0026100 ( . 0 3 2 1 1 2 . 0 ( P 0026120 R I 5 8 ) ) ( T E X T B O 0026140 X ( 2 4 0 . 0 4 8 . 0 0026160 2 2 4 . 0 3 2 . 0 ) ( 0026200 \r " C a r d B S u b s t a n 0026220 c e " ) 1 . 0 ( C E N T 0026240 E R C E N T E R ) ( G A C 0026260 H A 1 0 ( M E D I U M R 0026300 E G U L A R R E G U L A R ) ) 0026320 ( ( 2 9 6 . 0 5 8 . 0 0026340 1 1 2 1 2 ) \r ) B L A C K 0026360 ( R O U N D 1 B L A C K ) 0026400 N I L ( N I L N I L N 0026420 I L ) ) ) ( ( . 0 3 2 5 0026440 2 . 0 ( P R I 5 9 ) ) 0026460 ( T E X T B O X ( 2 4 0 . 0 0026500 1 6 . 0 1 0 4 . 0 \r 0026520 3 2 . 0 ) ( " C a r d A 0026540 P r o p L i s t " ) 1 . 0 0026560 ( C E N T E R C E N T E R 0026600 ) ( G A C H A 1 0 ( M 0026620 E D I U M R E G U L A R R E 0026640 G U L A R ) ) ( ( 2 3 6 . 0 0026660 \r 2 6 . 0 1 1 2 1 2 ) ) 0026700 B L A C K ( R O U N D 1 0026720 B L A C K ) N I L ( N I 0026740 L N I L N I L ) ) ) ( ( 0026760 0 . 0 4 . 0 ( P R I 2 0027000 7 ) ) ( W I R E ( ( 4 7 0027020 2 . 0 . \r 1 6 . 0 ) ( 0027040 4 8 0 . 0 . 1 6 . 0 ) ) 0027060 ( R O U N D 2 . 0 B L A 0027100 C K ) N I L N I L 1 . 0 0027120 N I L N I L ) ) ( ( . 0 0027140 5 1 2 . 0 ( P R I 6 3 0027160 ) ) ( T E X T ( \r 2 4 8 0027200 . 0 . - 2 4 . 0 ) ( " 0027220 F i g u r e 1 : S t r u c 0027240 t u r e o f a N o t e F i 0027260 l e " ) 1 . 0 ( C E N T 0027300 E R B A S E L I N E ) ( G 0027320 A C H A 1 0 ( B O L D \r 0027340 R E G U L A R R E G U L A R ) 0027360 ) ( ( 1 2 9 . 0 - 2 7 . 0027400 0 2 3 8 . 0 1 2 . 0 ) ) 0027420 B L A C K ) ) ( ( . 0 5 0027440 1 2 . 0 ( P R I 6 5 ) ) 0027460 ( T E X T ( 7 2 . 0 . 0027500 4 0 . 0 \r ) ( " L e g e 0027520 n d " ) 1 . 0 ( C E N T 0027540 E R B A S E L I N E ) ( G 0027560 A C H A 1 0 ( B O L D R 0027600 E G U L A R R E G U L A R ) ) 0027620 ( ( 5 1 . 0 3 7 . 0 0027640 4 2 . 0 1 2 . 0 ) ) \r B L 0027660 A C K ) ) ( ( . 0 2 4 4 0027700 4 . 0 ( P R I 6 7 ) ) 0027720 ( T E X T B O X ( 3 2 . 0 0027740 8 . 0 8 8 . 0 2 4 . 0 0027760 ) ( " D e a d S p a c e " 0030000 ) 1 . 0 ( C E N T E R 0030020 \r C E N T E R ) ( G A C H A 0030040 1 0 ( M E D I U M R E G 0030060 U L A R R E G U L A R ) ) 0030100 ( ( 4 1 . 0 1 4 . 0 7 0 0030120 1 2 ) ) B L A C K ( R O U 0030140 N D 1 B L A C K ) N I L 0030160 ( 3 2 8 0 0 \r N I L N I L 0030200 ) ) ) ) \r ( 2 2 . 0 - 3 0 . 0 0030220 5 1 3 . 0 3 5 0 . 0 ) \r 1 . 0030240 0 \r 8 . 0 \r \r A s l o n g a 0030260 s t h e N o t e F i l e h 0030300 a s n o t b e e n c o m p 0030320 a c t e d , a l l t h e o 0030340 l d i n f o r m a t i o n c 0030360 a n b e a c c e s s e d ( 0030400 a n d m a d e t o b e " 0030420 c u r r e n t " ) v i a t h 0030440 e N o t e F i l e I n s p e 0030460 c t a n d R e p a i r f a 0030500 c i l i t y . I n s p e c t 0030520 a n d R e p a i r d o e s 0030540 t h i s b y i g n o r i n 0030560 g t h e i n d e x a n d 0030600 p a r s i n g t h e e n t i 0030620 r e d a t a a r e a t o 0030640 p r o d u c e a l i s t i n 0030660 g o f a l l t h e i n f 0030700 o r m a t i o n ( b o t h c 0030720 u r r e n t a n d o l d ) 0030740 a b o u t a c a r d t h a 0030760 t i s s t o r e d o n t 0031000 h e d a t a a r e a . S 0031020 e e t h e I n s p e c t a 0031040 n d R e p a i r m a n u a l 0031060 f o r m o r e i n f o r m 0031100 a t i o n . \r 3 . N o t e f 0031120 i l e c h e c k p o i n t i n 0031140 g . \r A s l o n g a s a 0031160 N o t e F i l e i s o p e n 0031200 , i t s i n d e x a r e a 0031220 i s c a c h e d i n m e 0031240 m o r y . W h e n a c a 0031260 r d p a r t i s s a v e d 0031300 , t h e c a r d p a r t ' 0031320 s i n f o r m a t i o n i s 0031340 w r i t t e n t o t h e 0031360 e n d o f t h e d a t a 0031400 a r e a b u t t h e c a r 0031420 d ' s a c t u a l i n d e x 0031440 e n t r y o n t h e N o 0031460 t e F i l e i s n o t u p 0031500 d a t e d w i t h t h i s 0031520 n e w l o c a t i o n . I 0031540 n s t e a d , t h e a p p r 0031560 o p r i a t e p o i n t e r 0031600 i n t h e c a r d ' s i n 0031620 - m e m o r y i n d e x e n 0031640 t r y i s u p d a t e d . 0031660 T h u s , t h e i n d e x 0031700 i n t h e N o t e F i l e 0031720 c o n t i n u e s t o p o 0031740 i n t t o t h e o l d i 0031760 n f o r m a t i o n i n t h 0032000 e d a t a a r e a , w h i 0032020 l e t h e i n - m e m o r y 0032040 i n d e x p o i n t s t o 0032060 t h e n e w i n f o r m a 0032100 t i o n . \r T h u s w h i l e 0032120 a N o t e F i l e i s o 0032140 p e n , i t s c u r r e n t 0032160 s t a t e i s d i s t r i 0032200 b u t e d b e t w e e n t h 0032220 e a c t u a l N o t e F i l 0032240 e a n d i n f o r m a t i o 0032260 n c a c h e d i n m e m o 0032300 r y . T h e c u r r e n t 0032320 i n d e x i s c a c h e d 0032340 i n m e m o r y . F o r 0032360 c a r d s o p e n o n t 0032400 h e s c r e e n ( o r c a 0032420 c h e d i n m e m o r y f 0032440 r o m t h e p r o g r a m m 0032460 e r ' s i n t e r f a c e ) , 0032500 t h e " c u r r e n t " c 0032520 a r d p a r t i n f o r m a 0032540 t i o n i s c o n t a i n e 0032560 d i n a n i n - m e m o r 0032600 y c a c h e . F o r a l 0032620 l o t h e r c a r d s , t 0032640 h e c u r r e n t i n f o r 0032660 m a t i o n i s c o n t a i 0032700 n e d i n t h e d a t a 0032720 a r e a o f t h e N o t e 0032740 F i l e p o i n t e d t o 0032760 b y t h e i n - m e m o r y 0033000 i n d e x e n t r y . \r I f 0033020 a m a c h i n e c r a s h 0033040 e s w h i l e a N o t e F 0033060 i l e i s o p e n , t h e 0033100 i n f o r m a t i o n c a c 0033120 h e d i n m e m o r y i s 0033140 l o s t . A c r a s h 0033160 n o t o n l y d i s c a r d 0033200 s c h a n g e s m a d e t 0033220 o c a r d s o n t h e s 0033240 c r e e n , b u t i t s 0033260 a l s o l e a v e s t h e 0033300 i n f o r m a t i o n s t o r 0033320 e d o n t h e N o t e F i 0033340 l e i n a n i n c o n s i 0033360 s t e n t s t a t e . F o 0033400 r e x a m p l e , t h e i 0033420 n d e x o n t h e N o t e 0033440 F i l e m a y p o i n t t 0033460 o o l d i n f o r m a t i o 0033500 n i n t h e d a t a a r 0033520 e a . T h i s o c c u r s 0033540 b e c a u s e t h e n e w 0033560 i n f o r m a t i o n ( e . 0033600 g . , a n e w t i t l e ) 0033620 i s w r i t t e n t o 0033640 t h e d a t a a r e a b u 0033660 t o n l y t h e i n - m e 0033700 m o r y i n d e x p o i n t 0033720 e r s ( w h i c h a r e l 0033740 o s t i n t h e c r a s h 0033760 ) h a v e b e e n u p d a 0034000 t e d t o p o i n t t o 0034020 t h e n e w i n f o r m a t 0034040 i o n . \r C h e c k p o i n t i 0034060 n g f o r c e s a l l o 0034100 f t h e i n - m e m o r y 0034120 i n f o r m a t i o n t o b 0034140 e w r i t t e n o n t o t 0034160 h e N o t e F i l e . S 0034200 p e c i f i c a l l y , c h e 0034220 c k p o i n t i n g c a u s e 0034240 s a l l o p e n c a r d s 0034260 t o b e s a v e d a n d 0034300 t h e i n - m e m o r y i 0034320 n d e x t o b e w r i t t 0034340 e n t o t h e N o t e F i 0034360 l e ' s i n d e x a r e a . 0034400 T h u s , i m m e d i a t 0034420 e l y a f t e r c h e c k p 0034440 o i n t i n g , t h e N o t 0034460 e F i l e i t s e l f c o n 0034500 t a i n s i t s c u r r e n 0034520 t ( a n d c o n s i s t e n 0034540 t ) s t a t e . I f t h 0034560 e m a c h i n e w e r e t 0034600 o c r a s h a t t h i s 0034620 p o i n t , n o i n f o r m 0034640 a t i o n w o u l d b e l 0034660 o s t a n d t h e N o t e 0034700 F i l e w o u l d b e c o 0034720 n s i s t e n t . \r C h e c k p 0034740 o i n t i n g a l s o w r i 0034760 t e s a c h e c k p o i n t 0035000 p o i n t e r o n t o t h 0035020 e N o t e F i l e h e a d e 0035040 r . T h e c h e c k p o i 0035060 n t p o i n t e r c o n t a 0035100 i n s t h e l o c a t i o n 0035120 o f t h e e n d o f t 0035140 h e d a t a a r e a ( i . 0035160 e . , t h e e n d o f t 0035200 h e N o t e F i l e ) a t 0035220 t h e t i m e t h e c h e 0035240 c k p o i n t i s d o n e . 0035260 \r A s t h e N o t e F i l e 0035300 i s u s e d a f t e r t 0035320 h e c h e c k p o i n t , i 0035340 n f o r m a t i o n i s w r 0035360 i t t e n i n t h e d a t 0035400 a a r e a p a s t t h e 0035420 c h e c k p o i n t p o i n t 0035440 e r b u t o n l y t h e 0035460 i n - m e m o r y i n d e x 0035500 e n t r i e s a r e u p d a 0035520 t e d t o p o i n t t o 0035540 t h i s i n f o r m a t i o n 0035560 . T h e o n - f i l e i 0035600 n d e x e n t r i e s s t i 0035620 l l p o i n t t o t h e 0035640 i n f o r m a t i o n i n t 0035660 h e d a t a a r e a b e f 0035700 o r e t h e l o c a t i o n 0035720 r e f e r e n c e d b y t 0035740 h e c h e c k p o i n t p o 0035760 i n t e r . T h u s , a 0036000 c o n s i s t e n t N o t e 0036020 F i l e c a n b e c o n s 0036040 t r u c t e d f r o m t h e 0036060 i n d e x a r e a a n d 0036100 t h e a l l o f t h e i 0036120 n f o r m a t i o n i n t h 0036140 e d a t a a r e a l o c a 0036160 t e d b e f o r e t h e c 0036200 h e c k p o i n t l o c a t i 0036220 o n . T h i s i s e s s 0036240 e n t i a l l y t h e N o t 0036260 e F i l e a s i t w a s 0036300 a t t h e t i m e o f t 0036320 h e l a s t c h e c k p o i 0036340 n t . ( N o t e : o n e 0036360 s m a l l e x c e p t i o n 0036400 i s t h a t c h a n g e s 0036420 t o a c a r d ' s s i z e 0036440 o n t h e s c r e e n a 0036460 r e a c t u a l l y w r i t 0036500 t e n i n t h e m i d d l 0036520 e o f t h e d a t a a r 0036540 e a r a t h e r t h a n a 0036560 t t h e e n d . T h u s 0036600 , t r u n c a t i n g a N 0036620 o t e F i l e t o i t s c 0036640 h e c k p o i n t l o c a t i 0036660 o n c a n n o t " u n d o " 0036700 t h e r e s h a p i n g o 0036720 f a c a r d . ) \r W h e n 0036740 o p e n i n g a N o t e F i 0036760 l e a f t e r a c r a s h 0037000 , t h e s y s t e m w i l 0037020 l i n s u r e t h a t t h 0037040 e N o t e F i l e i s i n 0037060 a c o n s i s t e n t s t 0037100 a t e . I t d o e s s o 0037120 b y t r u n c a t i n g t 0037140 h e d a t a a r e a t o 0037160 t h e l a s t c h e c k p o 0037200 i n t l o c a t i o n , s a 0037220 v i n g t h e t r u n c a t 0037240 e d i n f o r m a t i o n i 0037260 f r e q u e s t e d b y t 0037300 h e u s e r . T h i s 0037320 l e a v e s t h e N o t e F 0037340 i l e i n t h e s t a t e 0037360 i t w a s d u r i n g t 0037400 h e l a s t c h e c k p o i 0037420 n t b e f o r e t h e c r 0037440 a s h . \r A b o r t i n g a 0037460 N o t e F i l e d o e s t h 0037500 e s a m e t h i n g . I 0037520 t t r u n c a t e s t h e 0037540 d a t a a r e a t o t h e 0037560 l a s t c h e c k p o i n t 0037600 l o c a t i o n , t h e r e 0037620 b y e l i m i n a t i n g a 0037640 l l c h a n g e s m a d e 0037660 t o t h e N o t e F i l e 0037700 s i n c e t h e l a s t c 0037720 h e c k p o i n t . I t a 0037740 l s o d i s c a r d s t h e 0037760 i n - m e m o r y i n d e x 0040000 . T h u s , t h e N o t 0040020 e F i l e i s l e f t i n 0040040 t h e e x a c t s t a t e 0040060 i t w a s a f t e r t h 0040100 e l a s t c h e c k p o i n 0040120 t . \r F i n a l l y , n o t e 0040140 t h a t N o t e F i l e C 0040160 l o s e f o r c e s a c h 0040200 e c k p o i n t . T h e r e 0040220 f o r e , a b o r t s a n d 0040240 r e c o v e r y a f t e r 0040260 c r a s h e s a c t u a l l y 0040300 r e s t o r e t h e N o t 0040320 e F I l e t o i t s s t a 0040340 t e a s o f t h e l a s 0040360 t u s e r - i n i t i a t e d 0040400 c h e c k p o i n t o r c 0040420 l o s e . \r \r 4 . S t o r i 0040440 n g l i n k s a n d r e p 0040460 a r i n g N o t e F i l e s 0040500 w i t h i n c o n s i s t e n 0040520 t l i n k s \r T h e L i n k 0040540 s c a r d p a r t i s d 0040560 i v i d e d i n t o t h r e 0040600 e s u b c o m p o n e n t s : 0040620 T o L i n k s , F r o m L i 0040640 n k s , a n d G l o b a l L 0040660 i n k s . T h e T o L i n 0040700 k s i s a l i s t o f 0040720 a l l l i n k s w h o s e 0040740 S o u r c e i s t h e g i 0040760 v e n c a r d ( i . e . , 0041000 t h a t p o i n t f r o m 0041020 t h e c a r d t o s o m e 0041040 o t h e r c a r d ) . T 0041060 h e F r o m L i n k s i s 0041100 a l i s t o f l i n k s 0041120 w h o s e D e s t i n a t i o 0041140 n i s t h e g i v e n c 0041160 a r d ( i . e . , t h a t 0041200 p o i n t f r o m s o m e 0041220 o t h e r c a r d t o t h 0041240 e g i v e n c a r d ) . 0041260 F i n a l l y , t h e G l o 0041300 b a l L i n k s i s a s u 0041320 b s e t o f t h e T o L i 0041340 n k s t h a t i n c l u d e 0041360 s o n l y t h e G l o b a 0041400 l l i n k s o r i g i n a t 0041420 i n g i n t h e g i v e n 0041440 c a r d . \r G i v e n t h i 0041460 s s c h e m e , e v e r y 0041500 l i n k i s s t o r e d o 0041520 n t h e N o t e F i l e i 0041540 n t h r e e d i f f e r e n 0041560 t p l a c e s . F i r s t 0041600 , i f t h e l i n k i s 0041620 L o c a l i t i s s t o 0041640 r e d i n s i d e t h e l 0041660 i n k i c o n w h i c h i 0041700 n t u r n i s i n s i d e 0041720 t h e S u b s t a n c e p 0041740 a r t o f t h e l i n k ' 0041760 s s o u r c e c a r d . 0042000 I f t h e l i n k i s G 0042020 l o b a l , i t i s s t o 0042040 r e d i n t h e G l o b a 0042060 l L i n k s s u b p a r t o 0042100 f i t s s o u r c e c a r 0042120 d . S e c o n d , t h e 0042140 l i n k i s s t o r e d i 0042160 n t h e T o L i n k s l i 0042200 s t o f i t s s o u r c e 0042220 c a r d . T h i r d , t 0042240 h e l i n k i s s t o r e 0042260 d i n t h e F r o m L i n 0042300 k s l i s t o f i t s d 0042320 e s t i n a t i o n c a r d . 0042340 \r T h e s e t h r e e r e c 0042360 o r d s o f t h e s a m e 0042400 l i n k o c c a s i o n a l 0042420 l y g e t o u t o f s y 0042440 n c h , r e s u l t i n g i 0042460 n a n i n c o n s i s t e n 0042500 t N o t e F i l e . T h e 0042520 r e a r e a n u m b e r 0042540 o f s y m p t o m s o f s 0042560 u c h i n c o n s i s t e n c 0042600 y . F o r e x a m p l e , 0042620 t h e S h o w L i n k s 0042640 d i s p l a y f o r c a r d 0042660 m a y i n d i c a t e t h 0042700 a t t h e c a r d i s a 0042720 d e s t i n a t i o n f o r 0042740 a l i n k f r o m s o m 0042760 e s o u r c e c a r d X 0043000 w h i l e t h e S h o w L i 0043020 n k s d i s p l a y f o r 0043040 X d o e s n o t i n c l u 0043060 d e a T o L i n k t o t 0043100 h a t d e s t i n a t i o n 0043120 c a r d . O c c a s i o n a 0043140 l l y , i n c o n s i s t e n 0043160 t l i n k s w i l l a l s 0043200 o r e s u l t i n l i n k 0043220 i c o n s t h a t c o n 0043240 a t i n t h e w o r d s " 0043260 D E L E T E D " o r " F R E 0043300 E " w h e n d i s p l a y e 0043320 d o n t h e s c r e e n . 0043340 T h i s u s u a l l y m 0043360 e a n s t h a t t h e c a 0043400 r d a t o n e e n d o f 0043420 a l i n k w a s d e l e 0043440 t e d , b u t s o m e h o w 0043460 t h e l i n k s o f t h 0043500 e c a r d a t t h e o t 0043520 h e r e n d w e r e n o t 0043540 u p d a t e d . S u c h 0043560 l i n k i c o n s c a u s e 0043600 N o t e C a r d s t o b r 0043620 e a k w h e n y o u t r y 0043640 t o f o l l o w t h e m . 0043660 \r O n e f u n c t i o n o f 0043700 t h e N o t e C a r d s I 0043720 n s p e c t a n d R e p a i 0043740 r f a c i l i t y i s t o 0043760 r e s y n c h r o n i z e t 0044000 h e t h r e e r e c o r d s 0044020 f o r a l l l i n k s i 0044040 n t h e N o t e F i l e . 0044060 T h e i n s p e c t o r ' 0044100 s t h i r d p h a s e r e 0044120 b u i l d s t h e l i n k s 0044140 a s f o l l o w s . F i 0044160 r s t i t r e m o v e s a 0044200 l l T o a n d F r o m L i 0044220 n k s f o r e v e r y c a 0044240 r d . T h e n i t r e a 0044260 d s t h e s u b s t a n c e 0044300 s f o r e a c h c a r d 0044320 a n d r e c r e a t e s T o 0044340 L i n k s a n d F r o m L i 0044360 n k s b y l o o k i n g a 0044400 t t h e l i n k s f o u n 0044420 d i n s i d e t h e l i n 0044440 k i c o n s i n t h e c 0044460 a r d ' s s u b s t a n c e 0044500 a n d i n i t s G l o b a 0044520 l L i n k s l i s t . I n 0044540 a d d i t i o n , t h e l 0044560 i n k s r e b u i l d e r p 0044600 h a s e o f t h e n o t e 0044620 f i l e i n s p e c t o r c 0044640 a n r e b u i l d f i l e b 0044660 o x c o n t e n t s f r o m 0044700 c a r d s p o i n t e d t 0044720 o b y t h e f i l e b o x 0044740 , a n d t h e s e t o f 0044760 a l l l i n k t y p e s 0045000 f r o m t h e l i s t o f 0045020 a l l l i n k s . \r \0 \0 \0 \0 0045040 \0 003 ( L I S T ( ( P A G E N 0045060 I L ( P A P E R S I Z E N I 0045100 L ) ( 0 0 6 1 2 7 9 2 ) 0045120 ( ( T E X T N I L N I L 0045140 ( 7 2 7 2 4 6 8 6 4 8 ) 0045160 N I L ) ) ) ( P A G E N I L 0045200 ( P A P E R S I Z E L e t t 0045220 e r F O L I O I N F O ( A R 0045240 A B I C ) ) ( 0 0 6 1 0045260 2 7 9 2 ) ( ( F O L I O N 0045300 I L ( P A R A L O O K S ( Q 0045320 U A D L E F T ) C H A R L O 0045340 O K S ( S U P E R S C R I P T 0045360 0 I N V I S I B L E O F F 0045400 S E L E C T P O I N T O F F 0045420 P R O T E C T E D O F F S 0045440 I Z E 1 0 F A M I L Y H E 0045460 L V E T I C A O V E R L I N E 0045500 O F F S T R I K E O U T O 0045520 F F U N D E R L I N E O F F 0045540 E X P A N S I O N R E G U L 0045560 A R S L O P E R E G U L A R 0045600 W E I G H T M E D I U M I 0045620 N V E R T E D O F F U S E R 0045640 I N F O N I L S T Y L E N 0045660 I L ) F O R M A T I N F O ( 0045700 A R A B I C ) ) ( 5 4 0 0045720 7 5 6 2 8 8 3 6 ) N I L ) 0045740 ( T E X T N I L N I L ( 0045760 7 2 7 2 4 6 8 6 4 8 ) N 0046000 I L ) ) ) ( P A G E N I L 0046020 ( P A P E R S I Z E L e t t e 0046040 r F O L I O I N F O ( A R A 0046060 B I C ) ) ( 0 0 6 1 2 0046100 7 9 2 ) ( ( F O L I O N I 0046120 L ( P A R A L O O K S ( Q U 0046140 A D L E F T ) C H A R L O O 0046160 K S ( S U P E R S C R I P T 0046200 0 I N V I S I B L E O F F 0046220 S E L E C T P O I N T O F F 0046240 P R O T E C T E D O F F S I 0046260 Z E 1 0 F A M I L Y H E L 0046300 V E T I C A O V E R L I N E 0046320 O F F S T R I K E O U T O F 0046340 F U N D E R L I N E O F F 0046360 E X P A N S I O N R E G U L A 0046400 R S L O P E R E G U L A R 0046420 W E I G H T M E D I U M I N 0046440 V E R T E D O F F U S E R I 0046460 N F O N I L S T Y L E N I 0046500 L ) F O R M A T I N F O ( A 0046520 R A B I C ) ) ( 5 4 0 7 0046540 5 6 2 8 8 3 6 ) N I L ) 0046560 ( T E X T N I L N I L ( 7 0046600 2 7 2 4 6 8 6 4 8 ) N I 0046620 L ) ) ) ) ) \0 \0 \0 \0 \0 005 \0 \n \0 ( 0046640 \0 \0 \0 \0 \0 \0 \0 006 \0 \0 \0 \0 002 001 \0 \0 0046660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0046700 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 022 0046720 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0046740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0046760 \0 \0 \0 \0 \0 \0 \0 030 \0 \0 \0 \0 002 003 \0 \0 0047000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047020 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \b 0047040 \0 \0 \0 \0 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0047100 \0 \0 \0 \0 \0 \0 \0 022 \0 \0 \0 005 002 004 \0 \0 0047120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047140 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \f 0047160 \0 \0 \0 005 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047200 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0047220 \0 \0 \0 \0 \0 \0 \0 \f \0 \0 \0 005 002 001 \0 \0 0047240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047260 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 0047300 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0047340 \0 \0 \0 \0 002 034 \0 \0 \0 \0 \0 \0 002 001 \0 \0 0047360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047400 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 002 034 \0 \0 0047420 \0 \0 \0 \0 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0047460 \0 \0 \0 004 \0 006 \0 027 \0 \t H E L V E T 0047500 I C A \0 \n \0 \0 \0 \0 \0 \0 001 \0 \0 027 \0 0047520 \t H E L V E T I C A \0 \f \0 \0 \0 \0 0047540 \0 \0 \0 \0 \0 027 \0 \t H E L V E T I C 0047560 A \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 027 \0 \t H 0047600 E L V E T I C A \0 \f \0 \0 \0 \0 \0 \0 0047620 002 \0 \0 027 \0 \t H E L V E T I C A \0 0047640 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 030 \0 \n T I M 0047660 E S R O M A N \0 \f \0 \0 \0 \0 \0 \0 \0 0047700 \0 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 016 \0 \0 \0 0047720 \0 004 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 : \0 \0 0047740 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 \f \0 0047760 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \r 0050000 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 0050020 037 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0050040 \0 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \n \0 0050060 \0 \0 001 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 002 0050100 \0 \0 \0 " \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0050120 001 \0 \0 \0 ! \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 0050140 \0 001 \0 \0 \0 ' \0 \0 \0 \0 005 \0 \0 \0 001 \0 0050160 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 \t \0 \0 \0 001 0050200 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 \a \0 \0 001 0050220 g \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \t \0 \0 0050240 \0 001 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 006 \0 0050260 \0 \0 027 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 0050300 \0 \0 \0 035 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0050320 \a \0 \0 001 . \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 0050340 \0 006 \0 \0 \0 017 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0050360 002 \0 \a \0 \0 001 I \0 \0 \0 \0 005 \0 \0 \0 \0 0050400 \0 002 \0 \a \0 \0 001 224 \0 \0 \0 \0 005 \0 \0 \0 0050420 \0 \0 002 \0 005 \0 \0 \0 - \0 \0 \0 \0 004 \0 \0 0050440 \0 \0 \0 002 \0 \a \0 \0 \0 355 \0 \0 \0 \0 005 \0 0050460 \0 \0 \0 \0 002 \0 \a \0 \0 002 006 \0 \0 \0 \0 005 0050500 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 @ \0 \0 \0 \0 0050520 005 \0 \0 \0 \0 \0 002 \0 \a \0 \0 002 p \0 \0 \0 0050540 \0 005 \0 \0 \0 \0 \0 002 \0 \a \0 \0 001 367 \0 \0 0050560 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 001 \0 0050600 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \a \0 \0 001 m 0050620 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \a \0 \0 001 0050640 212 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \a \0 \0 0050660 037 $ \0 001 \0 \f S K I O . G E T F N 0050700 . 2 001 \0 027 \0 \t H E L V E T I C A 0050720 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0050740 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \a \0 \0 001 240 \0 0050760 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 034 0051000 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 001 0051020 343 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \a \0 \0 0051040 001 310 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \a \0 0051060 \0 002 027 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \a 0051100 \0 \0 001 265 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0051120 \a \0 \0 \0 034 \0 \0 \0 \0 005 \0 \0 \0 022 \0 \0 0051140 \0 \0 003 \0 \0 \0 251 \0 \0 \0 \0 005 \0 \0 \0 \0 0051160 \0 002 \0 \a \0 \0 001 \f \0 \0 \0 \0 005 \0 \0 \0 0051200 006 \0 \0 \0 \0 001 \0 \0 002 030 \0 \0 \0 \0 005 \0 0051220 \0 \0 \0 \0 002 \0 \a \0 \0 001 J \0 \0 \0 \0 005 0051240 \0 \0 \0 \0 \0 002 \0 \a \0 \0 001 . \0 \0 \0 \0 0051260 005 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 271 \0 \0 \0 0051300 \0 005 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \b \0 0051320 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 001 0051340 \0 \0 \0 \0 006 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 0051360 A \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 0051400 \0 9 \0 \0 \0 \0 005 \0 \0 \0 \a \0 \0 \0 \0 003 0051420 \0 \0 \0 002 \0 \0 \0 \0 005 \0 \0 \0 \t \0 \0 \0 0051440 \0 003 \0 \0 \0 006 \0 \0 \0 \0 005 \0 \0 \0 \v \0 0051460 \0 \0 \0 003 \0 \0 001 s \0 \0 \0 \0 005 \0 \0 \0 0051500 \0 \0 002 \0 \a \0 \0 001 272 \0 \0 \0 \0 005 \0 \0 0051520 \0 \0 \0 002 \0 \a \0 \0 002 320 \0 \0 \0 \0 005 \0 0051540 \0 \0 \0 \0 002 \0 \a \0 \0 002 k \0 \0 \0 \0 005 0051560 \0 \0 \0 \0 \0 002 \0 \a \0 \0 J 034 \0 l z 272 0051600