Caml1999I037R"<+Includecore(position;@@%First@@6typing/includecore.mliUU@@E@&Second@@ U U@@F@@@A*Errortrace(position@@@q@@@@U @@A@&D@A@2primitive_mismatch;@@$Name@@%X&X@@5J@%Arity@@.Y/Y@@>K@(No_allocD@@@s@@a@A@.label_mismatch;@@$Type)/.equality_error@@@}@@DxfhExf@@Tc@*Mutability*@@@|@@QyRy@@ad@)Atomicity+#@@@{@@^z_z@@ne@@@A@@@@@bwPP@@@@qb@A@-record_change;@@@A1Diffing_with_keys&change%Types1label_declaration@@@ @@@Q@@@~@@@@@@@|}'@@@@f@A@/record_mismatch;@@.Label_mismatch6$listK9@@@@@@@@@@B@@h@@n@extension_constructor_mismatch;@@3Constructor_privacy?@@K l nK l @@w@4Constructor_mismatch@%Ident!t@@@5extension_constructor@@@5extension_constructor@@@z@@@@@3L  4O  B@@Cx@@@A@@@@@7J F F@@@@Fv@A@.variant_change;@@@A&change7constructor_declaration@@@@@@$@@@@@@@@@@WP C CXR  @@@@gy@A@8private_variant_mismatch;@@1Only_outer_closedl@@fU  gU  @@v{@'Missingm8@@@g@@@@@xV  yV  @@|@(Presencenu@@@@@W  W  (@@}@6Incompatible_types_foro@@@@@X ) +X ) M@@~@%Typesp.equality_error@@@@@Y N PY N t@@@@@A@@@@@T  @@@@z@A@7private_object_mismatch;@@'Missingr@@@@@\  \  @@A@%Typess.equality_error@@@@@]  ]  @@B@@@A@@@@@[ v v@@@@@@A@-type_mismatch;@@%Arityu@@`  `  @@D@'PrivacyvA@@@@@a  a  @@E@$Kindw@@@@@b  b  +@@ F@*Constraintx.equality_error@@@@@ c , . c , W@@G@(Manifesty.equality_error@@@@@d X Zd X @@)H@/Private_variantz)type_expr@@@)type_expr@@@@@@@@3e  4e  @@CI@.Private_object{)type_expr@@@!)type_expr@@@@@@@@Mf  Nf  @@]J@(Variance|@@Vg  Wg  @@fK@/Record_mismatch}@@@@@dh  eh  C@@tL@0Variant_mismatch~נ9@@@@@@@@wi D Fxi D o@@M@6Unboxed_representationI@@@@@j p rj p @@N@)Immediate.Type_immediacy)Violation!t@@@@@k  k  @@O@@@A@@@@@_  @@@@C@A@2value_descriptions#loc(Location!t@@@@#Env!t@@@@@@@@1value_description@@@@1value_description@@@)Typedtree/module_coercion@@@@@@@@@@@@@@m  o>@@S@@1type_declarations(equality&optionL$boolE@@@@@@#locL!t@@@@J!t@@@$mark@@@@@@@@0type_declaration@@@@$Path!t@@@@0type_declaration@@@E[@@@@@@@@@@@@@@@@@@@@@@@1q@@2u@@AT@@6extension_constructors#loc!t@@@@!t@@@$markg@@@@=!t@@@@<5extension_constructor@@@@C5extension_constructor@@@k@@@@@@@@@@@@@@@@@@@swtzp@@U@@>value_descriptions_consistency@!t@@@@d1value_description@@@@k1value_description@@@/module_coercion@@@@@@@@@@@@V@@=type_declarations_consistency@!t@@@@0type_declaration@@@@0type_declaration@@@Ӡ@@@@@@@@@@@@@(o@@W@@5report_value_mismatch@@@@@@@@@#!t@@@*Format_doc'printerD@@@@@@@@@@@@@@@X@@4report_type_mismatch@@@@@@@@@@@@@R!t@@@/'printer@@@@@@@@@@@@@@@c@@$Y@@ %report_extension_constructor_mismatch@@@@@@@@@@@@@!t@@@\'printer@@@@@@@@@@@@@@@AB@@QZ@@@K+Includecore0"fTeБtPH(Warnings0mJɒkgrs-Stdlib__Uchar056uf4[_+Stdlib__Sys0 -ռ鱦s5/.Stdlib__String0*%"e+Outcometree0euWS~d栠$Misc0[@@Pc+zD)Longident0s `7mɕc(Location0a7cK_H%9)Load_path0I@18 ~,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ*Errortrace0>"+$? QNL(1R#Env0H/]0K+G1Diffing_with_keys0%h8Lc\5'Diffing0ɞyM۠*Data_types0I'Ue`wq]Ѡ*Cmi_format0Aڙ% C<0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu5Build_path_prefix_map0z HkGs(Asttypes0>n{T8cئ@@@Caml1999T037kHyE C+Includecoreࠐ)Typedtree)Typedtree6typing/includecore.mliRejRes@@A3@@@@@@#intA;@@@A@@@@@&_none_@@A@A@$charB;@@A@@@@@@A@&stringQ;@@ A@@@@@ @@@%bytesC;@@A@@@@@@@@%floatD;@@A@@@@@@@@$boolE;@@%falsec@@@$trued@@#@@@A@@@@@$@A@$unitF;@@"()e@@.@@@A@@@@@/@A@ #exnG;@@@A@@@@@3@@@#effH;@@O@A@A@@@@@@<@@@,continuationI;@@Q@@P@B@A@nY@@@@@@K@@@%arrayJ;@@R@A@A@@@@@@U@@@ $listK;@@S@A"[]f@@b@"::g@@@T@@o@ @@A@Y@@@@@r@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AJA@Y@@@@@@@@5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@A[A@Y@@@@@@@@*atomic_locU;@@Z@AdA@@@@@@@@@.Assert_failure`#@@@@@J@@@@@@@@[@@AϠ=ocaml.warn_on_literal_patternӐ@@0Division_by_zero]#@@@A٠  @+End_of_file\#$@@@Aᠰ@'FailureY#,@'@@A꠰@0Invalid_argumentX#5@0@@A󠰠$#@-Match_failureV#>@@=@9@;@@a@@A54@)Not_foundZ#O@@@A =<@-Out_of_memoryW#W@@@AED@.Stack_overflow^#_@@@AML@.Sys_blocked_io_#g@@@A$U'T'@)Sys_error[#o@j@@A-^0]0@:Undefined_recursive_modulea#x@@w@s@u@@h@@A>oAnA@:Continuation_already_takenb#@@@AFwIvI@&Stdlib@A|Ree{@@3zyyzzzzz@w@A}@ࠐ%Types%TypesStySt~@@A3@ @AStt@@@A+(positionAUU@@;@@%First@@UU@@E@&Second@@UU@@F@@@A*Errortrace(position@@@@@@@U @@A@D@@#@@@@@#U@@@@@@Aг*ErrortraceUU@UU@@@'3@MD;@@@AL@@@@@@@@*@@@(@A@@+@@X+7@A+2primitive_mismatchBWW@@;@@$Name@@XX@@ J@%Arity@@YY@@K@(No_allocw@@@#@@ZZ@@"L@+Native_name@@[[ @@+M@+Result_repr@@"\ #\ @@4N@-Argument_repr@@@$@@0]1]4@@BO@@@A@@@@@4W@@@@EI@@#DD;XB@A@@@E@#AAAY?@>@@@B@#>>GZHZ@7@г@(positionQZA@@G3ONNOOOOO@j;@@@A@@@@@$@@@"@AG@@@@I@#EE\[C@B@@@F@#BBb\ @@?@@@C@#??h] i]-@8@гA#intr]1B@@H!C@@@@E@@A@A@@3qppqqqqq@!@ABE@A+.value_mismatchC_6;_6I@@;@@2Primitive_mismatch@@@0@@`LN`Lx@@Q@/Not_a_primitive@@ay{ay@@R@$Type-moregen_error@@@1@@bb@@S@@@A@@@@@_66@@@@P@@#++`LP`Lb@$@г-2primitive_mismatch`Lf.@@43@lE;@@@A@@@@@@@@@A4@@@@6@#22ay}0@/@@@3@#//bb@&@г1*Errortracebb@8b6@7@@?"8@@@@:@@A@6@@3@"@A7:@*Dont_matchDdd@#@x@@@;@@Add@@T@@г .value_mismatchd @@3@E@A@@@@@@@A+0privacy_mismatchEgg.@@;@@9Private_type_abbreviation@@h13h1N@@+V@4Private_variant_type@@"iOQ#iOg@@4W@3Private_record_type@@+jhj,jh@@=X@:Private_extensible_variant@@4k5k@@FY@0Private_row_type @@=l>l@@OZ@@@A@@@@@Ag@@A@RU@@#11Hh15/@.@@@2@#..NiOS,@+@@@/@#++Tjhl)@(@@@,@#((Zk&@%@@@)@#%%`l#@"@@@&@@A@"@@3_^^_____@a}w@A$'@A+)type_kind!Fnnon@@;@@-Kind_abstract"@@xoyo@@\@+Kind_record#@@pp@@]@,Kind_variant$@@qq@@^@)Kind_open%@@rr@@_@-Kind_external&i@@@C@@s s"@@`@@@A@@@@@n@@@@[@@#66o4@3@@@7@#33p1@0@@@4@#00q.@-@@@1@#--r+@*@@@.@#**s s@#@г,&strings-@@33@oh;@@@A@@@@@0@@@.@A3@@@@5@@A@1@@3@@A25@A+-kind_mismatch'Gu$)u$6@@;@@@A@@@@L@@@@M@@N@@@@u$$u$N@@@@a@@@AВ@г)type_kindu$9u$B@@3@6+;@@@A3@@@W@K@@@@@@@@A@@@г$)type_kindu$E%@@+&@@@6'@@)@@3@@A*)@A+.label_mismatch(H'wPU(wPc@@;@@$Type).equality_error@@@Z@@8xfh9xf@@Jc@*Mutability*@@@[@@FyGy@@Xd@)Atomicity+@@@\@@TzUz@@fe@@@A@@@@@XwPP@@@@ib@@#00_xfj`xfn@'@г2*Errortracekxfrlxf|@9oxf}7@8@@@3nmmnnnnn@nQ;@@@A@@@@@@@@@A >@@@@@@#<<{y|y@5@г>(positiony?@@E@@@@@B@#>>zz@7@г@(positionzA@@G%B@@@@D@@A@@@@3@%@AAD@A+-record_change,I||@@;@@A1Diffing_with_keys&change-1label_declaration@@@@@@@@@@@@@@@@|}'@@@@f@@@Aг1Diffing_with_keys}} @"}!@@Цг&%Types}}@-}}@@@53@sH;@@@AP@@@@l@@@@1@@@.@A@@"ld}}@G@@А"ldE}}@@гE.label_mismatch}} @@M#@@@a$}I@@K@@3@%@ALK@A+/record_mismatch5J).)=@@;@@.Label_mismatch6@@@@@@@@(@@B)@@h@@:n@extension_constructor_mismatch>L.J F K/J F i@@;@@3Constructor_privacy?@@8K l n9K l @@Jw@4Constructor_mismatch@%Ident!t@@@75extension_constructor@@@85extension_constructor@@@9@@@:@@[L  \O  B@@mx@@@A@@@@@_J F F@@@@pv@@#00fK l p.@-@@@1@#--lL  mL  @@г/%IdentxL  yL  @4|L  }L  @@@>3|{{|||||@ X;@@@A@@@@@&@@@$@A @@г<=M  M  @@C@@г?@N  N  @@F@@гB4constructor_mismatchO  .C@@I D@@@@F@@A@B@@3@ @ACF@A+.variant_changejMP C HP C V@@;@@A &change47constructor_declaration@@@K@@@LP@@@M@@@Q@@@@P C CR  @@@@y@@@Aг1Diffing_with_keysR  R  @"R  @@Цг&%TypesQ Y \Q Y a@-Q Y bQ Y y@@@53@lF;@@@AN@@@^@H@@@@1@@@.@A@@"cdQ Y }Q Y @G@@А"cdEQ Y Q Y @@гE4constructor_mismatch Q Y  Q Y @@M#@@@_$Q Y [I@@K@@3        @%@ALK@A+8private_variant_mismatchkNT  T  @@;@@1Only_outer_closedl@@%U  &U  @@7{@'Missingm@@@f@@@g@@8V  9V  @@J|@(Presencen@@@h@@FW  GW  (@@X}@6Incompatible_types_foro@@@i@@TX ) +UX ) M@@f~@%Typesp.equality_error@@@j@@dY N PeY N t@@v@@@A@@@@@hT  @@@@yz@@#LLoU  J@I@@@M@#IIuV  vV  @=@гK(positionV  V  @@S3~}}~~~~~@m;@@@A@@@@@@@@@A@@гU&stringV  V@@\W@@@@Y@#UUW  W  @N@гW&stringW  "X@@^Y@@@@[@#WWX ) -X ) C@P@гY&stringX ) GZ@@`.[@@@@]@#YYY N RY N W@P@г[*ErrortraceY N [Y N e@bY N f`@a@@iEb@@@@d@@A@`@@3@E@Aad@A+7private_object_mismatchqO[ v {[ v @@;@@'Missingr@@@|@@\  \  @@A@%Typess8.equality_error@@@}@@]  ]  @@B@@@A@@@@@[ v v@@@@@@@#""\  \  @@г$&string\  %@@+3@<;@@@A@@@@@@@@@A+@@@@-@#))]  ]  @ @г+*Errortrace]  ]  @2!]  0@1@@92@@@@4@@A@0@@3!  !!!!!@@A14@A+-type_mismatchtP/_  0_  @@;@@%Arityu@@9`  :`  @@KD@'Privacyv:@@@@@Ga  Ha  @@YE@$Kindww@@@@@Ub  Vb  +@@gF@*Constraintx.equality_error@@@@@ec , .fc , W@@wG@(Manifesty.equality_error@@@@@ud X Zvd X @@H@/Private_variantz)type_expr@@@)type_expr@@@v@@@@@e  e  @@I@.Private_object{)type_expr@@@)type_expr@@@@@@@@f  f  @@J@(Variance|@@g  g  @@K@/Record_mismatch}@@@@@h  h  C@@L@0Variant_mismatch~H)@@@@@@@@i D Fi D o@@M@6Unboxed_representationH@@@@@j p rj p @@N@)Immediate.Type_immediacy)Violation!t@@@@@k  k  @@ O@@@A@@@@@_  @@@@ C@@#ɠɰ `  @@@@@#Ơư a   a  @@гȠ0privacy_mismatch a  @@3        @ F@;@@@A@@@@@@@@@A@@@@@#͠Ͱ b   b  @@гϠ-kind_mismatch %b  @@@@@@@#Ϡϰ +c , 0 ,c , :@@гѠ*Errortrace 7c , > 8c , H@ذ ;c , I@@@,@@@@@#ְ֠ Bd X \ Cd X d@@гؠ*Errortrace Nd X h Od X r@߰ Rd X s@@@C@@@@@#ݠݰ Ye   Ze  @@гߠ be   ce  @@S@@г⠐ ke   le  @@\@@г堐8private_variant_mismatch ue  @@e@@@@@# {f   |f  @@г砐 f   f  @@u@@гꠐ f   f  @@~@@г7private_object_mismatch f  @@@@@@@# g  @@@@@# h  ! h  0@@г점/record_mismatch h  4@@@@@@@# i D H i D X@@г$list i D k@г.variant_change i D \ i D j@@@@@@@@@@# j p t j p @@г(position j p @@ǰ@@@@@# k   k  @@г.Type_immediacy k   k  @ k   k  @@ k  @ @@  @@@@@@A@@@3        @@A@2value_descriptionso m   m  @б#locг(Location!t(Location n   n  @  n   n  @@@@@@+3        @ @A @@б@г#Env!t#Env 0n   1n  @  4n   5n  @@@@@@# @@б@г &string Dn   En  @@ @@@#+@@б@г1value_description So To@@ @@@#:@@б@г1value_description bo co+@@ @@@#I@@г r/module_coercion oo/ po>@@ @@@#V@@@@@#Y@@@%@@#\( @@@7@@# _:@@@I@@#!bQ@@~h@@#"e n  @@@ m  @@ S@@@@l1type_declarations q@D q@U@б(equalityг Y$bool rWc rWg@@ @@@##3        @!@A@@б#locг!t(Location skq sky@  skz sk{@@@@@@#$ @@б@г!t#Env t t@  t t@@@@@@#%4 @@б$markг $bool t t@@ @@@#&E@@б@г &string t t@@ @@@#'T@@б@г z0type_declaration u u@@ @@@#(c@@б@г$Path!t$Path u u@  u u@@@@@@#} @@б@г 0type_declaration +u ,u@@ @@@#@@г &option 8u 9u@г-type_mismatch Bu Cu@@ @@@#@@@@@@# @@@"@@#%@@@4@@#<@@@Q@@#T@@@c@@#f @@u@@# \t$@@@@@#'@@@@# cskm+@@ Ƞ@@@# @@#ǰ lrWY4@@ @ oq@@7@@ T@@9@@6extension_constructors zw {w@б#locгy!t(Location x  x@  x x@@@@@@#3        @ *@A @@б@гw!t#Env x x@  x x @@@@@@# @@б$markг u$bool x) x-@@ @@@#+@@б@г!t%Ident x1 x6@  x7 x8@@@@@@#C @@б@г Z5extension_constructor y<> y<S@@ @@@#R@@б@г i5extension_constructor y<W y<l@@ @@@#a@@г Y&option zp zp@гڠ>extension_constructor_mismatch zpr zp@@ @@@#x@@@@@@#} @@@"@@#%@@@4@@#7@@@F@@#N@@la@@# x$!@@@v@@#~$@@@@# &x (@@@ )w+@@ :U@@-@@>value_descriptions_consistency 4 5@б@г!t#Env C D@  G H@@@@@@#3 J I I J J J J J@(@A @@б@г 1value_description Y Z@@ @@@#@@б@г 1value_description h i@@ @@@# @@г x/module_coercion u v@@ @@@#-@@@@@#0@@@%@@#3( @@@9@@#6A@@@ @)ocaml.doc ]  The functions [value_descriptions_consistency] and [type_declarations_consistency] check if two declaration are consistent. Declarations are consistent when there exists an environment such that the first declaration is a subtype of the second one. Notably, if a type declaration [td1] is consistent with [td2] then a type expression [te] which is well-formed with the [td2] declaration in scope is still well-formed with the [td1] declaration: [E, td2 |- te] => [E, td1 |- te].  | @@@@@@@ V@@#@ n@@@@@@W=type_declarations_consistency   &@б@г!t#Env (* (-@  (. (/@@@@@@#3        @yC@A @@б@г I0type_declaration (3 (C@@ @@@#@@б@г X0type_declaration (G (W@@ @@@# @@г H&option (i (o@гȠ-type_mismatch ([ (h@@ @@@#7@@@@@@#< @@@"@@#?%@@@4@@#B7@@@H@@#EP@@@  @@ W@@"@@K5report_value_mismatchà  @б@г 預&string # $@@ @@@#3 % $ $ % % % % %@d@A@@б@г &string 4 5@@ @@@#@@б@г!t#Env G H@  K L@@@@@@#) @@г*Format_doc'printer*Format_doc _  `@  c d@@г .value_mismatch n o@@ @@@&3K@@@"@@@&5P @@@-@@&6S5@@@H@@&7VK@@@\@@&8Y_@@@ !@@ X@@#@@_4report_type_mismatchĠ ! 5@б@г `&string 8: 8@@@ @@@&93        @x@A@@б@г q&string 8D 8J@@ @@@&:@@б@г &string 8N 8T@@ @@@&; @@б@г!t#Env XZ X]@  X^ X_@@@@@@&<8 @@г'printer*Format_doc cs c}@  c~ c@@гà-type_mismatch ce cr@@ @@@&=X@@@ @@@&?] @@@+@@&@`3@@@F@@&AcI@@@X@@&Bf[@@@l@@&Cio!@@@ $@@Y@@&@@o %report_extension_constructor_mismatchŠ@б@г 砐&string!"@@ @@@&D3#""#####@@A@@б@г &string23@@ @@@&E@@б@г&stringAB@@ @@@&F @@б@г&!t#EnvTU@ XY@@@@@@&G8 @@г 'printer*Format_docjk @ n o@@гK>extension_constructor_mismatchyz@@ @@@&HX@@@ @@@&J] @@@+@@&K`3@@@F@@&LcI@@@X@@&Mf[@@@l@@&Nio!@@@$@@Z@@&@@o@  A@  A@  A@  B@  A@ 7 1A@  A@  |A@  A@  A@ 8 2A@}A@A@A@A@A@2@+L@E@9@@?@8@5@@3@7@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Xavier Leroy, projet Cristal, INRIA Rocquencourt E44E4@ H FF@ H Copyright 1996 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE.  LOOLO@ H MM@ H************************************************************************NN5@ ( Inclusion checks for the core language P77 P7c@ 9 Documents which kind of private thing would be revealed %f&f@ * The functions [value_descriptions_consistency] and [type_declarations_consistency] check if two declaration are consistent. Declarations are consistent when there exists an environment such that the first declaration is a subtype of the second one. Notably, if a type declaration [td1] is consistent with [td2] then a type expression [te] which is well-formed with the [td2] declaration in scope is still well-formed with the [td1] declaration: [E, td2 |- te] => [E, td1 |- te].  D val class_types: Env.t -> class_type -> class_type -> bool .qq/@@-./boot/ocamlc)-nostdlib"-I&./boot*-use-prims2runtime/primitives"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I&typing"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events"-ckl 9/builds/workspace/main/flambda/false/label/ocaml-linux-32 >10/.-,+*)('&%$#"! @@0̪pqb 3@@@(Asttypes0>n{T8cئ5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Cmi_format0Aڙ% C<*Data_types0I'Ue`wq]Ѡ'Diffing0ɞyM۠ 0%h8Lc\5#Env0H/]0K+G 0>"+$? QNL(1R*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`ڐ0"fTeБtPH)Load_path0I@18 ~(Location0a7cK_H%9)Longident0s `7mɕc$Misc0[@@Pc+zD+Outcometree0euWS~d栠)Parsetree0Uҩ=p>*%"e$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠%Shape0oNՄBH&Stdlib0Lku]8_٠.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0Bj|5s)ڠ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ɢb tLir/Stdlib__Hashtbl0ѱN][/!,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V +Stdlib__Map0L5xE|O0~,J-.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg+Stdlib__Set0\$;7 .Stdlib__String0s.Type_immediacy0A^abOhՠX0@@“@@d  [@@H  P@ { 3 B @ԓ i  Ւ @@i@6j,@@aF@ 3 q@ Q       @@@ =  P +@  [=ۓ@  h@ 0 U@  @p;b@@@@  Q@  K@@ j @@vjӰ ٓ ư b E@ @@@P@@