ELF                      @       Љ          @ 8  @ # !       @       @       @                                                                                                                                                  p      p             Rtd                                            Ptd                     <       <              Qtd                                                                              8       8                       Android %            GNU !vbB!QB                        *                      9                      F                                   i                X          c    `                         @       ^2                                           rust_metadata_memoffset_c7ff7529e3605da2 __cxa_finalize __cxa_atexit __register_atfork libc.so LIBC libmemoffset.dylib.so      APS2                                                                           ;<         T      h      |                               zR |       x             ,   p             @   `             T   P             h   H             |   L                   X   _@    _  ` bW    W           {  @b      @   @   @                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           X              e                     o            o          o           o                               H                                         8                           0      
       {       o                                                   o          o          o                                                   0      0      0      rustc version 1.93.1-dev (01f6ddf75 2026-02-11) (Android Rust Toolchain version 14933020-linux-x86) Android (14863223, +pgo, +bolt, +lto, +mlgo, based on r584948b) clang version 22.0.1 (https://android.googlesource.com/toolchain/llvm-project 2d65e4108033380e6fe8e08b1f1826cd2bfb0c99)  Linker: LLD 22.0.1 (/mnt/disks/build-disk/src/googleplex-android/llvm-r584948-release/out/llvm-project/llvm 2d65e4108033380e6fe8e08b1f1826cd2bfb0c99) rust   
i      rust   
"h      [rustc 1.93.1-dev (01f6ddf75 2026-02-11) (Android Rust Toolchain version 14933020-linux-x86)*˝N   ӥLBٿ   \hRꋔ Y   i@|W
   	|pȲΦxJ    $l3< P!97,    	hashbrownpp|S\M    
std_detect;!QRX    rustc_demanglec.0"g    cfg_ifSLU   {"tĪg=/               doc_comment\ <   _memoffset__addr_of raw_ref_macrost
 
 _memoffset__field_check allow_clippyd t _memoffset__field_check_tupled t _memoffset__field_check_union"d" t" _memoffset__let_base_ptr
d t _memoffset_offset_from_unsafe stable_constd t _memoffset__offset_of_implԋ stable_offset_of   _memoffset__offset_of_tuple_impl& % %  _memoffset__offset_of_union_impl0 / / tests,<$< ,-$-          __priv   size_of_pointee    	raw_field       raw_field_tuple  raw_field_union         offset_of_tuple   offset_of_union   span_of  _memoffset__compile_error 
 ` ,                V    _K,      ,     $     _ptr     I|               	  	   
       L(   	|.   	|7   Đ
         L#   *    	|-   4    	|:   
̡
   
<      K  H A crate used for calculating offsets of struct members and their spans.  	   	p  m This functionality currently can not be used in compile time code such as `const` or `const fn` definitions.  
   |
   ## Examples  <
   ```  
(  % use memoffset::{offset_of, span_of};  
   
   #[repr(C, packed)]  
-  * struct HelpMeIAmTrappedInAStructFactory {  '  $     help_me_before_they_: [u8; 15],  t       a: u32  ,   }     D  A assert_eq!(offset_of!(HelpMeIAmTrappedInAStructFactory, a), 15);  F  C assert_eq!(span_of!(HelpMeIAmTrappedInAStructFactory, a), 15..19);  ]  Z assert_eq!(span_of!(HelpMeIAmTrappedInAStructFactory, help_me_before_they_ .. a), 0..15);  <      M  J This functionality can be useful, for example, for checksum calculations:     l  
 ```ignore        struct Message {         header: MessageHeader,         fragment_index: u32,         fragment_count: u32,         payload: [u8; 1024],         checksum: u16  ,      C  @ let checksum_range = &raw[span_of!(Message, header..checksum)];  )  & let checksum = crc16(checksum_range);  <                	   
       !   	    	                  	      	   
   
   t    7  4 Hidden module for things the macros need to access.     8 4  t   4       mem            L #L 2    ^  [ Use type inference to obtain the size of the pointee (without actually using the pointer).     8 4  t |                                                    l   L      	    A > `addr_of!`, or just ref-then-cast when that is not available.			  8 t	 				  8 4	 t	 &|	      	


   ,
 8 $
 &
 8 $
 *
 



 
 ,
 8 ,
 '
 8 4
 '
 8 
 '
 8 addr_of <
 	


   ,
 8 $
 %
 $   $ ! Deref-coercion protection macro.      I F Prevents compilation if the specified field name is not a part of the     struct definition.        ```compile_fail   + ( use memoffset::_memoffset__field_check;        struct Foo {         foo: i32,   ,        type BoxedFoo = Box<Foo>;      , ) _memoffset__field_check!(BoxedFoo, foo);   <  8 d   8 4 t &|        	 , 8! $ & 8 $ $  , 8 , & 8  *   +  8 ,  8 4 ' 8 unneeded_field_pattern  8   , 8! $   , 8 , &  8  $  !  %  % *   $       > ; Prevents compilation if the specified type is not a tuple.      "   1 . use memoffset::_memoffset__field_check_tuple;      + ( _memoffset__field_check_tuple!(i32, 0);   <  8 d   8 4 t &|        	 , 8! $ & 8  $  , 8 , & 8  *   +  8 ,  8 4 ' 8 unneeded_wildcard_pattern  8    8  $  ! &  , 8! $ %  % *   / , Deref-coercion protection macro for unions.   K H Unfortunately accepts single-field structs as well, which is not ideal,   #   but ultimately pretty harmless.      "   1 . use memoffset::_memoffset__field_check_union;      |  union Foo {         variant_a: i32,   ,      #      8 5 _memoffset__field_check_union!(BoxedFoo, variant_a);   <  8 d   8 4 t &|      "  	 , 8! $ & 8 $ $  , 8 , & 8  * "  +     8 ,     8 4  '  8+   +!!!  8 ,!!!  8 unused_unsafe l! 8" 4! !"   8 "  ," 8! $" ""  ," 8 ," &"  8 "  %"  %" (   &M J Computes a const raw pointer to the given field of the given base pointer   &  to the given parent type.   '   'D A The `base` pointer *must not* be dangling, but it *may* point to   '  uninitialized memory. &'#$     (,((   ,( 8 base $( &( 8 $( $(  ,( 8 parent 4( &( 8 $( $(  ,( 8 ,( &( 8 ( *( (,(,  8 ( 	)))  ,) 86 4) $)  ,) 8 ,) %)  8 )  86 $)   )  ,) 86 $) %)  ++++  8 ,+++  82 l+ 8" 4+ +,   8 + 	++,  ,,  ,,,  86 $,  8 ,  , 8 ,,  ,, 86 4,  , ,, 8 ,, %, .   ,M3   -#   to the given parent tuple type.   -   -D4   -5...  8 tuple_ty D. . &.#3     .2./   ,. 86 $. &. 8 $. $.  ,. 86 4. &. 8 . $.  ,. 8 ,/ &/ 8 / */ /2/2  8 / 	///  ,/ 86 4/ $/  ,/ 8 ,/ %/  8 /  86 $/   /  ,/ 86 $/ %/  +111  8 ,111  82 l1 8" 42 22   8 2 	222  22  222  86 $2  8 2  2 8 ,2  ,2 86 42  2 ,2 8 ,2 %2 7   2M3   3#:   3   3D4   ̨45   4   \4  ## Note   4[ X This macro is the same as `raw_field`, except for a different Deref-coercion check that   5  supports unions.   5l i Due to `macro_rules!` limitations, this check will accept structs with a single field as well as unions.   6P M This is not a stable guarantee, and future versions of this crate might fail   7B ? on any use of this macro with a struct, without a semver bump. &7#B     8<88   ,8 86 $8 &8 8 $8 $8  ,8 86 48 &8 8 $8 $8  ,8 8 ,8 &8 8 8 *8 8<8<  8 8 	888  ,8 86 48 $8  ,8 8 ,8 %8  8 8  86 $8   9  ,9 86 $9 %9  +:::  8 ,:::  82 l: 8" 4; ;<   8 ; 	;;;  ;;  ;;;  86 $;  8 ;  ; 8 ,;  ,; 86 4;  ; ,; 8 ,; %< l   L      
%   T Q Macro to create a local `base_ptr` raw pointer of the given type, avoiding UB as   	"  much as is possible currently.			  8
 d	 			
  8 4	 t	 &|	 Q     


  	 ,
 8
 $
 &
 8 ,
 $
  ,
 8! $
 &
 8 
 *
 
 " 8   8 uninit 4     , 8 , ' 8 4 ' 8  ' 8 MaybeUninit \ '  , 8! $  ' 8K 4   %  8   , 8
 $ &   8 ,  , 8! $     8K 4   8 4   %  % *   7 4 Macro to compute the distance between two pointers.  8 d   8 4 t &| `       	 , 8 , & 8 $ $  , 86 $ & 8 $ *   8   8 ,     , 8 , %  8   86 $     , 86 $ %  8" 4     8 ,  8    8 ,  8    8 offset_from \   86 $  8    8 ,  8  8   8 ,  % '  8  Ď  8 4 t &| o       	 , 86 4 & 8 $ $  , 8 , & 8  *  
 , 8 , ' 8 4 ' 8  ' 8 L 	   , 86 4 $  , 8 , % #   T Q Calculates the offset of the specified field from the start of the named struct.      |   <     use memoffset::offset_of;         "   |      a: u32,   |      b: u64,         c: [u8; 5]   ,      & # assert_eq!(offset_of!(Foo, a), 0);   & # assert_eq!(offset_of!(Foo, b), 4);   <      d 	 ## Notes   E B Rust's ABI is unstable, and [type layout can be changed with each   G D compilation](https://doc.rust-lang.org/reference/type-layout.html).        W T Using `offset_of!` with a `repr(Rust)` struct will return the correct offset of the   !R O specified `field` for a particular compilation, but the exact value may change   !V S based on the compiler version, concrete struct type, time of day, or rustc's mood.   "   "Z W As a result, the value should not be retained and used between different compilations. &##~     #%#$  	 ,# 86 4# &# 8 $# $#  ,# 8 ,# &$ 8 $ *$ $%  8 Ԙ% 	%%%   ,% 86 4% $%  ,% 8 ,% %% *-)))  8; D) ))))  8 ) )***  8 4* t* &)#     *+**  	 ,* 86 4* &* 8 * $*  ,* 8 ,* &* 8 * ** *+*+ 
 ,+ 8 ,+ '+ 8 4+ '+ 8 + '+ 8 L+ 	+++   ,+ 86 4+ $+  ,+ 8 ,+ %+ -   +M J Calculates the offset of the specified field from the start of the tuple.   ,   |,   <,   ,#   use memoffset::offset_of_tuple;   ,   ,X U assert!(offset_of_tuple!((u8, u32), 1) >= 0, "Tuples do not have a defined layout");   <----  8; D- - &-#     ./..  	 ,. 86 4. &. 8 . $.  ,. 8 ,. &. 8 . *. ././  8 /  	///   ,/ 86 4/ $/  ,/ 8 ,/ %/ 4-333  8 3 3444  8 44 t4 &3#     4544  	 ,4 86 44 &4 8 $4 $4  ,4 8 ,4 &4 8 4 *4 4555 
 ,5 8 ,5 '5 8 45 '5 8 5 '5 8 L5 	555   ,5 86 45 $5  ,5 8 ,5 %5 :   5T Q Calculates the offset of the specified union member from the start of the union.   6   |6   <6   6#   use memoffset::offset_of_union;   6   6   |6.   7      foo32: i32,   7      foo64: i64,   ,7   7   7/ , assert!(offset_of_union!(Foo, foo64) == 0);   <7   7   \7@   8l i Due to `macro_rules!` limitations, this macro will accept structs with a single field as well as unions.   8PB   9BC &:#     :<::  	 ,: 86 4: &: 8 $: $:  ,: 8 ,: &: 8 : *: :<:<  8 ;  	<<<   ,< 86 4< $<  ,< 8 ,< %< \   <      
&   * ' Reexport for `local_inner_macros`; see   	r o <https://doc.rust-lang.org/edition-guide/rust-2018/macros/macro-changes.html#macros-using-local_inner_macros>.		
  8 4	 t	 &|
      


   ,


  ,
 8 inner ,
 &
 8 
 
 *
 
   8 l
 	
 

   ,


  ,
 8q ,
 
    Y V Produces a range instance representing the sub-slice containing the specified member.      = : This macro provides 2 forms of differing functionalities.      L I The first form is identical to the appearance of the `offset_of!` macro.      l     span_of!(Struct, member)   <      e b The second form of `span_of!` returns a sub-slice which starts at one field, and ends at another.   ( % The general pattern of this form is:      l     // Exclusive   * ' span_of!(Struct, member_a .. member_b)     // Inclusive   + ( span_of!(Struct, member_a ..= member_b)        // Open-ended ranges     span_of!(Struct, .. end)     span_of!(Struct, start ..)   <      d 	 ### Note   _ \ This macro uses recursion in order to resolve the range expressions, so there is a limit to   % " the complexity of the expression.   Q N In order to raise the limit, the compiler's recursion limit should be lifted.      t  ### Safety   ^ [ The inter-field form mentioned above assumes that the first field is positioned before the   \  second.   2 / This is only guaranteed for `repr(C)` structs.   ] Z Usage with `repr(Rust)` structs may yield unexpected results, like downward-going ranges,   h e spans that include unexpected fields, empty spans, or spans that include *unexpected* padding bytes.      |   <   ܥ  use memoffset::span_of;      t  #[repr(C)]     struct Florp {   t   ,      t     struct Blarg {         x: [u32; 2],         y: [u8; 56],         z: Florp,         egg: [[u8; 4]; 4]   ,      , ) assert_eq!(0..84,  span_of!(Blarg, ..));   . + assert_eq!(0..8,   span_of!(Blarg, .. y));   / , assert_eq!(0..64,  span_of!(Blarg, ..= y));   + ( assert_eq!(0..8,   span_of!(Blarg, x));   . + assert_eq!(8..84,  span_of!(Blarg, y ..));   0 - assert_eq!(0..8,   span_of!(Blarg, x .. y));   1 . assert_eq!(0..64,  span_of!(Blarg, x ..= y));   < &#     -4  	  8 helper 4  , 8 root $ & 8 , $    # *   8
 ̿ 	   7 Expected a range, found '..='  %   	  8 4  , 8 $ & 8 , $    ! *   8
 ̰ 	   7 Expected a range, found '..'  %     8 4  , 8 $ & 8 , $  , 86 4 & 8 $ $    ! *     , 8 $  8   8 , $  , 8 $  8   8 ,    , 8 , ' 8 4 ' 8 |  , 8 $ %     8 4  , 8 $ & 8 , $  , 86 4 & 8 $ $    #  , 8  & 8  *   8   8      8 L 	  , 8 $ $  , 86 4 $  , 8  %    , 8 $  8   8 , $  8   8   8 ,    , 8 , ' 8 4 ' 8 |  8  %     8 4  , 8 $ & 8 , $  , 86 4 & 8 $ $    !  , 8  & 8  *    
 , 8 $  8   8 , $  8 L 	   , 8 $ $  , 86 4 $  , 8  8   8 , %        8 4   ,  8 $  &  8 ,  $   ,  86 4  &  8 $  $   +   ,  8 begin ,  &  8        #   ,  8   &  8   *   " "  8    8 ,    !  8 L! 	!!!  ,! 8 $! $!  ,! 86 4! $!  ,! 8 ,! %!  8 !  8 !   !  8 L! 	!!!  ,! 8 $! $!  ,! 86 4! $!  ,! 8 ! %! !"   8 ,!  8 !  8 ,! $!  8 !  8 !  8 ,!  "  ," 8 ," '" 8 4" '" 8 |"""  8 " %" ""   " 8 4"  ," 8 $" &" 8 ," $"  ," 86 4" &" 8 $" $"  +"  ," 8 ," &" 8 " ""   !"  ," 8 " &" 8 " *" "#"# ##   8 L# 	###   ,# 8 $# $#  ,# 86 4# $#  ,# 8 ,# 8 #  8 ,# $#  8 L# 	###   ,# 8 $# $#  ,# 86 4# $#  ,# 8 # 8 #  8 ,# %# $$   $ 8 4$  ,$ 8 $$ &$ 8 ,$ $$  ,$ 86 4$ &$ 8 $$ $$  +$  ,$ 8 ,$ &$ 8 $ $$   !$ *$ $%$% $%   8 L$ 	$$$   ,$ 8 $$ $$  ,$ 86 4$ $$  ,$ 8 ,$ 8 $  8 ,% $%  ,% 8 $%  8 %  8 ,%  %  ,% 8 ,% '% 8 4% '% 8 |%%%  ,% 8 $% %% %&   % 8 4%  ,% 8 $% &% 8 ,% $%  ,% 86 4% &% 8 $% $%  +%  ,% 8 ,% && 8 & &&   #& *& &'&'  8
 ̜& 	&&'    7 QFound inclusive range to the end of a struct. Did you mean '..' instead of '..='? &S %' ''   ' 8 4'  ,' 8 $' &' 8 ,' $'  ,' 86 4' &' 8 $' $'  +'  ,' 8 ,' &' 8 ' ''  *' ')')  8 '  8 ,(   (  8 L( 	(((  ,( 8 $( $(  ,( 86 4( $(  ,( 8 ,( %( ((   8 ,(  8 (  8 ,( $(  8 ,(  8 (  8 ,(  (  ,( 8 ,( '( 8 4( '( 8 |(((  8 ,( %) ))   ) 8 4)  ,) 8 $) &) 8 ,) $)  ,) 86 4) &) 8 $) $)  ,)))  +)  ,) 8 ,) &) 8 ) ) ))   ,) 8 ) &) 8 )  ,)))  ,) 8 rest $) &) 8 ) ) *) )*)*  8
 <) 	))*   ) 8 4*  ,* 8 $* $*  ,* 86 4* $*  ,***  +* ,* 8 ,* *  +* ,* 8 * **   ,***  ,* 8 $* * %* **   * 8 4*  ,* 8 $* &* 8 ,* $*  ,* 86 4* &* 8 $* $* **   ,* 8 * &* 8 *  ,***  ,* 8 $* &* 8 * * ** ++++  8
 <+ 	+++   + 8 4+  ,+ 8 $+ $+  ,+ 86 4+ $+  ++ ,+ 8 + ++   ,+++  ,+ 8 $+ + %+ ++   ,+ 8 sty + &+ 8 $+ $+  ,+++  ,+ 8 exp + &+ 8 + + *+ +- +-  8 ħ, 	,,,  8 $, $,  ,, 8ɮ , %,  8 ,  86 $,   ,  8 $,  8 ,  8 ,, %,  8 , ,-   8 ,, $-  8 -  -  8
 <- 	---  - 8 4-  8 $- $-  ,- 8ɮ - $- --   ,---  ,- 8 - - %-  8 ,- - 86 $- !- 8 - - 86 $-  %-  /type layout can be changed with eachcompilation    4https://doc.rust-lang.org/reference/type-layout.html  ³  ³                           ]`)uU/<.pCi:/B[+bj`^	KI'{RH#a:P_\IAU^l(]0oa."	ʝG 0\yNv_eb͖4Omti8NI
-dQEpc76Xn?gDF	2u 
0j+PpBAv(No&N̓ޑ      |            "                RM# $)$&;)*y/
1Q34 77>9      {                                  $ $                         7)))))))))))))))))    n    U  ild!$%l')./f23678RBMH$$$&6)*t/1L3477~9    j?fia!$%i')./c23678OB    o    V  jme!$%m')./g23678SB                        l                              b            c            C                          =                                              h                      $                7'+/EL\cjqx6                  vyq!  %y').0s236  8_B                                                   Y                                             ]`)uǌmi   ^h^d^l^^^^ODHT        @                                                &N̓ޑ   I'{RH                                                   	K               Ci:/B               U/<   #a:P                                                                                                                                                                           	ʝG                _eb   j`^   \IAU^
   [+b   a."   c76                                                   ]`)u    l(]0o   Om    
0j+   I
-d                           .p   _	   0   ͖4   QEp               DF	2u   Xn?g   \yNv   PpBAv(No                           ti8N                                       y$s!v1T/|YcqX@xuLD3x7Vy$s!v  =./external/rust/android-crates-io/crates/memoffset/src/lib.rs  }\̏                 V#PQPMI<R3NLOJQQLq).(EG^ND*8c9 &T}PM-    C./external/rust/android-crates-io/crates/memoffset/src/raw_field.rs  Մ@8i1                 <<.PQPMI<R3NLOJQQB#-#[C%J,-'!IK1%'!IK%%?2,-24-20L$29-!IK4X %
-!IKX %
NE$03G"R,QE
N$E$.9G"R,QE
N$E\mQC$09G"R,QE
 ٻW㕖UU%    C./external/rust/android-crates-io/crates/memoffset/src/offset_of.rs  tH#<E^bHQ0                 __#PQPMI<R3NLOJQQU#(!@EDB%J3(!KPN8-$JGPdP-#-$*$N6?<*$9U''FHXSW[$#H>5$0"N6E<$0"9N$Y$"H>;$0$N6E<$0$9U$0mQC$$H>;^
+++ 
+++++U
111
0!!/&
(%$'.0
$LLL $$%0J0J0J 
$RRR0
6)&
60&
- 2?\cv^T]K    A./external/rust/android-crates-io/crates/memoffset/src/span_of.rs  <No`is
.ϝ                 CC#PQPMI<R3NLOJQQ+s)&Z>Mf)+,`&R_3^i-/0,/12$(D&C$5B>4N=D)J84NI64"A6BB$a>8RVHF<#/"F
,,0C
,,0

$.0G23

/0/10123C!8!8!8#:"5#R Ov1  ;bctdf aarch64-linux-androidD)ϴ~xu'_ 	memoffset   ]`)u                                                         T  N 888  8                                                                  4         8         8      "                    W        rust-end-file            PQ        >             (/`>  #%@M1\17U+ldY[DD!!2\W:Z[ggC	S3fn'ij(AX(E(EԊxr# C<N#N_bw%4r}Ńxb+: `L606ژ=,k	:pzUDW       ]             (/`] E b(-piFNî{a>`X;OZk![7?A<y|˪:QUp4**,F,Ic[<d,)_AIhfbpOx	;,lAē,kƴ,XȄ  = `F0uL!00q:Pi%ܪp8B.S xv)4- hV           	 L           	    ]  j    I           n              V                         (/` e	 API
!Pҩ*Rڊĭ$: : 6 .&-T <Nmb<!!XeQDko /ѻ-Lj"jYD!IbMI{(wt7:(uC_k.2"G׬EFųs/΍-_g EÔ
E%hLʶ֝
.ׂf"5:sͲw=^?Oeu NPS/l0'hF2Ȏsx       `              (/ ` \        $      
  , l%hC ^                    (/` 	     z       Z   K&3%C튢7)]3߸2.f&|QFG^IA~yiu	{UQ1; 
 	  !  *1$KL 	
K
 G    Abionic/libc/arch-common/  crtbrand.S HBend_so.S     #NUggWlj0c*G@ 1	ec A[1MU       y              (/ y} D8IfL,y&#c\>Qu2fȿx,Hj={K a>i                                                   "                    %                    3                  @                    C                    F                  X                    [                    ^                    a                    d                     g                    j                    m                      p                      s                      v                      y                      |                                                                     P                                                                                                                                                                         %                9                     P                   P                    h              Z                               i                            ,                     H                      .note.android.ident .note.gnu.build-id .dynsym .gnu.version .gnu.version_r .gnu.hash .hash .dynstr .rela.dyn .relr.dyn .rela.plt .eh_frame_hdr .eh_frame .text .plt .data.rel.ro .fini_array .dynamic .got.plt .relro_padding .comment .rustc .debug_loclists .debug_abbrev .debug_info .debug_rnglists .debug_str_offsets .debug_str .debug_addr .debug_line .debug_line_str .symtab .shstrtab .strtab  memoffset.c7ff7529e3605da2-cgu.0 $d crtbegin_so.c __on_dlclose $x $x __on_dlclose_late $x $x $x $x $d $d $d $d $d $d $d $d $d $d $d $d $d $d abitag $d $d __FRAME_END__ $d $d rust_metadata_memoffset_c7ff7529e3605da2 __dso_handle __cxa_finalize __emutls_unregister_key __atexit_handler_wrapper atexit __cxa_atexit pthread_atfork __register_atfork _DYNAMIC                                                                                                                                                                                      (             8      8      x                           0   o                   
                            =   o                                                L   o                                                 V                           0                            \             0      0      {                              d     `                                                n    o                                                x      B                   H                                                    <                                           P      P                                                             D                                           0      0      P                                                                                                                                                                       p                                                    0                                                       H                                   0                                                                       k      i                                                   }                                                         0}                                                        ~      
                                                        #                              )                     B      P                              <     0                    N                            G                          V                              S                    6      C                             _     0              y      p                             o                                 "   &                 w                                                                             i      c                             