aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--libarchive/archive_read_support_format_rar.c1
-rw-r--r--libarchive/archive_read_support_format_rar5.c17
-rw-r--r--libarchive/config_freebsd.h1
-rw-r--r--libarchive/test/test_read_format_rar.c29
-rw-r--r--libarchive/test/test_read_format_rar5.c21
-rw-r--r--libarchive/test/test_read_format_rar5_different_window_size.rar.uu675
-rw-r--r--libarchive/test/test_read_format_rar_ppmd_use_after_free2.rar.uu10
8 files changed, 750 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am
index da78b24acb51..76703e4fe1b4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -826,6 +826,7 @@ libarchive_test_EXTRA_DIST=\
libarchive/test/test_read_format_rar_noeof.rar.uu \
libarchive/test/test_read_format_rar_ppmd_lzss_conversion.rar.uu \
libarchive/test/test_read_format_rar_ppmd_use_after_free.rar.uu \
+ libarchive/test/test_read_format_rar_ppmd_use_after_free2.rar.uu \
libarchive/test/test_read_format_rar_sfx.exe.uu \
libarchive/test/test_read_format_rar_subblock.rar.uu \
libarchive/test/test_read_format_rar_unicode.rar.uu \
@@ -833,6 +834,7 @@ libarchive_test_EXTRA_DIST=\
libarchive/test/test_read_format_rar5_arm.rar.uu \
libarchive/test/test_read_format_rar5_blake2.rar.uu \
libarchive/test/test_read_format_rar5_compressed.rar.uu \
+ libarchive/test/test_read_format_rar5_different_window_size.rar.uu \
libarchive/test/test_read_format_rar5_distance_overflow.rar.uu \
libarchive/test/test_read_format_rar5_extra_field_version.rar.uu \
libarchive/test/test_read_format_rar5_fileattr.rar.uu \
diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
index 49360876c2ac..41e5a3cadd90 100644
--- a/libarchive/archive_read_support_format_rar.c
+++ b/libarchive/archive_read_support_format_rar.c
@@ -1027,6 +1027,7 @@ archive_read_format_rar_read_data(struct archive_read *a, const void **buff,
if (ret != ARCHIVE_OK && ret != ARCHIVE_WARN) {
__archive_ppmd7_functions.Ppmd7_Free(&rar->ppmd7_context);
rar->start_new_table = 1;
+ rar->ppmd_valid = 0;
}
break;
diff --git a/libarchive/archive_read_support_format_rar5.c b/libarchive/archive_read_support_format_rar5.c
index 7c24627b186c..95579e15cf05 100644
--- a/libarchive/archive_read_support_format_rar5.c
+++ b/libarchive/archive_read_support_format_rar5.c
@@ -1125,6 +1125,13 @@ static void init_header(struct archive_read* a) {
a->archive.archive_format_name = "RAR5";
}
+static void init_window_mask(struct rar5* rar) {
+ if (rar->cstate.window_size)
+ rar->cstate.window_mask = rar->cstate.window_size - 1;
+ else
+ rar->cstate.window_mask = 0;
+}
+
enum HEADER_FLAGS {
HFL_EXTRA_DATA = 0x0001,
HFL_DATA = 0x0002,
@@ -1672,6 +1679,7 @@ static int process_head_file(struct archive_read* a, struct rar5* rar,
/* Values up to 64M should fit into ssize_t on every
* architecture. */
rar->cstate.window_size = (ssize_t) window_size;
+ init_window_mask(rar);
rar->file.solid = (compression_info & SOLID) > 0;
rar->file.service = 0;
@@ -2235,10 +2243,7 @@ static int rar5_read_header(struct archive_read *a,
static void init_unpack(struct rar5* rar) {
rar->file.calculated_crc32 = 0;
- if (rar->cstate.window_size)
- rar->cstate.window_mask = rar->cstate.window_size - 1;
- else
- rar->cstate.window_mask = 0;
+ init_window_mask(rar);
free(rar->cstate.window_buf);
free(rar->cstate.filtered_buf);
@@ -2851,7 +2856,7 @@ static int do_uncompress_block(struct archive_read* a, const uint8_t* p) {
* - Values lower than 256 are just bytes. Those codes
* can be stored in the output buffer directly.
*
- * - Code 256 defines a new filter, which is later used to
+ * - Code 256 defines a new filter, which is later used to
* ransform the data block accordingly to the filter type.
* The data block needs to be fully uncompressed first.
*
@@ -3906,7 +3911,7 @@ static int rar5_read_data_skip(struct archive_read *a) {
/* Turn off "skip mode". */
rar->skip_mode--;
- if(ret < 0) {
+ if(ret < 0 || ret == ARCHIVE_EOF) {
/* Propagate any potential error conditions
* to the caller. */
return ret;
diff --git a/libarchive/config_freebsd.h b/libarchive/config_freebsd.h
index be25258f9465..f16fd3495ed5 100644
--- a/libarchive/config_freebsd.h
+++ b/libarchive/config_freebsd.h
@@ -210,6 +210,7 @@
#define HAVE_TZSET 1
#define HAVE_UINTMAX_T 1
#define HAVE_UNISTD_H 1
+#define HAVE_UNLINKAT 1
#define HAVE_UNSETENV 1
#define HAVE_UNSIGNED_LONG_LONG 1
#define HAVE_UNSIGNED_LONG_LONG_INT 1
diff --git a/libarchive/test/test_read_format_rar.c b/libarchive/test/test_read_format_rar.c
index f08b06bc69a3..1425eb9a4570 100644
--- a/libarchive/test/test_read_format_rar.c
+++ b/libarchive/test/test_read_format_rar.c
@@ -3776,6 +3776,35 @@ DEFINE_TEST(test_read_format_rar_ppmd_use_after_free)
assertA(ARCHIVE_OK == archive_read_next_header(a, &ae));
assertA(archive_read_data(a, buf, sizeof(buf)) <= 0);
+ /* Test EOF */
+ assertA(1 == archive_read_next_header(a, &ae));
+
+ assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
+ assertEqualInt(ARCHIVE_OK, archive_read_free(a));
+}
+
+DEFINE_TEST(test_read_format_rar_ppmd_use_after_free2)
+{
+ uint8_t buf[16];
+ const char* reffile = "test_read_format_rar_ppmd_use_after_free2.rar";
+
+ struct archive_entry *ae;
+ struct archive *a;
+
+ extract_reference_file(reffile);
+ assert((a = archive_read_new()) != NULL);
+ assertA(0 == archive_read_support_filter_all(a));
+ assertA(0 == archive_read_support_format_all(a));
+ assertA(0 == archive_read_open_filename(a, reffile, 10240));
+
+ assertA(ARCHIVE_OK == archive_read_next_header(a, &ae));
+ assertA(archive_read_data(a, buf, sizeof(buf)) <= 0);
+ assertA(ARCHIVE_OK == archive_read_next_header(a, &ae));
+ assertA(archive_read_data(a, buf, sizeof(buf)) <= 0);
+
+ /* Test EOF */
+ assertA(1 == archive_read_next_header(a, &ae));
+
assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
assertEqualInt(ARCHIVE_OK, archive_read_free(a));
}
diff --git a/libarchive/test/test_read_format_rar5.c b/libarchive/test/test_read_format_rar5.c
index 1408f37c49dc..2a55e2015510 100644
--- a/libarchive/test/test_read_format_rar5.c
+++ b/libarchive/test/test_read_format_rar5.c
@@ -1194,3 +1194,24 @@ DEFINE_TEST(test_read_format_rar5_fileattr)
EPILOGUE();
}
+
+DEFINE_TEST(test_read_format_rar5_different_window_size)
+{
+ char buf[4096];
+ PROLOGUE("test_read_format_rar5_different_window_size.rar");
+
+ /* Return codes of those calls are ignored, because this sample file
+ * is invalid. However, the unpacker shouldn't produce any SIGSEGV
+ * errors during processing. */
+
+ (void) archive_read_next_header(a, &ae);
+ while(0 != archive_read_data(a, buf, sizeof(buf))) {}
+
+ (void) archive_read_next_header(a, &ae);
+ while(0 != archive_read_data(a, buf, sizeof(buf))) {}
+
+ (void) archive_read_next_header(a, &ae);
+ while(0 != archive_read_data(a, buf, sizeof(buf))) {}
+
+ EPILOGUE();
+}
diff --git a/libarchive/test/test_read_format_rar5_different_window_size.rar.uu b/libarchive/test/test_read_format_rar5_different_window_size.rar.uu
new file mode 100644
index 000000000000..bb4c4a60415e
--- /dev/null
+++ b/libarchive/test/test_read_format_rar5_different_window_size.rar.uu
@@ -0,0 +1,675 @@
+begin 600 test_read_format_rar5_different_window_size.rar
+M4F%R(1H'`0"-[P+2``'#M#P\7P$'`0"-[P+2``7#`/KZ^OKZA5N8F)B8F)@`
+MF`*8T@7"F!=A_________P$$_____________________R%285(A&@?_____
+M_________________V@`[E##M#P\7P$'`0"-[P+2``7"87)26`!W=%)A<B$:
+M!P$`C>\"T@`"QP\)`'(A&@<!&B/2+0`"**%285(A&@=A<B$:!P$`C>\"T@`"
+MQP\`"7(AFC`!&B/2+0`"*"%285(A&@<8`0"-[P+2``7#10!A4B$:!Q@!`#)S
+M-/_______U)A<B$:!P$`C>\"T@`"!QS1T='1T='1T='6T='1T='1T='1T='1
+MT='1T='1T='1T='1T=&UQX`.`"'X"/\E``*H'#`"`/+__TO__O_G*_____\`
+M`"\O``#_02+M____`-X`_["&AFVQJ@,#45TW,?;V]@$``/____\3]O;V]O;_
+M_S\``/]!(.VG+R\``/]!(.T)__^PWOS_```O+S$``/8@[;L`````````````
+M-3XR9%Q<7%Q<7%Q<7%Q<7%QZ7%PJ7%Q<7"]<7%Q<7%Q<7%Q<7%Q<7%Q<7%Q<
+M7#)<7#9<,F1I9V5R=#4V,61I870]+@HN"G0@9&5V270@9&1I9V5S7%Q<7'=E
+M9"XR9&EG97)T-38R9&EA=#TN"BX*="!D979)="!D9&EG97-T/2X*+@HN"@HF
+M+BX**%)A<B$:!P$`C>\"T@`"!QS1T='1T='1T='6T='1T='1T='1T='1T='1
+MT='1T='1T='1T=&UQX`.`"'X"/\E``*H'#`"`/+__TO__O_G*_____\``"\O
+M``#_02+M____`-X`_["&AFVQJ@,#45TW,?;V]@$````````3]O;V]O;__S\`
+M`/]!(.VG+R\``/]!(.T)__^PWOS_```O+P```/8@[;L`````````````-38R
+M9%Q<7%Q<7%Q<7%Q<7%QZ7%PJ7%Q<7"]<7%Q<7%Q<7%Q<7%Q<7%Q<7%Q<7#)<
+M7#9<,F1I9V5R=#4V,61I870]+@HN"G0@9&5V270@9&1I9V5S7%Q<7'=E9"XR
+M9&EG97)T-38R9&EA=#TN"BX*="!D979)="!D9&EG97-T/2X*+@HN"@HF+E)A
+M<B$:!P$`C>\"T@`"PP<<K/UN``#___\+`0`"(<O_`0(`+W-E="!T:6UE`/[_
+M_^P`````````````````````````````````````````````````````````
+M````````````````````````````````````````!0``````````````````
+M````````````````````````````````````````````````````````````
+M`````#\56BUL:#4M#0````%L<0!SI/\````!]9^?G_*?`9_?GY_U0.`56BUL
+M:```````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````&UM)C$@4@H#`\[_CQ5:+6QH-BTZ,PD@.W-L<0'(_P(````!
+M#B<G````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````]_\`````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````````````````P,#`P,#`P,#`P,#`P,#
+M`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M```````````````````X-S(M,#$E,U0S.GH``O__/\/#P\/#P\/#P\/#(@##
+MP\/#PP'#P\/#P\/#P___________________________________________
+M____________________________]/_______\/#P\/#P\/#P\/#P\/#+</#
+MP\/#P^KJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJ
+MZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZF1I9V5S=#TN"BX*+@H*)BXN
+M"B@*+BX**`HN"BX*+C`**`H*+@HN+E!<-3,R4>KJZNKJZNKJZNKJZNKJZNKJ
+MZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNK#P\/#P\/#P\/#R\-MP\/#
+MP\/#P\/#P\/#P\/#P\/#`</#P\/#P\/#____________________________
+M_________________________________________S8R9&EG97)T6STN"BX*
+M+@H*)F5V:6,V_________\/#P\/#P\/#P\/#P\/#+</#P\/#P\/#P\/#PS8N
+M"@HN"@HN+PHR,#<P-S`O<TYT("!@<W0]P\/#P\/#P\/#PP`0:#HR,PT*;%=O
+M861?;"X*+@IG89P`,#`P,#`P,#`P,#`P,#`P,#`!`#`W,#<P,C`P,#`P,#`P
+M,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,$,P,#`P,#`P,#`P,#`P
+M,#`P,#`P-3`P,#`X,#`P,#`P,#`P13`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P
+M,#`P,#`P`0`"*"%285(A&@<8`0"-[P+2``7#`!H'``1G``````````#O`M(`
+M`L</``D`+@DR'`#]`0`7__\)`"X),AP`_0$`%___$5)A<B'_$5)A<B$:AP$`
+MC>\"T@`#QP\`"2$:TB,M``(H(5)A4B$:!Q@!`(WO`M(`!0``````````````
+M`````````0``````_____P#_965E965E965E965E965E965E8'-T/2X*+@HN
+M"C(P-S`W,&EA='EA<B$*+@H*)BXF+@HH"BX*+@HN4%XO83(U:39D9V5S=#TN
+M"BX*+@H*)BXN"@H*)BXN"B@*+@HN"BY07#4S,C8R9"]S3G0@(%MS=#T]+@HN
+M"BX*"B8N+@HH"BX*+@HN4%PU,S(V(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A
+M(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A
+M(2$A(2X*"B8N+BY<-EPR9&EG97)T-38R9&EA=#TN"BX*="XN+@HH"BX*+@HN
+M4%QH83(U-F0N+PHR,"4P-S`O<TYT("!D<W0]+@HN"BX*"B9T/2X*+@HN"@H*
+M)BX*+BXH+PHN"BY07&AA,C4V9&EG97-T/2X*+@HN"@HF+BX**`H_+@HN"BY0
+M7%Q<7%Q<7%Q<7%Q<,C8R9&EG97)T-38R9%Q<7%Q<7%Q<7%Q<7%QZ7%PJ7%Q<
+M7%Q<7%Q<7%Q<7%Q<7%Q<7%Q<7%Q<7#)<7#9<,F1I9V5R=#4V,F1I870]+@HN
+M"G0@9&5V270@9&1I9V5S=#TN"BX*+@H*)BXN"B@*+BX**`HN"BX]+@HN"BX*
+M"B8N+@HH"BX*+@HN4%Q<7%Q<7%Q<7%Q<7#(V,F1I9V5R=#4V,F1<7%Q<7%Q<
+M7%Q<7%Q<>EQ<*EQ<7%PO7%Q<7%Q<7%Q<7%Q<7%Q<7%Q<7%PR7%PV7#!D:6=E
+M<G0U-C%D:6%T/2X*+@IT(&1E=DET(&0Z[NXZ,````"L-"E=!4D,M1&%T93H)
+M,3@W,BTP-RTS5#,Z-SHU6@T*#0I#BVYT^)=7=#%Z5T%20R\Q+C`-"D-O;G1E
+M;G0M3&5N9W1H.C`V#0I7*5=!4B\O.ZRL-&X*05)#+ZRL@9$-"DQA<W0M36]D
+M:69I960Z"3$X-S(M,#$E,U0S.GH``O__/\/#P\/#P\/#P\/#(@##P\/#PP'#
+MP\/#P\/#P______________________________________#P\/#P\/#P\,`
+M$&@Z,C,-"FQ7;V%D7VPN"BX*9V&<`#`P,#`P,#`P,#`P,#`P,#`P`0`P-S`W
+M,#(P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#!#,#`P
+M,#`P,#`P,#`P,#`P,#`P,#4P,#`P.#`P,#`P,#`P,$4P,#`P,#`P,#`P,#`P
+M,#`P,#`P,#`P,#`P,#`P,`$``B@A4F%2(1H'&`$`C>\"T@`%PP`:!P`$9P``
+M````````[P+2``+'#P`)`"X),AP`_0$`%___"0`N"3(<`/T!`!?__Q%287(A
+M_Q%287(A&H<!`(WO`M(``\</``DA&M(C+0`"*"%285(A&@<8`0"-[P+2``4`
+M``````````````````````$``````/____\``"\O``#_02#M____L-X`_P"&
+MAK%M]O;V`ZK^]O_/_P#$OM\1]O__L`#M4?\O45%/>\Q`"@HW,@```/V-[P+2
+M``+'`"X),1P`_0$`%___$5)A<@$`C>\"T@`%PP`:!P`$9P``````````[P+2
+M``+'#P`)`"X),AP`_0$`%___$5)A<B$:!P$`C>\"T@`#QP\`"2$:TB,M``DA
+M&M(C+0`"*"%285(A&@<8`0"-[P+2``7#`!H'`/R8__]E965E965E965E965E
+M965E965@<W0]+@HN"BX*,C`W,#<P:6%T>6%R(0HN"@HF+B8N"B@*+@HN"BY0
+M7B]A,C5I-F1G97-T/2X*+@HN"@HF+BX*"@HF+BX**`HN"BX*+E!<-3,R-C)D
+M+W-.="`@6W-T/3TN"BX*+@H*)BXN"B@*+@HN"BY07#4S,C8A(2$A(2$A(2$A
+M(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A(2$A
+M(2$A(2$A(2$A(2$A(2$A(2$A+@H*)BXN+EPV7#)D:6=E<G0U-C)D:6%T/2X*
+M+@IT+BXN"B@*+@HN"BY07&AA,C4V9"XO"C(P)3`W,"]S3G0@(&1S=#TN"BX*
+M+@H*)G0]+@HN"BX*"@HF+@HN+B@O"BX*+E!<:&$R-39D:6=E<W0]+@HN"BX*
+M"B8N+@HH"C\N"BX*+E!<7%Q<7%Q<7%Q<7%PR-C)D:6=E<G0U-C)D7%Q<7%Q<
+M7%Q<7%Q<7'I<7"I<7%Q<7%Q<7%Q<7%Q<7%Q<7%Q<7%Q<7%Q<,EQ<-EPR9&EG
+M97)T-38R9&EA=#TN"BX*="!D979)="!D9&EG97-T/2X*+@HN"@HF+BX**`HN
+M+@HH"BX*+CTN"BX*+@H*)BXN"B@*+@HN"BY07%Q<7%Q<7%Q<7%Q<,C8R9&EG
+M97)T-38R9%Q<7%Q<7%Q<7%Q<7%QZ7%PJ7%Q<7"]<7%Q<7%Q<7%Q<7%Q<7%Q<
+M7%Q<7#)<7#9<,&1I9V5R=#4V,61I870]+@HN"G0@9&5V270@9#KN[CHP````
+M*PT*5T%20RU$871E.@DQ.#<R+3`W+3-4,SHW.C5:#0H-"D.+;G3XEU=T,7I7
+M05)#+S$N,`T*0V]N=&5N="U,96YG=&@Z,#8-"E<I5T%2+R\[K*PT;@I!4D,O
+MK*R!D0T*3&%S="U-;V1I9FEE9#H),3@W,BTP,24S5#,Z>@`"__\_P\/#P\/#
+MP\/#P\,B`,/#P\/#`</#P\/#P\/#________________________________
+M_______________________________________T________P\/#P\/#P\/#
+MP\/#P\,MP\/#P\/#ZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJ
+MZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJ9&EG97-T/2X*
+M+@HN"@HF+BX**`HN+@HH"BX*+@HN,`HH"@HN"BXN4%PU,S)1ZNKJZNKJZNKJ
+MZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZNKJZL/#P\/#P\/#
+MP\/+PVW#P\/#P\/#P\/#P\/#P\/#P\,!P\/#P\/#P\/_________________
+M____________________________________________________-C)D:6=E
+M<G1;/2X*+@HN"@HF979I8S;_________P\/#P\/#P\/#P\/#P\,MP\/#P\/#
+MP\/#P\/#-BX*"BX*"BXO"C(P-S`W,"]S3G0@(&!S=#W#P\/#P\/#P\/#`!!H
+M.C(S#0IL5V]A9%]L+@HN"F=AG``P,#`P,#`P,#`P,#`P,#`P,`$`,#<P-S`R
+M,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P0S`P,#`P
+M,#`P,#`P,#`P,#`P,#`U,#`P,#@P,#`P,#`P,#!%,#`P,#`P,#`P,#`P,#`P
+M,#`P,#`P,#`P,#`P,#`!``(H(5)A4B$:!Q@!`(WO`M(`!<,`&@<`!&<`````
+M`````.\"T@`"QP\`"0`N"3(<`/T!`!?__PD`+@DR'`#]`0`7__\14F%R(?\1
+M4F%R(1J'`0"-[P+2``/'#P`)(1K2(RT``B@A4F%2(1H'&`$`C>\"T@`%````
+M```````````````````!``````#_____```O+P``_T$@[?___[#>`/\`AH:Q
+M;?;V]@.J_O;_S_\`Q+[?$?;?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?___?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W_^[XP##
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``````````````````````````````````````````````````#_________
+M__________________________________________\`````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````"``````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````````````````````````+8`````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``````````````````````````````````````````````````!287(A&@<!
+M`(WO`M(``L,''(`'`0#__PL!``(ARP$"`````/\`_P$`<<?_____________
+M______________________\!`````````/________\!````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````````0``````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````_/\`````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````-_?W]_?W]_?W]_?W]_?W]_?#]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]\A("`@("`@(-_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]]V````W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?WT%.4TE?6-_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]O?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]]?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?WP``````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````````````````/__________________
+M____________________________________________________````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``0`````````````````````````````````````````````````````````
+M`````````````````````````````````````````````P``````````````
+M``````````!A86$`````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````,#`S,#@Q-@`P,S<T-3,T`#`P,3$V,3``,#`P
+M,#`P,#`P,#<`,3(U,S$Q-#4S-S$`(#$R,#<Q`"`Q````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````````````````````````````'5S=&!R
+M`#`Q9'9Y=6MO=@````````````````````````````````!E;F<`````````
+M``````````#_`0```````````````#`P,``P,#`P,#`P,#`P,```````````
+M````````````````````````````````````````````````````````````
+M````````````````]P``````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````````#,*`````````````0```````!``
+M```````````````````$T031T4T```"`__\U*Q8T`````````-_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?W]_?
+MW]_?W]_?W]_?W]_?W]_?````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````F-(%PIAT;W!D:7+___\!!/__________
+M__________\A4F%2(1H'__________________\A4F%2(1H'____________
+M__________]H`.Y0P[0\/%\!!P$`C>\"T@`%PF%R4E@`=W1287(A&@<!`(WO
+M`M(``L</"0!R(1H'`1HCTCH``BBA75U=75U=75U=75U=75U=75U=75U=75T`
+M````````````````````````````````````````````````````````````
+M````````````````!````````````@``````````````````````````````
+M````````````````*```````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````'X````````````````````````````````````````$
+M(DT81'`=#P(`@'''`.[_________________________________________
+M_________________WP$________________________________________
+M_____________________________________________________[T``+JK
+MVP&ZNKJZ_____________S#_________________________````%@``````
+M``!^?GY^?GY^?GY^?GY^?GY^?GY^?GY^_________PI^?GY^?GY^?GY^?@`!
+M+?____8M+2TM"@H*"C(*"@H*"@H*"CT*"@H*"@H*"@H*"@H*"@!7(B___PS#
+M/0`P`&$!`&%A86">EFZ>45J>E"(8*1QP&#AP1O__`````!X`````````````
+MNKJZNKJZN@'U``"R____`````!X```"`````````````````````````````
+M`"Q!`````````"T`%0``:#H`6@$M<VPW-@#($0````````#BH0!C:3``,@!E
+M,0``________________````````````"@H*"@```%U=75U=75U=75U=75U=
+M70```````````````````````````````````%)A<B$:!P$`C>\"T@`"PP<<
+MP@2```#_;24``F<<`0(`#@```0!02P@#`"8F)@!`___/0T+_____\?__K2-T
+M='3_______[______R9"____,3,U__\3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3
+M$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$R8J8BQB`/______0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D+;V]O;V]O;V]O;V]O;-C8V
+M-C8V&4PA`C8V-C8V-C8V-C8V-C8V&4PA`C8V-C8V-C8V-C8V-C8H*"@H*"@H
+M*"@H*"@H(1H'`0"-[P(H*"@H*"@V-C8V-C8V-C8V-I8V-C8V-C8V-MO;VP``
+M````````````````````````````V]O;V]L`VP````#;V]L`VR@H*"@H*#8V
+M-C8V-C8V-C8VEC8V-C8V-C8VV]O;``````````````````````````````#;
+MV]O;VP#;`````-O;VP#;``````````````````````!"0D)"0D)"0D)S0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0EU=75)A4B$:!V%R0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0MO;V]O;V]O;
+MV]O;V]LV-C8V-C893"$"-C8V-C8V-C8V-C8V-C893"$"-C8V-C8V-C8V-C8V
+M-B@H*"@H*"@H*"@H*"@A&@<!`(WO`B@H*"@H*#8V-C8V-C8V-C8VEC8V-C8V
+M-C8VV]O;``````````````````````````````#;V]O;VP#;`````-O;VP#;
+MV]O;V]O;V]O;V]O;V]O;V]O;V]LV-C8V-C8V&4PA`C8V-C8V-C8V-C8V-C8V
+M&4PA`C8V-C8V-C8V-C8V-C8V-C8V-C8V-C8V-I8V-C8V-C8V-MO;V]O;V]O;
+MV]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;VT)"0D(`
+M````````````````````````````````````````````````````````````
+M`````````````$)"0D)"0D)"0G-"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"75U=4F%2(1H'87)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"V]O;V]O;V]O;V]O;VS8V-C8V-AE,(0(V-C8V-C8V
+M-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V*"@H*"@H*"@H*"@H*"$:!P$`C>\"
+M*"@H*"@H-C8V-C8V-C8V-C:6-C8V-C8V-C;;V]L`````````````````````
+M`````````-O;V]O;`-L`````V]O;`-L``````````````````````$)"0D)"
+M0D)"0G-"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"75U=4F%2(1H'87)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+MV]O;V]O;V]O;V]O;VS8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V-AE,(0(V-C8V
+M-C8V-C8V-C8V*"@H*"@H*"@H*"@H*"$:!P$`C>\"*"@H*"@H-C8V-C8V-C8V
+M-C:6-C8V-C8V-C;;V]L``````````````````````````````-O;V]O;`-L`
+M````V]O;`-LH*"@H*"@V-C8V-C8V-C8V-I8V-C8V-C8V-MO;VP``````````
+M````````````````````V]O;V]L`VP````#;V]L`VP``````````````````
+M````0D)"0D)"0D)"<T)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)=75U2
+M85(A&@=A<D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D+;V]O;V]O;V]O;V]O;-C8V-C8V&4PA`C8V-C8V-C8V-C8V-C8V
+M&4PA`C8V-C8V-C8V-C8V-C8H*"@H*"@H*"@H*"@H(1H'`0"-[P(H*"@H*"@V
+M-C8V-C8V-C8V-I8V-C8V-C8V-MO;VP``````````````````````````````
+MV]O;V]L`VP````#;V]L`VP!W=%)A<B$:!P$`````````````````````````
+M`````(WO`M(``L</"0!R(1H'`1HCTBT``BBA4F%2(1H'87(A&@<!`(WO`M(`
+M`L</``ER(9HP`1HCTBT``B@A4F%2(1H'&`$`C>\"T@`%PT4```!&%<</``ER
+M(1H'`1HCTBT:!P$:#2$[````````=EL````````````0^OKZ^OJ%F)B8F)B8
+M`)@"F-(%PI@78?________\!!/____________________\A4F%2(1H'____
+M______________\A4F%2(1H'______________________]H`.Y0P[0\/%\!
+M!P$`C>\"T@`%PF%R4E@`=W1287(A&@<!`(WO`M(``L</"0!R(1H'`1HCTCH`
+M`BBA75U=75U=75U=75U=75U=75U=75U=75T`````````````````````````
+M````````````````````````````````````````````````````!```````
+M`````````````````````````````"@`````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``````````````````````````````!^````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``````````````````````````0B31A$<!T/`@"`<<<`[O______________
+M____________________________________________?`3_____________
+M____________________________________________________________
+M____________________O0``NJO;`;JZNKK_____________,/__________
+M______________\````6`````````'Y^?GY^?GY^?GY^?GY^?GY^?GY^?G[_
+M________"GY^?GY^?GY^?GY^``$M____]BTM+2T*"@H*,@H*"@H*"@H*/0H*
+M"@H*"@H*"@H*"@H*`%<B+___#,,]`#``80$`86%A8)Z6;IY16IZ4(A@I''`8
+M.'!&__\`````'@````````````"ZNKJZNKJZ`?4``++___\`````'@```(``
+M````````````````````````````+$$`````````+0`5``!H.@!:`2US;#<V
+M`,@1`````````.*A`&-I,``R`&4Q``#_______________\````````````*
+M"@H*````75U=75U=75U=75U=75U=````````````````````````````````
+M````4F%R(1H'`0"-[P+2``+#!QS"!(```/]M)0`"9QP!`@`.```!`%!+"`,`
+M)B8F`$#__\]#0O_____Q__^M(W1T=/_______O______)D+___\Q,S7__Q,3
+M$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3)BIB+&(`
+M_________\[.SL[.SL[.SL[.SL[.SJTC='1T_________S0S-C`Y.#(P-#/(
+MX%)#+40Z8`HR'YT/.6C@4D,M1#I@"C(?G0\Y:+1@@S4X`(``4F$N,R\**G-`
+M``````<``"\F*G,``L,''(`$@```_VTE^0)G'`$"``X```$`4$L(`P`F*F(L
+M8@#_W0`A``!/`/T`,3(P-#$R.#$P.3'(X%)#+40Z8`HR'YT/.&BT8(,U.```
+M`%)A+B\*,RIS`````````!D_)B]S+PHJ<R\*("8F)@!GP(XJ`````*^M(P\!
+M'R8F)B8G)B8F)B8F)B8F)B8F`$#__\]#0O\````````O)B9S+PHJ<R\*("8F
+M)A\F)B8F)B8F)B8F)B8F)"8F)@!`___/0T+_______^M(W1T=/__________
+M____________________________________________________________
+M____________________________________________________)B`F)A\F
+M)B8F)B8F)B8F)B8G)B8`````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````]@``E#@X.#A=.#@XY>7EY0H```#EY>7EY>7EY>7EY>7EY>7EY>7EY>7E
+MY>7EY>7EY>5W=V%R(2\O+R`N"@H*75U=75U9R,C(R,C(R,C(R,C(R"<.`'\`
+M``I=70!=!UU=7=D`Y>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7E
+MY>7EY>7EY>7EY>7EY>7EY>7EY4$X.#@X]C@X+3@X.#@X.#@X.#@X.#@X.#@X
+M.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#AR.#@X.#@X.#@X.#@X.#@X.#@X
+M.#@X./DX.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X<C@X.'?^_________QE,
+M(0(V-C8V-C8V-C8V-C8V,AE,(0(V-C8V-C8V-C8V-C8V-C8V-C8V-@@V-C8V
+MEC8V-C8V-C8VV]O;V]O;V]O_V]O;V]O;V]O;V]O;V]O;V]LV-C8V-C8V-C8V
+M-C8V-C8(-C8V-I8V-C8V-C8V-MO;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;
+M-C8V-C8VV]O;V]O;V]O;V]M=75U=75U=75U=75U=75U=75U=7=O;V]O;V]O;
+M-C8V-C8V-AE,(0(V-C8V-C8V-C;;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;
+MVS8V-C8V-C893"$"-C8V-C8V-C8V-C8V-C893"$"-C8V-C8V-C8V-C8V-C8V
+M-C8V-C8V-C8VEC8V-C8V-C8VV]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;
+MV]O;V]O;V]O;V]O;V]O;V]O;V]O;0D)"0@``````````````````````````
+M````````````````````````````````````````````````0D)"0D)"0D)"
+M<T)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)=75U285(A&@=A<D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D+;V]O;
+MV]O;V]O;V]O;-C8V-C8V&4PA`C8V-C8V-C8V-C8V-C8V&4PA`C8V-C8V-C8V
+M-C8V-C8H*"@H*"@H*"@H*"@H(1H'`0"-[P(H*"@H*"@V-C8V-C8V-C8V-I8V
+M-C8V-C8V-MO;VP``````````````````````````````V]O;V]L`VP````#;
+MV]L`VP``````````````````````0D)"0D)"0D)"<T)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)=75U285(A&@=A<D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D+;V]O;V]O;V]O;V]O;-C8V-C8V
+M&4PA`C8V-C8V-C8V-C8V-C8V&4PA`C8V-C8V-C8V-C8V-C8H*"@H*"@H*"@H
+M*"@H(1H'`0"-[P(H*"@H*"@V-C8V-C8V-C8V-I8V-C8V-C8V-MO;VP``````
+M````````````````````````V]O;V]L`VP````#;V]L`VR@H*"@H*#8V-C8V
+M-C8V-C8VEC8V-C8V-C8VV]O;``````````````````````````````#;V]O;
+MVP#;`````-O;VP#;``````````````````````!"0D)"0D)"0D)S0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0EU=75)A4B$:!V%R0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0MO;V]O;V]O;V]O;
+MV]LV-C8V-C893"$"-C8V-C8V-C8V-C8V-C893"$"-C8V-C8V-C8V-C8V-B@H
+M*"@H*"@H*"@H*"@A&@<!`(WO`B@H*"@H*#8V-C8V-C8V-C8VEC8V-C8V-C8V
+MV]O;``````````````````````````````#;V]O;VP#;`````-O;VP#;`M(`
+M`L</"0!R(1H'`1HCTBT``BBA4F%2(1H'87(A&@<!`(WO`M(``L</``ER(9HP
+M`1HCTBT``B@A4F%2(1H'&`$`C>\"T@`%P_J%6YB8F)B8F`"8`IC2!<*8%V'_
+M________`03_____________________(5)A4B$:!___________________
+M____:`#N4,.T/#Q?`0<!`(WO`M(`!<)A<E)8`'=T4F%R(1H'`0"-[P+2``+'
+M#PD`<B$:!P$:(](M``(HH5)A4B$:!V%R(1H'`0"-[P+2``+'#P`)<B&:,`$:
+M(](M`!(H(5)A4B$:!Q@!`(WO`M(`!<-%7P$'`0"-[P+2``72``+'#P`)<B&:
+M,`$:(](M``(H(5)A4B$:!Q@!`(WO`M(`!</ZA5N8F)B8F)@`F`*8T@7"F!=A
+M_________P$$_____________________R%285(A&@?_________________
+M_____V@`[E##M#P\7P$'`0"-[P+2``7"87)26`!W=%)A<B$:!P$`C>\"T@`"
+MQP\)`'(A&@<!&B/2+0`"**%285(A&@=A<B$:!P$`C>\"T@`"QP\`"7(AFC`!
+M&B/2+0`"*"%285(A&@<8`0"-[P+2``7#15\!!P$`C>\"T@`%PF%R4E@`=W12
+M87(A&@<!`(WO`M(``L</"0!R(1H'`1HCTCH``BBA4F%2(1H'87(A&@<!`(WO
+M`M(``L</``ER(9HP`1HCTBT``B@A4F%2(1H'&`$`C>\"T@`%PP```$85!<)A
+M<E)8`'=T4F%R(1H'`0"-[P+2``+'#PD`<B$:!P$:(](M``(HH5)A4B$:!V%R
+M(1H'`0"-[P+2``+'#P`)<B&:,`$:(](M``(H(5)A4B$:!Q@!`(WO`M(`!</Z
+MA5N8F)B8F)@`F`*8T@7"F!=A_______?_P$$_____________________R%2
+M85(A&@?______________________V@`[E##M#P\7P$'`0"-[P+2``7"87)2
+M6`!W=%)A<B$:!P$``````````````````````````````(WO`M(``L</"0!R
+M(1H'`1HCTBT``BBA4F%2(1H'87(A&@<!`(WO`M(``L</``ER(9HP`1HCTBT`
+M`B@A4F%2(1H'&`$`C>\"T@`%PT4```!&%<</``ER(1H'`1HCTBT:!P$:#2$[
+M````````=EL````````````0^OKZ^OJ%F)B8F)B8`)@"F-(%PI@78?______
+M__\!!/____________________\A4F%2(1H'__________________\A4F%2
+M(1H'______________________]H`.Y0P[0\/%\!!P$`C>\"T@`%PF%R4E@`
+M=W1287(A&@<!`(WO`M(``L</"0!R(1H'`1HCTCH``BBA75U=75U=75U=75U=
+M75U=75U=75U=75T`````````````````````````````````````````````
+M````````````````````````````````!````````````@``````````````
+M````````````````````````````````*```````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````````'X`````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````!")-&$1P'0\"`(!QQP#N____________
+M______________________________________________]\!/__________
+M____________________________________________________________
+M______________________^]``"ZJ]L!NKJZNO____________\P________
+M_________________P```!8`````````?GY^?GY^?GY^?GY^?GY^?GY^?GY^
+M?O________\*?GY^?GY^?GY^?GX``2W____V+2TM+0H*"@HR"@H*"@H*"@H]
+M"@H*"@H*"@H*"@H*"@H`5R(O__\,PST`,`!A`0!A86%@GI9NGE%:GI0B&"D<
+M<!@X<$;__P`````>`````````````+JZNKJZNKH!]0``LO___P`````>````
+M@``````````````````````````````L00`````````M`!4``&@Z`%H!+7-L
+M-S8`R!$`````````XJ$`8VDP`#(`93$``/_______________P``````````
+M``H*"@H```!=75U=75U=75U=75U=75T`````````````````````````````
+M``````!287(A&@<!`(WO`M(``L,'',($@```_VTE``)G'`$"``X```$`4$L(
+M`P`F)B8`0/__ST-"______'__ZTC='1T_______^______\F0O___S$S-?__
+M$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,3$Q,F*F(L
+M8@#_________SL[.SL[.SL[.SL[.SL[.K2-T='3_________-#,V,#DX,C`T
+M,\C@4D,M1#I@"C(?G0\Y:.!20RU$.F`*,A^=#SEHM&"#-3@`@`!282XS+PHJ
+M<T``````!P``+R8J<P`"PP<<@`2```#_;27Y`F<<`0(`#@```0!02P@#`"8J
+M8BQB`/_=`"$``$\`_0`Q,C`T,3(X,3`Y,<C@4D,M1#I@"C(?G0\X:+1@@S4X
+M````4F$N+PHS*G,`````````&3\F+W,O"BIS+PH@)B8F`&?`CBH`````KZTC
+M#P$?)B8F)B<F)B8F)B8F)B8F)B8`0/__ST-"_P```````"\F)G,O"BIS+PH@
+M)B8F'R8F)B8F)B8F)B8F)B8D)B8F`$#__\]#0O_______ZTC='1T________
+M____________________________________________________________
+M______________________________________________________\F("8F
+M'R8F)B8F)B8F)B8F)B<F)@``````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M``````#V``"4.#@X.%TX.#CEY>7E"@```.7EY>7EY>7EY>7EY>7EY>7EY>7E
+MY>7EY>7EY>7EY7=W87(A+R\O("X*"@I=75U=75G(R,C(R,C(R,C(R,C()PX`
+M?P``"EU=`%T'75U=V0#EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7E
+MY>7EY>7EY>7EY>7EY>7EY>7EY>7E03@X.#CV.#@M.#@X.#@X.#@X.#@X.#@X
+M.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.'(X.#@X.#@X.#@X.#@X.#@X
+M.#@X.#@X^3@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#AR.#@X=_[_________
+M&4PA`C8V-C8V-C8V-C8V-C8R&4PA`C8V-C8V-C8V-C8V-C8V-C8V-C8V"#8V
+M-C:6-C8V-C8V-C;;V]O;V]O;V__;V]O;V]O;V]O;V]O;V]O;VS8V-C8V-C8V
+M-C8V-C8V-@@V-C8VEC8V-C8V-C8VV]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;
+MV]LV-C8V-C;;V]O;V]O;V]O;VUU=75U=75U=75U=75U=75U=75U=V]O;V]O;
+MV]LV-C8V-C8V&4PA`C8V-C8V-C8V-MO;V]O;V]O;V]O;V]O;V]O;V]O;V]O;
+MV]O;-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V
+M-C8V-C8V-C8V-C:6-C8V-C8V-C;;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;
+MV]O;V]O;V]O;V]O;V]O;V]O;V]O;V]M"0D)"````````````````````````
+M``````````````````````````````````````````````````!"0D)"0D)"
+M0D)S0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0EU=75)A4B$:!V%R0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0MO;
+MV]O;V]O;V]O;V]LV-C8V-C893"$"-C8V-C8V-C8V-C8V-C893"$"-C8V-C8V
+M-C8V-C8V-B@H*"@H*"@H*"@H*"@A&@<!`(WO`B@H*"@H*#8V-C8V-C8V-C8V
+MEC8V-C8V-C8VV]O;``````````````````````````````#;V]O;VP#;````
+M`-O;VP#;``````````````````````!"0D)"0D)"0D)S0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0EU=75)A4B$:!V%R0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0MO;V]O;V]O;V]O;V]LV-C8V
+M-C893"$"-C8V-C8V-C8V-C8V-C893"$"-C8V-C8V-C8V-C8V-B@H*"@H*"@H
+M*"@H*"@A&@<!`(WO`B@H*"@H*#8V-C8V-C8V-C8VEC8V-C8V-C8VV]O;````
+M``````````````````````````#;V]O;VP#;`````-O;VP#;*"@H*"@H-C8V
+M-C8V-C8V-C:6-C8V-C8V-C;;V]L``````````````````````````````-O;
+MV]O;`-L`````V]O;`-L``````````````````````$)"0D)"0D)"0G-"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"75U=4F%2(1H'87)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"V]O;V]O;V]O;
+MV]O;VS8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V
+M*"@H*"@H*"@H*"@H*"$:!P$`C>\"*"@H*"@H-C8V-C8V-C8V-C:6-C8V-C8V
+M-C;;V]L``````````````````````````````-O;V]O;`-L`````V]O;`-O_
+M____________________________________________________________
+M_____________________R8@)B8?)B8F)B8F)B8F)B8F)R8F````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````````/8``)0X.#@X73@X..7EY>4*````
+MY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7E=W=A<B$O+R\@+@H*"EU=
+M75U=6<C(R,C(R,C(R,C(R,@G#@!_```*75T`70==75W9`.7EY>7EY>7EY>7E
+MY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>5!.#@X
+M./8X."TX.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X
+M.#@X<C@X.#@X.#@X.#@X.#@X.#@X.#@X.#CY.#@X.#@X.#@X.#@X.#@X.#@X
+M.#@X.#@X.'(X.#AW_O________\93"$"-C8V-C8V-C8V-C8V-C(93"$"-C8V
+M-C8V-C8V-C8V-C8V-C8V-C8(-C8V-I8V-C8V-C8V-MO;V]O;V]O;_]O;V]O;
+MV]O;V]O;V]O;V]O;-C8V-C8V-C8V-C8V-C8V"#8V-C:6-C8V-C8V-C;;V]O;
+MV]O;V]O;V]O;V]O;V]O;V]O;V]O;VS8V-C8V-MO;V]O;V]O;V]O;75U=75U=
+M75U=75U=75U=75U=75W;V]O;V]O;VS8V-C8V-C893"$"-C8V-C8V-C8VV]O;
+MV]O;V]O;V]O;V]O;V]O;V]O;V]O;V]LV-C8V-C8V&4PA`C8V-C8V-C8V-C8V
+M-C8V&4PA`C8V-C8V-C8V-C8V-C8V-C8V-C8V-C8V-I8V-C8V-C8V-MO;V]O;
+MV]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;VT)"
+M0D(`````````````````````````````````````````````````````````
+M`````````````````$)"0D)"0D)"0G-"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"75U=4F%2(1H'87)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"V]O;V]O;V]O;V]O;VS8V-C8V-AE,(0(V-C8V
+M-C8V-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V*"@H*"@H*"@H*"@H*"$:!P$`
+MC>\"*"@H*"@H-C8V-C8V-C8V-C:6-C8V-C8V-C;;V]L`````````````````
+M`````````````-O;V]O;`-L`````V]O;`-L``````````````````````$)"
+M0D)"0D)"0G-"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"75U=4F%2(1H'
+M87)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"V]O;V]O;V]O;V]O;VS8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V-AE,(0(V
+M-C8V-C8V-C8V-C8V*"@H*"@H*"@H*"@H*"$:!P$`C>\"*"@H*"@H-C8V-C8V
+M-C8V-C:6-C8V-C8V-C;;V]L``````````````````````````````-O;V]O;
+M`-L`````V]O;`-LH*"@H*"@V-C8V-C8V-C8V-I8V-C8V-C8V-MO;VP``````
+M````````````````````````V]O;V]L`VP````#;V]L`VP``````````````
+M````````0D)"0D)"0D)"<T)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)=
+M75U285(A&@=A<D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D+;V]O;V]O;V]O;V]O;-C8V-C8V&4PA`C8V-C8V-C8V-C8V
+M-C8V&4PA`C8V-C8V-C8V-C8V-C8H*"@H*"@H*"@H*"@H(1H'`0"-[P(H*"@H
+M*"@V-C8V-C8V-C8V-I8V-C8V-C8V-MO;VP``````````````````````````
+M````V]O;V]L`VP````#;V]L`V]O;V]O;V]O;V]O;V]O;V]O;V]O;-C8V-C8V
+M-AE,(0(V-C8V-C8V-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V-C8V-C8V-C8V
+M-C:6-C8V-C8V-C;;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;
+MV]O;V]O;V]O;V]O;V]M"0D)"````````````````````````````````````
+M``````````````````````````````````````!"0D)"0D)"0D)S0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0EU=75)A4B$:!V%R0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0MO;V]O;V]O;V]O;
+MV]LV-C8V-C893"$"-C8V-C8V-C8V-C8V-C893"$"-C8V-C8V-C8V-C8V-B@H
+M*"@H*"@H*"@H*"@A&@<!`(WO`B@H*"@H*#8V-C8V-C8V-C8VEC8V-C8V-C8V
+MV]O;``````````````````````````````#;V]O;VP#;`````-O;VP#;````
+M``````````````````!"0D)"0D)"0D)S0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0EU=75)A4B$:!V%R0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0MO;V]O;V]O;V]O;V]LV-C8V-C893"$"-C8V
+M-C8V-C8V-C8V-C893"$"-C8V-C8V-C8V-C8V-B@H*"@H*"@H*"@H*"@A&@<!
+M`(WO`B@H*"@H*#8V-C8V-C8V-C8VEC8V-C8V-C8VV]O;````````````````
+M``````````````#;V]O;VP#;`````-O;VP#;*"@H*"@H-C8V-C8V-C8V-C:6
+M-C8V-C8V-C;;V]L``````````````````````````````-O;V]O;`-L`````
+MV]O;`-L``````````````````````$)"0D)"0D)"0G-"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"75U=4F%2(1H'87)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"V]O;V]O;V]O;V]O;VS8V-C8V
+M-AE,(0(V-C8V-C8V-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V*"@H*"@H*"@H
+M*"@H*"$:!P$`C>\"*"@H*"@H-C8V-C8V-C8V-C:6-C8V-C8V-C;;V]L`````
+M`````````````````````````-O;V]O;`-L`````V]O;`-L"-C8V-C8V-C8V
+M-C8V-B@H*"@H*"@H*"@H*"@A&@<!`(WO`B@H*"@H*#8V-C8V-C8V-C8VEC8V
+M-C8V-C8VV]O;``````````````````````````````#;V]O;VP#;`````-O;
+MVP#;``````````````````````!"0D)"0D)"0D)S0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0EU=75)A4B$:!V%R0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0MO;V]O;V]O;V]O;V]LV-C8V-C89
+M3"$"-C8V-C8V-C8V-C8V-C893"$"-C8V-C8V-C8V-C8V-B@H*"@H*"@H*"@H
+M*"@A&@<!`(WO`B@H*"@H*#8V-C8V-C8V-C8VEC8V-C8V-C8VV]O;````````
+M``````````````````````#;V]O;VP#;`````-O;VP#;*"@H*"@H-C8V-C8V
+M-C8V-C:6-C8V-C8V-C;;V]L``````````````````````````````-O;V]O;
+M`-L`````V]O;`-L``````````````````````$)"0D)"0D)"0G-"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"75U=4F%2(1H'87)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"V]O;V]O;V]O;V]O;
+MVS8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V*"@H
+M*"@H*"@H*"@H*"$:!P$`C>\"*"@H*"@H-C8V-C8V-C8V-C:6-C8V-C8V-C;;
+MV]L``````````````````````````````-O;V]O;`-L`````V]O;`-O_____
+M____________________________________________________________
+M_________________R8@)B8?)B8F)B8F)B8F)B8F)R8F````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````````/8``)0X.#@X73@X..7EY>4*````Y>7E
+MY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7E=W=A<B$O+R\@+@H*"EU=75U=
+M6<C(R,C(R,C(R,C(R,@G#@!_```*75T`70==75W9`.7EY>7EY>7EY>7EY>7E
+MY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>7EY>5!.#@X./8X
+M."TX.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X.#@X
+M<C@X.#@X.#@X.#@X.#@X.#@X.#@X.#CY.#@X.#@X.#@X.#@X.#@X.#@X.#@X
+M.#@X.'(X.#AW_O________\93"$"-C8V-C8V-C8V-C8V-C(93"$"-C8V-C8V
+M-C8V-C8V-C8V-C8V-C8(-C8V-I8V-C8V-C8V-MO;V]O;V]O;_]O;V]O;V]O;
+MV]O;V]O;V]O;-C8V-C8V-C8V-C8V-C8V"#8V-C:6-C8V-C8V-C;;V]O;V]O;
+MV]O;V]O;V]O;V]O;V]O;V]O;VS8V-C8V-MO;V]O;V]O;V]O;75U=75U=75U=
+M75U=75U=75U=75W;V]O;V]O;VS8V-C8V-C893"$"-C8V-C8V-C8VV]O;V]O;
+MV]O;V]O;V]O;V]O;V]O;V]O;V]LV-C8V-C8V&4PA`C8V-C8V-C8V-C8V-C8V
+M&4PA`C8V-C8V-C8V-C8V-C8V-C8V-C8V-C8V-I8V-C8V-C8V-MO;V]O;V]O;
+MV]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;VT)"0D(`
+M````````````````````````````````````````````````````````````
+M`````````````$)"0D)"0D)"0G-"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"75U=4F%2(1H'87)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"V]O;V]O;V]O;V]O;VS8V-C8V-AE,(0(V-C8V-C8V
+M-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V*"@H*"@H*"@H*"@H*"$:!P$`C>\"
+M*"@H*"@H-C8V-C8V-C8V-C:6-C8V-C8V-C;;V]L`````````````````````
+M`````````-O;V]O;`-L`````V]O;`-L``````````````````````$)"0D)"
+M0D)"0G-"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"75U=4F%2(1H'87)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+MV]O;V]O;V]O;V]O;VS8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V-AE,(0(V-C8V
+M-C8V-C8V-C8V*"@H*"@H*"@H*"@H*"$:!P$`C>\"*"@H*"@H-C8V-C8V-C8V
+M-C:6-C8V-C8V-C;;V]L``````````````````````````````-O;V]O;`-L`
+M````V]O;`-LH*"@H*"@V-C8V-C8V-C8V-I8V-C8V-C8V-MO;VP``````````
+M````````````````````V]O;V]L`VP````#;V]L`VP``````````````````
+M````0D)"0D)"0D)"<T)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)=75U2
+M85(A&@=A<D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D+;V]O;V]O;V]O;V]O;-C8V-C8V&4PA`C8V-C8V-C8V-C8V-C8V
+M&4PA`C8V-C8V-C8V-C8V-C8H*"@H*"@H*"@H*"@H(1H'`0"-[P(H*"@H*"@V
+M-C8V-C8V-C8V-I8V-C8V-C8V-MO;VP``````````````````````````````
+MV]O;V]L`VP````#;V]L`V]O;V]O;V]O;V]O;V]O;V]O;V]O;-C8V-C8V-AE,
+M(0(V-C8V-C8V-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V-C8V-C8V-C8V-C:6
+M-C8V-C8V-C;;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;V]O;
+MV]O;V]O;V]O;V]M"0D)"````````````````````````````````````````
+M``````````````````````````````````!"0D)"0D)"0D)S0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0EU=75)A4B$:!V%R0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0MO;V]O;V]O;V]O;V]LV
+M-C8V-C893"$"-C8V-C8V-C8V-C8V-C893"$"-C8V-C8V-C8V-C8V-B@H*"@H
+M*"@H*"@H*"@A&@<!`(WO`B@H*"@H*#8V-C8V-C8V-C8VEC8V-C8V-C8VV]O;
+M``````````````````````````````#;V]O;VP#;`````-O;VP#;````````
+M``````````````!"0D)"0D)"0D)S0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0EU=75)A4B$:!V%R0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0MO;V]O;V]O;V]O;V]LV-C8V-C893"$"-C8V-C8V
+M-C8V-C8V-C893"$"-C8V-C8V-C8V-C8V-B@H*"@H*"@H*"@H*"@A&@<!`(WO
+M`B@H*"@H*#8V-C8V-C8V-C8VEC8V-C8V-C8VV]O;````````````````````
+M``````````#;V]O;VP#;`````-O;VP#;*"@H*"@H-C8V-C8V-C8V-C:6-C8V
+M-C8V-C;;V]L``````````````````````````````-O;V]O;`-L`````V]O;
+M`-L``````````````````````$)"0D)"0D)"0G-"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"75U=4F%2(1H'87)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"
+M0D)"0D)"0D)"0D)"0D)"0D)"0D)"0D)"V]O;V]O;V]O;V]O;VS8V-C8V-AE,
+M(0(V-C8V-C8V-C8V-C8V-AE,(0(V-C8V-C8V-C8V-C8V*"@H*"@H*"@H*"@H
+M*"$:!P$`C>\"*"@H*"@H-C8V-C8V-C8V-C:6-C8V-C8V-C;;V]L`````````
+@`````````````````````-O;V]O;`-L`````V]O;`-L`
+`
+end
diff --git a/libarchive/test/test_read_format_rar_ppmd_use_after_free2.rar.uu b/libarchive/test/test_read_format_rar_ppmd_use_after_free2.rar.uu
new file mode 100644
index 000000000000..03c2eadfa4f3
--- /dev/null
+++ b/libarchive/test/test_read_format_rar_ppmd_use_after_free2.rar.uu
@@ -0,0 +1,10 @@
+begin 664 test_read_format_rar_ppmd_use_after_free2.rar
+M4F%R(1H'``1G=$Q24`!W````>U!+`P0Q`'#_J7\`+@TU'`#]`0`7__]"0D)"
+M+W5N)B8F)F=I9`UD#1T+``!"`````````&%R(1H'``3_________`F@`H2``
+M``"`P\/#2\/#P\/#P\/#P\-3PP"`P\/#PYZ>AYZ>GI[#4\,`@,/#`L,@(""=
+M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(/______
+M__\@("`@("`@("`@("`@("`@("`@("`@("`$9W1,4E``=P```'M02P,$,0!P
+M_ZE_`"X--1P`_0$`%___0D)"0B]U;B8F)B9G:60-9`T="P``0@````````!A
+0<B$:!P`$_________P)H````
+`
+end