META-INF.modules.java.base.classes.java.lang.invoke.InvokerBytecodeGenerator.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java.base Show documentation
Show all versions of java.base Show documentation
Bytecoder java.base Module
???? 6?,. 0
;12
1 3 4
?5
?6
?7 89
: ; < = > ?@ A
?B
C
?D
?E
?F
G ?H
?I
?JK
1L
M
N
OP
$Q
RS T
?UV
)W
)X
?Y
)N
?Z[\
]^
_` a
[bc
7d
e
fg
hij 7klmn
op
?q
?r
@s 7tu
Iv
UN
Iw
;N
x
y
z 8{ |
?}
?~
U? ??
??
8??
[??g
[??
[?
??
[? ?
??
??
??
??
i??
k??
m??
o??
q??
s??
u?
??
??
?
?? ??
??? ??
?
?
? ??
?
@1 ??
?1?
?
???
?
???
??
???
?
??
??
?? 8? )?
??
?
???
8?
??
??
??
?
?
?
??
?@??
??u
??
?
??
??
U?
?? 8? ????
??
????
q? ?? ?? ?? ??
???
??
????
?
??
???
????
??
?
?
?
?
?
? ?
?
?
? ?
??
? 8 ? !
?" #
$
?%
&
?'
(
?)
*
?+
?,
-
.
/
0
1 ?2
3
45
?6
7
8
9
:
;
[<=
>
?
?@
A
B
C
D
?E
?F
?GH
UI
UJ
K
L
M
N
OP
UQ
?R
US
?T
UU
V
WX Y
UZ
U?
U[
U\
]
U^
U_
`
Ua
?b
?c
Ud
Ief
8g
hi
;j
kl
mn
E1
?o
pq?
r
?s
?t
Iu
?v
?wf
?xyz
?{ |?
}?~ ?~? ?~? ?~??
? u?
????
?
??
??
?
?
?
? ?? ??
?
?
?
?
????
ts
???
??
???
?
?
??????
? ???
???
?
? ??,
???
?1??
?s
??
??????
???????? InnerClasses BytecodeGenerationException CpPatch MH Ljava/lang/String;
ConstantValue MHI LF LFN? CLS OBJ OBJARY LOOP_CLAUSES MHARY2 LF_SIG LFN_SIG^ LL_SIG LLV_SIG CLASS_PREFIX
SOURCE_PREFIX INVOKER_SUPER_NAME className
lambdaForm Ljava/lang/invoke/LambdaForm; invokerName invokerType Ljava/lang/invoke/MethodType; localsMap [I localClasses [Ljava/lang/Class; Signature [Ljava/lang/Class<*>; cw ,Ljdk/internal/org/objectweb/asm/ClassWriter; mv .Ljdk/internal/org/objectweb/asm/MethodVisitor; MEMBERNAME_FACTORY? Factory %Ljava/lang/invoke/MemberName$Factory;
HOST_CLASS Ljava/lang/Class; Ljava/lang/Class<*>; DUMP_CLASS_FILES_COUNTERS Ljava/util/HashMap; :Ljava/util/HashMap; DUMP_CLASS_FILES_DIR Ljava/io/File; cpPatches Ljava/util/ArrayList; JLjava/util/ArrayList; cph I
LF_HIDDEN_SIG LF_COMPILED_SIG FORCEINLINE_SIG DONTINLINE_SIG INJECTEDPROFILE_SIG STATICALLY_INVOCABLE_PACKAGES $assertionsDisabled Z b(Ljava/lang/invoke/LambdaForm;ILjava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V Code LineNumberTable LocalVariableTable this +Ljava/lang/invoke/InvokerBytecodeGenerator;
localsMapSize p
StackMapTable? D(Ljava/lang/String;Ljava/lang/String;Ljava/lang/invoke/MethodType;)V i O(Ljava/lang/String;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)V form a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)V type? BasicType 'Ljava/lang/invoke/LambdaForm$BasicType; index names Name #[Ljava/lang/invoke/LambdaForm$Name;? maybeDump ([B)V classFile [B (Ljava/lang/String;[B)V makeDumpableClassName &(Ljava/lang/String;)Ljava/lang/String; ctr Ljava/lang/Integer; sfx constantPlaceholder &(Ljava/lang/Object;)Ljava/lang/String; arg Ljava/lang/Object;
cpPlaceholder ([B)[Ljava/lang/Object; 3Ljava/lang/invoke/InvokerBytecodeGenerator$CpPatch; size res [Ljava/lang/Object;? debugString mh Ljava/lang/invoke/MethodHandle; member Ljava/lang/invoke/MemberName; getConstantPoolSize ([B)I
loadMethod !([B)Ljava/lang/invoke/MemberName; invokerClass LocalVariableTypeTable loadAndInitializeInvokerClass (([B[Ljava/lang/Object;)Ljava/lang/Class;
classBytes patches +([B[Ljava/lang/Object;)Ljava/lang/Class<*>; resolveInvokerMember _(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName; e (Ljava/lang/ReflectiveOperationException; name b(Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName; classFilePrologue .()Ljdk/internal/org/objectweb/asm/ClassWriter; NOT_ACC_PUBLIC methodPrologue ()V invokerDesc methodEpilogue emitConst (Ljava/lang/Object;)V x J sx S F D con emitIconstInsn (I)V cst emitLoadInsn +(Ljava/lang/invoke/LambdaForm$BasicType;I)V opcode loadInsnOpcode *(Ljava/lang/invoke/LambdaForm$BasicType;)I
Exceptions
emitAloadInsn
emitStoreInsn storeInsnOpcode emitAstoreInsn
arrayTypeCode (Lsun/invoke/util/Wrapper;)B elementType Lsun/invoke/util/Wrapper; arrayInsnOpcode (BI)I xas tcode B aaop
emitBoxing (Lsun/invoke/util/Wrapper;)V wrapper owner desc emitUnboxing emitImplicitConversion M(Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class;Ljava/lang/Object;)V ptype pclass P(Ljava/lang/invoke/LambdaForm$BasicType;Ljava/lang/Class<*>;Ljava/lang/Object;)V assertStaticType 6(Ljava/lang/Class;Ljava/lang/invoke/LambdaForm$Name;)Z cls n "Ljava/lang/invoke/LambdaForm$Name; local aclass 9(Ljava/lang/Class<*>;Ljava/lang/invoke/LambdaForm$Name;)Z emitReferenceCast &(Ljava/lang/Class;Ljava/lang/Object;)V sig writeBack )(Ljava/lang/Class<*>;Ljava/lang/Object;)V emitReturnInsn *(Ljava/lang/invoke/LambdaForm$BasicType;)V getInternalName %(Ljava/lang/Class;)Ljava/lang/String; c ((Ljava/lang/Class<*>;)Ljava/lang/String; resolveFrom _(Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class;)Ljava/lang/invoke/MemberName; holder resolvedMember? b(Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/Class<*>;)Ljava/lang/invoke/MemberName; lookupPregenerated Y(Ljava/lang/invoke/LambdaForm;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName; generateCustomizedCode pregenerated g checkActualReceiver ()Z cn checkClassName (Ljava/lang/String;)Z "Ljava/lang/ClassNotFoundException; tp %Ljdk/internal/org/objectweb/asm/Type; generateCustomizedCodeBytes ()[B setClassWriter /(Ljdk/internal/org/objectweb/asm/ClassWriter;)V addMethod rtype intr? Intrinsic -Ljava/lang/invoke/MethodHandleImpl$Intrinsic; onStack toByteArray Ljava/lang/RuntimeException;
emitArrayLoad %(Ljava/lang/invoke/LambdaForm$Name;)V emitArrayStore emitArrayLength emitArrayOp &(Ljava/lang/invoke/LambdaForm$Name;I)V w arrayOpcode
emitInvoke target isStaticallyInvocable?
NamedFunction /([Ljava/lang/invoke/LambdaForm$NamedFunction;)Z nf +Ljava/lang/invoke/LambdaForm$NamedFunction; functions ,[Ljava/lang/invoke/LambdaForm$NamedFunction;? %(Ljava/lang/invoke/LambdaForm$Name;)Z (Ljava/lang/invoke/MemberName;)Z mtype isStaticallyNameable (Ljava/lang/Class;)Z pkgcls (Ljava/lang/Class<*>;)Z emitStaticInvoke B(Ljava/lang/invoke/MemberName;Ljava/lang/invoke/LambdaForm$Name;)V defc cname mname refKind emitNewArray
emptyArray ex Ljava/lang/Throwable; tc arrayElementType
refKindOpcode (B)I emitSelectAlternative h(Ljava/lang/invoke/LambdaForm$Name;Ljava/lang/invoke/LambdaForm$Name;)Ljava/lang/invoke/LambdaForm$Name; selectAlternativeName invokeBasicName receiver
L_fallback &Ljdk/internal/org/objectweb/asm/Label; L_done preForkClasses emitGuardWithCatch %(I)Ljava/lang/invoke/LambdaForm$Name; pos args invoker result L_startBlock
L_endBlock L_handler
returnType L_rethrow catcherType emitTryFinally lFrom lTo lCatch lDone isNonVoid cleanupType cleanupDesc emitLoop cInitType state stepType isVoid lNext loopClauseTypes ([Ljava/lang/invoke/LambdaForm$BasicType; loopLocalStateTypes
localTypes clauseDataIndex firstLoopStateIndex loopType loopHandleType predType finiType nClauses inits steps preds finis lLoop extendLocalsMap ([Ljava/lang/Class;)I types firstSlot lastSlots ([Ljava/lang/Class<*>;)I emitLoopHandleInvoke {(Ljava/lang/invoke/LambdaForm$Name;IILjava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/MethodType;[Ljava/lang/Class;II)V s handles clause pushLocalState clauseDataSlot firstLoopStateSlot ~(Ljava/lang/invoke/LambdaForm$Name;IILjava/lang/invoke/LambdaForm$Name;ZLjava/lang/invoke/MethodType;[Ljava/lang/Class<*>;II)V emitPushClauseArray (II)V which emitZero emitPushArguments start emitPushArgument
paramIndex bptype emitStoreResult
emitReturn rn rclass emitPrimCast 5(Lsun/invoke/util/Wrapper;Lsun/invoke/util/Wrapper;)V error from to emitI2X emitX2I 'generateLambdaFormInterpreterEntryPoint <(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MemberName; mt ,generateLambdaFormInterpreterEntryPointBytes generateNamedFunctionInvoker @(Ljava/lang/invoke/MethodTypeForm;)Ljava/lang/invoke/MemberName; typeForm !Ljava/lang/invoke/MethodTypeForm; generateNamedFunctionInvokerImpl %(Ljava/lang/invoke/MethodTypeForm;)[B
dstWrapper
srcWrapper dptype dstType
targetDesc? bogusMethod ([Ljava/lang/Object;)V o os lambda$emitLoop$1 (I)[Ljava/lang/Class; x$0 lambda$emitLoop$0 *(Ljava/lang/invoke/LambdaForm$BasicType;)Z bt
access$000 ()Ljava/io/File; dumpDir Ljava/lang/Exception;
SourceFile InvokerBytecodeGenerator.java )java/lang/invoke/InvokerBytecodeGenerator? .java/lang/invoke/MethodHandleNatives$Constants Constants???, java/util/ArrayList??????????????????????? java/lang/Class???????????????????? java/lang/StringBuilder java/lang/invoke/LambdaForm$????? +java/lang/invoke/InvokerBytecodeGenerator$1???????? java/lang/Integer???????? 0 CONSTANT_PLACEHOLDER_?? << >>???? 1java/lang/invoke/InvokerBytecodeGenerator$CpPatch???z java/lang/Object???y???? java/lang/InternalError in cpool[ ]: ??
?????
java/lang/invoke/MethodHandle??"#?? java/lang/invoke/MemberName?
?? &java/lang/ReflectiveOperationException
*jdk/internal/org/objectweb/asm/ClassWriter?9 &jdk/internal/org/objectweb/asm/Opcodes LambdaForm$????,989 java/lang/Byte java/lang/Short java/lang/Character java/lang/Long ! java/lang/Float"# java/lang/Double$% java/lang/Boolean&y'0(?>?)?*?+? unknown type: ,?;<C?B<-??? java/lang/AssertionError
java/lang/./0? valueOf (1?2 )L ;345? Value ()bc678/9:;<?=?>?@A bad implicit conversion: tc= :
B??C? java/lang/invoke/LambdaForm$NameDEZ[??ijFG cast &(Ljava/lang/Object;)Ljava/lang/Object;D9 unknown return type: HIJK??0LMNOPQR?STU
[LF_RESOLVE] VWX
(success) (fail)Y Z[]^_?`? _abdef? java/lang/Stringg .java/lang/invoke/DelegatingMethodHandle$Holder Holdermn?? "java/lang/invoke/LambdaForm$Holder6hi java/lang/invoke/Invokers$Holderj *java/lang/invoke/DirectMethodHandle$Holderst???? !java/lang/invoke/MethodHandleImpl
assertSame '(Ljava/lang/Object;Ljava/lang/Object;)V{| Class not found: klm? #jdk/internal/org/objectweb/asm/Typen?op java/lang/ClassNotFoundException()?,????+,??qr??s?????xyt? ?u?vwx?yz{?| profileBoolean}~????z???z???z???h?/??????????????/0 Unknown intrinsic: ???????., java/lang/RuntimeException Ejava/lang/invoke/InvokerBytecodeGenerator$BytecodeGenerationException???????/?yEFIJ?y???? invokeBasic?y?/?y?y?y??????h???y?J?y????z??????y?y?y?h???/?j???h?? java/lang/Throwable??????/?? refKind=?? $jdk/internal/org/objectweb/asm/Label????????????h??????
isInstance (Ljava/lang/Object;)Z????h??? BootstrapMethods?z?#????? ???????? ???? -java/lang/invoke/MethodHandleImpl$LoopClauses LoopClauses???c clauses ![[Ljava/lang/invoke/MethodHandle;????????A9UV??????gh?y P
P?? java/lang/IllegalStateException unhandled prim cast: 2?|
interpret_1??? LFI???OP java/lang/invoke/LambdaForm interpretWithArguments '([Ljava/lang/Object;)Ljava/lang/Object;TP?? invoke_??h NFI?A?H dummy?y java/util/HashMap java/io/File DUMP_CLASS_FILES?y?y Dumping class files to /... java/lang/Exception $Ljava/lang/invoke/LambdaForm$Hidden;? &Ljava/lang/invoke/LambdaForm$Compiled; (Ljdk/internal/vm/annotation/ForceInline; 'Ljdk/internal/vm/annotation/DontInline; "Ljava/lang/invoke/InjectedProfile; java/util/Arrays jdk/internal/misc/Unsafe +java/lang/invoke/InvokerBytecodeGenerator$2 #java/lang/invoke/MemberName$Factory java/lang/invoke/MethodType %java/lang/invoke/LambdaForm$BasicType java/util/Iterator java/io/PrintStream +java/lang/invoke/MethodHandleImpl$Intrinsic )java/lang/invoke/LambdaForm$NamedFunction sun/invoke/util/Wrapper $java/lang/invoke/MethodHandleNatives indexOf (I)I substring (II)Ljava/lang/String; (I)Ljava/lang/String; $java/lang/invoke/MethodHandleStatics parameterCount ()I parameterSlotCount parameterSlotDepth
lambdaName ()Ljava/lang/String; )()Ljava/lang/invoke/LambdaForm$BasicType; basicTypeSlots append -(Ljava/lang/String;)Ljava/lang/StringBuilder; toString java/security/AccessController doPrivileged 4(Ljava/security/PrivilegedAction;)Ljava/lang/Object; get (I)Ljava/lang/Integer; intValue put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; length (I)Ljava/lang/StringBuilder; newConst (Ljava/lang/Object;)I A(Ljava/lang/invoke/InvokerBytecodeGenerator;ILjava/lang/Object;)V add iterator ()Ljava/util/Iterator; hasNext next ()Ljava/lang/Object; -(Ljava/lang/Object;)Ljava/lang/StringBuilder; copyOf ([BI)[B ([B)Ljava/lang/String; (Ljava/lang/String;)V value internalMemberName ()Ljava/lang/invoke/MemberName; UNSAFE Ljdk/internal/misc/Unsafe; defineAnonymousClass 9(Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class; ensureClassInitialized (Ljava/lang/Class;)V D(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;B)V
resolveOrFail _(BLjava/lang/invoke/MemberName;Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MemberName; newInternalError 0(Ljava/lang/Exception;)Ljava/lang/InternalError; visit N(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V visitSource '(Ljava/lang/String;Ljava/lang/String;)V toMethodDescriptorString visitMethod z(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/MethodVisitor; ,jdk/internal/org/objectweb/asm/MethodVisitor visitMaxs visitEnd visitInsn byteValue ()B
shortValue ()S charValue ()C longValue ()J
floatValue ()F doubleValue ()D booleanValue visitLdcInsn visitIntInsn visitVarInsn 0$SwitchMap$java$lang$invoke$LambdaForm$BasicType ordinal L_TYPE "$SwitchMap$sun$invoke$util$Wrapper wrapperType ()Ljava/lang/Class;
getSimpleName
basicTypeChar (C)Ljava/lang/StringBuilder; visitMethodInsn ;(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V primitiveSimpleName basicType :(Ljava/lang/Class;)Ljava/lang/invoke/LambdaForm$BasicType; basicTypeClass sun/invoke/util/VerifyType isNullConversion &(Ljava/lang/Class;Ljava/lang/Class;Z)Z
PROFILE_LEVEL TYPE basicTypeWrapper ()Lsun/invoke/util/Wrapper; forPrimitiveType ,(Ljava/lang/Class;)Lsun/invoke/util/Wrapper; -(Ljava/lang/String;)Ljava/lang/InternalError; isAssignableFrom useCount %(Ljava/lang/invoke/LambdaForm$Name;)I
visitTypeInsn (ILjava/lang/String;)V sun/invoke/util/VerifyAccess
isTypeVisible %(Ljava/lang/Class;Ljava/lang/Class;)Z getName replace (CC)Ljava/lang/String;
getFactory '()Ljava/lang/invoke/MemberName$Factory;
resolveOrNull N(BLjava/lang/invoke/MemberName;Ljava/lang/Class;)Ljava/lang/invoke/MemberName;
TRACE_RESOLVE java/lang/System out Ljava/io/PrintStream; basicTypeSignature 1(Ljava/lang/invoke/MethodType;)Ljava/lang/String; shortenSignature println
customized kind Kind "Ljava/lang/invoke/LambdaForm$Kind; java/lang/invoke/LambdaForm$Kind
methodName +$SwitchMap$java$lang$invoke$LambdaForm$Kind "java/lang/invoke/BoundMethodHandle speciesDataFor SpeciesData O(Ljava/lang/invoke/LambdaForm;)Ljava/lang/invoke/BoundMethodHandle$SpeciesData; .java/lang/invoke/BoundMethodHandle$SpeciesData key 'java/lang/invoke/DelegatingMethodHandle ()Ljava/lang/invoke/MethodType; java/lang/invoke/Invokers #java/lang/invoke/DirectMethodHandle getType 9(Ljava/lang/String;)Ljdk/internal/org/objectweb/asm/Type; getSort getClassName forName =(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class; visitAnnotation G(Ljava/lang/String;Z)Ljdk/internal/org/objectweb/asm/AnnotationVisitor; forceInline arity function
intrinsicName /()Ljava/lang/invoke/MethodHandleImpl$Intrinsic; 6$SwitchMap$java$lang$invoke$MethodHandleImpl$Intrinsic isSelectAlternative (I)Z PROFILE_GWT arguments refersTo &(Ljava/lang/Class;Ljava/lang/String;)Z isGuardWithCatch isTryFinally isLoop
methodType zero (Ljava/lang/Exception;)V
parameterType (I)Ljava/lang/Class; getComponentType isPrimitive isLinkerMethodInvoke resolvedHandle !()Ljava/lang/invoke/MethodHandle;
exprString
isConstructor getDeclaringClass isArray isAnonymousClass isLocalClass getClassLoader ()Ljava/lang/ClassLoader; sun/reflect/misc/ReflectUtil isVMAnonymousClass getMethodOrFieldType parameterArray ()[Ljava/lang/Class; isPrivate
isSamePackage isPublic getModifiers java/lang/reflect/Modifier equals getReferenceKind canBeStaticallyBound isInterface isMethod
getMethodType getFieldType toFieldDescriptorString visitFieldInsn :(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V getInvocationType invoke uncaughtException ((Ljava/lang/Throwable;)Ljava/lang/Error; java/lang/reflect/Array getLength getClass
visitJumpInsn *(ILjdk/internal/org/objectweb/asm/Label;)V clone
visitLabel )(Ljdk/internal/org/objectweb/asm/Label;)V arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V dropParameterTypes !(II)Ljava/lang/invoke/MethodType; changeReturnType 0(Ljava/lang/Class;)Ljava/lang/invoke/MethodType; visitTryCatchBlock ?(Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljdk/internal/org/objectweb/asm/Label;Ljava/lang/String;)V insertParameterTypes 2(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType; java/lang/Void java/util/stream/Stream of .([Ljava/lang/Object;)Ljava/util/stream/Stream;
??
? test ()Ljava/util/function/Predicate; filter 9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; :(Ljava/lang/invoke/LambdaForm$BasicType;)Ljava/lang/Class; apply ()Ljava/util/function/Function; map 8(Ljava/util/function/Function;)Ljava/util/stream/Stream; (I)Ljava/lang/Object;
? "()Ljava/util/function/IntFunction; toArray 5(Ljava/util/function/IntFunction;)[Ljava/lang/Object; ([II)[I )([Ljava/lang/Object;I)[Ljava/lang/Object;
isWrapperType V_TYPE isSubwordOrInt bitWidth isValidSignature (Ljava/lang/Class;)C changeParameterType 1(ILjava/lang/Class;)Ljava/lang/invoke/MethodType; INVOKER_METHOD_TYPE java/lang/invoke/MethodTypeForm
erasedType forBasicType INT desiredAssertionStatus exists mkdirs???"# "java/lang/invoke/LambdaMetafactory metafactory? Lookup ?(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;? %java/lang/invoke/MethodHandles$Lookup java/lang/invoke/MethodHandles ; % ?? ? ? ?? ? ? ?? ? ? ?? ? ? ?? ? ? ?? ? ^ ?? ? ? ?? ? c ?? ? e ?? ? ? ?? ? ? ?? ? ? ?? ? ? ?? ? ?? ? ` ?? ? ^ ?? ?? ?? ?? ?? ?? ? ? ?? ?? ?? ?? ? ? ?? ? ? ?? ?? ? ? ?? ?? ?? ?? ?? ??
?? ? ??? R ?? ? / l*? *? Y? ? *? .? 6? ?
N`? :? ? -?
N*-? *+? *? *? *`?
? *`? ? ? ? B e ? ? f g # h , i 7 k = l B n G o L p R q X r a s k t? H l?? l?? l?? l?? l?? l?? O?? ? ? 7 ? ? ??
?? ? ? 2*-? +,-? 6*? ?? *? -? -? dO???? ? x { | + { 1 ~? 4 "?? 2?? 2?? 2?? 2?? ? ? ? ?? ? ! ?? ? X *+,? ,-? ? ?
? ?? * ?? ?? ?? ?? ?? ? P*--? ?+,? -? :66*? ?? .*? O?? 2? :? `6???α ? &