Академический Документы
Профессиональный Документы
Культура Документы
34561 789
466
15
11 !"#
1
7!
$
5
1
1%&
1
'4()*
1
+9,---
1
.%,4()-
1
%,%
1
/0&512234567489:;<=1>:?
1
@7!#*
1
A%*&B*
1
C7-*%D%-*
1
1E%*-FG**%-!%%%%%G-
1+566
1.H%II*!(6%6
1%%66G
1/8J%GB,I6
1@GG%H
1A,*
*(*
1CK&0%-*
222222222222222222222222222222222222222222222222222222222222222
LMNOPQRSTUVWRXTQOO
&%#I7,77!Y777Z1CCF&5%***%-(-
%B,H6&7!E-%GG-&,-*&%#&%-&B%**!*%%,,H[
&%#%,%H!&B**I*--(!B%-*&*'\1/
6&,,I(!B%-**(!*6&(%HI(-%(!B%-*(!B-%GG-
7!#,BGI*!,-F%-F%G%%-(!**5,*&
%*B**&%*(!*-F(!B!,*&-F(!B-%GG-F%%%!%*G%%-G
(!#,BG%H#,# (!*--*-,%-%-*#]F6FEE %
G%%- %%%!%** !H H%G(!**6&%,(! (%*I**
IG%6&*,,*%7&&%#I7!
F&
%G&%(!,,5**(,('GG%&%*&%-&*%H*F
H%J&%-H%*!H*%,()-**%H%%,)&%H
I*%HG9,-*F7)*%7!*#*%GB*I7!
5&*F
H(,,,%G%!(!
B*%&&%%**F&(%(!B%-
*-6
222222222222222222222222222222222222222222222222222222222222
LMLO^_`aWRXbacOO
I--&-&&*FH*&,!%!,$
*%&B*%BB,%!,(!
1
34567489484
97
64436741
4678894
365544786844844773
48
8
48464886
4
4
33 36!" #634!8
6898894744355967
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
%&'(()*+('&,-(./(0/123456173/(
84164
73
47486758948386348484145488948768675
886
4
483976
484164
76:43736437
4867
4
6
86788944
656
74435894484196#43
76
8677
8944"6897496784;43
768645473447967
5
675867841
7
4896
96
984#6
4898485673737684
78478
684136554478<
=74939584>84?@"894476884744353655447846
8678
76
847394386894
9894=8
7
474368979
4867
73
#6467
7674
784784#4"419
97
43896
476841554
4#6
4898485673737684
78478"
436898945436
4#6
4A7445416
6748B67
684"
"#634967
"6B6"4
6
867 73 994 6
634 54
9 58944
4684646784
867C7
"9
78
478"
7
6748B67
684"9
7 B456473"7
6
74"9
7#84586
47376B6"9
7
484"4368739467586794
7
48541643786
68675496346
747
446784
867
73
7689
786867
=7
6478634"41#634468946784
867"584738
45
66864
89
98946494
6478;63484
97
64436784134#447867
34
AD>A97
97E#F
6873@"E#F
68">484764B7
4;
65@"FCAG>F64 CD4
8A
4G8
@" EFCH>E#F
68CD4
8
H8867@AD6438
48446
86767
"IFF"894JC>J
478
CD4
834@7388K4L48M
74AD8
48443976
73
6784
86#484
46898744367
8454943894
4FCAG6743
8
8 98
86#8476
867
8946784748J67
894NOPQRO
76
86788944"386548
94397AD6
86796
965884367
EFCH58"89486349438
8433858"894E#F
68
4894
JC 83976
93848944
438S44"T
4J
67
896
84
97
98
4844433
4
=73368678AD73E#F
68"A34S46789484
97
95847436741
6
867=8643884
438
63"
987389446784
867=8643
67
7478A6
867636754636943S9678944H"
6
45367
98967
6435
67
"6473674
6
867
C74#4634"9
7484
97
646B4GG"K9"AFGH4873E#F4#4G
45
34#467
46
867C#48648419447434B4867
84
897
84;
647
4;4384
1
2345678494
537
564445437
7847
565435374374
8843
787
5356
78453743778645354
7753
545678494
'()('*+,-./0*
123453674893:6;2<4
377
43
=>?>>@A>BCDAEFDCGH??IAJKA>DLCDA=>AGJKLAM>NC=OJKPQ3
7845374&756!474634
R=>A>S=FJKAJKG>DNF=J>KA>KA=OCATK=CDKC=AHMJKPAMCFDEOACKPJKCM
54567845
484334
4554855"UVWX3V7Y
7Z57
X5747484334
4784
755
75633657535378449474&74
34
45
5
354!843
5437494
558
4784
48433463
784443744
3
85
37845456393564
X78554
784
4
484334
59[
Q34
484334
474&7
4393
747544884
454
44377543%4
"543
484334
46644373934785
7544
7
4
7554
48
45357
394\4]39 84\4]39578
1
234567895
88
85
268458925
96447765
856
856
8685
84
8
33
85892985
5!"#$%$&'"$()*+,")!"-$!."&"*+"
98658
337865
8348
65364
87
3
33785/78
68776525563434
65396
65
8347
852383
65046
12323456789784:98;6<=>4
/5
34
36439
634985678534
88
?892649
629
8965238@
93
8
82585892846489865
876
4
89364598
87
3
858925
964
A853
6343
6593
865234
84
48
395B34
84
C8
395988
56
8392382
634
38
56
85
936786439
63464
83939
6285D665D
35D8
2A85856
85
9367843
8936
8964
85
34
536439
63434
8E4
8948
364
5895
33
95
8756
8
5987539
87
934539285
3647
8
85
234
84
3959367876
534234
84
?384853
8234
84
48
39556
85988F3D/
3
47F3?
G395
1232H4IJ6KKL7K4
/
3398
36546439
6348
56
864
6487
6
5
389M39
39NE
234
645765298
884
96853935
E
6576587649889582934336239789M
835
98284
35
895695
N/
62
3234
645
8@
D68547645
33
89
35398
85O35
3
8
3598
8@
P
89
3598349
M9
35ND562MOQ
35ND
R).!"SR)."-!"("TRUV"W+*($W+!"SW+*-!U"$&."$X.)"SW.Y$!*!UZ"[&".XY$*)&V"
3524
85875645
92
63498539285A858
3598287587
35G3979855
47 \38998
848538
56
85
84
84
37
3 5
9
86934
3
G3979855653485274287
364
33476
93678596258
38
985D
93
6
576465
9
68485D32458
3
634539
8
86394798584
6345339
3
4785623358
335
D5
89A8
359864
892
685
83987895
3882384
5\3895
39
3
397343
3493728234
84
335
34
869
3
53
675326
98
6345
1232]^6_L`J4:98;6<=L7K4
/?326C8
396465434648
39
3258534
6764
8532648
3939
532698
63434
858953598
86993685D64
8985
5472
66
685a968475
89D
O528Db64Dc6487E4DA6
89DP9
47a28
339853839532648
3964
56
85a28
3365
8985
532648
396456
8c6487E465
56485539684
875326
48
396456
8E
355895
35
64
326
93855634234
2
5?32648
395
9853
864587
82895475
784
5523462
634
33?38532648
395
8776
6348
985525
3298
89353939547373
3953967835
0564532648
396456
8D32464
892
7764968475D2384
643493685D
d3646493547647652556345?32648
396456
853
364
892
6345
e32482234
5D
65234
84
47643864
323462
634
123f4^6_L`J4g9hL`4
?326O87665647364
892
688
56
8
738543
6846439
634
64
892
6
3686643
6439
634E45326876D58964
892
634653556
8
2384
64343
3D876
649
62856466473
64349
6285
1
234354367833958
36767
58353636
!"57#34#3$6346774%5#&35#674377##34367$4
36'
(743958
3)*3
7$6)+#,6'-7837.3+77,854,#%36365434335#
6783
47/3
5634/
36'0576$6346765/3#,673
5%36..363
77,854,#%636743838345#6.543'
1234"567#345
8/7#%7454
365#
7883##%7#.38'(74
3958
3)*%%)947
334'
:;<=>=2;!"?7$858#345
86.54#%
.7765#/376'
(743958
3)?7$@$3)(
,4'
A4" 8$B#%$5)3B5633#
8
7
535C,
35'?7$858#345
8
5#%5#3#%54
36'
DEFEGH;I<22<JKK<4LMNOPQR
S0T6543 5
78#57# 7$634#345
3 $#
7#58 736,7
5
57#6)3
57#654356)
734$5#$63443#8'TS
.0#34#3T
57#6.5/3
658335$4365#$#
7#656.3457#536,7
5
57#6'TS0T4$#6#6353
634/345#736#743U$4367543#6557#7#.3
3#63'S0T6
.35
57#
47
366#%7#343#65%3656
7
3457#6435375585#
$57#5437
34537#.3634/3463
$634#345
7#5
/86
3474837#.3
3#63.#56
3
554357.3
3#36,7
5365#79'
@.356
357.65
Z!EF"H;I<22<JKK<
(748
383##%.3S
.0#34#3T
57#6VS0TX67$7#6
47/3%77#345
/87.3
$6346'
1
23435789
8
8
!!"#$
*
+,-.*/012341*
$66
6676
8866))
5
76
6
7
!7
678776
677
667
8
6
8
8667
67667
6
)67!!
)667)
)6
866)66787
)677)
)6)7
6
)
76
)6678866))
8
56)
2
8676
6)7
9
$667862
86&'
:7
)68
7
6676)7
7866678667
5
76
6
7
767466
)6)7
866))
77
76)6!
)
86
6787)67$6;6
7
6
8!768
)
7666
8&<65
=>?,@A*/012341*
1
2345789
99
! "#$$%$&!
#$& !#'$"!((##$&&%"&)
$&*$*+'$$,'($&)$,'*&$(& &'%*&"&&
- %$""&."# & !!$,($%
/(0(!#* ' &
-( ", #- -(*(
*0%-&"$ $&!(
&-( !&%&$##%
( &%,& ,#
9
123489
"
5667895:8;<=:>5:=?@A8B@A=;<=C;D?=9;E6D:@?FA=
,#&&G( !!
! #& % !
$"#&& !#'G(
! ! /% ##(
($ ,# /% &
H$ I #* c(Jd& 1a,#
!. "& ,#
& 1#&-"%&("!,#&&(J
23432KL29M
8
NO
P2Q99RSQT8
L29M
8
- &(%% ,*% !#$&(
%$&**% !U$&&&-"0%
%(&#$*!&% !&&"&#$% %$%$(
&#$$#$($%$"#('($&&"($0$%&!-"
.#(&#$*%$&&(&
T
V2Q92QW2QXT!YZ##$&%#((&& !)!#$
%%-$&#$""&!(&-(![$'&%(&&%""
!"$&#&%$""&#$""&% &0%"
!#$$%&(&$(&#$(#$
RSQT8
$%&G(&&%%#%$&!
#$-&$&&(("0%$&$"#(&%*
$$ &%*-"G($,-%"&'%$&! $&
#-&%!%&%!&&"
\]M1^2XQLQ2
Q
2
_`.#&%"!YZ
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
Ya&%b$%`&&
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
1
23456789
98798958673
389886
39
98
98
!693
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#$%&'()*+,-.)/+(&)+&01234512346&&
79
879886898
8
89
9
89
8996789
88898
8878
8
9
88786
8778
<:=3;<:=
8
6
945
978!6=8
8?;=@
8
<:=83;<:=8!66886
89
8979
89
3
A966997
877B89
997778
9
C
9D3
E8788
877877;<:=
89978<:=
?673B=FGHI7
!G@8
89798992
73
3
12346 9
8
8<:=3<:=98!678
8
9
8
6
9
3<:= 98678 978 89
8
69
86679
89
38J
8K
45678L9778A95876678898
M7B8N68668
9
<:=7
7996789
683O
E9
<:=3
<:=669
9
879!P
8
E8Q7
D 89
8
PE9Q8
P89Q7
9867898
!8
8787E
869
?RM@
?8678
PJ
Q8@8
8=889
87783K
899
98
6
99
7
79!P8Q8PQ8P
9
Q8
P
8EQ
8
9
3N
7
8
87
8888
988978
8
88
9
8799<:=3I89
8<:=879
89
83
STUVW2XYZ&[)\]^&2_`a&K
<:=89
79
Pb
96Q
7889
3:9
7889
98
9
9<:=
89E
P7Q83K
9
8<:=8 8998
9
9
8E9
<:=9
9
6899
3
S1234^&2_`a:997
3K9
683:6
9
;6+%>5?67
5576
'
5+5347%3467'
5+
%+143
,@ABCDCEFG#HIJHKJHLJHM!ENHO456+
375%7%
6%31456+841673446+4731456+584P6734'731
456+8416776'
5+5456+77476%%43
3
57%34
%+%5
5%57'75
12
23456789
47
37346775677
34357 6
63346467!
"#$%
&5'
()736
5*34357677
)7
33
7)47+,53
3)74(&557-6./)76
0(-.
/)7770(-./)770(-7./)77760(-./)7 760
-)&./)7)&04
134357 667346
+*5763377)777*7
&7 7573)76
73673-.763-.
2+7376
65*776+)77766-.5
)75737-.
3+6775* )757!(3*47(3'(3
76)7+76
33-6.77*7)7763)573'76
76
63)5773775*)76 6
75
63)5773375*)76 5*57&! 66
67
9
-456789:;<=>?=@ABCD?E6F456D8G:;<=>?=@ABCD?E
63)5776337
77344736
-H%"3
34357 6)77764
3
.-)&.4
]573337
^53*6'
IJJ+)7577
33)7*576)7677-)&.4
KLMNOPQRS2QTLUULVOMQWXYUQTLRSZUQQUQXQMS
4784785678
*
787
NOPQRSTSUQVWXQZ\\bc]dXTPZ[VTWXQbdPZ[VXT\O^VWe`T[ZYfVPgShWXiXa
3456789
77874878559577
567487
45777458487456
8559577
5678497
688578
74458
45
67
7855957485756
4577745
3488
846847
4
87
8559575
7
4577745
785
4
56777745
2 34 563573'"8"9#)67774585
3:;<777455755
7<456
587845
788775
4
5754574785675684847475754575
9
767
855957
57587875
7
5677897
84
855957
75
7
5677897
4
567575*
787
NSVYSZ]VZTPZ[VTWXR\V]PZ[VXT]cb\WjTkcf\Wl`aTNmSVYSZ]VZa
2=5>3=73'"8"9#)3575
88975
45
357568
955
4
6719
5
477745
2?3=3@ 73'"8"9#)67775
45
7774574
4A45
456
5
84
5
4777455
785785
6
756855677846
7
358
97
474
59
67
5
B
5
4
C75
747
7774548
D775E
77745
*
56
8477567
4
8677D775E 77745877456
787675D775E585774574
4A45
456D
5
E5
747
7774567897855957
D
5
E77745775675
48768
F85G884H784G88
6787I86
5
4
77745687D
5
4E
777455
797567567
5
44567568J8
4K84L5M74F85
G86787677
4D775E777458
787
474565
5
4787847876756D775E7774578859
12
1STUV'W8X(21(21(92
15924V74V
RY1Z592
1([2X,9
8999991Z([2
1992 1
68
7)9\]P875V8]2
1
5
979\]+6
^]2_6
^1Z
5
2
1
5
979\]+5T`589]2+5T`5891Z
5
2
1Z
68
72 1
68
7)9\]a98V8]2
1
5
979\]9899]2P98991Z
5
2
11Z
658
79217Z9\9]97251]297751Z
5
2
979\]]2P91Z
5
21
95
9 \]a998]21
5
1Z
5
21Z9921999\]
779\8]*]]2459`
9
9\
9
][]2
1
5
979\]]2051Z
5
21
5
979\]]2b91Z
5
21
5
979\]]2V1Z
5
21Z9921Z)
*21Z(2
4567891
789
9
77899
899999
!"#"$%&'(5999579
868
56899
8999)*8+56
)
,8
7(9899999-
./ !"#"$%&0579
5*59
85
868
7
999+(5(5
68
79)*15992999-05
795
375
+5(15678921952
999-4*756(9)
(99915992196925*
769*
78+9)69
9598
798
8*
78798-
1STUV'W8X(21(21(921Z(921)
*2
15992
196921)2898
0
85
1Z)21Z9692
b9157*9\]9,]5`9\][
]2
789157*9\]9,]5`9\][
]2
1Z5992
1Z)
*21Z(2
)1*+,&"#(
4-5.67
/01230145167218191:;2<=2>=152;?251@<:12=1A;<?:B=20145<:CD2/012301451672
"&E#F%EFEF(!
#($G
4HII767
JKLE#F####JKL
(
4-M6INO7
!#E1F EPF(&
(G
Q'(#EF%EF%E#FEF+
)1R+,&"###JKL2
45N.8I7
EF#$JKL(
4S8.I7
JKL2EGF#$GJKL(
12
34565675898
48
74875855
5774
547488
548445685
764567748
464
78767754
844
4
545856777574
544
7897
8
548 8!75678
47488
54 858
448898
4
7568
67
8 748
4744
77
68
7"8 74644
8
8!7
74567#$%&'74(8
'8
4(589
8
789754
7874564
5567
774)864*7965547
587
567
47
)9
71+,78974,
48
74589-
./012-3456-*8877754886
747
99:9868854
;5
7
475457898 !7<7685=47
4
8986
8
>?
44
85757 75)47"8 7
'C:D@?<E65(
'678('557(3@,3@*F&G
*78'557('678(
'4('6G(#$%&*78@7A
B758
97'6G(
'('9(
'7"HI1FFIHI&FIHI+FI
54!7HI977
I54!756HI9I
HI74I('9(
'('(
'9(
'7556HI9FFI67965HI&FIHI8
I
54!7HI8!I54!756HIGI(
'9('('4('65(
)9
71&#$%&498 8
4
5
577
4@7AB758
97
12
34567895
86
4856565444667955
5845
!"#!$#%&##'()!*#+%,#6-.88655/5345555
5
5545955
5045-6
5.-67158/5
5/5-8865.
88658/45565
55618/4553456715825
15/8/4588667158253415/85/454458/
815
86568/5345888/55/145/67150456
5
)(#$!#!"#!$#"5%&##'()!*#+,#"*#)*6ʐ#7#*$"*83455
55
55545955
5
9:;<=;>?@ABCD@3455
5158/8566
4845/96
E116F696G
HI696465956
548/8678-5.4665.
646
6
65I69665616656844816687J51J696G
@9AKLM?@ABCD@34615/8564565N
546O3PQ81
5
9LM<R?@ABCD@345O3PQ@
51615/8
5/68/8
6
@9L;ST?@ABCD34615/865-6
62584445/8/145
5/555
:UVWXYZ[@\]Z@^U__U`XVC@aUYZ@^U[@9bB[c?d@9\XbZ?@BVY@9bZVe?@ABCf@
151ghiO3PQ
65481585@
@
9MLjMk?@ABCD0/8168
66958657
65.8161
86459588
l813175
8
5O3PQ858
645958
1512hi57
6581585655/85
756
l8165
756958/545/88/8
6h
12
3456479
7
1
!"#$%4
&!"#'3(45647'
)*+,-./0-+0,1*10+*1/*2.
+0,1.31-+**2+*-"
456789:;<=7>?@A/+/"-/+*++/+1/0-+*20*
!+*)-+*,1/*-*B1*-*24;CDD8EF<+"0++*+-+*
,--G*-+"/&H"+*+/+/0I10J1-11/KLMNOPQRS
-!!*//-*+,.!!,0"0/.+/+2*+.-!"H0!/.0*
2, +""-+*/ TUVW=XYZ[\]Y=^_YZ`]=\abbZYc\=c_]=defghijkl=>Um=4\a``>YW<=
]V]`]Uc
n0oH+!"p
xAJo!yx!y
x+yxyqpqx&yx&+yx,3y
x+/yx/1!!+03yx+,0*+!y+!px&+,yx&/1!!+03y
x*"13"H*+!*+!*+!&y
= x&+/yx&,3yx&!y
)*/"00+!.+!*-0++-+"/&H"*!+0G*"+.2*0
31--G*/!+0G./2&H
=48;956<=7>?=@A/+/1/0**-**+/0! "+-**
q+/-+3/+/1/0"0/*I1+*H+/0+"+
=4D87rD:<=7>?@=As+st/+*+0/1/0!+!+-+*+*/*2,"+
4u59<=7>?@A/+-+*,1/12*H0-*/1*G*2*/1-+/*-+/
21/0*0+-**
4v8w<=7>?=@Ax*+y+*/+/-**++**G/
4z9{CE6<=7>?@=A/+/1/0+**+*1/0+*/."/+*+0+!/ A
x10y+/1/*-*B1*-*24z9{^8|79Tv<+"0+-+"*
10
^ZU\}m]Y=c_]=~ZVVZ[}U?=Zm]=~ZY=4>\}m]<=4Xm}<=4~}?aY]<=4~}?>bc}ZU<=>Um=4U><=c>?\=
12
34567819
8
58448785
!"#$%&'&$(&))*
1+,-4-868./012345-67548
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
:+5;4-8<=>886844-5;688
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
?+,7487576645.847.666775+
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
@+0487848
888<=>2A58
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
+,-4-86784854-68
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
BCDEFGHI!HJ!KJLL&G!)MHN GOPQRIGSTOPQR
-87878684544U4878U8
888-8U4U768V+
-8878
12
34678989
8
98
799978799789 9789
7!9"#4
$7788#997894%9!7 989
&97'
897"&()*'4
1468
7868
7879"9
7
#797789+9
#988342499
99"
989
9
99
889
7 94
P9
99
8#9
&}*~6('
12
1356789
7
589
3
!7
589"#$
#"
%7&'
3
()*+,-./0123451/6789,1:;<<=>?<<*-*1@A-B81CDC<<0EF1
"GHHIII3IJ3$H7KHL22H7HL223
M
7"
'NK93
(op451qrstuvw1xFCDyF1rw?vzuw{1x1:|3};~F11o T76789M
()*+,-./0123451/6789,1:;HHIJHH7 T M
@A-B81CDC<<0EF1 T
M
"GHHIII3IJ3$H7KHL22H7H TM
THM
L223
M T Y WO
T W#HM
LW "GHHIII3IJ3$H2PPPHLM
T
M T"W
DD M TH
"MTH
M TMR
5
TH
M
TV
#M TV
#M
333333 T"M
TH"M 33333
THV
#M THV
#M
THM
THM
O$
2P3QGR
56789
6789S
R
J356789
$TMUT
MUTM
TV
#M37 TM$
LV
"56789
#L37 #I
GT LW "GHHIII3IJ3$H2PPPHLM
XI#U6789S
T MUT
MUTM
TV
#M3X
T"M
TYM$37 Y$
$#
"$
'"3
Z[\] ^_`abcdefgeehijklemfnaeee
7 I$"$ !""OI
U
$
U
98
6745845865
6889
85845
98555898568987568568568
6
5986458458659
9898756856
98
88
99
65
3458568656555895
75689
89595
8568
6
5859
5
845
9
689
497465
89759845
345
67
6889
85
85686569
58
756856655789
98686
9
9
:;<=;<9>?9<@A9BC>DA9=E>FEBG9HI9BI9?>JJ>KIL9
9
12
45
6789
6
!"#$%&&'%( !") !"
****************************************************************************************************************
**********************************************************************************************************
1'%+','&''-.%&+,(%.%./&01234-%,
'-4%54%154%6
****************************************************************************************************************
*********************************************************************************************************
6'%/7+','&'%,/%,89:;89<8;=>;?@;A8B:9C8;DE;>FGHIJK
****************************************************************************************************************
**********************************************************************************************************
2L'&'&'(+,(%.+'%,-/
****************************************************************************************************************
**********************************************************************************************************
7'%.+/(+,%./%,'&'
****************************************************************************************************************
**********************************************************************************************************
MNOP QRRST
1U%-++/''&'V.%'./,++/%.%-0//(
-'-.//%'.(%.'%&'&/,-5-.%/('W%,-%5-.%/
%5(%W%-'X%+'+'&(1U%--.%/%5(%.%-
(/++/.'-.%/('W-/% %-('W+'V%-/%/-&'
-%, %%V%/--,-5+ -'%, /%. -&--.%/
('W%,-%%-Y.WZ/-.%/%%--.%/W'W%,-%%W%-'
(-%//(--'-%&.%W%%-/%*/%,/5(*-
../+%%W%+%
[V/''/-'%- !"72(5./.'
((+,-%,%-./,
MN\P Q
]^_
`ab`c6
456789
6M
b`Md% 1U %-/%.%.% +/&'-&.%/%/%-'%,
'.% /-/%W/,-5+.----,'-'.1U
+/&'-Y''%/5+/'&'--.%1
b`edf/%-'.&,(
%-'+','--'.(+,&',%VW('-''-
+,-('W('-('&0/--'--'.&'
12
34567849
444
4947
484974
847
877
4
!%"9
497479
794$6449
#
44'479
%49
?479
64KL
64LA?9%7AM74?J9%7A?6ACFENO77?J6A
?6A#
%5
3949%66
9
94449
%7
3
%
4'677
7694
494479?J6A?J479A
)!D7 $799%94
4747794876
93
4479"B9%94
474$4
876
9F9
%(
3
7
4794876
99
949-%77843
44784
7$4
876
94797$799478%7747
3
%7474
9
4
8%98N7$7"6
4
4
7"B9
74444
77
7$4
4444
4954
49
7643
94#"B7
7$499
$4
+!
4794789%94
464944'794#
77497664795
64#745
'
797-%
7
4'
46784
/0123!4567!875971!!
!
;!= 644'*7(%6>78%784P=*>Q9778%784
999
#7$74
#
4449747893
9%94#
4$4
8#
4#874
%8
7%
J$4
6#
4787
478
948757(8
%7847345
6784&
467
#793464#4
94
RS
:!??@
C.DE <
A?
A?
47A?4ADFGD"H2I?J4A?
47A
474A?
8
%6A?
RA77
M7
7.64T$49?J
1A
?
1A".D"?J
1A?7$A
?7
4#KLLATR?J7AU?7
4#KLLAT1?J7AU?7
4#KLLATI?J7A?J7$A
12
3456789
345
7348345
338 !53535
3"#$%#&'()34"345
3
3
7*+
,9-8.+/0134
7*34
348345
2338 !53535
3"#$%#&'()34"345
3.887357348
51'6)+/0134.887348345
7
87.7,8
89
7867
-,:71;)
-<8
=>?@ ABCDEFCGFHIJK
6LM#6"--"-6N 7867
"-6:"5 OPQ;ROPQ
-&& S8-94*8
9",57%N78T8
1LM+-7-
-5N87N"NO
79P8";
9S8"
)LM 7867
"-65N87N"NU87N8&,
89",57%
7,8-
<LMOPQ<1-
,5U"4*
7-8 9",57%45"
(LMROPQ68'&8/7
5
8 9",57%N"
2LM5
%44:::8:),4588,848
12
222222222222222222222222222222222222222222222222222222222222222222222222222
345
67
869
868
8
75
70
778
!"8#
7$8
!"8#
6!%
7$05"8
!"
7$7&8
!"8#
7$$
'(
"8
!"8#
7) 8&*+%
88
7)0,
+%
7)7
+%
7)$"+%
!-",&
7))."&
/6(
708"
,&
7008&%"8"
707"8"
70$8"
716#*(2"
73*'5&
746#565%66
7788&%"
(&%"
708&&!
7008"
8.9
707,
#:
2222222222222222222222222222222222222222222222222222222222222222
;<=>>?@ABCDEFAGC@>>
5
#%3
H!9
&/
#
/62
05#
/
62
H!/&/
#
&!/
#%"!#
H
#/
H"H
/
#
#
9H
#&"/%
#%"!
#
#
&'9
/"("H
//"
#6#9/%
/9%/&
%
#
%"!96#9&%"!8
!"8#
I88J88""9
%
/
/9%/&
#%
6#
%
/
62
%H9#
#%
&
885/
H88
"
#
!""!
/&"
%"#
&"%""
8
!"8#
&#&/
!"#'"H/
"
9%&
6#K$HL
#
#"%&
/9
#"H#"
#/88H&"!8800771H8870774
#"
88$
6#
!
88
#
!%5
"(%"#9
!"#
"
#%"!/9%9.(
"
!"#
/"
#
"!88
9""""9!
#
#/&
!"
&"
%"%
6#
%&%"
(&%"
&
#%
9&
889#"9%
#!""9
#9%M
%
"
9HM
#/&"'/"H
#&%"
""
0
23452678935
735
2342
872737389
272544458
8
5428
724828754
5789362267872457277488
4898698622735
48
!" #$%&'()*&+""
,7722
8754
5785
23
278
-65726
2865262
72
292
748323.2
-
5
/3
20726
3
78323.2
-8
768
726242
73758
8720745
.
-25
2380982
3
884275262
76826752486754982
-488459
3
.5
.723
3
7267254
38323.2
" 12+'23)45"6(78&"69&&("
3435
.7
22274:;36242788
768
726242
73758
8345
.
28693
2
3.24<
72236
52623.247254
33776572426275
723675
3673.4=
28
7293>8668
2948434573758
34737583?2785
4267439247
278
9268
8662
24873773.5
4392865262
73.2483?2782
72673747
25
2?2673.
@878
75434725843
75928
495
.73
4836255
7783
.2A75842
3435
.47
2422783
42743928693775
.47
2783
473.4862
292
7445
.3
45
.
26
2B546
23
72
23
52783
728662
2487372
292
7
,47
242278
454748CDEFG73742588693775
.48
23
52783675
36
2
292
745
3892
7<
.2
263
347
242278
735
493
46
24H36
2
8
735
4783674B2564736754GFEFIJKC3
72872636754LFIEMCMJNKOB242
2786
5
5372452
292
7862
292
74722
363758
3
524<
7242
2786367722
292
74
3
242363728934B22
363758
4255248693775
.6826752486722
292
7
B28
85
.2039
24848737878426
2575
86892
7
"
0
2345678894
8
884448444
4
88
8364843
8434636848844634366434
86843
7488448566388446344483388548!"#
$%8
663
48836484463
&688388686888888
83!$
3894
8863'4
68
4
883463&74888748668
3
894
8
84346348
8894
86(%%8783586486878488
834)
*43
088
8368438894
8
886)
*
0!844856
4$8
8446368888878468868888
838468'
74848448548
663434688488388548
)
*
0"63'4
A78434
46
4
44<63'8A56<63'8A4<#
23845678894
8
863'4
68888636484388
838
63'4
68436878463888486383684
84388
83)
*4306884885485848356
44384346328843463363486386
88366
646
443878346
43634883&463588
(%%435844864854838888348389863876863
8+688463(%%688586783848863
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-./0 123450165520738590
23876863
847884568(%%88884888383
388388823863
68434664888(%%83
66
83
8848888838688834
82338%8
:
588%843
;38:9834%8%8883388888663643888
83<
8
5888888663643848
883889834888
866368838883
6884386635'863
-./.=0000>?4@?50123450
23388886788388786636888836368
3888
83888846348438683346888
83
8884636
46233888848466A
00IJKLMNONPQRSQMRJKTUVNWXLYMTUZNQRSQMRJKT[VNWXLYMT[ZN\\ZQRSQMRJKT]VNNWXLYMT]Z^N0
8456783494844474868845864368334BCD05EFG845H
0
FVWXEYZ54G
F54GF567GF[567GF89G
F4786896\]^]GF4GF4G_9 7WE6F[4G
F4OHI`KabcdeHfcghi`IjPgkig`lPmdknKkfOHI`KjPOd`inlPmgNopkdqenfNd`dkjPkKnbG
2r_X'sEtuvF[4G
F[4GF[89GF[54G
23456789
696
747867476774737934458793996
73989656944799
5699323364656646445687939997777567639464574
4649973777566 63487939957
68663663
5!67673 86
FVWXEYZ54G
F54G
! FF58697GGF[567G
! F46\]4644739 7476879399ttDDDD99vvttEE]G
! 67 69336465664F[G
! F[89GF[54G
!
"#$%#$&!
!
'3233663493
7775()*+,-,*.)*/01234-3+*5406967649634636769
4645738793738646499
78987!!!!:;<=>>=>!?$@A=!?B==$C
546764534569 634D945465664
E67376736456
F567G66 6349864663456F89G47934736457F46G66 634569 749
456 86646799
wxyz{|}yz~|y|yxx}}}}S#A=!AC$!!!C$@A=!
56HIJK7448469456F46G66 63446456896456469466749355
77HKLHMNOOP736446334569939
33/-04*4034-2,3*4034-2,3*4034-12,31
!
QRS!=TU;%A=&!
0
)#*)!*
)'#'ab.c"b*
!'d",+%!e"#fg]]hhhhi"#fghhhhhhij
/(0d$%e$#'f#(%e$i"#fg$$$$$$ij
d"#fg00hh]]i$%e1f/h.ij
)c'#*
)c!*)!'*
)!*kl^fm%0&h
)*)+*
)/*n$++#!!%kl^(o``%!p`")c/*
)0*q!+"%!$.%##+%r#,]#s)c0*
)c+*)c!*
)"#*
)*kl^0+#!!"%!%!%)c*
)*!#%"+#!#+#")c*
)c"#*
)$*)*t"'i/hu0-vnwx)c$*
)c!'*)c#*
3456457859
7
67
!"#$%#%
#%&"#'!$%!$!'(!%%!#%&
!%!$%!%"%!%#%%!)!*%"#(
"%%$#%!#'!%#+"#%!$%#","#&"#
$!%%!#%!!'"#&-$%!$%!%#
!'.!#'!%#","#&)/*%!)0*!$%!%)+*
&)+*+!+%!%#%%!%+##
##&#%!$%!%)"#*&"#+!
.%"#$#,%%!#&)*#%+!1%#
234532567895:;5:5;9<:2:=32>5?@95A3<B27C@=5;BDE3657;5F9G789F5H;78C5:D<92;:8F5;7C85IJKLM5:8F5
"'&
NOPOPQRSTRSUV5
SWX5YW
X9
5Z
[!"+!#-%#%'##'%%!!!!'##'
!"+%##&-%"(%'#"$"%\+!%%%
!"+%&]+(^%,!_.%#`'#`+!&^%,!_.%#'#.
$##%,!)#%,*#%%!)!*&
0
23456789
8855
83
7
385255
5369
835659
88234574484585
323
73
8
7535
63
6743
745265
5
8943
3
7
55
7484586553
75
75652443
7
383
45!
[\]^_`ab\cdefg\behbbfd``habicd^jkblmili]\bnoeed``fgpbcdfbqfroeed`s
"65#$%&'(5455
3885
575743
88845865589"65)*$73585
3235865
5473
863555
65
5
73
3
43
7
65
5
53
43
59"65
+)*,73585
3265265
8823459
-./01.02345140560781436590:1;940:<4410
=5
748458655875
575367833478
778
5
45>54845865590
tb\bofma`upampbafglvwxj\yblvz`pampbafgl{wxj\ybl{z|||z`5W
!>745W
UX
0
?.30485@A94B00
0 R
4!STTTTTTU
0 7
K
4!SUVV33
3
756357
X7
K375!43
>73
W23458V3
>73
W932U
6FR2
K83I5!FJU
2
4K2!7S3 22YYYYUVV5
4
2
K5346!!Z"3 58D57
Z"3588532U
4UX
C7>565854583
752345366555
83
9
889
6387
7
357
5
5455
83
9
8823459D
5543
3E57589
57453>5
7>565575523
58458655452
45455
839597
6F9G
7
523
53
9
882345787
457855H355
9E65
753
45
63855
7486553
575656573
538384753
54
47
358
57
2
3683I53
FJ35489"657
K
453885384765
42655753
6385745338635
49"657
K375
5388538477
3753
7
265265759638
7
523
577636
7523757872657
K37559
L34M4N46M40.O0P1;94P0
"6557585>5744586774553
5655
55
52845865589"6545>542
3355
8
65845523
33
63
638
4856579638543
5
55
748458655867>5453367
5558458655863
675245
3367
3
43
5845865589265853
23
7
84585
323
73
65
3858
52745>7458238
9
?.30485@A94!
QCC
5!3
9
88
R
4!45UX
0
2345676397
hijDklmQ
"
" "
E"!npo
F
oqrG
no">?o
!no
Go"
G" "
!G
"noG
Fqo"sDtFsDAu[H G!"
"
!"
#$#%#&'()*+#),-.-/.-,+)0-'-)12345236789:);<)0;<,$-=#0);&).#0)>?
?
>
>
!! !"
!!
@!>?>@
!!@>?
A
A
!
!
?B!!
"
@
C"
@
!!
>
C"
!
>
!
?
D
@!
?
@
!@
E>?
pFvuuuuuuqE>RFvBBBBBBqr
CpFvBBuuuuqE>RFviHiHiHqr
B>>!
@
!FGG@@@?@H?
IJ
7 6 K L3 4 5 M5 3 N 5 7 O OP
C?Q!
DAA?
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
S?T#U;&#)'+#)'#.%)1VW$#:!
DAA?
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
H?X
@
!!
X!Y
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
Z?X
YQ!@
!?
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
[?X
A
A
Y\@
EY
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
^_` 23a7bcOd6M53e75fd7OdgI22
0
2345678994
679
785474378496
97949447789447
6447
846994
67494
67375649469797474
374364934677
699
773647446469
8996774
3743649694749
7476994
6774543
7834437
9
779
77373446975367893743649
!"#"$%%%&'()%*+',-+).-/%
4737436493479
77894949443743079787
7374
43
474647
84
1234516789:%*+',-+);<%
47=637437978794
64
49978489473444
4
4694477
&'+%->?@,A-<%
% 7=636
543
99=9436
069
94
437943689436669873707
6689454366
98739604379439873946433673543
6689499=943604
37943749798737494
6647946689448776970
74973474736B4649C4D7
47449784
4664964E8749FGHIJKLMGHNMOHPQLFRS
12345T8UV%*+',-+);<
47=96W4374369894794
696W447X78
94
696W45847369
37436945439
YZ9784[6W4=9
=9
9
468
34
=34
=34
YZ\4
4
YZD4654[6W4943
343
YZ243
44]^
_`^
]a^
a`^
X78
8947475458473693743479
77866973649
4b769c974894
4776449797=96W4374389664348697346d_e7
dfe
_g7=96W4468hi
]g7=96W4_0hi
g7=96W4_fhi
fg7=96W4_`^hi
12345jV8kl4%*+',-+);<
69374369894746443447749974[745847369374369
73
7
743
643
_``]``
0
2346789
6
!""
#!"$%&"$'&(
%)*+,
')*"+,
-./0120345643
6478
!"9"9(
:;"""'"9
"<(
')*+,
<)*9+,
-./0643
6478
!"""99(="
99*
$>?*"9@A#"?&B=CD'E$F&
9!"";!"9;G!"
@A#"9(
HIJIHKLM7643
647L6M
N!O;"""!""(:""
;O"!"!"";O"
!(
P=CC!;9""9!"9!"
!O(
!9
O(
"*
4Q20120345103R5643
6478
!"STUVWXYZ[\Z]^U_`XUabZV_UV_\bXU_\WXcdUeVZ]^U_`ZVUWTSWXT_\fU
!9"O"""!""(
2346789
6
:;9""((ac"ac9!"
"""9a9c"a"c!"$&!""(
g`X]U\ShUiTXUhVXjUYbiVVUaicfU_`XUbZV_UZ_XkUS[USTjXTXjUbZV_UZVUjZVWbi\XjUZ]UbSlXT(
eVZ]^UYbiVVUamcfUbZV_UZ_XkUiTXUkiTnXjUiVUhWWXT(o!"";!99"";
O""p!"99(
0
FGHIJ*KLM
NF
NF
.NF
,
,OP
3
Q/RN
81
7
+
,+
,8+8
-89
817
+
,+
,2+
89
1/7
+
,+
,S2
89
1.7
+
,+
,//89
FQ
,NFQ
.N
F8.,NFTNU
,
,8
,988..
88
-FQTN
F8/
OR
RNFNV
2
W-FQN
FNV
2
X
-YFQNFQ8N
FTNU
,
,8
,988..
2
FQTN
F8/
ORRNFNV
2
HZFQN
FNV
2
[
8FQNFQ8N
FTNU
,
,8
,98=-8..
S2
\//FQTN
F2NF/
OR/RN]8-.
[/
FQN
F/
OR.RN]8-.
H^IFQNFQ8NFQ8.,NFQ
N
34564589
88
988
!""#$%&6'%5()
*
+
,+8
8-8
,-./
8
8-89
01*8
,
/8-
-
8
2-.
-.82
.1*-.
2
/
0-.
.
,
83
-.82
.
/
82
.
8314,.9
2
5
289
+
,+8
8-
8
,82
.1
*988-3
8
,8
8-988..
-.2-8..
168
2-8..
5
,8
8-89
0
/.-.
83
-.988..
5
8
8-89
0
82
.
831
27
+
,+8
8--.89
87
+
,+8
8-82
.89
:;<$%&6'%5()
=-
8
,5,82/
-/9,
-
0982-8..
1*
8
,
0/.-/8
,89
0/9.,
>?@AB@AC>DBACED8
,1
01
2346789
6
!
"
#$$ %&'()*+,-./0&1&23456)7
89:;<:;=8>?43
64@A
BC"
DE F
#$GHI,'()J2+J,'))2KG2L'))*+,-./0&1&23456)7
#$F$ MN
OPQPRS334?43
64@AT8U62349V
BCWCCC
E "BC W
CXCY"ZCF[["\C"C
C "]CXC
W^CW"ZCCCC C_ZC
E$EC X`EC_abc_abd
_ab "
bC W C"D
E bC ""X!X"e
XX Cf "B XCC
EC C"BXC
XXW
CEC CC"BECCn
gI)h%Gh)Jh%+%JH'+)ijk1)lG)Hh')g%G')m3)EC0nC0no
0nppp`0nWC"]_ab CqrsXC X
Xt`uuC"vC
CF
xyz{|BZ}~
xxxb|Fb|e$tu\x[
x[xX
x\~E |x[\
xxoCF x[
xoCFnntt||EC Xx[
xoCFXctpt`td_abD Cx[
xoCFXc0pnnd_abD C Xx[
x[x[Xx[
wU@
U@
DXW C
"BCC CC
EC X_ab "
00
45656789
!"#$%&'&$"!&(!)"*+*+&,)-)"!'"."&)*)+-)"/0#1'*2+"3&"
&$+'"/4!2%*)1'&)"*+&,)-)"!'""."5#"'!++!6&),-*))7
8!.*-+7'!++!6&),!,*-%!)"*&)$"1&'')"'!-!'"."*+&,)-)"/
EFG9;4HI"-+J
E"-+JE*1JE"&"+J0;K70;<=LMNEO"&"+JE$"#+J
1P"."=*+&,)7%)"Q
NP"."=*+&,)7&,"Q
P"."=*+&,)7>2$"&'#Q
EO$"#+JEO*1JE5!1#J
E0J;<<"."=*+&,)I.*-+EO0J
E1JK+&,)-)"!'"."&$%)"EO1J
ENJK+&,)-)"!'"."&$&,"EONJ
E5J0#1'*2+"3&"&$+'"EO5J
EJK+&,)-)"!'"."&$E$*)$"#+RS'!)"=6&,"75!+1TSJ>2$"&'&1EO$*)J/
$""%$"+&)$$!"*"*%+&)*$U2*+6&1"/EOJ
EO5!1#JEO"-+J
92"2"!'"*5!:!,*-7
*5!:;<<"."=*+&,)!"#.*-+$!6$"*++'!-$!'"."*+&,)-)"$2%*$
+'"3&,"3%)"*)1>2$"&'#/
45? @
8
ABCBD
01
3456789
89
9
9
7775!77754
"#$%&"7'(567)*4+,-"4",56"5477-5.4""557)6.-6-"" ,5
*.!!7757775/40'1,4.567477-5+,-"477-577754.4727")",4'$67
77"!!477-5.4"4!)43
9>=>?@ABR<BA<>B@_Q8zK=N>Y]8
#77"7*7.-5.4!567*.!!7755,74!477-543
4565788889:;<=>89>=>?@AB8 8
$674. 7477-5!.447*!"4.77775+4-6"4C D7775'(5.4""
!!).5.EFF7'(56.4-"47+7.4" .7*5"567--7-74!"7*7775'
G7H" 7+
<8RPAS@TU>:VW@Q8XA=OY8?A=ABQZ[[\\[[]8
(567"I27-"47+7.4).557!"567C D77754.""7'$6757H5.4*.4",7*."
I*"*77-'$67!).7.4*74-.I7*!7*477-54.)6.-67.4
).557-7I5.5" ,5756"7477-5'$6.4.4)",!4656"*).5.!-44
7'$677.4" .7*5I5656767"*.77754'
W7^8W48RPAS@TPK;:=_Q8KB:K=^8XAA`8A=O8L@_=>^8XAA`8KS@:aNKY]8
456548888J=KLL89>=>?@AB
E"44477-5.447*5" ,4"745,747-.!.-"5.45567-575!756"7M.*
!77754).56#$%&-"44"55.I57'(45,747-.!.-"5.*7!..5.+567-"44"55.I57.4
*7!.7*).56""7)6.-6.47-7*7*).56"7.*'$67+.567I*,!"74+,7!75
56747"55.I57"75"-5.2"5756777755"'
$6777"4,5"H!"E"44477-5.43
5J=KLL9>=>?@ABxK;>8RwBA<>B@_QyK=N>Y]8
G7H" 73
9ANB?>8?AO>8PAB8?=KLL8L>=>?@ABQ8
CbcdE$efg65D
Co#$%&D C#g3cDC5.57D(hidj31EFklm1Cn5.57D
5XLV@_?A=>=8A@B_u<@>KpVqR8@X>rK@?s`?VLLBqAtN8SOT?A=ABQ_>==AUY]8
oCns#g3cD
L@_=>t8
C1dceD
ooW<[8?8=?K=LKLLpLpqqXXV?VA?=AA=BAuBu@K@KVVqqttwKv>KO:SV8:L8O:L<=K_8U:@W8XK?`VBANSO8?A=AB8_>==AU5osW[t8
Cn1dceDCn#$%&D VBK<W8:L8O>P:S>O8U:@W8XK?`VBANSO8?A=AB8_>==AU5os<t8
B
K
8
01
3456789
%&5'()*7+,+*-+566.
0$/
!!
#
0
1$/!!"02
!
!!"
!
34
"
5
!0
6$7
289:;<=>?@A@:ABCDEFGHA@I>A@>J@AC?A@I>A@C@F>AKGLA:MA@I>AKL:ND>LOAPQ>F;:=>A@:A
1
"
R$
S$7
TU9VW5X957YWY8X99WYZ[\]Y7]5[WYZTY7]5[W
Z^V\]95^\
"
$
1$\!!
!"!\
Y
Y
!$
._`a&5b*cd*e58
5"
W
"
$57YYW
!
01
3456789
73
44534
8964
475
7
349464
494!"494#!!49478$%"%494754947&43
'48
(886
7
6
)396
66
7846494*
4
(88647
+49
34
, ,
*48843
67347
45
864867347(43464646787947))473*4
5
86486734747
34&(6784968643
)778)435486794*4)789
64)75446(448645
864867347
64
786
343(574564&64
75'93
85
3
64
*4
343
33
8897347
)789785
86486*4
34374564&6475'93
85
3
64
+43&4448677)3
)436&-./01/2
345617
5784664
34
44486(6-./01/26184234561-./01/2/9:;4234561-./01/2
4.<23456178-./01/2-.44.=234561*4
643
67347
47398(5
5
)464&8+4>678
75'93
85
3?'4
3434947398494764
)3
)4364=@/:9A24.<=@/:9A2-.44.==@/:9A26184=@/:9A2/9:;478)7897+4
<@009A:26184BC<@009A:2/9:;4C<@009A:24.<C78C<@009A:2-.44.=(57))46
7
3
4
78444867
57846644)3
)43648
(8978843
378&44486
SSTUVW*7X 6Y
6YS47YS664YZW[ZW\]RQ^S_664Y
S6&4Y
)`7 75'93
8(64a
343bR)
4a
7339 8]6
)bR)a7398]396bR)a
98]
66
bR)a7398]46bR)a
))7789]6
)bR)a)789]396bR)a
,S_6&4Y8S9_]4
766Y
S
bR)a)789]46bR)ac
&Y
,S)YW
86486[347
S 0 Y ZVd e
4 7)4S_0Y
,S_
&YS_6YS_)Y
,
DE%#E%F,
7
578467
3+7
4
8964
(89
3678
)789G6
)HG396HG
66
HG46H
I
347)4#!!F,J,J,J,JK
#L#!!FMN#O,N#O,MN#O,MJ#OKP,
*47
+455
4857646
))7890Q)396)789Q)
66
)789
0Q)7846)7890R)
01
343566789
3
3
3
!0"#$%&'!(#$%) !0(#$*
343566789
+3
3
') ',"#%&''
0(#*%-./'43566789
3
'&&.'0(#*
'&-%-./''''-&*
+0125349567868959:
;/<.'%' '&'%'';=>?@ABCDE')'*
FGHI'%'/ &/')/<.'')-*
G'JKLMNOPQRSTUVKNW'-.'&/''')/<.'&' '*
X./'')/<.''>YY&<'Z
\66_4\534956786]7959:
75mm696097p
;-'.&%'''''/['''''&' '*G''/&&'
&*G&/&&')-'\534956786]5:3:5^3563:5^_/<''[&.'`OWaWKb
!)-'.&$%OWaWKbTcd`OWaWKbTe`fgh`RPTOWaWKb*G'''i#[&.' '''
)''''&-j&&-%''i- ')'''['/&&-i''
'/'&-'/-'')'&-'*X./&''
')-.'\534956786]36k7^7683563:5^_//&.'[&.'%/''%&'%
) *X./'''[&.'''/ )*'*%&'%
) /''*
l
593m:n6753:o66:p65\5349567867959:
EB>GX&
&'&';>=Z;>Yi"(&'
-&'
)-
)/<.i'Z.&!&*s$
)/<.i''Zi''
)/<.iZ&'
0'#i&Z/''
-&'')-
0>YY;/<.# &'0)-&
q7^37^k
')[''# &'%&-'/-' 'r&*stuvwxxuyzu{w|}x~&'
/''/''*
01
34567879
45
4
7844
7464
(#8=>('?@+*#;8-ABCDECFGFHGIJKLMNFO*&"&'!!#"P&$!QR
48
49948794764587
STUV13WX
9Y
S
9YS
7YS9YZ[Z2\]^S_9Y
S
9Y
4
`
764582759ab9440cbde
7766445588227767
8427e
7645824
48688ee
f
0`279868f
S_
9Y
S_
7YS4Y
S
0YZ76458X79S_
0Y
SY1
.87g78
h74879V8i8
a.ghVid/
79
78[64
W797880j1]/
7
6488545
9
8459788695
849
46
45
8695
567480.
7
4867
g4
.8
7479476458/48948644799
978
684
701
764582776
84
5
4
4
484
70.
98
46488
97/
8799
64995
74
48
8
680
3456%&789):';87<"';:6'+<
01
345656778797
5
77
544
557
7
88
457
77
54756756567787545557!!
"#$
67%&'(6454)4
*78797
5
7
7848
4
77$67
5
7
4
5
744478797
5$+5
4577
4
77,54-76
567
7
7544
.75678/4547775
/$+558458-778797
5,/
8
78
7747
57567
4
$0
4
67985876
5$
12345#"67433839:4"!4;!3#4:<4#3="934:234!:>34<=4?2<34!3:"<9!4<=4:234@1AB4CD3?23E3!4
:2345!C97433839:4"!4;!3#4:<4!:>344CE:4<=44:3F:G)84-H877878797
5,687
8
778797
5$I55479
/456584-8778659878797
5
8/7
49
78
78-7,677
8
778797
57
7
54567974
4
8
7$
67JKLM78797
567/98475754567
78797
5,
56556
75675/87
456757N557
847$355645
/5/875557,567
78797
588
456
7
5677
847
579588$47567
78797
5,98/4
56757N5565/4
5
54
5/875456567
O
5$P47N987Q
z)R{|}~6598
659867
55873{0Q3{HO5587
5/87
$495484QPP-4
H484Q11PP{{
7
5-4
H484Q11{{484QPP)
O5/87
O67
4
/
6)
~N987O6
7
5
88
849578)/O
4+
6678757
4
56OI
/$O8
8+
7
5
77
7
74
8495056O0501O
$O8
O8O
O4
/O6598
R554567477N9874884Q
STUVWXUYZ[\XU]^[_^Y`aUVWXUWb_Wcb_WVXdUVXeVUfg3C;h"4i >jUYTdUfkl:24mnonpqrstuvw7
8/7
7
57N5484
/
-4
/
78797
5
754567/7884
57N55687-4
/
78797
5$)5
77
44
77
5
754
477
77
5454
5557$0
7587
4
4
56
7/4
56747456x
5$477,77N8
56777
7456565676784
7N987
567
7N5754
$
y
01
345679
5
!""#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
0%&'()*&()+,-
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
./-!""+-,(*(0,-(,)-'(,('(,#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
1/)()++-*234(2'(4(,#
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
56+)!""'(,'-'-
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
789: 3;;3
<=>5?5@AB<=>5
C(--*+-(((*--,(+++-*'(,
3-D3(,(+('-'-'-3((-(3)*'(,,E)
+,&('&'()(,-("-+--((*
*(C()+*,(3'))+EFG
(*+-'(,(-'-'H ,)6CI$*((D()(,)
-0+)**J)(,,)+)!""+E)!""+(
'-'-(3-'-('-'-+-(K(+(3-(/*
'(,C(*+-*0$3)((,L2,4MD'(-(,-(')
L2'4MD3L234M(L24M
E)+('-'-'+(+()-+--,)(*'(,C
)(++-'-'-3()(+$)+()+(-,)$)
+()-,)N)-!""'-'-D(-(-)+(C)(
)-')(+O(-(+$+(D-,)O(-(-,)O+(
(*)$(-(+(
C),3&('D)*'(,(+3(-$'(()(,D
G+O+-0(3,(D!$&+)*'(,DP,)O'(3
((Q-$+-'-,)+-(E)&-()-(+-)
&('(!""G( N)-+()(-(+-)*'(,E)
!""G( +(,0C)
!""G( +D('+((--))(''(*+-)(
;
653
R5S
3;;TBU
?86
01
9/
94901222398
4755016
368023680237
98
685/
0122837
45
/496
045
36
99:801
223
0;22<35
0=22<368445
0
02<37
/496
0
36
99:80122
3
0;22<35
0=22<368445
0
02<37
565/6
99:80122223
5<
46480
58
5398
47550;2
35
0122<37
98
58
/496
045
3
0>22<3
5<
46480?:7
37
99
5/
45609
36
99:804
4:5398
475501=
37
34567589
5
6
98
68545
565
98
58
6899
565644
467757595
9
!"!#$#%&'()*+'$'%!,%+-.!/$.+0/&!0#1%!,
"-.-!-11%%#&%2 !#3%*4'!.'11*5%#0%+6!&3%78
"-.-!1%'+-%$09+9#%-.1#017:;!#&'1!"+!%--%
0-%#%-.6<<$'!$'9=--%0/%>'&-%/!'9!#7?40%!&!/%
"-.-!01%-%$!--.!!'10/-078&'$'-%/!','--.>!/
,$.+'-.&!0#1-%+-%$09+"%@%&+#0/!'%#+%9#%-.
+-0%+%#11'9.%78A%#11'9B.+/-%"-%-0+-./!'A+-0%B
017;!#&&0-&C!+-.!"-,D-++-0%7-%>1$0$'!.'1*
+-.E6<FGH+I%-%+-%$09-.%#11'9-/!'1-!+$'!%$&#%
+-.-++-0%78%&!+!#$#%&'%!,%%1-/!'1-!'.'+0%%
$!%--!!/0/+'-.&!0#17J!'%&!+$'!.'1*9!#&,'-%1
$'!.'1+K#%>&.$!%--!!/0/+'-.&!0#17
8+-//'&,/!00!,-.$'!.'1+!"$'!.'1-%$!%--!!/
0/&!0#1-%'$0&+,-'-.&!0#17;!#&'#!"+/!00!,-.$'!.'1
!%+-//'&%740%!$'!.'1-%'#!09-L!!.06'!1+#!
A%#11'9B+A+-0%B.%7
00
!"#$%&'($%&'($)*+(
',-.%/0)12%)3%456627)'126%/')6$))%2$7)81299:*/;<%=56624(
4$)*+(>;+/(
+,?5'*66125;-%*,-)72(
+,?5'*6612$)*+)72(@-+,7*A*-+$,B*%,;-*'0)-C-,?)76,%/>7(
9@94+,?(
+,?5'*66125;-%*,-)72(
+,?5'*6612')8%2(#?)-%>7(
+)%*,'6(6<&&*7/(D9EFG146<&&*7/(
0(C-,%HEI)>0=F*-+J K:G>7(C-,%0E9%/')9$))%6
>7(C-,%1ELK:>7(C-,%MEN*?*957,0%
>7(C-,%GEIO"PIK:40(4+)%*,'6(
+)%*,'6(6<&&*7/(*%)6$))%46<&&*7/(
0(*%)6$))%8;7DO6%<+)-%640(4+)%*,'6(
+)%*,'6(6<&&*7/("7;60)5%<646<&&*7/(
0("7;60)5%<68;7DO6%<+)-%640(4+)%*,'6(
4+,?(
+,?5'*66125;-%)-%2($1( *>'):)66@QD*6)+:*/;<%<6,-R
S';*%4$1(;-%)-%T,%$,-*+,?%*RT,''%*.)<0*6&<5$60*5)*6,%5*-U
-*&)'/HFFV;8%$)T,+%$;8%$)5<77)-%';5*%,;-U;7%$)0*R)=9;U%;*88)5%
%$)';5*%,;-;8*6)5%,;-T,%$;<%8;75,-R,%%;*8,3)+T,+%$U/;<5*-5$*-R)
%$)0*++,-R;7%$)&*7R,-)')&)-%6=4+,?(
+,?5'*66127,R$%2(&)-<(
',(*$7)812O>;<%=$%&'2(O>;<%C64*(4',(
',("7;R7*&&)4',(',(W)6<'%64',(',(;-%*5%C64',(4&)-<4+,?(
4+,?(
+,?5'*66128;;%)72(8;;%)7($7(P5;0/X0FH19@9U@ABC=)6,R-P
)?)';0)+>/";;-*&7,.$*48;;%)7(4+,?(
4+,?(4>;+/(4$%&'(
456789
89
667
95676
7
77
01
45679
!"#"$%&!#
&''!(!)*!$+""*&
#,, ,-,./$+)#
""#)*!0$''1$%#&'
##&)!$%##2($
)))1#$+
#!*1#$3'%
#)#!)*!&&&
)#&!$%&!%#'#
#&#*!$%*)&*!$3
)###)*!1#$%1#'
#)#&)*!#$
&''**#1$%""'1&
#&)*!$+&*
)""**'!&&)*!$#
!$3#!!'#()*!$
4)&!$"* $3
$+&&*!&'#
*&!&$%'1&#&
&2$
5+678-*/""$9)'#!*)
*!!""$+#*)#(!)*!$
45669:;
<=:>?@A>?BC
?
DECFGH:
I
:J
C??6
01
3456789
!
$
$
. %
$/012304567894:0;80<=>94?@A2B=C$D
E29F@G<2740=45=;H8G#
3456I8
9
!"#$%&'()
76
43736
53
*9+693,3985*3-
.
5
*9+693,833
3634
5
5657
63/
01#23%$452
6737
9345639767
,
35
+356783
33
33367
,83
33=398
55778363
785833569
37
87,
("3>;">2
5
693
557-
.78983438535=569+7567
3739769
7 7
,?
573657
37@693/57
7
9
734563373783693
,A38+3.736373
B.
78
693
67
98
,
CD22EFG9&'(
H
73*67787-
5
3
56375
+33367
56737
3,67
33
93
354976775
+7839367
56
3783
6939+3783936746575
+,
5
I9
7
95734785
+9+
3,67639
356=537467387
,
5
9
3
7
73756+567387477578
76
9++7=5J653.4783
=59
693
47837,85
*3
573
7753
+375=3
46+74,
5
9
3
783
36934783
965756+7
98
KK,675
=3
5+363
7
3669
3,
012456789
5
888
69
8
856
8
8
6
5
5
9
8
8
8
5
6
5465
56
99
8
8596
5
5
01296
96
6
96
8
8
6
5
8
8
96
66
8
996
456
869
01285
6
9
9 !"
8#
55$%%&65
4546
6
6589
5465
89
01286
8
946
5
8
8
9
85
8
5
2
0'(12)*
8
'4
5(
1542
65
4
9'(12+, 12) 85
154
2
,-12)-568.
91
8
98
5
862
,
'(12
55
446
9
6
45
/9
8
9
6041
0
101081
456789888
9
888
6
5
25
8
'(12845
86
90128
9
/9
584
86
2
7
66
4
4565
63
047
58656$7641
0
1
0
$11#85
01208
$1
0
912
:7
6
598
5;08
91
08
1
<=>?@A?B>CA?@D?A>EAC>FGH@AEI?@GJKAJEKACJL@A>?AM>?BA?B@A@D?@EC>IEANODFHPOAQIMRA
64
88
8
5
*465
5)656
556
5,968
6
4
3
12345642789
6
66
6
43
442626
46
6243442426242234224
6
3266
76
66 446
62
8!"8 #62424
6 23424$86 62%433642
6
&'('()*+,-./0)12,30).4)567)
QRSRQTUVWXY5Z631[125Y1526
\;:GHB]KL;AH:DKLB:C;B^_\BLJ`]a;K:BH:A]`:]A;BMKBL;:DMFBC;A;OB$%&
'
!
b '
$%&# *
+,
-./!0. ;K`JLMKIcdefghhijkd,1
+1
1234256789
2
71234256
1234263233323
3123426
12326
39
2
3
2
23
732
33
323
73
233
!3
73
5"33233
#$%&
''()&5
3342
3
23233*3223!*32#23
+3222
23232!*32
,342
33
+323
33*32232
32
33
+323323233*32
-**32+3.
223
7
23*3.8
/7011
**32&&6
23455646367895
:23
7!*32*!2323;%%<3*322*=23+3
323!*32233<
7!*32*8323323
3323!+&33*3222
+!232342 9<4*>30
1;26
1?326
1,356
1!+,3561!+,356
1!+,361!+,36
1,356
1,36
1!+,3561!+,356
1!+,361!+,36
1,36
1?326
1;26
1223456278
!
"'
%(!)
*+,-./0,1023/4562317-3281+928325:
;<=
>?@2AB>C7?7D2 2EF
G!!
!
H;=;
!&="$;
!&=
";=
&
!
H"'! !
&&"%"&"
;!%!I&<=
I<
&
!"$
!!H! !"
J728 687 7C7?7D28 EDK E223456278 4D 2L7 7ME?@C7 57CNOP
$H
!
Q!
!
H
H
H"
;
!
=
*R281,ST/141U+VW5:
;!=G
;<!=
;!H=XYZY;<!H=
;
=ZZYYYYY;
=
;=
012356789
!"#$$!"
"
012356789
%&'()
*+,!-
!"#$.$!"
"
/0-1!
2-3!45$
0-1!!4-36-7-8
"!4-37-$1"04!-"-!-3-48"4
34--!10-!889-
:2;<=>;23<?@A;2B@8AA@1:2A
%CD
$
9ECD
F9%&'()
8G4+-3!--!10-H04$-5-"--4I-3
IJ!K401L-4!4-!+M
$$+!"8
NOPQRS
T3!+4!K!K-3U4$J43IJ"-!044-!+1JM
UV-5604M
WUXK4"444!-!H
W/U-4433H"4!K-K4
WU7-44314-+
WU/--!10-H0404-1!Y0-48
1234164789
7997
4944
8
44474
349
9
464789
7997
4949
494964484
912444
2
4
247997
449
8
4
4389844
994
2
!
" #
4
9
!
" $49
4
9
!936" !93649
!962" % &62
264
!'2
" ('2
9
8239)
*28
4938
4+9
249
2
274
98
479
*9347972
98
4
43492
47997
4
*934792
9
8
934267
9
827997
4
*934792
9
8
4
4
4,3
-2+2+3
4
7.
*934792
72
986974
/
4
9
449934794492294444
012134567489:;<=9>;<4
+9
984
+93469746284934
2
29284
434
99
8
4934
72
87
89+2734
+93469749
436
2)446844
01234567903
105
1032111214500133513494326
9904
5
601321137
1047916415
16443210371345
14
1145
143215
1643210371501766753
0565160
6114521565134211705651
4432103716017319064
5
11011019!3556951
240240165
1391
67
29051336432103714321
"1734309013139543210371
67
616267656435
17
6
11214505
305
10#453300
24016$%&'()*+',)-./%
432103716043213004621109716145661201361456#64
34
4&5)6&)576)*896,)79&4:9);<=75>89?>7@8)*&A57+84&57587'&7',59';7;8,'548&78B75>)7
1097104621109717352013605
12057224201
90145
14160046103110971C321201C3
67
6045061#
901
D&<7&'()*+',)7@),;'6'548&75>'5A*7+;',)@74&7'7@8,9()&5A*768857);)()&57
172103 3631535
11121450645
35792145E13014515
35
432103710
3 1071C3210371031755
111214564
67
5
1#31
17313013035
17
611214505
35792145
FG321
5240
HI
55JJK
JL1J
52MJI
240HI
55JJK07
072J946591I
531
5
510J
5
5N343430J
5
J
5
J
531
531
43216734O11L31J4321
65
PQJ65
14
5
RSQJ14
5
J531
J5
45
6013215
12403556951645
153153
615
1
34
16103T9366143210371U5
11645134#432174675915
0321531!11214543215
3 64
6114574514534213464
01235356278592
72
32
5322623591
226237
112
756282
52577
9
52
11275623562785925627859279532
2952
312226237122125272
312
22623
0295357
2
322535627859271
91
1287
33
82
3
5322623
3126
96232
63718 !
"# 16$
%&'()*+,-.*/.,0.'11*2*
2*3&45*61*4*7'889:,.;'<*=>?*<,(-;'@5A*
B*3&45*61*4*C486<*=>?*<,(-;'@5A*
D*3&45*4.'*5&'*.-8'1*:,.*@4;6@0*=>?EA*
DFD*G486<456@0*=>?*H,(-;'@51*
8
I
27
65J
57
I5
5
353
96237KL
9623
"82L2
3
3753M9126527
7977126
36
225
7
312
327729
37
DFDF2*H,(-;'@5*NOP'*H':6@656,@1QHNHR
SL
9623"82L2
3
3TL"LU2
3271225
3
9V7
53
9623W2
32712
9623792
15
7
22623753
5
27WL"L
7788
2
112
2123128572
9
6852129
323
12
9623
11227155272
312L"L
W12
9623
273
9
3
6
12277829
212L"L12
85725
727532
53
3
9527122128
9277
35
2
SL"L95322952
3
32
37
253
9623
57532235
222392
X@5'.@48*HNH*H'(84.456,@*
W12L"L
72952
37
212
2
71
25882
35
LYZ"[\]2
3
3
112
3735
012345678
3
8
252 2
252
! "
## 2345678
" "$ %&
012345678
'6'58( ))
8# 252 "
&
0* +
,)-./)*
012345678
01808(815 2-345
01808(815 - 267427575
01808(815 3 267427575
01808(815 4 267427575
0
0-(% 8
! 9(00:-
030; +
10:3
047
" $
$
+*0:4
0:
1"
9(0 !
"
" ! #% < &
1234567889
87234829
8
2498
86926
85287698898
89
7
!"#$%#"&$'()$%"#*+#"#*$",--#"$.$/$)#"-'"#*(%"&-01/$)#"(%"#$%#
!2!3!4"#$%#"&$'()$%"#*+#"#*$"#$%#"$.$/$)#"0-)#+()%"#*,$$"$.$/$)#%5"
69879899879:99879;6
!2!3!4"#$<#="
86879
89879888>869 9282986?@ABB6
!2!3!4"#$<#C"&$'()$%"#*$"#$<#C"$.$/$)#"#-"D$"-'"#EF$"GH IIG
!2!3!4"#$<#J"&$'()$%"#*$"#$<#J"$.$/$)#"#-"D$"-'"#EF$"GH IIG
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
L75>8M9
L79865
8455926
NO7>8726P68Q6OR
NSTA1@L9879U1ULV69879
9
6R
N9879R
N98798RVW798798678XVYNZ98798R
N9879:RY89[7
584288598
668SNZ9879:R
N9879;RB989
5997
5M8\22526\
8ONZ9879;R
NZ9879R
1
3
!"#$!#%3&'(7)8(*+1&&3,-&.12-/(&0112-232
13&434&32
345115
3.12-13115441-2&.12-321.1321,243
&'32/
6(6*+
789:;<=
19
1488---1-794
19
555183
6*57)8D)7
52
55518175858
9
5+5
123435675895
123435675895
12349525
12345558
1234395
8
3 !5"1395
5558
3
5
5558
!5#5$%
395
3!&8
'7
53(
283423
4&&&(&())$%95
33
5*
538*5558
35!
3*5!7
85395(
5
+5395
4&&&(&393(9
8*9
53
55558
3*5!85*'
33953
,-./-0-.1-20-.1-30-.1-456789.6:;896-<.6=<-->?@@AAABA4/7<88C/B789D6
85395(
283
4&&&(&393(9
E-6EFGE7H-./6-<H-6-<.6G.:HIC-6FH9./>H7.6E/6=
4&&&(&393(9D
5558
J 5!7
67!5*
33
85558
*595*8
3395"3'5735*'8
35
$%83
895*9758
&958539567!5*(
KLMNONMNPQNLRSLRTUVLWXYLVQTNZ[LOU\NLUVLUPLRTNLOS\\S]UP^LWXY_L
1`2#538()`
1
52
$J3
52
583'5$%1
52
1
52
%5
b3#59!!55!
5*885c1
52
1
52
d!
5
"3&5!8*#5`1
52
0123425
73839
3983234
22!11"#4
4"
$
23%&'(')'*+,-).//000102*-331*31
4
4983234
5454
6 22!11"#"
8178891:;<= 3>
423
2333324?2342@23529@23527@2352#A22B!34C43
234 3
'D*3&D3-, 22!11"#"
8178891:;<= 3>
423
34!3"E24
4!3
9
342233324228
FC23422
398
-, 22!11"#"
8178891:;<= 3>
423')'*-'G
!839
53
254
4
4983234
54
4 3<
2
6H 22!11"#4
4"
2342"54H5
I
842JC3
42334!3C439
82333324
2359
3
43
JC3
423
2
92354 3C439
82234!3"
:;<33324
2
JC349
8J8
C422B!34J
F3"K
LMNOPKQRSTKUTRVTNWWKXK
K
YZ[\ M]OMK^TNKXK_N`MRaWK`RKb^c]a^`NKdefKg]cNWhK
XZ[\ M^`K^TNK`MNKc]_]`^`]RiWKRgKjkjhK
lZ[\ T]`NKaRmiK`MNKaNg^Sc`KnS]c`o]iKa^`^K`pqNWKgRTK
defKWOMN_^ZK
lZrKKj]Wqc^p]iVKdefKg]cNWK
:;<
C32483!
23529
34sC42
t374;<9
3483
4!B3
2
F8
438@
2833>
t3428C2C83"
u4F8
4384
9
82
342324
t
t3@2
3 323
83F
2B@34 4
342B32
2"4
4F3
3C4
44
"3"
v4
=2B3= 3324"v==9
3483!!
32
74;<432
3 323
012324565789
317
2
41
3562813
5
2
14
4010
5
2
23
2
9
1
665
175
310541
71
5
317256
!"#$%"&''
(
2
4010
07
23
)6*
8
2
1
23
71
027713
1)261
)6
317
6+
65+1
75""
"
"
(
75
1)261*
6121
101
727
71
)6
23
561
201
7013
5
71
21
6275
71
305,19
"
&-./"0-1"23/"#$%"045/6"
"
"
789:5";/1<4-=>?!@?8A"
789:5B<2C5/<3//2"2CD/>?2/92EF<<?"31/0>?<<F<<?8A"
"
72/<2A"
" 72/92!A$C"G41<2"#$%"H423"<2C5/III7E2/92!A"
" 72/92JA%/2K<"3L;/"F-00//"L02/1".4==/1I7E2/92JA"
" 72/92AM02/1"23L2N"<3L55"H/"O-"0-1"L"5-=O".14;/87E2/92A"
7E2/<2A"
"
"
01235167830995
3
73
7
6
612116555
5175
362
36
5
!
737
2
1
517"3
8712
!
737#
2
1
116$$
517
%3
517
73
7
!
737&
2
1
116##$$
517
%363
!
'()*+,-*.-/,-+.*0/.*+11*23*,445-6*7(8.*9(87,005-6*9.,0)8.1:*,-4*0/,0*1/,;;*
8.9;.+0*(-*0/.*<7;*4(+)7.-0=*>575;,8;3*3()*+,-*,;1(*083*+(4.*)15-6*
.72.44.4*(8*5-;5-.*103;.*1/..01=*
*
&?@?#ABCA9CD
E>FG*H.E0.-152;.*>03;.1/..0*;,-6),6.*G8,-19(87,05(-1I*51*0/.*7(10*
8.+(77.-4.4*103;.*1/..0*;,-6),6.*9(8*0/.*EJF*4(+)7.-01=*K15-6*E>FG:*
012456789
6
9
5894
59012456789
5599
5
967612
996
45585999
99
6
965
994
5 5!6
4"#9$%
456789
996
%945
&
9456789
6994
945
965
9
59
9
%5
9
'
0!2456789
4012456789
465
5
78
95
9989
(%(
79'
585
6
969
5
95999
565
)
*+$
999
*+$
969
,59899
59-
*+.
45
95%8
299954599
585
9695
969
89
94569
578456789
99965495
98955)
/
01234/56789:;<=>?@=/6;A:B9;C<=DEFGH=/
8IJ;BJ4:;6<=K68=1L/
01234G8IK468M66I/IKN6<=I62IO284=/M76P<=I7J;8P:73?284=1L/
/
0I68IL/
/ 0I62I>LQK/F978I/RQS/T9IM/8IK46/U89;C/RVSEWWW0OI62I>L/
/ 0I62IXLS6IY8/MJ56/A:PP66/JPI67/B9;;67W0OI62IXL/
/ 0I62IZL[PI67/IMJI\/8MJ44/T6/C:/P:7/J/4:;C/B795610OI62IZL/
0OI68IL/
/
"569999955
%6549)
]^895
_`ab`^c
])&99995
_`ab`
8
)_`)((d5%(aeee(0!2(
58`c
])98986_`(`c
]8c
]94c
0121345678 6
8
340121345
0134 141415
2
!"#3$%%%%
%1#%
23&4
'(43&412
'
#42%
)
*141#141
23
3!
%1#+42(13
)
*141#141,
23
3!
3$--
%1#2.4
33
%1#13421
32
)
*141#141/
23
3!
3$--
%1#2.4
33
%1#13421
32
)
01345
0(4
5
05
0(,5678 0
%
12 21 10780(,5
03
3#143
145
05
0(135
03143
145
0123456783956
795
5625
0289
3922
5625561501234936
26365
56150289
0289
3922
5625561501234936
26365
56150289
0289
3922
5625561501234936
26365
56150289
0123456783956
0123425362665
6
6235
2933
6
28396
36
524
!"#$%&'()*&+*(,*#--&.&
&
/0
56
1197836
26
6
265
3435
92
86
26
69
2
3
7
819
615
:3
7
;56
<5
7
=93
>9?
=
08
592
?5
56
565
92
=
6
@566252
6197836AAA
.BC&D)EEF*G&
@
52
55
96
256
9
92
55
H0I
9
52
765
25563
J
96
266
?
5
93956
9
2839
9
H0I
765
9
?
96
97628962
62
26
56263
I925
5
5
56
369255
96
625
56
685
6556
622
52
56
566252
6162623
0124567896
8999866
8999866
85
665
998
588678
98 !"85
614789885
596
!"#6
698665
$6
6%
&'()89*85
6
8681
&'+
8*85
6
8$
865
6 !"668
6856
)81
&'48885
66
88887
56589
8885
1
&'
66
868898*985
61
,185
66
9
9998
85
5886)
!"85
614)85
596
8*98858986
6*8
*885
%8685
8
) !"
85
6*
7898
789885
5
8)
8999866,
-./010/234/567892
:.';<9<=2=<>3?/>@/010?A/
B'178C/72D8/3>/8EFG<6<=/?HFF>I=/@>I/3298?F268?./JGG/010/486G2I2=<>3?/
KLMNOPQRKPSNTQNUQVNWKXYZN[M\]XMNZ^QN[]\\MLMXZNMPM_MXZTN^]Z`NZ`MN
?298/3298a/8D83/<@/=78C/2FF82I/<3/4<@@8I83=/6>3=8E=?./
B'010?/72D8/?HFF>I=/>3GC/@>I/IH4<983=2IC/42=2=CF8?./
B'010?/G26b/I8242c<G<=C./
B'010?/H?8/I8dHG2I/8EFI8??<>3/?C3=2E/=>/48?6I<c8/?67892./17<?/<?/
G8??/2668??<cG8/=>/FI>dI2998I?/=723/23/8G8983=&c2?84/?C3=2E/92C/
c8.
01345546789
96
4
4
96
95
96
44
6
95
!"#$%$"&$''(
)*+,$-./-"#$'01*
(*2 31$4'
51678810744
145
916788619:9
914
0167889496145
;167881014
3456789
85
48
33
65
68
1 !"#$%&'"($!
11 )*+,'"(-,.
1/ 0)12,-,3.
1/1 45120)1
1// 45120)16$%,.
1/7 45120)16$%,5#,,
1/8 6$%,9:#,!".;<=(3%#,!:!%>(*3(!?.
<=,'@A$	#$?#,..1
17 B'',..(!?C3,D,!"(!E:-:.'#(F"
171 1,"=$%
17/ 9#$F,#"G
18 5#:-,#.(!?:0)15#,,
181 6$%,2(."
18/ 6$%,2(."2,!?"=
187 6$%,H,3:"($!.=(F
188 H$$"6$%,.
18I '=(3%6$%,.:!%!$%,J:3&,
1I 1$%(KG(!?:0)15#,,
1I/ <=:!?(!?4512<$!",!"
1I/ <=:!?(!?4512>"G3,
1I7 <#,:"(!?6,LC3,D,!".
1I8 H,D$-(!?CM(."(!?C3,D,!".
1II H,F3:'(!?C3,D,!".
1N 0)1<$33,'"($!.:!%>"G3,.
<=,'@A$	#$?#,../
1O C-,!".
1O1 4$LC-,!".P$#@
1O/ H,:'"(!?"$C-,!".
1O7 4512C-,!"B""#(*&",.
1O8 B..(?!C-,!".Q.(!?"=,45120)1
<=,'@A$	#$?#,..7
1R 0G!:D('0$'&D,!".&.(!?E:-:>'#(F"
1S B*$&"BEBT
<=,'@A$	#$?#,..8
11 >&DD:#G
111 B!.L,#."$<=,'@A$	#$?#,..
11/ U&#"=,#H,:%(!?.
1
23456789
749
37
2
<519"$%913"/9313$#/%$17"/#3"/(&!)!(1"p
q!/$(&&"./0%1#r
q%)$9)113$#1/.1/#r
q)&&70"&$5)%&&(1(0%1#)%&."%1%1r
s2
tmnmto
+3)13=>,((#p
q+3-(u=>,7#/''"1&5"0v1#.)'1"% )&#!)((!" ##2
q+31"@%10&$)1=>,#7#/''"1&!v1#.)'w)%&6'("w)%&x2
v"113)113/#"513#=>,#$#%"1%.##))%0"
q+3-(y=>,7"z{
2|#/''"1&!,"}$(())%&6'("x)%&
)!"2
~FGHIIJKLMNHOPIQRSHLPITKUHVIWJQTXIYZIV[O^M[^HI[OUI\V[P_K]NIYOUH\HOUHOPI
YOPH]_[LHIPG[PI[VVKfZI\]K^][NZI[OUIZL]Y\PZIPKIUjO[NYL[VVjI[LLHZZI[OUIM\U[PHIPGHI
LKOPHOPIZP]MLPM]HI[OUIZPjVHIK_I[IUKLMNHOPi~
+3ADE=>,#1)%&)&$##'))1&$%1"D&$55%1')1#p
q E"=>,#1)%&)&0"&(5")%#1/.1/&&"./0%1
q ,-=>,#1)%&)&0"&(5",-&"./0%1#
q *+,-=>,#1)%&)&0"&(5"*+,-&"./0%1#
1
3456789
85
48
!"#$%&'$!()
*+,+* -./3
#"#$%&'$0
123!45!6!3"#$%
12373!355366!3"#$%
128193
#"#$%&'$64
85
: ;<4;8<
=8:!6"#$%5
78
>4:! 5)!3!30?@ABC?DEBFGDBHIBJBIKJLMJNMBOPNB@PQBKPB
RAKSBT@JLRASBJMMSBPNBMAUAKABC?DEBAUAVALKIW
*+,+, -./3X48:
2!3!819"#$%&'$3Y3( "#$%!5
!0
1#3!5 456789
948
1ZY3("#$%5 88789
948
1#["#$%5 3
8\
948:
1ZY3("#$% 3 ]
<=6
8948
19!55 3547789
948:
*+,+^ -./3X48.<88
"#$%!5 3Y 333("#$%&'$)#33
X48.<88+
8"#$%&'$!3 (_Y`37)2"#$%
5a!b5!6!3!3)
*+,+c X48d]<89
:ef>=<89]9g==9h:
#!!3Y 333!7!!3)#!
3( !Y !73!!6!)#! 5Y
573 3!)#! 3!Y3(! !3
! 33!6!)`!!55 3i
1
23456789
749
37
!"#$#$%&'
("#)*+,
-+.&*
/,&.*.),+&
0
1 R!*
7*8
1 S> S>
6; 2;
!* S")-+. !*
78 7+#8
>$-+.
23,&.4/52,.*0
TUVWXYZ
TU[\]YZ
TV^VX[Y_[X`aW[ZVaZZbcdefTgV^VX[YZ
TgU[\]YZ
Tha]iYZ
TUjYkalmn[nZeoo[m[]TgUjYZ
TpYkaWplV[mZq`^[r`[TgpYZ
Tgha]iYZ
TgUVWXYZ
6*4/52+"0
/7*89
/,787+#87*8
/,:;*)-:$78
/7*8&0787+#8
/78078
/78 0$:<*
=>?@:
/7A878+.,7+#8
/78*,,7*8*
/7+#8*,7*8*
/7A8*,,7+#8*
/78*,7+#8*
BC74D
E35F
GF3HF7II
J
AK<L?5&+M",L?5N
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
PK<,,",L?5N
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
QK<#&*L)*?+M5N
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
1
3456789
85
48
!" #$%&$'()*
+,-.//011234050036237.8.1/92:6
;)) !)'%$<=%<$>?@$%<(>A$''%A%=$
>?'><$%<>?(>(
+,-,+ 8
B4
;78
B4$%$>%@#$%$CA$<<>'><=D$%)'%E=>)>#
$)=>'><F<>$$% !)'%%<==%#$DG
8
B4 :6HI4J8
AK)'%LDM<NO EF%)'%#(=<M<
PQRSTUVWXYZX[V\X\]VXVUVSV^\X_`\]X`aXRbXcF%dDe
fghijklmnokmpqkjklmrstfuvilwxkyzwmsv{|}
AK)'%LD$A~$'NO EF%$)))'%#$(=<$A%$'
K&$'()G>A$)>=$))()'%%<>F'%
fghijklmnokmpqkjklmzrsojkuvv{|}
K&$'()G>A$)>=$))()'%$$<%<$%N)<%@A$%<
)<%@O>=)'%#<F%dD
fghijklmnokmpqkjklmrstfuvilwxkyzwmsv{nokmpqkjklmzrsojkuvv{|}
AK)'%LD)$~$'NO F%$)>=$)))$)' %#$(=<
%$'
K&$'()G>A$)>=$)))'%#)$F%dD
fghijklmnokmpqkjklmzrsqzzjkuvilwxkyzwmsv{|
+,-, :H4I8H
;IH4I8H
$d$)F$D>F$%A>N)C%$'>>%%>=$%><O
:H4I8H
38J5HI
49
>A>%%>=$%)'%
%% ! =F)=>A%A>()$%A>%%>=
!)'%
1
23456789
749
37
!"#$%&'$()*+,)-
./01234/
./56784/
/
./9/:7;<=>:?@AB:18<4/C@3D62@/16/EFGHI.J94/
/
./BDA:914/
?KA/1L1;76D=2@>1MN@1O3@2@>1P8E7Q<=>:?@AB:18<RM:>>@ASTUVW/
76D=2@>1MXA:1@Q1L1RW/
./JBDA:914/
/
./J56784/
./J01234/
YZ$&&,&#Z$#Z
[
\ YZ$Z],
\ YZ$#Z$Z$Z
ZZ$
YZ$ \ YZ$#ZZ^*Z^*
Z$
\ YZ$#Z_ZZ,`_
\ YZ$ #*$ ZZ,
`*$
Y-YZ$ZZ,Z*&&ZZ
Z$#Z !"$[
a_Z$&- Z$#^,$-
b*#Z$&
76D=2@>1M5678M>67@GK2@W/
*^-
PHcd
eZ*&&,&#+Z*#
Z[
eZ* \ eZ*#$*#
\ eZ*#__#
\ eZ*#Z^*
Z^*+Z*
_Z$&+_+Z*#%&()*+,)'Z[
./01234/
./56784/
./9/:7;<=>:?@AB:18<4/C@3D62@/16/EFGHI/.J94/
./BDA:91/189@;<1@L1JfK?KBDA:91<4/
//////////////L;76D=2@>1MN@1O3@2@>1P8E7Q<=>:?@AB:18<RW/
/////////////76D=2@>1MXA:1@QLMg:AB1h0:37M>67@iK3=@RW/
./JBDA:914
./J56784/
./J01234
1
3456789
85
48
!
"" #
$!" %
$!" &
'( )
* +
,"" -
./" 0
$*"!#/1 !!*2/*/!3/#
4567879:;<=>;?@@?A??BCD9:;8<EF<GDHIECB?
????78:JKJ?@?78:JKJ8K9L>>;MNJO;6PQ?
RSTUVWXYVZ[\]W3UVYY
^_`a.b`cd/1.b`e!
RSTSR \48fgh
e$!"ie% "23" 948gh
'!
$*"!#j!/!!kl!" /" ///kl
mJM?n@:9opq;7K8r;KEs;q;7KOt=<JrDJq;6u>uPQ?
=@?nvwxQ???????????BBJO?Ky;?47:;n?OKJMKO?JK?z8?
RSTS{ \48fgh
f89|
}
~!^/!
e
$*"!# !!kl!"/kl!"c1!
*
mJM?n@:9opq;7K8r;KEs;q;7KOt=<JrDJq;6u>uPQ?
59M?64@zQ4n8s;7rKyQ4P??BB?s99>?KyM9pry?>?;s;q;7KO?798?95?>?79:;O?@n8s;7rKy?
?
? :9opq;7K8M4K;6nv4x8477;M<PQ????BB?9pK>pK?Ky;?mJsp;?95?K;nK?79:;?
? :9opq;7?
?
1
23456789
749
37
37
7938
!"#$"$%&!'()*$'!+"#,-%&.%)#'!#)'&.%)#/'!01&#"
!'2%3'%!#"/1(!&1/145""6'-"))"7%!3895-'3(!:
;
<;=>?@A;
<;BCDEA;
;
<;FAGH@IC?H;>C;JKLMN<OFA;
<;DPQA;
<;FAR=H;ICSTUHU;CVVHTHD;BE;JKLMN<OFA;
<;FAR=PU;HWX?F@H;DH?CYU>TX>HU;YCDH;TH@X>PCYU=PFUZ<OFA;
<;ODPQA;
;
<;OBCDEA;
<;O=>?@A;
[-%&\$])(!%&-%&.%)#"-\0"#*])(!
[\#%2])(!%&)'&.%)#"-\0"#*])(!
[\0"#*])(!%&$'!+"#"--%&\$])(!'!#\#%2]
)(!
;
^_`abcdefghijfd_`abcdfkdalmjno`ndjfnhdfpjdflqfrqiojnshicktfbolbdonufnlf`vvdjjfnhdf
w"-'!)(!4"1$1"-%&&/%$7%))0x)/"("yz+{|,7%/%&
w"-\$])(!}-%&.%)#"-\0"#*])(!~4
<;=>?@A;
<;BCDEA;
<;F;PDSYPQHTUP>EAGH@IC?H;>C;JKLMN<OFA;
<;UITPF>A;
WDCIS?HY>ZH>@H?HY>EJDSYPQHTUP>E;
DCIS?HY>ZTP>HWZVPTU>=P@DZYCDHX@SH;
<;OUITPF>A;
<;OBCDEA;
<;O=>?@A;
;
339
37
'7"&$/%')$"$%&''))"7'//&&"-1))#"/1(!:
[ #"/1(!4#"/1(!)(!-1))#"/1(!
[ #"/1(!40"#*0"#*"-#"/1(!
1
3456789
85
48
78
!"#"$%&'()
*+
,"-./0"011"/")
,*0"23 ""40/3"0"#."45)/"/5)
)*+
0#/*
3"/6#."455*44"/7,89:;
)0#/*
)
)
<=>=? 5@AB48C9948D68
EFGHIJKILMNOIOKILPNHQLRSKRLSTGLMENONHMKULQMLITKVLTTFLEKOTLOTKWNO
LHLXLOTYGONIIGTGKOTKTFLGOOLSZ[\]RSKRLST^_
[FLWKHHK`GOVEKILVLTMTFLaNHQLKWTFLbRcLHLXLOT`GTFGIdeQOGaLSMGT^ef
78
*gh.4*+"/0*h!"#"$%&'()
0#/*
+3/2g#."45i"j""4k$6h.4*+"/0*h:5#*&"0lmn54"o3.";
#."45p/*"62:;
)0#/*
)
)
qOTFLLrNXRHLNUKaLYVLTsHLXLOTt^qIGMNXLTFKIY`FGHLEFGHIJKILMNOIOKILPNHQL
NSLRSKRLSTGLM_
12
456789
9659
!"!#$%"&!'()"'$*%)+,
$(#!#$+%-"$./0123456789:;7<76''$+ %($$ #""&)
=>?9@8A>AB@CDE18AA79E>793<?34DE:738FC9AG17:BGHAB<CG123456789:;7<76DIBC<<7JIKE>
L2<8CDE;M295C>123456789:>37<76E>NO>
>
PQ
=>H36?@AO>
>>R893A?79>;M295CS23456789:TU>
>>V>
>>>>:738FC9AG17:BGHAB<CG123456789:;7<76DEBC<<7JEK>
>>W>
=>NH36?@AO>
>
=>?9@8A>AB@CDE18AA79E>793<?34DE;M295CS23456789:TUE>
L2<8CDE;M295C>123456789:>37<76E>NO>
>
X$+%-"$''$+#Y'(#"$!'#& Z"&!'()[Z')'\P($[
]'$)^$$[$[_#$[`#$!\_+($`'$![a'!\`))![%
a#"$"b
c' )$) )#"'$ $ #$+ %-"$ ''$+ +( " Y#$
$$\\b2#"#b"\
d $e##$+" %"!))+"+bP$ #(""!#)
'##$(#'Y$#bX("#$+"!#" "'$+"$#["()!(#
Y'"$#[$'"$Y(#[) $#bf !'[^XX ''$#'
""##) $'$ )b#$+b#$+''$+bgPa X$+X$#(#$#$
$'(!$'(#"#$+#$["!$#"$'#['))'$#$+#[)
)) '(#b##(#$"'$'"!^XX$$"$##Y'$#$
$#$[#$)-(#$$#$$')$gha_bf$##
(#$$&)Y$!^XX#"$'#$$'!$$)#')$#[)$''(#
$$^XX"#")bgPa#$+#$)# $'Y) "$"+$($
('#$+#$bf$')("#$$%'#'##[)$$$''$#bQ(#$$
$%'#')# $()'#$)' $"())bX$+#$$' $()'#$)'
!')b^$#' $"())b
)"($b#$+X$#""$ ##$+#$#'Y%bd #++$
""&%'#'#('$##($gPaX$+X$##%+""&!'$
#$"$)"($b#$+X$#""$
i)"($b#$+X$#jk
\\gPa#$+#$#'Y%
l
"#$+#$# (%'''$#$$!Y)$#$#$+#$[#("#
$#mQ_i'j[$#$$i$$j[$#$+i$+[(#(+e$$\"##ej[$)$+#$
#$i)j[)$#)#%)' $i)#%)jb)#%)''$+" %
#$$$'('#$)#%'%$#$+#$[%($$$'''$#'
')n+b''$#+%Y%$+"$(++$$#$+#$
o(#$bc'[&$)# $Y$$$$$'%($#$[$ $#
##"$)X$+X$%-"$$Y$$b
12
3456789
85
48 854648
1!"#$%&'%("&'%)!*"++(!,!-%'.!.""'#"%'.!"%.*.!*&!%."%*
'$//!&"*!0
11111111111111111111111111111111
11111111111111111111111111111111
2!"#$%&'%'#%."++(!"3+!*%".'&$4!%
11111111111111111111111111111111
11111111111111111111111111111111
56-/+"%7'8 '&("%9!7,:;< 3$!$*%97,:;=>:0
11111111111111111111111111111111
11111111111111111111111111111111
2!"#$%&'%'*!"&(#'"*/!&#&"3+!%".'&$4!%"%.&'$%*'8*0
11111111111111111111111111111111
11111111111111111111111111111111
?!"#$%&'%'!$%"++%"4!@)"+$!/"*'#&''A!*%".'&$4!%0
11111111111111111111111111111111
11111111111111111111111111111111
B!"*&/ ' '99+! (!)*3+C'#"/""!+!4!% '% (!&+&A'#"3$ '%
11111111111111111111111111111111
11111111111111111111111111111111D
EFGHIHJKL
6)!%*"!9!%!"!.3C (!3'8*!8(!%M(%9*("//!%M'7,:;!+!4!%*,(!
7,:;=>:"++'8*C'$'!-!&$!&'.!8(!%"%!)!%'&&$*N'!-"4/+!&+&A%9
'#(!4'$*!O+'".%9'#(!8!3/"9!@4"9!O4')%9(!4'$*!')!"%!+!4!% '
*$34**'%'#"7,:;#'4 !&"!7,:;!)!%*
EFGFE P4QHR89
S4
(!%!)!%*("//!%'"%7,:;!+!4!%%"8!3/"9!O&(!&A*'*!!#"%C!)!%
("%.+!*"!""&(!.'T#(!"%*8!*C!*O&"++*(!4%!*/!&)!'.!O8(+!
*!%.%9"+'%9!#!!%&!*"%.#$(!%#'4"'%#'!"&(!)!% (" '&&$!.,(!
!)!% ("%.+!* (!%"& $/'% (!!)!%=>: !+!4!%*&"%3!%!*!.%*.!!"&(
'(!<%.*'4!('8O(!!)!% ("%.+!'#(!/"!% 8'A*!)!%#8!&+&A'%*
&(+.,(!!"*'%#'(**UVUWXYZ[ZZ\]W^,(!!"!8'C/!*'#!)!%'.!_
6)!%3$33+%9
6)!%&"/$%9
HR89
6
`9_T3!9%*3C&(!&A%9 (!"9!'#(!!)!% #'"%C""&(!.!)!%
("%.+!*O"%. (!%3$33+!*$/ ('$9(!"&(!*/!&)!/"!% !+!4!% $%+!"&(!*
(!7,:;!+!4!%,(!4"%/%&/+!'#3$33+%9*"!*(""#!"%!)!% 99!*
'%(!.!!/!*/'**3+!!+!4!%O (!%99!*'%/"!%*%%!*%9'.!
HR89
5ab
6`9*"*8((!'$!4'*!+!4!%%(!=>:"%.8'A*%8".*'
(!7,:;!+!4!% (!!)!% ''A/+"&!'%"%.(!%'$"9"%N'!-"4/+!O"&+&A%
"8!3/"9!8'$+.#*&(!&A (!7,:;!+!4!% #''%&+&A!)!% ("%.+!*O(!% (!
3'.C!+!4!%O"%.*''%O$%+!"&(!*(!"9!'#(!!)!%
12
456789
9659
!"#$#$$!
"%& # '()*+ %,-!#+
#!-"#".--!!
- $#$$! "% /#$$! "# $ "" $0
%!/#$$!1#-),'23* %"4")*-$%
,!!$.5"),'23*.-"%&
- 67897:;<=9>>?@<ABCDEFGHI. JEJJKLM#"%&$
N OP"-%
QRSRT U9V6W
X5YZ9
[
\]^"$5# #%
'5+"!1_P-21`!+ #!a
bcDdKef
bfJghief
bfcjfgHAKGAklmDcGMnGHHLFopqrlstuvwxsmeyKGAkfgHfDcGMfDLzD{b|cjef
bf|Jghief
bf|cDdKef
f
'5+"!}_,-!!5+"!~" 5# $!#%
#!"#-! $!# !-
)AcBHILpgxCCLFf*5#%f&-#5-
"#-!#""%
bcDdKef
bcLBhef
bMAFGCDef
EHADGgHfAcBHILpgxCCLFf
f
BFfzlhgAEdLHDnILDKLdLHDithmHBdLmf
znBKELlznBKELnDgxCCLFyBMLf
f
b|MAFGCDef
b|cLBhef
bJghief
HDLFfigEFfHBdLfbGHCEDfDiCLlmDLzDmfGhlmHBdLmfgHJKEFlmfAcBHILpgxCCLFmef
bCecLHfigEfKLBLfDcLfGHCEDfGLKhffDcLfGHCEDfDLzDfGKKffAcBHILffDgfECCLFfABMLnb|Cef
b|Jghief
b|cDdKef
f
'5+"!O_,-!!5+"!5-2"`!+-+
(#!'!,!'!$#
!a%
bfcDdKef
bfJghief
bCfGhlmCjmerLDfEMfKLBFHfLHDfoBHhKGHInb|Cef
bfMAFGCDef
EHADGgHfycBHILpLzDff
hgAEdLHDnILDKLdLHDithmCjmnGHHLFopqrlmtfcBLfKLBFHDfLHDfoBHhKGHInmf
f
bf|MAFGCDef
bfGHCEDfDiCLlmJEDDgHmfgHAKGAklmycBHILpLzDmfBKELlmycBHILfDLzDmef
bf|Jghieb|cDdKef
12
3456789
85
48
89
6
8
!"##$%&'('&)#)!* +,'('&)#-'."&/#''('&)"))0$1/)'#2
3456789:;<==>?@>@?;5@;AB@C8>CDE;9F9@G;GB;5;HIGGB@;98969@G
JKLMMNONOPQRPSTUVRWXQYZ[NOM\]^U_`aZRMJbKLMMNO_
c&)d''e"fgh'"1!('i"j/&.)$!&&"f'kVRWXQYZ[NOM\-$hh1''e'./)'k-d'&)d'
1/))!&$#.h$.l'k2
m n989
69n
o83
* +,pq+"hh!-#/#)!"##$%&'('&)#)!* +,'h'f'&)#/#$&%r"("s.0$g)2
3456789:;<==>?@>@?;5@;AB@C8>CDE;9F9@G;GB;5;HIGGB@;98969@G
JWPaRXM_
VNPLtuOMvwuMxQutuOMyZzV]UtZyMOU^vNOPQRPST{LOPMRNO]^|VRWXQYZ[NOM\]^}~
JbWPaRXM_
c&)d''e"fgh'"1!('i"j/&.)$!&&"f'kVRWXQYZ[NOM\$#"##$%&'k)!"&* +,
'h'f'&)-$)d)d'$kf)&2
89
385
49
d'#''('&)#"0')0$%%'0'k-d'&)d'/#'0'&)'0!0h'"('#
)d'g"%'
!&h!"k'('&)."&1'/#'k.d'.l10!-#'0)g'('0#$!&
!&h!"k "&kh!"k)d'g0!g'0('0#$!&!j-'1g"%'
!&/&h!"k !&h!"k"&k!&/&h!"k."&1'/#'k)!k'"h-$)d.!!l$'#
e"fgh'
!&.d"&%'
e"fgh'
JROXLMMZXuTUMuMURVTU{OYtuUNOP\YOwuTULXXuaYWu]^U_
!&f!/#'!('0 J\ MtQ_
!&f!/#'!/) J\N
JK VZ_
NOtNLWuNuaTUWMZQuvPNQNaTauVU
NOtNLWuNLMTUWMZQuvPNQNaTKQLuU_
[NLWuNuaM\RWMuMJb\_
JbKNVZ_
Jb\MtQ_
!&f!/#'k!-&
!&f!/#'/g
!&.h$.l
12
456789
9659
!"#$%&&'$&"!(
"&&')$*
+,-.,-/012,-.340,1,145//6/1478,9:3160704544;<==>>>?>@7:5,,A7?:,.=
BC96DE57FGF5HF9IIJ
1?KL-04/3;-,M-3.4,:531M/45/NOPQ/A/./149701M/6/147R
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
T?KL5343-/45/291:40,13A040/7;/-2,-./UV8,1A,3UWX31U,1Y;A,3UWXR
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
@?KZ[/:94/3\3637:-0;4V/2,-/45/V-,>7/-:A,7/745/U,:9./14?
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
]?KL-04/37:-0;44,3A/-445/^/8:,U/,245/^/8;-/77/U?
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
_?KL-04/3291:40,14,/[/:94/37:-0;44534:531M/745/:,A,-,2310.3M/>5/1
.,601M45/.,97/,6/-=,94,245/0.3M/R
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
`?KL-04/3291:40,14,-/49-145/48;/,2/6/144534,::9--/UR
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
xyz{|{}
~~9<67B9G:?{954946|5
9}L~~@9674><45=7@;4G:?
5?46<@7NI4<<4?JG69<4?J67BA:?4@7<4?65<@O4>4I6DD8@56<@:79>@<=<=4=48D:GJ
MJ67B6O65?@D<LP<;949MG:?5:7<47<67BG:?D?4947<6<@:7J69
>48869<=4H:5;A47<IC45<:B4867B6O65?@D<G:?BK76A@55:7<47<B@9D86KL
P79<67B6?B34I6DD8@56<@:79J<=4@7<4?65<@:7I4<>447<=45;9<:A4?67B<=494?O4?@9
9K75=?:7:;9LM=@9A4679<=6<:74=69<:=6DD476G<4?<=4:<=4?LPG65;9<:A4?58@5Q96
8@7QJ<=4?4;49<@9947<<:<=494?O4?J>=@5=<=47947B9<=4?49;8<9I65QL
3@<=~C6J<=46O65?@D<<=6<@98:6B4B>=47<=4D6N48:6B9=67B849A:9<:G<=4I69@5
<69Q99;5=69B6<6O68@B6<@:767BA67@D;86<@:7J69>48869B@9D86K?47B4?@7N<=4~C6
47N@74=67B849>@<=:;<6<?@D<:<=494?O4?L~<<=496A4<@A4<=6<@<@9A6Q@7NB@9D86K
5=67N49G:?<=45;9<:A4?J@<@9947B@7NB6<6I65Q67BG:?<=<:<=494?O4?L;<<=4B6<6
<?679G4?@97:<B4D47B47<;D:765<@:79:G<=45;9<:A4?L
M=4~C647N@74>:?Q9>@<=@7<=434II?:>94?E<=?:;N=6O65?@D<67B<=4HF<:
?47B4?<=434I6DD8@56<@:767B=67B8467K?4;49<9<=6<<=45;9<:A4?A@N=<=6O4:G
<=434I94?O4?L456;94<=4~C647N@74@9=67B8@7N<=4?4;49<9J@<567=:8BA:9<
@7G:?A6<@:7@7<=447N@74@<948GJ>=@84688:>@7N<=4@7<4?65<@:7>@<=<=46DD8@56<@:7
67B<=45;9<:A4?<:=6DD4795494667B@7B4D47B47<8K:G67K@7<4?65<@:7
>@<=<=494?O4?LM=4Q4KG46<;?4:G~C66DD8@56<@:7@9<=6<@<;94995?@D<4BMM<:
5:AA;7@56<4>@<=6>4I94?O4?>@<=:;<56;9@7ND6N49<:?48:6BL@754<=46A:;7<:G
B6<645=67N4B@9:G<479A68867B<=4I?:>94?B:497:<=6O4<:D6?9467B?47B4?6
B:5;A47<L~96?49;8<J<=4?49D:794<@A4@9N?46<8K@AD?:O4B67B<=@9?49;8<9@7
A6Q@7N>4I6DD8@56<@:79G448A:?48@Q4B49Q<:D6DD8@56<@:79L
4?4@9<=48@9<:GG6A:;9>4I6DD8@56<@:79>=@5=6?4;9@7N~~
448
7y448y547
~;94?567B?6N<=447<@?4A6DIK;9@7N<=4A:;94@79<46B:G58@5Q@7N:76I;<<:7:?
9:A4<=@7N
12
456789
9659
55979559658
!"#$%&'!!()%*+))!,,%-"((%#+!./0%#1%2--!*3%#!.24+(2#%#1%-%")#
856856658
'72+)+2.%*3+.8!,*%972+)&9"+)#!.#1%+8%2#12#%72+):2.9%7!-%+.#"+#+4%&
%,,+:+%.#2.8"%,")/
;96<=57>?>5>9@
1/A12#+BCDEEF+#!"##1%8+,,%-%.:%9%#*%%.BC 2.8B242G:-+$#/
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
I/A12#2-%#1%2842.#2(%!,BCD
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
J/K27%#1%9-!*%-#12#"$$!-#BCD
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
L/A12#2-%#1%)+7+#2#+!.!,M2ND
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHOO
PPQRST=
U.#1+".+#*%124%)%2-.#1!*#!"%#1%VWXFYZX #!723%!"-*%9+#%7!-%
8.27+:2.8+.#%-2:#+4%/A%124%2)!)%2-.%81!*#!72.+$")2#%VWXF%)%7%.#+.
-%$!.%!,8+,,%-%.#:%.2-+!2.8:-%2#%88.27+:*%9$2(%9 "+.(:-+$#!.#1%
:)+%.#[+.#1%9-!*%-\/A%(!##!3.!*29!"#BC*1+:1+2.%*#%:1.+]"%,!-
:-%2#+.(9%##%-&,2#%-&2.87!-%+.#%-2:#+4%*%92$$)+:2#+!.*+#1#1%1%)$!,CXF&
VWXF&^GG2.8B242G:-+$#/
PPPS_`aTb;ca;d=RT?TTa
PPPP;96<e57>>5>9P
1/W1%Y!:"7%.#Z9M%:#X!8%)[YZX\+2:-!f$)2#,!-72.8)2.("2(%f+.8%$%.8%.#
:!.4%.#+!.,!--%$-%%.#+.(2.8+.#%-2:#+.(*+#1!9M%:#+.VWXF&CVWXF 2.8
CXF 8!:"7%.#/A+#1 #1% Y!:"7%.#Z9M%:#X!8%)&$-!(-277%- :2. 9"+)8
8!:"7%.#&.24+(2#%#1%+-#-":#"-%&2.8288&7!8+,&!-8%)%#%%)%7%.#2.8:!.#%.#/
Z.%+7$!-#2.#!9M%:#+4%,!-#1%Y!:"7%.#Z9M%:#X!8%)+#!$-!4+8%2#2.82-8
$-!(-277+.(+.#%-,2:%#12#:2.9%"%8+.2*+8%42-+%# !,%.4+-!.7%.#2.8
2$$)+:2#+!./
I/W1%-%2-%#1-%%YZX)%4%)g
EW1%F%4%)hYZX&"$$!-#%8,-!7K%#:2$%I!.*2-89 2))9-!*%-/
12
3456789
85
48 !"#$#%&&'()#*&+,-&.+
/0)%#1# !"##*##((
23.4 !"$567 !"$#%&&'("8..,-&./
609 *%!':*".9#*#'*%##9':*.9#
%#.':*#;##<*%#.%#;
':*#$.*&###.(#%*%1*%$'%.#
'31*%':*#1*#*�
+0="2 !"1##(1**##;&%.;="2
*%#0 !"&##="2*%#>#%*%0
?@??@ABC85DE46FGF4HF8IIA
40 1%*%&&*#JKL
1J0(&MM6KNO-)ON
0M00P&&7#JKQ
.#L
3*.M0*.)#Q
NO.&%;*.$*%#3.(*..
1J3M2QR*.0.;QSSK
%&&*#J*.TUKQ
V
V
10 WXYZ[X\]^_Z`Zabcde^f[gh^[i]^e^f[jklXhfXe^mZn[X\]^oZpZq
X]^Y[mZnZlrs_Zabcde^f[Zcbf[Xsf_ZmZtZ[X\]^_g]^fh[rZtZn[X\]^_oZpq
60,-&.*;="2u'%'(%#;="2 !"
R.v
R'(v
wsehZsaZ`oseXh^oZ_YcZ`ob]ac]sxgyxhoz
w_cYsx[Z[kx^Z`ZnZyXWX_cYsx[oz
*%0;,.^f[jk{amnseXh^opg_YcZ`Znf^|c]sxgyxho
RN#*&v
RN'(v
RN.v
'3-&..;="2*%'(%#;M9;90
P#; !";.M9;90##*&..*;#*
'%1.*.&0;1*.&0:&;
+0 WXY[X\]^Z_^cbfa[X\]^ZZ`Zabcde^f[gh^[i]^e^f[jk{aZmZnZ}~ioZpq
3#M#*a[X\]^gh^[i]^e^f[jklXhfXe^mZnZ[YZnZpq
3.#M#0.;Q
/0 R.v
R'(v
12
456789
9659
!
"#$%
&#'&()
"*#$%
"*+,%
"*-%
.&"-%
"+,%
"$/0$20%1-234561-234561-23456&
1-23456"*$%
"$,$/0+07-/0890
-/0&:;-<,2'=$2=(&,-&7+-,/==0*%
"$,$/0+07-/0>90
-/0&:;-<,2'=$2=(&,-&7+-,/=7+-=0*%
"*+,%
"*-%
?@??@ABC96DE57FGF5HF9IIA
2&J;7#--,:#+,+##K 7
+L$--#- -&;7-##
-79&M9$- +-
:8MNO-7-!
"-%
"+,%
"$,$/0+0-/0&+,&+:-#/=:#=)0
7-/0:+:#-#0*%
"*+,%
"*-%
1&-'(6$-'(#P:7#7:
#::# ###-7$:&M-'(77#P,
QRSTUVWUXTYVWTZ[W\][T^_[_YTQUU`\S_RaTY`TYVWTb\`c[W\][TYdeWTQRST_YTf`QS[T7# P
7&2$#7+$:P# --,+
PP# #:#:7#::#&5 -'(
6$-'(7- 7-:7 +,#
##-7$:&
g&"-%
"%
"#$%
P +P#-'(
h
-#'01-23456i0()
j
"*#$%
"*%
"+,-/0+P#-'(0%
"2%1-234568k:"*2%
"$%k#lm#-$:5n-&"*$%
12
23456789
749
37
!"#$
%&'!#'!()*'+
,
")*'-.+/
0
!"#$
'-&$12!()*'+2
$3" -'&"-"4'"56#6-!%-
$" $
7
!"#$
%&'!#'8.'8)8+
,
!&'!-8"&'18/
0
!"#$
9&*" :&" '!-8"&'!"6#!'8;
6#121<<2#812=<<2
"
'&*"128.'8)>">+2
'&&128.'8)>"'$"'>+2
8!"12"2
'&*"128.'8)>&>+2
'&&128.'8)>"'$"'>+2
8!"12&2
'&*"128.'8)>8"'>+2
'&&128.'8)>"'$"'>+2
8!"128"'2
"
?%&'!#'8@$A%B*)*'+
,
")*'$+/
0
!"#$
11
456789
9659
!"#$%&'()*$+*$,"
&-./01/$0$2
%$&(*$$3/##3 /.. /.3$42&
$.
5655678996:;57<=<5><9??7
@2AB4/3*/$A03C*03/&$DEF2G$/ $0/H
$03$$$3I($33/$30$/* $3&&./0$/2AB4
03$$3(3$$J3 3$ 3*32KL3/#
MNOPNQRSRTSRUNSQNMVNMWSTXNSXNNYXZRS[\]RS^TMSRUNSMNQ_TXQN`SaRUNMST_NM\R]TXQSTXSRUNS_\bNS
0033/$L0IA032'$$3IC*03/&$
L%%cdH$$$3*3 /$(3$DEF3&2#2&&.$/#e$$
^]NfY`SgQ]XbSh\V\ijM]_RS[NSXNNYSRTSPQNSRUNSkaXjUX\bNlSNVNXRS[UNMNS\QSPQ]XbS\m\nWSRUNS
3H$/B$$$&&.$$$$./$2'$3&3$/0033/$$
AB4/&3$(C*e03/&$&3#3/#2C*e03/&$/$#
0$3. � .2AB4$$ /$(3$ .&#
$ .2
o(AB403000$/$$3*3/0$03/&$$3H$
02
12p.. /#3$*$#(AB4q
K J /$$/./r$/sG$*3 $$/($0(3$

K E3/$30$/*
K e&33$3/*.($
22p.. /#3 3&&3$ACADq
K G$3$)4&.33t2u*
K '&3v2w*
K x$0&v2@*
K e(3/@21*
y2F//$$/(ACADq
K z\j{S^PXjR]TX\f]R|Sj\XXTRS[TM{S}Nj\PQNSRUNSY|X\~]jS_\bNQSYTXZRSMNb]QRNMS
$.*$$3 3/$3#/
K %�$131/(/&.$/#AB42
K G(B*03/&$//.IAB4 /..$ 312
K J0/((3$0&$($.$/((3$$//$
03$0(/(3$32
12
3456789
85
48
!!"#$$%%%&%'&()*$%+,+$-./01+/*2343/!52%+!26.4.78)+"!9
!!"#$$%%%&%'58((15&8(:$9
!!"#$$5+:"13!:10(:&5(;)83<()*3&/3!$9
!!"#$$5!.8,(43)<1(%&8(:$9
!!"5#$$03431("3)&:(=+11.&()*$3/$0(85$>?@9
ABCDBEFGHIHFJKHFAHLHM1NNOPHQ/!3)/3!9R9S()109S+039S3T9-(%9!(9U)(*).:V9
W$3&XBLYZ[\]^_`LDC[\
aBbBZDLFcHdHM1NeePHU)(*).::+/*9!39S()109S+039S3TV9f$g&h^^CZ[\i
dBZEBjkXYB\DC`BGLEE
12
The Server Side
BLOCK INTRODUCTION Scripting
In the previous Block you have gone through the concepts related to web
programming scripting languages such as HTML5, XML, JavaScript etc. One
common point about these languages is that these languages are interpreted and
executed by the browser which results in display of web pages. When you
access a web page the client side script files are transferred from the web site
which is hosted on a web server to the client side through hypertext transfer
protocol. But are these files stored as similar files at the web server or they are
generated with the help of a programming language? This block attempts to
answer this question. Simply speaking, if the web site displays standard pages
to every client, the web server may just store these pages may be as standard
HTML tags. Such sites are sometimes referred to as static web sites. However,
in practice static web sites has limited uses and Web 2.0 web sites are more
dynamic and interactive. This means that the pages that may be created for a
client may change as per the need of the client, thus, you need some dynamism
at the web server level too. The languages that are used to create client pages at
the server, based on clients requirements may be categorized as the Server Side
Scripting Languages. Some of the common server side scripting languages are
PHP, JSP, SERVLET, ASP.NET, PYTHON and many more. In this Block, we
have used JSP as the server side scripting language. In this Block we will be
discussing about the server side scripting. This Block consists of four Units:
Unit 1 discusses the basic concepts relating to server side scripting. It explains
various enterprise level architectures, HTTP methods and the concept of web
container.
Unit 2 explains the basic directives and elements of JSP. It also explains the
concepts of expressions, and some basic JSP objects.
Unit 3 focusses on exception handling using JSP and use of cookies and
sessions in the content of JSP. It also introduces the concept of managing
emails using JSP.
Unit 4 presents an example of JSP that uses JDBC and database drivers. It also
explains how you can connect to databases and develop applications involving
databases.
5
Unit Continues from Page 7
6
The Server Side
UNIT 1: THE SERVER SIDE SCRIPTING Scripting
1.0 INTRODUCTION
In the last Block you have gone through the concepts of client side scripting. A client
side script is executed by a browser and displayed as per the stated format. Such code
however, in general is static in nature. In order to create dynamic web sites you need
to use server side scripting.
This unit explains the concepts of server side scripting. It first defines the need of
server side scripting. It explains various types of client server architectural model that
are being used to develop flexible dynamic applications. This Unit also describes the
role of various HTTP methods which help in transfer of data from the client side to
the server side. It also explains the concept of request and response primitives that
may be needed in a client server system. Finally the unit explains the concept of a web
container with the help of an example.
This Unit thus, provides the basic information about the server side scripting. The
remaining three Units of this Block are devoted to one server side scripting language
JSP. Please remember that this block only introduces you to the server side scripting.
This is one area where tools and technologies are changing at a very rapid rate,
therefore, you must keep learning about web programming through suggested further
readings on the WWW.
1.1 OBJECTIVES
Internet and specially World Wide Web is a major phenomenon of the last two
decades. It was first proposed in a paper written by Sir Tim Berner-Lee in the year
1989. The WWW proposal by him was aimed at better communication and was based
on the concept of hypertext a text that can be linked (called hyperlink) to other text
document. What should the basic requirements of WWW?
You must have visited WWW and would have visited many web sites. So just try to
identify what are the very basic requirements that might be needed for WWW. The
first and the foremost is the web address which is a unique address of a resource at a
website on WWW. This resource address is also called the Uniform Resource Locator
(URL). The second in this context would be a set of rules that allows transfer of the
resources (mostly files) from a website to the user. This set of rules was documented
as HyperText Transfer Protocol (HTTP). Thirdly, you must agree on some common
but simple computer language that allows consistent publishing of the contents (may
be in any spoken language). This common computer language is HyperText Markup
Language (HTML) which uses standard tags. Now, the question is how does a user
reach to a website and where does the website reside?
You as a user of WWW you need an Internet connection which should be running the
HTTP and TCP/IP protocols (recollect HTTP is the application layer protocol of
TCP/IP). You on your computer use a browser, type a website address which happens
to be a URL of a starting page(may be the default index page index.html) of the
website. The website responds by sending this page over the Internet and browser
interprets and displays this page for you. In the whole process, the browser at your
computer acts as a Client. The website obviously has to take the responsibility to
make sure that client gets the requested page, thus, serves the client. Thus, websites
are hosted on a Server. Since this server is of WWW commonly called web, the server
is called the Web Server. In effect, the basic architecture is the Client-Server
architecture. Figure 1 shows this architecture. Please note in the figure that there may
be many clients for a website.
The Internet
8
The implication of this architecture is that you can clearly identify three basic The Server Side
components viz. the Client, the Internet cloud and the Server. The technologies of all Scripting
these three components can be enhanced separately as long as they follow the three
basic tenets, those are, the resources should be named using a standard (URL), a
standard communication protocol is used (HTTP) and the contents are transferred to
the client using a standard tagging language (HTML). Even all these standards over
the period of time can be enhanced, but for this purposes newer client and server
software needs to be created. You can relate these facts to development of newer
secure protocols like HTTPS, creation and enhancement of client side scripting
languages and CSS, and server side scripting technologies. The tremendous growth of
WWW in terms of technologies can, thus, be attributed to the simple, flexible
architecture and basic technologies.
Today WWW consists of dynamic and interactive websites. A website can be made
dynamic using both the client-side and server-side scripting. On the client side many
technologies, like HTML5, CSS3, JavaScript, JSON, AJAX and many others, have
been developed. Some of these technologies have been studied by you in Block 1.
You must keep studying about these technologies form the WWW and keep updating
yourself. The client side scripting can be used to perform activities at the client site
that does not require information from the server. Some such activities may include
creating effects such as animations, simple games, changing display, and even
checking of information in forms that does not require checking at the server etc. The
client-side scripting not only helps in creating some visual effect on the client but also
reduces unnecessary communication between the client and server.
However, it is the Server-Side Scripting that has lead to major advances in website
design. The basic tenet of server side scripting is that to send a HTML file to a client
(browser), you need not store these files on the server as HTML files. Rather,
information can be collected from many sources including databases and HTML
document can be created and sent to the browser. This makes the websites very
dynamic as they can collect information and display formats as per the choices of the
clients. The input to server side script is the input obtained from the client. The server-
side script is executed at server using the resources of the servers. The final output is
created for a client and sent to it for display on the browser. Please note that server-
side scripting may generate different output for different browsers, if required. It
makes the process of creating web pages simple and programmable. Server side
scripting had helped in creating big e-commence based portals simpler to create and
deploy. Can you think of some basic usage of server-side scripting?
Some basic uses of server-side scripting include applications that require users to
login to system using a password. However, for such applications you also face
problems due to stateless nature of HTTP protocol. What does this stateless protocol
means?
It simply means that your current request to a server cannot be related to previous
request as in HTTP server is not required to retain information about your previous
requests. Therefore, if you are performing a transaction that requires multiple
requests, you need to make sure that the information of previous requests is duly
recorded. Thus, you need to make special provisions such as creating cookies or
sessions that help in performing such tasks. Unit 3 of this Block explains these
concepts in more details. However, you should know that the concept of stateless
protocol is extremely useful for Internet as storing states take space and time, and
given the size of internet and its users it would have made Internet very slow.
Server-side scripting is also very useful in extracting information from the user, may
be with the help of a form or otherwise, and processing the information for some
useful purpose. Suppose, you are interested in opening a web based email account,
then you may fill up an account opening request form of an e-mail service provider
9
like gmail, yahoo mail, rediffmail, etc. When you are filling up the form and commit
some catchable mistake, client side JavaScript caches the error. However, once you
submit the form and still an error is encountered, like duplicate user name, it can only
be caught by the server-side script.
Server-side scripting is also useful when you want to use a database as a backend to a
web based application. Databases are normally stored on a database server which can
be directly connected to the web server. Such kind of application has been discussed
in the Unit 4 of this Block.
Finally, just some basic advice on when to use client-side scripting and when to use
server-side scripting? The answer is very simple if a user interaction element of a
page can be processed without the need of any information from the web server, then
you use client-side scripts. It reduces the load on network traffic, but the client
hardware should be sufficiently fast to execute the client side script.
form of email service provide for obtaining the email access developing an e-
commerce application, then your selection of various products can be stored with the
help of login in a session using forms. Once you want to create the final bill, all the
information you have selected in various. However, client-side scripts are dependent
on browsers and are less secure. For secure applications, you should use server-side
scripting.
The objective of such a model is to clearly the division of work providing a flexible
and scalable model of computing. This model provides flexibility in the sense that a
new client can be added to whole system without much effort. The client only needs
to know what server to access through the network and how. Now, consider a client-
server environment in which you initially had only single digit number of clients,
therefore, one single server was able to serve all the clients. However, the application
became popular and hundreds of clients joined. In order to serve these clients you may
need to deploy more servers. The important point here is that you can scale the
number of servers based on the requirements. Thus, client-server model is a scalable
model of computing.
10
client tier of the web application. The following is an illustration of use of 2-tier The Server Side
architecture. Scripting
As a client, you use the client tier to submit your request for a web page or some data.
The client tier also checks, if you have permission to access the requested data. In
case, user has the access permission, the requested information details are passed to
the server, where the server-tier programs services the request sent by you (as a
client). Once the requested data is available, then it is sent back to the client. Please
note that display of data on your client computer is processed by the client tier of the
web application.
The 2-tier client-server applications are useful for distribution of work, however, they
require complex client implementations and number of communications between the
client and servers. With the popularity of Internet new web application architecture
was developed called n-Tier architecture. One of the most common n-tier architecture
is 3-tier architecture. Figure 3 shows 3-tier architecture.
Presentation Layer/Tier: The presentation tier of the three tier architecture interfaces
with the client. The presentation tier is responsible for displaying the information to
the client as well as extracting information from the client. Technically, for a web
based application the presentation tier resides on the web server on request the
presentation layer displays interactive web pages in the browser of client computers.
11
Application Logic Layer/ Tier: This is also called the middle ware. This layer is
primarily responsible to provide business rules, sharable components of a web
application, access control etc. This layer shields the data layer from direct use of the
clients. This layer provides an interface between the presentation and data layer.
Data Layer/Tier: The data for a web application may be hosted on a database
management system or a file system. The data layer controls the integrity of data
residing on some data storage system. The application logic sends queries to data
layer which sends back the query results to the application logic layer.
Data Layer/Web Server and Database The query is executed using a connection
12
Server with the database, and the results are The Server Side
returned to the web server. Scripting
Presentation Layer/ web server and client The presentation layer converts the data
computer into a HTML table or error message to an
error page. This page then is sent to client
computer and displayed in the browser.
An n-tier architecture in addition to the above three layers may have many more
application layers such as client presentation layer, entity class layer, persistence layer
etc. The more are the number of layers the more complex the system is, however,
more layers may bring better application flexibility.
In general, n-tier architectures results in more scalable, more secure (database access
is hidden) and better integrity based applications. However, they are more complex in
nature.
In the previous sub-section, you have gone through the concept of n-tier architecture.
In this section, we discuss an important architecture that is used by Java for web
application development. This architecture is known as Model-View-Controller
(MVC). This architecture can also be used for the development of a web application.
Figure 6 shows the component of web applications as per this architecture.
Sends updated
Information
Model View
Display Information
Controller
The MVC architecture has three functional component of a web application that
communicates through a user as well as among them. The following are the basic
components of MVC architecture:
13
Model: In the context of MVC a Model defines the data model and its access controls.
The main role of this component is to represent data and perform updates on it as per
the defined rules. The main responsibility of this component is to accept user requests
and the data entered by the user and perform the necessary data related function.
View: The function of the view will be to accept the data from the Model and convert
it to form that can be seen be a user in a user friendly way. Thus, view is responsible
for displaying web pages for the user. Any change in the model should also change
the view. This can be achieved using two processes -
Push processes allows views to register with a model and change in the data
of the model result in pushing the current data to view.
Pull process requires the view to get data current data from the model when
needed.
Controller: A user may be allowed to interact with the web pages created by the Vier
component. This interaction may be in the form of selection of options of Menu, pull
down lists, check boxes etc., filling up data in text boxes etc. It is the controller which
accepts this data from the user and initiates suitable actions that should be carried out
by the models.
Let us explain the MVC with the help of an illustration as shown in figure 7.
1) What is the need of Server side scripting? How is it different to client side
Scripting?
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
14
...................................................................................................................................... The Server Side
...................................................................................................................................... Scripting
In this section we will explain about the basic features needed for the server
side scripting languages. As discussed in section1.2, purpose of server-side
scripting is program the response of a server to the client side requests.
Therefore, the input to server side scripting would be the interactive data input
sent by the client using a web browser, and the output is the displayable web
page which are displayed at the clients browser.
The question that you need an answer is: What should be the elements of a
server side programming language? In order to answer this question, you need
to first look at the functions that may be performed by the server side scripting.
These are:
Some mechanism for accessing the data that has been transferred from
the client.
Creation of dynamic web pages in which server side scripting may
change the contents of a specific portion of a webpage
Processing of form data obtained from the client side, this data
sometimes may be used to store, update, and retrieve information from
the database. All these activities are performed by the server-side
scripting
Handling errors that may occur due to several reasons, such as database
access errors, data related errors, or other events.
Enforcing the data security and integrity and handling constraints.
Handling creation of sessions between client and server despite HTTP
is stateless protocol.
Creating output pages in a HTML or other client side language form.
15
Most of the web programming languages are object oriented
programming languages, therefore, they uses classes, objects,
inheritance hierarchy, containers, collections of classes, error handling
etc.
To communicate with the clients, they support some predefined
methods, primitives and protocols. This ensures that data entered by a
user is duly sent to a program that handles it. Most of the server side
programming languages call these data items as parameters and have
various ways to refer to these parameters.
A good website requires access to a database system to store, update
and retrieve data based on users request. A database is maintained
under the control of a DBMS. You are required to use a database driver
that makes possible the exchange between the web server and the
database server. These drivers must be connected through some
connection protocols (some of these protocols are Open DataBase
Connectivity (ODBC) and Java DataBase Connectivity (JDBC)). Thus,
a server side script must have classes for driver specification and
connection establishment. In addition, server-side scripting support
constructs to create and execute SQL commands through these
connections and obtain the resulting data tables. But how to access
individual data records and attributes? Thus, every server-side scripting
must support tools to access data records or rows and attributes or
columns.
Since HTTP is a stateless protocol, therefore, you need to establish
sessions or create cookies (These will be discussed in Unit 3 of this
Block). Thus, server side scripting must have classes/mechanisms to
deal with sessions and cookies.
Server side script produces output for the browser, therefore, such
classes or commands must exist in such languages.
Thus, server-side scripting requires extensive features on part of its tools.
Some of the most popular server-side scripting languages include ASP.NET,
PHP, JSP and SERVLETS, Perl and many more. There are a number of tools
that integrate complete web development environment including web servers.
Some such IDEs are Eclispse, Netbeans, and Vistual Studio Express etc. A
detailed discussion on these tools is beyond the scope of this Unit. You will be
learning more about JSP in this Block. However, you may learn and use other
languages also as many of the concepts are of similar nature.
In the previous sections, you have been explained about the client-server architectures
and the features of the language required for web application development. In these
sections, you have been told that data from the client is passed to the server using a
protocol. In this section, we define some of the basic methods that make this
communication possible.
HyperText Transfer Protocol (HTTP) is the protocol that is used for WWW. HTTP is
an application level protocol. What is an application level protocol? Please find out
answer to this question from BCS041: Fundamentals of Computer Networks. Present
version that is in use is HTTP/1.1
16
HTTP uses a request-response method of communication. As a client, you type in the The Server Side
URL of a website, for example, http://www.ignou.ac.in, you are initiating a request Scripting
from the web server
below:
2) Create chi square-distribution for the data given in Figure 9 of this section using a
spreadsheet package.
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
3) Create F-distribution for the data given in Figure 10 of this section using a
spreadsheet package
......................................................................................................................................
......................................................................................................................................
......................................................................................................................................
1) Develop all the spreadsheets as shown in Figure 11 to Figure 14. Can you now
make effective use of names for ranges instead of cell references?
.........................................................................................................................................
.........................................................................................................................................
.........................................................................................................................................
1.8 SUMMARY
This section has been an attempt to provide you details on some of the basic concepts
17
1.9 ANSWERS TO CHECK YOUR PROGRESS
Three-
From a historical perspective the three-tier architecture concept emerged in the 1990s from
observations of distributed systems (e.g., web applications) where the client, middle ware
and data tiers ran on physically separate platforms. Whereas MVC comes from the
previous decade (by work at Xerox PARC in the late 1970s and early 1980s) and is based
on observations of applications that ran on a single graphical workstation; MVC was
applied to distributed applications later in its history (see Model 2).
Today, MVC and similar model-view-presenter (MVP) are Separation of Concerns design
patterns that apply exclusively to the presentation layer of a larger system. In simple
scenarios MVC may represent the primary design of a system, reaching directly into the
database; however, in most scenarios the Controller and Model in MVC have a loose
dependency on either a Service or Data layer/tier. This is all about Client-Server
architecture.
Please use any spreadsheet package and enter all the data as shown in
download the file containing all these figures. Find out what formulas have
been entered. Also find the errors in the entry of formula. You may define cell
ranges and use in formulas.
Web link:
www.wikipedia.org
19
20
___________________________________________________________________________
UNIT 2 JSP - Basic
Structure
2.0 Introduction
2.1 Objective
2.2 JSP: An Introduction
2.3 JSP Life Cycle
2.4 Elements of JSP
2.4.1 Directives
2.4.1.1 page Directive
2.4.1.2 include Directive
2.4.1.3 taglib Directive
2.4.2 Scripting
2.4.2.1 Declarations
2.4.2.2 Expressions
2.4.2.3 Scriptlets
2.4.3 Action Elements
2.4.3.1 jsp:useBean
2.4.3.2 jsp:setProperty
2.4.3.3 jsp:getProperty
2.4.3.4 jsp:param
2.4.3.5 jsp:include
2.4.3.6 jsp:forward
2.4.3.7 jsp:plugin
2.4.3.8 jsp:fallback
2.5 Comments and Template Data
2.6 JSP Implicit Object
2.6.1 request
2.6.2 response
2.6.3 session
2.6.4 application
2.6.5 page
2.6.6 pageContext
2.6.7 out
2.6.8 config
2.6.9 exception
2.7 Complete Example
2.8 Summary
2.9 Solutions/Answers
________________________________________________________________
2.0 Introduction
In the previous block, you have learned that how to create HTML web pages. It is static
pages. When you will include java code inside the html page, it becomes Java Server Pages
(or JSP). Java Server Pages are simple but powerful technology used to generate dynamic
web pages. Dynamic web pages are different from static web pages in that web server will
create a web page when it is requested by a client or user. For example, your online results on
IGNOU website, the page for every student instead IGNOU web server dynamically creates a
page depending on your roll number.
1
JSP is released in 1999 by SUN Microsystems. JSP is a technology for developing web
pages. JSP is similar to PHP, but it uses the Java programming language. It follows the
characteristics of Java write once and run anywhere. JSP pages are platform independent
means it can run in any platform. It enables you to add dynamically generated content with
static html. In addition to html, JSP page are built using different components viz., directives,
scripting elements, standard actions and implicit objects. This unit covers how to create a JSP
page. It also provides a basic understanding of Java Bean, custom tag and life cycle of Java
Server Page.
___________________________________________________________________________
2.1 Objectives
2
It allows programmers to insert the
Java code directly into the JSP file that makes the development process easier.
JSP support element based dynamic
content that allows programmers to develop custom tags libraries to satisfy
application needs.
Content and display logic are
separated
JSP pages can be used in
conjunction with servlet that handle business logic.
You simply write the regular html with the extension *.jsp. The following code contains a
simple example of a JSP page:
You can see the above program which looks like any other HTML page with some added JSP
elements that allow the server to insert dynamic content in the page. When client send a
request for a JSP page, the server executes a JSP page elements merges with static contents
and sends the dynamically page back to the client browser, as illustrated in figure-1.
The JSP technology is based on JSP API (Application Programming Interface) that consists
of two packages i.e. javax.servlet.jsp and javax.servlet.jsp.tagext packages. In addition to
these two packages, JSP also needs two packages of servlet such as javax.servlet and
javax.servlet.http. Apart from these interfaces and classes, the two exception classes:
JspException and JspError are also defined in JSP API. The javax.servlet.jsp package has two
interfaces such as HttpJspPage and JspPage and four classes: JspEngineInfo,
JspFactory,JspWriter and PageContext. The jspInit() and jspDestroy() methods are defined in
JspPage interface and _jspService() method is in HttpJspPage interface. The
javax.servlet.jsp.tagext contains classes and interfaces for the definition of Java Server Pages
Tag Libraries.
__________________________________________________________________________
2.3 JSP Life Cycle
3
______________________________________________________________________________________________________________________________________________________
In this section, you will go through the life cycle of JSP and see how a JSP page is displayed.
When the JSP is first accessed, it is translated into corresponding servlet (i.e. java class) and
compiled, then JSP page services request as a servlet. The translation of JSP page is done by
the JSP engine of the underlying web container/servlet container (eg. Tomcat). The following
figure-3 shows that how a JSP page is processed.
The life cycle of JSP page is controlled by three methods i.e. jspInit(), _jspService() and
jspDestroy().
jspInit() - The jspInit() method is same as the init() method of servlet and it is called only
once during life cycle of a JSP/Servlet. It is used to initialize objects and variables that are
used throughout the life cycle of JSP. This method is defined in JspPage interface. This
method is invoked when the JSP page is initialized. Once the JSP page is initialized, the
getServletConfig() method will return the desired value. It has no parameters, return no value
and thrown no exceptions. The signature of the method is as follows:
_jspService() _jspService() is the method which is called every time the JSP page is
requested to serve a request. This method is defined in the javax.servlet.jsp.HttpJspPage
interface. This method takes HttpServletRequest and HttpServletResponse objects as an
arguments. The _jspService() method corresponds to the body of the JSP page. It is defined
automatically by the processor and should never be redefined by the JSP author. It returns no
value. The underscore (_) signifies that you can not override this method. The signature of
the method is as follows:
public void _jspService(
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws javax.servlet.ServletException, java.io.IOException
{
// services handling code
} 4
jspDestroy()- The jspDestroy() is invoked when the JSP page is to be terminated. It is
synonymous with the destroy() method of a servlet. It has no parameters, return no value and
thrown no exceptions. Override jspDestroy() when you need to perform any cleanup, such as
releasing database connections or closing open files. The signature of the method is as
follows:
5
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
________________________________________________________________
2.4 Elements of JSP
In this section, we are going to introduce the elements of JSP that make up a JSP page. There
are three types of JSP components such as directives, expressions and scriptlets. A directive
affects the overall structure of the JSP page. They are discussed in detail in the following
sections:
2.4.1 Directives
Directives are used as guiding the JSP container for translating and compilation of JSP page.
It appears at the top of the page. Using directives, the container translate a JSP page into
corresponding servlet. They do not directly produce any output. A directive contains one or
more attribute name/value pairs. Directives are defined by using <%@ and %> tags.
Directives have the following syntax:
There are three types of directives currently used in JSP document: page, include and taglib.
Each one of these directives and their attributes are defined in following sections:
6
autoFlush=true|false The default is true. It means that the out buffer will be
automatically flushed when full. If it is false, it will be raised
an exception when buffer is full.
Info=text If this attribute is used, the servlets will override the
getServletInfo() method.
errorPage=error_page_url This attribute defined the relative URL to JSP document that will
handle exception.
isErrorPage=true|false This attribute indicates whether the current page can act as an
error page for another JSP page. The default is false.
isThreadSafe=true|false The default value is true. It indicates that the page can service
more than request at a time. When it is false, the
SingleThreadModel is used.
This page directive instructs the web container to import java.io package and java.util.Date
class. It also instructs the web container to set buffer size to 16k and turn off autoflushing.
You can specify multiple page directives in your JSP document, such as the following:
In the above examples of page directives, the first directive statement tells the web container
to import java.util.Date class and to set information about the JSP page which is retrieved by
getServletInfo() method. The value of the info attribute will be a text string. The second page
directive statement define a name of error page which is used for handling errors and set the
buffer size in 16 kb.
The uri attribute defines an absolute or relative uri of tag library descriptor (TLD) file and the
prefix attribute defines the string that will identify a custom tag instance.
To use customs tags in a JSP page, you need to know four components that make use of the
custom tags. These are:
1) Tag handler class Uniform Resource Locator
(URL) is a specialization of
2) Tag library descriptor file URI. It includes location as
3) JSP file well as protocol to retrieve the
resource. For eg. http://www.
4) Deployment descriptor file (web.xml) worldofscience.in/pacnt.aspx
8
in TLD file because it specifies the name of the tag and class name of the tag. You can define
more than one tag element in the same TLD file.
Deployment Descriptor file (web.xml) -
The deployment descriptor is an xml file that specifies the configuration details of the tag.
The most important element for custom tag in web.xml file is <taglib-location>. Using the
web.xml, the JSP container can find the name and location of the TLD file.
A JSP file -
Once, you have created tag handler java class, a tag descriptor file and define configuration
details in deployment descriptor file and then you have to write a JSP file that makes use of
the custom tag.
Here are some steps for generating a simple custom tag. Now, follows the following five easy
steps:
Step-1: write and compile a java class called MyCustomTag.java which is given in following
program source. The class file must be placed in the directory say customTag under the
WEB-INF/classes directory.
package customTag;
import javax.servlet.jsp.*; Uniform Resource
Name (URN) is used
import javax.servlet.jsp.tagext.*; to identify a resource
public class MyCustomTag extends TagSupport { independent of its
public int doEndTag() throws JspException { location. It is subset
JspWriter out = pageContext.getOut(); of URI. It does not
try { out.println("Hello from custom tag"); } include protocol. For
Ex. ISBN no. which
catch(Exception e) {} is used to uniquely
return super.doEndTag(); identify a book.
}//doEndTag()
} //main class
Step-2: Create a TLD file named taglib.tld as shown in following program source and save it
in WEB-INF directory.
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library
1.2//EN" "http://java.sun.com/j2ee/dtd/web-jsptaglibrary_1_2.dtd">
<taglib><tlib-version>1.0</tlib-version><jsp-version>1.2</jsp-version>
<short-name></short-name> <tag> <name>myTag</name>
<tagclass>customTag.MyCustomTag</tagclass></tag> </taglib>
Step-3: Create a JSP file named CustomTag.jsp that contains the following code:
<html><body><%@ taglib uri="/myTLD" prefix="easy" %>
<easy:myTag /></body></html>
Step-4: Place the following code in web.xml under the <web-app> root element.
<taglib> <taglib-uri> /myTLD </taglib-uri>
<taglib-location>/WEB-INF/taglib.tld </taglib-location>
</taglib>
9
Step-5: Start server say Tomcat (if you are using this). Open web browser and run the JSP
page. The following screen comes as an output for a simple custom tag.
When the user requests the JSP page, the JSP container first sees the taglib directive and gets
the taglib uri. On the basis of this, JSP container looks into the web.xml file to find taglib
location and continues the processing and get the name of tag. After getting the name and
location of TLD file, it obtains the java class. Now, the JSP container loads the class for
custom tag and continues the processing.
________________________________________________________________
2.4.2 Scripting Elements
Scripting elements allow you to insert java code fragments directly into an HTML page. You
can specify three ways to include java code into your JSP document, such as declarations,
expression and scriptlets. Each of these scripting elements has an appropriate location in the
generated servlet. These are discussed in more detail in following sections:
2.4.2.1 Declarations
As its name implies, declarations are used to declare the variables and methods that can be
used in the JSP document. The declaration part is initialized when the JSP document is
initialized. After the initialization, they are available to other expressions, declaration and
scriptlets. A declaration is start with a <%! and end with a %>. The syntax of the declaration
is as follows:
When the above code is automatically compiled and converted from JSP code to servlet, the
declaration part of JSP page is included in the declaration section of the generated servlet.
10
The first declaration statement is used to defined a variable as string type with initial value
socis and second statement is defined a string type method named get Name().
2.4.2.2 Expressions
An Expression is an instruction to the web container to execute the code within the
expression and to display the resulting data at the expressions referenced position in the JSP
document. Expressions are evaluated at request time i.e. run time. The syntax of the
expression is as follows:
<html><body>
<%! String name = new String("SOCIS"); %>
<%! public String getName() { return name; } %>
Hello <b><%= getName()%></b><br/><%= new java.util.Date() %>
</body></html>
When the above code is complied and converted to servlet code and then expression part is
placed in its referenced position of the generated servlets _jspService() method.
2.4.2.3 Scriptlets
In scriptlets, all the scripting elements are brings together. It is executed at the request time
and makes use of declaration, expressions and JavaBeans. You can write scriptlets anywhere
in a page. It contains a valid java statements within the <% and %> tag and get inserted into
the _jspService() method of generated servlet.
The syntax of the scriptlet is as follows:
11
For example: The following example will demonstrate the number series from 1 to 3.
<html><body><p>Counting to 1- 3 :</p>
<% for (int i=1; i<=3; i++) {%><p>This number is <%= i %>.</p>
<% } %></body></html>
________________________________________________________________
2.4.3 Actions Elements
Action elements (or standard actions) are tags that can be embedded in a JSP document. At
the compile time, they are replaced by java code.
Before going to start learning about how you can add Java Bean in JSP page, you must take a
look at what a bean is. A Java Bean is nothing more than a java class. It is reusable
component that work on any Java Virtual Machine. For the creation of Java Bean, you must
create a java class that implements java.io.Serializable interface and uses public get/set
methods to show its properties.
2.4.3.1 <jsp:useBean>
The first JSP standard action (identified by jsp prefix) is <jsp:useBean>. This action is used
to include an instance of java bean within java server pages. The syntax of the <jsp:useBean>
action is as follows:
<jsp:useBean id=name
scope=page | request | session | application
typeSpecification>
body
</jsp:useBean>
Attribute Description
12
id It represents name of the object. This attribute is required.
scope It defined the scope of the object. It may be page, request, session or application.
This attribute is optional. By default, it is page.
Class This attribute represents the fully qualified class name of the object. The class
name is case sensitive.
type It specifies the type of object. The value of this attribute is equal to class, a super
class of class or an interface implemented by the class. If it is not specified then
same as class attribute.
beanName It is the name of bean.
The scope attribute of Java Bean means how long the object is available and if it is available
than only for a single user or all application users JSP provides different scope for sharing
data between web pages. These are:
Page - page scope means, the JSP object can be accessed only from
within the same page where it is created. By default, it is page. JSP implicit objects
out, exception, response, pageContext, config and page have page scope.
Request The object is available to current JSP and to any JSP or
Servlet that control is forward to and included from. Only Implicit object request has
the request scope.
Session JSP object is accessible from any JSP within the same session.
Implicit object session has the session scope.
Application - JSP object is accessible from any JSP within the same
web application. Implicit object application has the application scope.
2.4.3.2 <jsp:setProperty>
This action is used to sets the Java Beans property value. The syntax for this action is as
follows:
property=* |
property=propertyName |
property=propertyName param=parameterName |
property=propertyName value=propertyValue
Following table contains the attributes of the <jsp: setProperty > action:
Attribute Description
name It represents name of the bean instance defined in <jsp:useBean> action.
property It specifies the name of property being set. This attribute is required. If it is an
asterisk (*) then it is used to set all properties of bean. You can also specify the
specific bean property.
param This attribute represents the name of parameter.
value It specifies the value assigned to the named beans property.
2.4.3.3 <jsp:getProperty>
13
Once you have defined a bean and given it a name using the <jsp:useBean> action. Now, you
can get the beans property values with another standard action <jsp:getProperty>. This action
is used to get the property value from a Java Beans and add to the response body. The syntax
for this action is as follows:
Following table contains the attributes of the <jsp: getProperty > action:
Attribute Description
name It represents name of the bean instance defined in <jsp:useBean> action.
property This attributes represents the specific property within bean.
Following is the simple Java Bean example that store student name.
Lets create a Java Bean named student.java and place class file under WEB-
INF/classes/bean1 directory.
package bean1;
public class student {
private String name;
public String getName() { return name;}
public void setName(String name) { this.name=name;}}
Now, you can access the properties of the Java Bean from a JSP.
<html><body>
<jsp:useBean id="myBean" class="bean1.student" scope ="session" />
<jsp:setProperty name="myBean" property="name" value="Poonam" />
Welcome to this Unit, <jsp:getProperty name="myBean" property="name" />
, Please visit egyankosh.ignou.ac.in to get more.
</body></html>
You have learned the standard actions specific to a Java Bean. The remaining actions are
defined in the following sections. Using the following standard actions, you can dynamically
insert a resource into a current JSP page, forward the current request to another page or add
bean/applet in a page.
2.4.3.4 <jsp:param>
The <jsp:param> action tag defines the name/value pair of parameter to be passed to an
included or forwarded JSP document or a page that uses the <jsp:plugin> tag.
2.5.2 <jsp:include>
JSP supports two types of include: static and dynamic. In the previous section, you have
already been studied the static include i.e. include directive. In static include, the content of
included JSP code is inserted into the including JSP (or current JSP Document) at the
translation time. After the content of included JSP is processed, the content included in JSP
file does not change until the included file is changed and server is restarted. While in
dynamic include, the content is included at the request time. This means that it is a
mechanism for including static as well as dynamic content in the current JSP document such
as static HTML, JSP or Servlet. This is done by <jsp:include> action element.
Dynamic includes are performed using the following syntax:
In the above syntax, page attribute defines the path of the resource to be included and flush
attribute indicates whether the buffer is flushed. It is an optional parameter. The first syntax is
used when <jsp:include> does not have a parameter name/value pair. If you want to pass the
parameter to the included resource, use the second syntax.
For example:
<html><head><title>Student Information</title></head><body>
<h2>JSP Include Example</h2><table><tr><td>
<jsp:include page="head.jsp" flush="true">
<jsp:param name="student" value="Poonam"/>
<jsp:param name="prg" value="BCA"/>
</jsp:include>
</td></tr><tr><td>Course Name:BCS-053</td></tr></table>
</body></html>
15
Figure 10: JSP Include Example
2.5.3 <jsp:forward>
The <jsp:forward> action is used to terminates the current execution of JSP page and transfer
the control to the another JSP page within the same application. It may be static or dynamic
page or resource. It can be used with <jsp:param> tag. The <jsp:param> is used for providing
the values for parameters in the request to be used for forwarding.
For example:
</body></html>
Source code for head.jsp file is same as in the above <jsp:include> example. Enter the
following URL into your browser to see the result.
http://localhost:8080/BCS053/jsp/jspForward.jsp?city=delhi
16
2.5.4 <jsp:plugin>
The <jsp:plugin> action element is used to insert java component such as Applets and
JavaBean in JSP page. The <jsp:param> is also used with action element to send parameters
to Applet or Bean. Following is the syntax of <jsp:plugin> action:
In the above syntax, type attribute indicates the type of plugin to include in JSP page, code
attribute represent the name of class file and codebase attribute is the path of where the code
attribute can be found.
2.5.3 <jsp:fallback>
The <jsp:fallback> action is used only with the <jsp:plugin> action element. It provides
alternative text to the browser.
For example: <jsp:fallback> Unable to see plugin </jsp:fallback>
17
Check Your Progress 2
1. Write the names of JSP components with their syntax.
----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
2. What are Standard actions in JSP? Explain the standard action specific to Java Bean.
----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
3. What is difference between JSP include and include directive?
----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
4. What is declaration scripting element? Explain with example.
----------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
5. Write a program which will demonstrate the use of <jsp:include> with <jsp:param> action.
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
________________________________________________________________
2.6 Comments and Template Data
JSP Comments
Commenting is a part of good programming practice. Comments help in understanding what
is actually code doing. You can write comments in JSP like the following way:
This comments tag is used within a Java Server Page for documentation purpose. It tells the
JSP container to ignore the comment part from compilation, so it does not appear in the
resulting java code.
<!-- HTML comment --> This HTML comment is treated by JSP container as just like
another html tag. It is not a JSP comment. It can be viewed through the web browsers "view
source" option.
/* java comment */ or // used inside the scriptlets tag is also not a JSP comment. This is
a java comment. This comments are not translated by JSP container and therefore do not
appear on the client side web document.
For example:
<html><body>
<%-- This is JSP comment not visible in the page source --%>
<!-- This HTML Comment - visible only in the page source
<% out.println("Welcome in JSP World" ); %> -->
<% //This is single line comment under the scriptlet %>
<% /* out.println("This comment is used for multiple lines."); */ %>
18
Program output:
________________________________________________________________
2.7 JSP Implicit Object
JSP Implicit objects are the java objects that are available for the use in JSP document to
developers and they can call them directly without being declared first. These objects are also
called predefined variables. These variables are parsed by JSP engine and inserted into
generated servlet as if you defined them yourself. These objects are used within the scriptlets
and expressions of the JSP page. These implicit objects are defined in the servlet
specifications javax.servlet.http package, two are part of the JSP javax.servlet.jsp package
and some is in Java core API.
JSP supports implicit objects which are listed below:
Implicit Object Type
request javax.servlet.HttpServletRequest
response javax.servlet.HttpServletResponse
session javax.servlet.http.HttpSession
application javax.servlet.ServletContext
page javax.servlet.jsp.HttpJspPage
pageContext javax.servlet.jsp.pageContext
out javax.servlet.jsp.JspWriter
config javax.servlet.http.servletConfig
exception java.lang.throwable
19
2.7.1 request Object
The request object is an instance of HttpServletRequest interface. This object is used to
retrieves the values that the client browser passed to the server during HTTP request such as
cookies, headers or parameters associated with the request. The most common use of request
object is to access query string values. You can do this by calling the getParameter() method.
You have already seen the example of request.getParamater() method in <jsp:include> and
<jsp:forward>.
For example:
http://localhost:8080/BCS053/jsp/reqObject.jsp?poonam
In the above program, getQueryString() method of request object is used to return the query
string from the request.
<% response.sendRedirect(http://www.ignou.ac.in);%>
When the above code is run in Tomcat server, the sendRedirect() method of the
javax.servlet.HttpServletResponse to redirect the user to a different URL. In this case, control
transfer to IGNOU website.
20
information about a series of request from the same user. This can be done by URL rewriting,
cookies, hidden form fields and session.
It provides a single point of access to many of the page attribute such as directives
information, buffering information, errorPageURL and page scope. It is also provides a
convenient place to store shared data. This object stores references to the request and
response objects for each request. The PageContext class defines several fields, including
PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, and APPLICATION_SCOPE,
which identify the four scopes.
21
1. What are the implicit objects?
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
2. What is request object? Explain with example.
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
3. Which implicit object allows the storage of values in an associated hash table?
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
4. Write a JSP program for odd numbers.
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
5. Write a JSP program for displaying a Remote address using scriptlets.
----------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
________________________________________________________________
2.8 Complete Example
The following program is displayed a JSP login page which accepted login information from
the user and count the number of times user visit the page.
Source code for header.html
<html><head><title>BCA:BCS-053</title>
<style>h1{text-align:center}</style>
</head><body><table><tr><td><img src="logo.jpg" /></td><td>
<h1>Indira Gandhi National Open
University</h1></td></tr></table></body></html>
<html><head><title>BCA:BCS-053</title></head><body>
<%@ page language="java" %>
<jsp:useBean id="counter" scope="session" class="bean1.visitCount" />
<jsp:setProperty name="counter" property="count" param="count" />
<footer><hr> © 2013 IGNOU</footer>
Visitor Count:
<jsp:getProperty name="counter" property="count" />
</body></html>
22
Source code for main.jsp
<html><head><title>BCA:BCS-053</title></head><body>
<%@ include file="header.html" %>
<form action="actionJsp.jsp">
<fieldset ><legend>Login Details</legend>
Username <input type="text" name="uname"/><br>
Password <input type="password" name="pwd"/> <br></fieldset>
<input type="submit" value="submit"> </form><br>
<jsp:include page="footer.jsp" />
</body></html>
<html><head><title>BCA:BCS-053</title></head><body>
<%@ include file="header.html" %>
<% // Get the User Name from the request
out.println("<b>User Name:</b>" + request.getParameter("uname"));
out.println("<br>");
// Get the Password from the request
out.println("<b>Password:</b>" + request.getParameter("pwd")); %>
</body></html>
When you will click on the submit button of the above form, the following screen will be
displayed with the login information.
The above example contains many small program files such as header.html, visitCount.java,
footer.jsp, main.jsp and actionJsp.jsp. The header file is used for displaying a heading for the
23
program page. In visitCount.java, visitCount is a Java Bean class that acts as a visitor
counter. It has a single int type property, count that holds the current number of times the
beans property has been accessed. This program also contains the methods for getting and
setting the count property. In footer.jsp, the visitCount bean is integrate with JSP page using
the <jsp:useBean> standard action. Other two action elements <jsp:setProperty> and
<jsp:getProperty> are also defined for the count property. In main.jsp, header and footer files
are included by using the include directive and include action. Two input form control is
defined for accepting the users login information. Another file actionJsp.jsp is also included
in main program. When you will run main program named main.jsp, it will show you a form,
in which you fill information and submit the form.
________________________________________________________________
2.9 Summary
In this unit, you have covered the basics of Java Server Pages. Now, you have known that the
JSP technology is used to create web application. It is an extension of the servlet because it
provides more functionality then servlet. Aside from the regular HTML, there are three types
of JSP component that you embed in your document i.e. directives, scripting elements and
actions. Directives are used to control overall structure of the JSP page. You have learned
three types of scripting elements such as declaration, expression, and scriptlets. Some
Standard actions are specific to Java Bean and other actions are used to include or forward
request, add applets or plugin within JSP page. You have also learned about the objects that
are available for use in scriptlet or expression without being declared. Now, you have able to
create a web page in JSP and also able to create/access a Java Bean within the JSP.
________________________________________________________________
2.10 Solutions/Answers
Ans1: JSP page contains JSP technology specific elements as well as static HTML or XML
tags. A JSP page has extension .jsp which tells the web server that the JSP engine will
process elements on this page.
Ans2: Both Servlet and JSP are server side technology but the development process of JSP
page is easier than Servlet. The content and display logic is separated in a JSP page and you
can insert directly java code inside the JSP page while in servlet, you can write java code
with plain html using plenty of out.println() statement for front end display of the page which
is very tedious work. Another advantage of JSP page over the Servlet is that the JSP page can
use custom tags while in Servlet, it is not possible. The power of JSP is to provide a
framework for Web application development.
Ans4: When a client requests a JSP page, the browser sends a request to web server which
is forwarded to the JSP engine. If it is a new request from the client then it translated and
compiled by the JSP engine into a servlet. Now, servlet is ready for servicing the client
24
request and generates response which returns back to the browser via web server. For the
second time same request from the client including browser and web server request to JSP
engine, the JSP engine determines the request that the JSP-Servlet is up to date, it
immediately passes control to the respective JSP-Servlet.
Ans2: The standard actions are tags that are embedded in a JSP page such as forward,
include and many more. It is also called as action elements. You can dynamically insert a file,
reuse a Java Bean, forward or include a request to/from the other page. There are three action
elements specific to Java Bean i.e. <jsp:useBean>, <jsp:setProperty> and <jsp:getProperty>.
For more detail, pl. refers to 2.4.3 section.
Ans3: This include directive is used to insert text and code at the translation time. You can
not pass the parameter in this directive. The syntax is: <%@ include file=relativeURL %>
The include action is used to include static as well as dynamic content in the current JSP page
at the request or run time. You can pass the parameter using param action. The syntax is :
Ans4: The declaration tag is used to declare variables and methods which are placed inside
the declaration part of the generated servlet. In JSP page, the declaration tag is start with <%!
and end with %>. The code inside this tag must end with semicolon. For example:
25
</body></html>
26