[Swfdec] 77 commits - libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_edittext.c libswfdec/swfdec_edittext.h libswfdec/swfdec_edittext_movie.c libswfdec/swfdec_edittext_movie.h libswfdec/swfdec_graphic_movie.c libswfdec/swfdec_html_parser.c libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h libswfdec/swfdec_player_internal.h libswfdec/swfdec_tag.c libswfdec/swfdec_text_field.c libswfdec/swfdec_text_field.h libswfdec/swfdec_text_field_movie_as.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_field_movie.h libswfdec/swfdec_text_format.c libswfdec/swfdec_text_format.h libswfdec/swfdec_text.h libswfdec/swfdec_xml.c libswfdec/swfdec_xml.h test/dump.c test/trace
Pekka Lampila
medar at kemper.freedesktop.org
Sat Oct 13 02:29:23 PDT 2007
libswfdec/Makefile.am | 9
libswfdec/swfdec_as_interpret.c | 7
libswfdec/swfdec_as_strings.c | 10
libswfdec/swfdec_edittext.c | 178 ------
libswfdec/swfdec_edittext.h | 97 ---
libswfdec/swfdec_edittext_movie.c | 164 -----
libswfdec/swfdec_edittext_movie.h | 56 --
libswfdec/swfdec_graphic_movie.c | 4
libswfdec/swfdec_html_parser.c | 670 ++++++++++++------------
libswfdec/swfdec_initialize.as | 7
libswfdec/swfdec_initialize.h | 347 ++++++------
libswfdec/swfdec_player_internal.h | 1
libswfdec/swfdec_tag.c | 2
libswfdec/swfdec_text.h | 1
libswfdec/swfdec_text_field.c | 397 ++++++++++++++
libswfdec/swfdec_text_field.h | 138 ++++
libswfdec/swfdec_text_field_movie.c | 716 +++++++++++++++++++++++++
libswfdec/swfdec_text_field_movie.h | 112 ++++
libswfdec/swfdec_text_field_movie_as.c | 810 +++++++++++++++++++++++++++++
libswfdec/swfdec_text_format.c | 913 +++++++++++++++++++++------------
libswfdec/swfdec_text_format.h | 63 +-
libswfdec/swfdec_xml.c | 24
libswfdec/swfdec_xml.h | 2
test/dump.c | 10
test/trace/textformat-5.swf |binary
test/trace/textformat-5.swf.trace | 76 ++
test/trace/textformat-6.swf |binary
test/trace/textformat-6.swf.trace | 76 ++
test/trace/textformat-7.swf |binary
test/trace/textformat-7.swf.trace | 76 ++
test/trace/textformat-8.swf |binary
test/trace/textformat-8.swf.trace | 76 ++
test/trace/textformat.as | 6
33 files changed, 3677 insertions(+), 1371 deletions(-)
New commits:
diff-tree 203f8cf3a29b5fd407abf1c93ac139d38a142d1a (from df08f79f1a4f119c646922cecac83fbed966ade1)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Sat Oct 13 12:20:20 2007 +0300
Fix earlier merge error causing createEmptyMovieClip to be added twice
diff --git a/libswfdec/swfdec_initialize.as b/libswfdec/swfdec_initialize.as
index de5f48f..3b9ad10 100644
--- a/libswfdec/swfdec_initialize.as
+++ b/libswfdec/swfdec_initialize.as
@@ -274,9 +274,8 @@ MovieClip.prototype["duplicateMovieClip"
MovieClip.prototype["removeMovieClip"] = ASnative (900, 19);
MovieClip.prototype.startDrag = ASnative (900, 20);
MovieClip.prototype.stopDrag = ASnative (900, 21);
-MovieClip.prototype.createEmptyMovieClip = ASnative (901, 0);
MovieClip.prototype.createTextField = ASnative (104, 200);
-ASSetPropFlags (MovieClip.prototype, "getDepth,createEmptyMovieClip", 128);
+ASSetPropFlags (MovieClip.prototype, "getDepth", 128);
ASSetNative (MovieClip.prototype, 901, "6createEmptyMovieClip,6beginFill,6beginGradientFill,6moveTo,6lineTo,6curveTo,6lineStyle,6endFill,6clear");
ASSetPropFlags (MovieClip.prototype, null, 3);
diff --git a/libswfdec/swfdec_initialize.h b/libswfdec/swfdec_initialize.h
index 0921de8..889393b 100644
--- a/libswfdec/swfdec_initialize.h
+++ b/libswfdec/swfdec_initialize.h
@@ -2,7 +2,7 @@
/* compiled from swfdec_initialize.as */
const unsigned char swfdec_initialize[] = {
- 0x88, 0x76, 0x07, 0xB8, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
+ 0x88, 0x43, 0x07, 0xB6, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
0x00, 0x41, 0x53, 0x6E, 0x61, 0x74, 0x69, 0x76, 0x65, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E,
0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x00, 0x4F, 0x62,
0x6A, 0x65, 0x63, 0x74, 0x00, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6C, 0x61,
@@ -75,472 +75,466 @@ const unsigned char swfdec_initialize[]
0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00, 0x72, 0x65, 0x6D, 0x6F, 0x76, 0x65,
0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44,
0x72, 0x61, 0x67, 0x00, 0x73, 0x74, 0x6F, 0x70, 0x44, 0x72, 0x61, 0x67, 0x00, 0x63, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69,
- 0x70, 0x00, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C,
- 0x64, 0x00, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2C, 0x63, 0x72, 0x65, 0x61, 0x74,
- 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00,
- 0x36, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69,
- 0x65, 0x43, 0x6C, 0x69, 0x70, 0x2C, 0x36, 0x62, 0x65, 0x67, 0x69, 0x6E, 0x46, 0x69, 0x6C, 0x6C,
- 0x2C, 0x36, 0x62, 0x65, 0x67, 0x69, 0x6E, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6E, 0x74, 0x46,
- 0x69, 0x6C, 0x6C, 0x2C, 0x36, 0x6D, 0x6F, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69, 0x6E,
- 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x63, 0x75, 0x72, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69,
- 0x6E, 0x65, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x2C, 0x36, 0x65, 0x6E, 0x64, 0x46, 0x69, 0x6C, 0x6C,
- 0x2C, 0x36, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C,
- 0x64, 0x00, 0x73, 0x65, 0x74, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00,
- 0x67, 0x65, 0x74, 0x4E, 0x65, 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74,
- 0x00, 0x73, 0x65, 0x74, 0x4E, 0x65, 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61,
- 0x74, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79,
- 0x6C, 0x65, 0x53, 0x68, 0x65, 0x65, 0x74, 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62,
- 0x6A, 0x65, 0x63, 0x74, 0x00, 0x6F, 0x5F, 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00,
- 0x63, 0x6C, 0x65, 0x61, 0x72, 0x00, 0x5F, 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C,
- 0x65, 0x73, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65,
- 0x00, 0x73, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00,
- 0x64, 0x6F, 0x54, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53,
- 0x74, 0x79, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61,
- 0x6D, 0x65, 0x73, 0x00, 0x74, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F,
- 0x72, 0x6D, 0x61, 0x74, 0x00, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61,
- 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00,
- 0x62, 0x6F, 0x6C, 0x64, 0x00, 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F,
- 0x72, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73,
- 0x70, 0x6C, 0x61, 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00,
- 0x66, 0x6F, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E,
- 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65,
- 0x6E, 0x74, 0x00, 0x69, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49,
- 0x6E, 0x74, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61,
- 0x6C, 0x69, 0x63, 0x00, 0x6B, 0x65, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65,
- 0x00, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x00, 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D,
- 0x61, 0x72, 0x67, 0x69, 0x6E, 0x4C, 0x65, 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61,
- 0x72, 0x67, 0x69, 0x6E, 0x00, 0x6C, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69,
- 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72,
- 0x69, 0x67, 0x68, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53,
- 0x69, 0x7A, 0x65, 0x00, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63,
- 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E,
- 0x65, 0x00, 0x6E, 0x6F, 0x6E, 0x65, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00,
- 0x63, 0x73, 0x73, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65,
- 0x72, 0x6E, 0x61, 0x6C, 0x00, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C,
- 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x00, 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76,
- 0x61, 0x6C, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C,
- 0x00, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61,
- 0x72, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72,
- 0x6F, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D,
- 0x00, 0x4C, 0x6F, 0x61, 0x64, 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13,
- 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02,
- 0x00, 0x08, 0x03, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07,
- 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
- 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07,
- 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00,
- 0x00, 0x01, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96,
- 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00,
- 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B,
- 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00, 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4E, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07,
- 0x00, 0x08, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x0F, 0x4C, 0x1C, 0x50, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x0A, 0x1C, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x11, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00,
- 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x12, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x13, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65,
+ 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x36, 0x63, 0x72,
+ 0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C,
+ 0x69, 0x70, 0x2C, 0x36, 0x62, 0x65, 0x67, 0x69, 0x6E, 0x46, 0x69, 0x6C, 0x6C, 0x2C, 0x36, 0x62,
+ 0x65, 0x67, 0x69, 0x6E, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6E, 0x74, 0x46, 0x69, 0x6C, 0x6C,
+ 0x2C, 0x36, 0x6D, 0x6F, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69, 0x6E, 0x65, 0x54, 0x6F,
+ 0x2C, 0x36, 0x63, 0x75, 0x72, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69, 0x6E, 0x65, 0x53,
+ 0x74, 0x79, 0x6C, 0x65, 0x2C, 0x36, 0x65, 0x6E, 0x64, 0x46, 0x69, 0x6C, 0x6C, 0x2C, 0x36, 0x63,
+ 0x6C, 0x65, 0x61, 0x72, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x73,
+ 0x65, 0x74, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x67, 0x65, 0x74,
+ 0x4E, 0x65, 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x73, 0x65,
+ 0x74, 0x4E, 0x65, 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x54,
+ 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x53,
+ 0x68, 0x65, 0x65, 0x74, 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62, 0x6A, 0x65, 0x63,
+ 0x74, 0x00, 0x6F, 0x5F, 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00, 0x63, 0x6C, 0x65,
+ 0x61, 0x72, 0x00, 0x5F, 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x73, 0x00,
+ 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65,
+ 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x64, 0x6F, 0x54,
+ 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C,
+ 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x73,
+ 0x00, 0x74, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F, 0x72, 0x6D, 0x61,
+ 0x74, 0x00, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61, 0x6C, 0x69, 0x67,
+ 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x62, 0x6F, 0x6C,
+ 0x64, 0x00, 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x70,
+ 0x61, 0x72, 0x73, 0x65, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61,
+ 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x66, 0x6F, 0x6E,
+ 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x61,
+ 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00,
+ 0x69, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49, 0x6E, 0x74, 0x00,
+ 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61, 0x6C, 0x69, 0x63,
+ 0x00, 0x6B, 0x65, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65, 0x00, 0x66, 0x61,
+ 0x6C, 0x73, 0x65, 0x00, 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67,
+ 0x69, 0x6E, 0x4C, 0x65, 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69,
+ 0x6E, 0x00, 0x6C, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69, 0x6E, 0x67, 0x00,
+ 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72, 0x69, 0x67, 0x68,
+ 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65,
+ 0x00, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63, 0x6F, 0x72, 0x61,
+ 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E, 0x65, 0x00, 0x6E,
+ 0x6F, 0x6E, 0x65, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00, 0x63, 0x73, 0x73,
+ 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61,
+ 0x6C, 0x00, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C, 0x00, 0x70, 0x61,
+ 0x72, 0x73, 0x65, 0x00, 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00,
+ 0x63, 0x6C, 0x65, 0x61, 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x73, 0x65,
+ 0x74, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x54, 0x69,
+ 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72, 0x6F, 0x61, 0x64,
+ 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D, 0x00, 0x4C, 0x6F,
+ 0x61, 0x64, 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13, 0x00, 0x08, 0x00,
+ 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x03,
+ 0x1C, 0x96, 0x13, 0x00, 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00,
+ 0x00, 0x02, 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
+ 0x17, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00,
+ 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00,
+ 0x78, 0x00, 0x3C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96, 0x02, 0x00, 0x08,
+ 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x0C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B, 0x07, 0x00, 0x00,
+ 0x01, 0x00, 0x78, 0x00, 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x0C, 0x4E, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07, 0x00, 0x08, 0x0F,
+ 0x07, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0F,
+ 0x4C, 0x1C, 0x50, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C,
+ 0x49, 0x12, 0x9D, 0x02, 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x0F, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x11, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96,
+ 0x02, 0x00, 0x05, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x12, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13,
+ 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96,
+ 0x04, 0x00, 0x08, 0x08, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x0B, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x0C, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x42, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x08, 0x14, 0x08,
+ 0x13, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x4F, 0x96,
+ 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03,
+ 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08, 0x16, 0x07, 0x12,
+ 0x00, 0x00, 0x00, 0x08, 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07, 0x14, 0x00, 0x00,
+ 0x00, 0x08, 0x19, 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00, 0x00, 0x00, 0x08,
+ 0x1B, 0x07, 0x28, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x07,
+ 0x0D, 0x00, 0x00, 0x00, 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F, 0x07, 0x24, 0x00,
+ 0x00, 0x00, 0x08, 0x20, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25, 0x00, 0x00, 0x00,
+ 0x08, 0x22, 0x07, 0x22, 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00, 0x00, 0x08, 0x24,
+ 0x07, 0x27, 0x00, 0x00, 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08, 0x26, 0x07, 0x20,
+ 0x00, 0x00, 0x00, 0x08, 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07, 0x26, 0x00, 0x00,
+ 0x00, 0x07, 0x13, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29, 0x07, 0x20, 0x03,
+ 0x00, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D,
+ 0x17, 0x96, 0x02, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00,
+ 0x00, 0x02, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
+ 0x17, 0x96, 0x07, 0x00, 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00,
+ 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A,
+ 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96,
+ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52,
+ 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00,
+ 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2D, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x0E, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08, 0x2D, 0x1C, 0x96,
+ 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x2F,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08, 0x32, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33,
+ 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00,
+ 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52,
+ 0x17, 0x99, 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07,
+ 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52, 0x17, 0x96, 0x09,
+ 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35,
+ 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96, 0x03, 0x00, 0x08,
+ 0x3A, 0x02, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00,
+ 0x02, 0x49, 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04, 0x00, 0x3C, 0x96,
+ 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A, 0x1C, 0x96, 0x07,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47,
+ 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x33, 0x00,
+ 0x96, 0x04, 0x00, 0x08, 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x08, 0x3B, 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B,
+ 0x3D, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x3E, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x08,
+ 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08,
+ 0x42, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0xF4, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x0E, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x08, 0x44, 0x07, 0xF4,
+ 0x01, 0x00, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07,
+ 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x45, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D,
+ 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
+ 0x46, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x13, 0x00, 0x08, 0x47, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x48, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0xFD,
0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x08, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x0B, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08,
- 0x0C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00,
- 0x08, 0x14, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
- 0x17, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08,
- 0x16, 0x07, 0x12, 0x00, 0x00, 0x00, 0x08, 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07,
- 0x14, 0x00, 0x00, 0x00, 0x08, 0x19, 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00,
- 0x00, 0x00, 0x08, 0x1B, 0x07, 0x28, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00,
- 0x08, 0x1D, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F,
- 0x07, 0x24, 0x00, 0x00, 0x00, 0x08, 0x20, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25,
- 0x00, 0x00, 0x00, 0x08, 0x22, 0x07, 0x22, 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00,
- 0x00, 0x08, 0x24, 0x07, 0x27, 0x00, 0x00, 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08,
- 0x26, 0x07, 0x20, 0x00, 0x00, 0x00, 0x08, 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07,
- 0x26, 0x00, 0x00, 0x00, 0x07, 0x13, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29,
- 0x07, 0x20, 0x03, 0x00, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
- 0x08, 0x00, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07,
- 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
- 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D,
- 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05,
+ 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49, 0x07, 0x04, 0x00,
+ 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
+ 0x4A, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x07, 0x00, 0x00, 0x00, 0x07, 0xFD,
0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x2A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08,
- 0x2D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17,
- 0x96, 0x0E, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08,
- 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02,
- 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08,
- 0x32, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00,
- 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52,
+ 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4C, 0x07, 0x08, 0x00,
+ 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
+ 0x96, 0x13, 0x00, 0x08, 0x4D, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x10,
+ 0x00, 0x08, 0x30, 0x08, 0x4E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x45, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30, 0x08, 0x4D, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08,
+ 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
+ 0x4F, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x13, 0x00, 0x08, 0x50, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x51, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0xFD,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63,
+ 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D,
+ 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05,
+ 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96,
+ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x52,
0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96,
- 0x03, 0x00, 0x08, 0x3A, 0x02, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00,
- 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04,
- 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00,
- 0x41, 0x00, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A,
- 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00,
- 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02,
- 0x00, 0x33, 0x00, 0x96, 0x04, 0x00, 0x08, 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A,
- 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00,
- 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E,
- 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
- 0x13, 0x00, 0x08, 0x42, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0xF4, 0x01, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x0E, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x08,
- 0x44, 0x07, 0xF4, 0x01, 0x00, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x45,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x46, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x47, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x48, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49,
- 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x4A, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x07, 0x00, 0x00,
- 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4C,
- 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x4D, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4D,
- 0x1C, 0x96, 0x10, 0x00, 0x08, 0x30, 0x08, 0x4E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x45, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30,
- 0x08, 0x4D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
- 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x4F, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x50, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x51, 0x07, 0x0C, 0x00, 0x00,
- 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35,
- 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00,
- 0x73, 0x72, 0x63, 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02,
- 0x49, 0x12, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x37, 0x05, 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x51, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00,
- 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x53, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x54, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x54, 0x52,
- 0x17, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x54, 0x3A, 0x17, 0x96, 0x02, 0x00, 0x08, 0x55, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74,
- 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04,
- 0x00, 0x08, 0x56, 0x08, 0x56, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02,
- 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D,
- 0x96, 0x09, 0x00, 0x08, 0x57, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96,
- 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00,
- 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x59, 0x9B, 0x0C,
- 0x00, 0x00, 0x01, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00,
- 0x08, 0x5C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x52,
- 0x3C, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x49, 0x9D, 0x02, 0x00,
- 0x2D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49, 0x9D, 0x02,
- 0x00, 0x0E, 0x00, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09,
- 0x00, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96,
- 0x05, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00,
- 0x75, 0x72, 0x6C, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F,
- 0x64, 0x00, 0x97, 0x00, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x60,
- 0x49, 0x12, 0x9D, 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x56, 0x08, 0x4E, 0x1D, 0x96,
- 0x04, 0x00, 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96,
- 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00,
- 0x02, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00,
- 0x00, 0x02, 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x99, 0x00,
- 0x96, 0x04, 0x00, 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x20, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49,
- 0x9D, 0x02, 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99,
- 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96,
+ 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D,
+ 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x53, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x13,
+ 0x00, 0x08, 0x54, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x52,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x54, 0x52, 0x17, 0x96, 0x02,
+ 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x54, 0x3A,
+ 0x17, 0x96, 0x02, 0x00, 0x08, 0x55, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x56,
+ 0x08, 0x56, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D, 0x96, 0x09, 0x00,
+ 0x08, 0x57, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07,
+ 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07,
+ 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x59, 0x9B, 0x0C, 0x00, 0x00, 0x01,
+ 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00, 0x08, 0x5C, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x52, 0x3C, 0x96, 0x02,
+ 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x49, 0x9D, 0x02, 0x00, 0x2D, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49, 0x9D, 0x02, 0x00, 0x0E, 0x00,
+ 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00, 0x75, 0x72, 0x6C,
+ 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x97,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x60, 0x49, 0x12, 0x9D,
+ 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x56, 0x08, 0x4E, 0x1D, 0x96, 0x04, 0x00, 0x08,
+ 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C,
+ 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x02, 0x99, 0x02,
+ 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A,
+ 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00,
+ 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x99, 0x00, 0x96, 0x04, 0x00,
+ 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96, 0x02,
+ 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00,
+ 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99, 0x02, 0x00, 0x16,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01,
+ 0x00, 0xC0, 0x8B, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x65, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x75, 0x72,
+ 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x99, 0x00, 0x96, 0x04, 0x00, 0x08, 0x61,
+ 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96, 0x02, 0x00, 0x08,
+ 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x4A, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D,
+ 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96,
0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64,
- 0x4E, 0x9A, 0x01, 0x00, 0xC0, 0x8B, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x65, 0x9B, 0x10, 0x00, 0x00, 0x02,
- 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x99, 0x00, 0x96, 0x04,
- 0x00, 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96,
- 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02,
- 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02, 0x00,
- 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A,
- 0x01, 0x00, 0x40, 0x8B, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x66, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x84,
- 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x67, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x68, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x69, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x84,
- 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07, 0x07, 0x00,
- 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x6A, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x6B, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6C, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x07, 0x84,
- 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6D, 0x07, 0x0E, 0x00,
- 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x6E, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x6F, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x70, 0x07, 0x11, 0x00, 0x00, 0x00, 0x07, 0x84,
- 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x71, 0x07, 0x12, 0x00,
- 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x72, 0x07, 0x13, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x73, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x74, 0x07, 0x15, 0x00, 0x00, 0x00, 0x07, 0x84,
- 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x75, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0x85, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x76, 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x77, 0x08, 0x58,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08,
- 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x08, 0x78, 0x07, 0x85, 0x03, 0x00, 0x00, 0x08, 0x58, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00,
- 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x58, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17,
- 0x96, 0x13, 0x00, 0x08, 0x79, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x7A, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x68,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x7B, 0x07, 0x68, 0x00,
- 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x7C, 0x07, 0x69, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x7D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x6E,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08,
- 0x79, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x7F, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13,
- 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x80, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96,
- 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08, 0x81, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3C,
- 0x96, 0x02, 0x00, 0x08, 0x13, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D,
- 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08,
- 0x81, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x82, 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x81,
- 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x83, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00,
- 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x85, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x86, 0x9B, 0x0A,
- 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x52, 0x3E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x88, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x61,
- 0x6D, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8A,
- 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00,
- 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E,
- 0x3C, 0x96, 0x07, 0x00, 0x08, 0x8D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96, 0x02, 0x00,
- 0x08, 0x8C, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x25,
- 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52,
- 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x3E, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x8A, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00,
- 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x85, 0x4E, 0x12, 0x12,
- 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x85,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x85, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x52, 0x4F, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x9B, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x73, 0x74, 0x79, 0x6C,
- 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12,
- 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x09, 0x00, 0x08, 0x8F, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x7D, 0x40, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x90, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C,
- 0x96, 0x04, 0x00, 0x08, 0x91, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x90, 0x4E, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x93,
- 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x92, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x94, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x05, 0x01, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x41,
- 0x00, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x96, 0x52,
- 0x3C, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x12, 0x9D, 0x02,
- 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x95, 0x08, 0x8C,
- 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x97, 0x08, 0x89, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x97, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x98, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x99, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x52, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9C, 0x08, 0x89, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x9F, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x94, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F, 0x05, 0x00, 0x4F, 0x99, 0x02,
- 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F, 0x05, 0x01,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0xA1, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA2, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA0, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA0, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x99,
- 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA0, 0x05,
- 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0xA0, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3,
- 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0xA3, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA4, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0xA5, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA6, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA7, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA8, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA7,
- 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B, 0x00, 0x96,
- 0x04, 0x00, 0x08, 0x8C, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x4E, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x8C, 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAA, 0x08, 0x8C, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0xAB, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x49, 0x9D, 0x02, 0x00, 0x2B,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0xAD, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0xAC, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAC, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C,
- 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x63,
- 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0xAF, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB0, 0x52, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0xB1, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0xB2, 0x49, 0x12, 0x9D, 0x02, 0x00,
- 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x84, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0xB1, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x56,
- 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB1,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8A,
- 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x04, 0x00, 0x08, 0xB3, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00,
- 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01,
- 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00,
- 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB3, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08, 0xB1, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xB1,
+ 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x40,
+ 0x8B, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x66, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x67, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07,
+ 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x68, 0x07, 0x04,
+ 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x69, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07, 0x07, 0x00, 0x00, 0x00, 0x07,
+ 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6A, 0x07, 0x0A,
+ 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x6B, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6C, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6D, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x07,
+ 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6E, 0x07, 0x0F,
+ 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x6F, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x70, 0x07, 0x11, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x71, 0x07, 0x12, 0x00, 0x00, 0x00, 0x07,
+ 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x72, 0x07, 0x13,
+ 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x73, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x74, 0x07, 0x15, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x75, 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07,
+ 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00,
+ 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x6A, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x08,
+ 0x76, 0x07, 0x85, 0x03, 0x00, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03,
+ 0x00, 0x00, 0x00, 0x02, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00,
+ 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x77, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D,
+ 0x1D, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x78, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x79, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x7A, 0x07, 0x69, 0x00, 0x00, 0x00, 0x07,
+ 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00,
+ 0x08, 0x7B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x6E, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x7C,
+ 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x43, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00,
+ 0x6F, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x7E,
+ 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00,
+ 0x08, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x46, 0x87,
+ 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00,
+ 0x08, 0x80, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x80,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x80, 0x1C, 0x4E, 0x4F, 0x99,
+ 0x02, 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02,
+ 0x00, 0x08, 0x81, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x07, 0x00, 0x08, 0x82, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x83, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x84, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D,
+ 0x65, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x4E,
+ 0x96, 0x02, 0x00, 0x08, 0x85, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x52, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x86, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C,
+ 0x65, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x4E,
+ 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00,
+ 0x08, 0x82, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x82, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x85, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x87,
0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0xB0, 0x07, 0x65, 0x00, 0x00, 0x00,
- 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x9A, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x96, 0x07,
- 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x02, 0x08, 0x79, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00,
- 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x08, 0x7E,
- 0x08, 0x79, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
- 0x13, 0x00, 0x08, 0xB4, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB5, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96,
- 0x13, 0x00, 0x08, 0xB6, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x04, 0x00, 0x08, 0xB7, 0x08, 0xB5, 0x1C, 0x1D,
- 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96, 0x0D, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00,
- 0x08, 0x05, 0x3D, 0x17, 0x00
+ 0x7D, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x85, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x88, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02,
+ 0x00, 0x08, 0x89, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x8A,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x4E, 0x3C, 0x96, 0x07, 0x00, 0x08, 0x8B, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x46, 0x87, 0x01, 0x00, 0x00,
+ 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x04, 0x00, 0x08, 0x80, 0x04,
+ 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x80, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x08, 0x8B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96,
+ 0x02, 0x00, 0x08, 0x8B, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x88, 0x9B, 0x0A,
+ 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x83, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x83, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x83, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x85, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x4E, 0x96, 0x02,
+ 0x00, 0x08, 0x85, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x8C, 0x52, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x9B,
+ 0x0B, 0x00, 0x00, 0x01, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00,
+ 0x08, 0x87, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01,
+ 0x00, 0x02, 0x3E, 0x96, 0x09, 0x00, 0x08, 0x8D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7B, 0x40,
+ 0x3C, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x4E, 0x12, 0x9D, 0x02,
+ 0x00, 0x15, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8F, 0x08, 0x87,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x90, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x91, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x90, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x92,
+ 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00,
+ 0x08, 0x91, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C,
+ 0x96, 0x04, 0x00, 0x08, 0x91, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x93, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0x8A, 0x08,
+ 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x93, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x94, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C,
+ 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x08, 0x8A, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8D,
+ 0x1C, 0x96, 0x04, 0x00, 0x08, 0x95, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x96, 0x4E, 0x12, 0x9D, 0x02, 0x00,
+ 0x26, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x97, 0x08, 0x87, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x96, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x99, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C,
+ 0x96, 0x04, 0x00, 0x08, 0x9A, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x99, 0x4E, 0x96, 0x07,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9B, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x9C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9D, 0x49, 0x9D, 0x02, 0x00, 0x2B,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9C, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x92, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96,
+ 0x04, 0x00, 0x08, 0x9D, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9D, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9F, 0x49, 0x9D, 0x02, 0x00, 0x4F,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0xA0, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04,
+ 0x00, 0x08, 0x9E, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x07, 0x00, 0x07,
+ 0x01, 0x00, 0x00, 0x00, 0x08, 0x9B, 0x3D, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9E, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9E, 0x05, 0x01, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA1, 0x08, 0x87, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0xA1, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9B, 0x3D, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA2, 0x4E, 0x12, 0x9D, 0x02, 0x00,
+ 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA3, 0x08, 0x87, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0xA2, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9B,
+ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x12, 0x9D,
+ 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA4, 0x08,
+ 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x08, 0x9B, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA5, 0x4E,
+ 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08,
+ 0xA6, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA5, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x08, 0x9B, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0xA7, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x8A, 0x08, 0x87, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0xA7, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9B,
+ 0x3D, 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x8A, 0x1C, 0x48, 0x12, 0x9D,
+ 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA8, 0x08,
+ 0x8A, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0xAA, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0xA9, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x49, 0x12, 0x9D, 0x02, 0x00,
+ 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAA, 0x05, 0x00, 0x4F,
+ 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAA,
+ 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0xAC, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x63, 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04,
+ 0x00, 0x08, 0xAF, 0x08, 0xAD, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0xAF, 0x1C, 0x44, 0x96,
+ 0x02, 0x00, 0x08, 0xB0, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00,
+ 0x3E, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x4E, 0x12, 0x12, 0x9D,
+ 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x82, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAF, 0x46, 0x87, 0x01, 0x00, 0x00,
+ 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x56, 0x00, 0x96, 0x04, 0x00, 0x08, 0x80, 0x04,
+ 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x4E, 0x96, 0x02,
+ 0x00, 0x08, 0x80, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAF, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x80, 0x1C,
+ 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x7D, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x80, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x88, 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF,
+ 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0x77,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0xAC, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00,
+ 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAF,
+ 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0xB1, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37,
+ 0x08, 0xAF, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAF, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0xAE, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x98, 0x07, 0x66,
+ 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x94, 0x07, 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03,
+ 0x04, 0x00, 0x00, 0x02, 0x08, 0x77, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
+ 0x09, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x08, 0x7C, 0x08, 0x77, 0x1C, 0x96, 0x07, 0x00, 0x07,
+ 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0xB2, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D,
+ 0x96, 0x13, 0x00, 0x08, 0xB3, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB4, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D,
+ 0x96, 0x04, 0x00, 0x08, 0xB5, 0x08, 0xB3, 0x1C, 0x1D, 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D,
+ 0x96, 0x0D, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09,
+ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x00
};
diff-tree df08f79f1a4f119c646922cecac83fbed966ade1 (from f85b0945dfa9e438af6dae91c91ed65d73340986)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Sat Oct 13 12:10:12 2007 +0300
Format the typeof exception for TextField little better
diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index 6af0db9..59b6052 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -2104,10 +2104,12 @@ swfdec_action_type_of (SwfdecAsContext *
case SWFDEC_AS_TYPE_OBJECT:
{
SwfdecAsObject *obj = SWFDEC_AS_VALUE_GET_OBJECT (val);
- if (SWFDEC_IS_TEXT_FIELD_MOVIE (obj)) {
- type = SWFDEC_AS_STR_object;
- } else if (SWFDEC_IS_MOVIE (obj)) {
- type = SWFDEC_AS_STR_movieclip;
+ if (SWFDEC_IS_MOVIE (obj)) {
+ if (SWFDEC_IS_TEXT_FIELD_MOVIE (obj)) {
+ type = SWFDEC_AS_STR_object;
+ } else {
+ type = SWFDEC_AS_STR_movieclip;
+ }
} else if (SWFDEC_IS_AS_FUNCTION (obj)) {
type = SWFDEC_AS_STR_function;
} else {
diff-tree f85b0945dfa9e438af6dae91c91ed65d73340986 (from 1c59d3490ad6a002dcfebdc67fbcb6b6d20f9744)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Sat Oct 13 12:04:49 2007 +0300
Fix typo: Was setting TextField's native properties to TextFormat by accident
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 8e67933..a4ecd5c 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -749,7 +749,7 @@ swfdec_text_field_movie_init_properties
g_return_if_fail (SWFDEC_IS_AS_CONTEXT (cx));
- swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextFormat, &val);
+ swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
return;
object = SWFDEC_AS_VALUE_GET_OBJECT (&val);
diff-tree 1c59d3490ad6a002dcfebdc67fbcb6b6d20f9744 (from f8657b2bf57918cb493944e14e6cbc660c989c6c)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Sat Oct 13 12:02:03 2007 +0300
Fix an assert when TextField has no text
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index 3df04b0..2827961 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -297,7 +297,7 @@ swfdec_text_field_movie_generate_paragra
num = 0;
p = text->text_display;
- while (p != NULL) {
+ while (p != NULL && *p != '\0') {
num++;
p = strchr (p, '\r');
if (p != NULL) p++;
diff-tree f8657b2bf57918cb493944e14e6cbc660c989c6c (from 7feb2c4407bf21cf65dbc6c2dd77997636e9cda3)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Sat Oct 13 11:28:19 2007 +0300
Fix reading of some integers values in TextFormat at version 8
diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index 569dfd9..f507b86 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -258,16 +258,25 @@ swfdec_text_format_value_to_integer (Swf
swfdec_as_value_to_string (cx, val);
if (cx->version >= 8) {
- if (!isnan (d) && ((!isfinite (d) && d > 0) || (isfinite (d) && d > (int)G_MAXINT32))) {
- // don't check allow_negative here
- return -2147483648;
- } else {
- if (!allow_negative && (int)d < 0) {
- return 0;
+ if (isnan (d))
+ return (allow_negative ? G_MININT32 : 0);
+
+ if (!isfinite (d)) {
+ if (d > 0) {
+ return G_MININT32;
} else {
- return (int)d;
+ return (allow_negative ? G_MININT32 : 0);
}
}
+ if (d > (double)G_MAXINT32)
+ return G_MININT32;
+
+ n = (int)d;
+ if (!allow_negative && n < 0) {
+ return 0;
+ } else {
+ return n;
+ }
} else {
if (!allow_negative && n < 0) {
return 0;
diff-tree 7feb2c4407bf21cf65dbc6c2dd77997636e9cda3 (from parents)
Merge: 2f16ab4da1787dc8e33ac0688197651d362a5dfc 0cf1868898db2da4a74e46c5fe7d3a68d35cf8e7
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Sat Oct 13 10:54:02 2007 +0300
Merge branch 'master' into textfield
diff-tree 2f16ab4da1787dc8e33ac0688197651d362a5dfc (from e1711c4cde0487d8d5995727cda1a007274cb953)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Sat Oct 13 10:24:00 2007 +0300
Create TextField's native properties even when TextField is created from a tag
Also changed the property initialization to use _global.TextField.prototype and
not object.__proto__. Plus don't initialize them only once, but every time a
TextField is created
diff --git a/libswfdec/swfdec_player_internal.h b/libswfdec/swfdec_player_internal.h
index 7dc105c..182acd0 100644
--- a/libswfdec/swfdec_player_internal.h
+++ b/libswfdec/swfdec_player_internal.h
@@ -74,7 +74,6 @@ struct _SwfdecPlayer
double scale_y; /* cached y scale value */
int offset_x; /* x offset from top left edge after scaling */
int offset_y; /* y offset from top left edge after scaling */
- gboolean edittext_movie_properties_initialized; /* whether TextField object's native properties have been initialized */
gboolean xml_properties_initialized; /* whether XML object's native properties have been initialized */
gboolean xml_node_properties_initialized; /* same for XMLNode */
diff --git a/libswfdec/swfdec_text_field_movie.h b/libswfdec/swfdec_text_field_movie.h
index 40ed0a2..2ade6e2 100644
--- a/libswfdec/swfdec_text_field_movie.h
+++ b/libswfdec/swfdec_text_field_movie.h
@@ -101,6 +101,9 @@ void swfdec_text_field_movie_set_text_f
guint start_index,
guint end_index);
+/* implemented in swfdec_text_field_movie_as.c */
+void swfdec_text_field_movie_init_properties (SwfdecAsContext * cx);
+
/* implemented in swfdec_html_parser.c */
void swfdec_text_field_movie_html_parse (SwfdecTextFieldMovie * text,
const char * str);
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index a050545..8e67933 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -741,6 +741,47 @@ swfdec_text_field_movie_add_variable (Sw
swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
}
+void
+swfdec_text_field_movie_init_properties (SwfdecAsContext *cx)
+{
+ SwfdecAsValue val;
+ SwfdecAsObject *object, *proto;
+
+ g_return_if_fail (SWFDEC_IS_AS_CONTEXT (cx));
+
+ swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextFormat, &val);
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+ return;
+ object = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+ swfdec_as_object_get_variable (object, SWFDEC_AS_STR_prototype, &val);
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+ return;
+ proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_text,
+ swfdec_text_field_movie_get_text, swfdec_text_field_movie_do_set_text);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
+ swfdec_text_field_movie_get_htmlText,
+ swfdec_text_field_movie_set_htmlText);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_html,
+ swfdec_text_field_movie_get_html, swfdec_text_field_movie_set_html);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
+ swfdec_text_field_movie_get_condenseWhite,
+ swfdec_text_field_movie_set_condenseWhite);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
+ swfdec_text_field_movie_get_embedFonts,
+ swfdec_text_field_movie_set_embedFonts);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
+ swfdec_text_field_movie_get_length,
+ swfdec_text_field_movie_set_length);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
+ swfdec_text_field_movie_get_textColor,
+ swfdec_text_field_movie_set_textColor);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_autoSize,
+ swfdec_text_field_movie_get_autoSize,
+ swfdec_text_field_movie_set_autoSize);
+}
+
SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_text_field_movie_construct, swfdec_text_field_movie_get_type)
void
swfdec_text_field_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
@@ -763,39 +804,7 @@ swfdec_text_field_movie_construct (Swfde
g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (object));
- if (!SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized) {
- SwfdecAsValue val;
- SwfdecAsObject *proto;
-
- swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val);
- g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
- proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
-
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_text,
- swfdec_text_field_movie_get_text, swfdec_text_field_movie_do_set_text);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
- swfdec_text_field_movie_get_htmlText,
- swfdec_text_field_movie_set_htmlText);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_html,
- swfdec_text_field_movie_get_html, swfdec_text_field_movie_set_html);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
- swfdec_text_field_movie_get_condenseWhite,
- swfdec_text_field_movie_set_condenseWhite);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
- swfdec_text_field_movie_get_embedFonts,
- swfdec_text_field_movie_set_embedFonts);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
- swfdec_text_field_movie_get_length,
- swfdec_text_field_movie_set_length);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
- swfdec_text_field_movie_get_textColor,
- swfdec_text_field_movie_set_textColor);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_autoSize,
- swfdec_text_field_movie_get_autoSize,
- swfdec_text_field_movie_set_autoSize);
-
- SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
- }
+ swfdec_text_field_movie_init_properties (cx);
SWFDEC_AS_VALUE_SET_OBJECT (ret, object);
}
diff-tree e1711c4cde0487d8d5995727cda1a007274cb953 (from dfdcd5343d04f91b23aa6b31df09bcb50179243a)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 12 22:21:24 2007 +0300
Set constructor correctly when creating TextField from a tag
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index ba4d5f3..3df04b0 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -525,11 +525,17 @@ swfdec_text_field_movie_init_movie (Swfd
SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
SwfdecAsContext *cx;
SwfdecAsObject *parent;
- SwfdecAsValue val = { 0, };
+ SwfdecAsValue val;
const char *s;
cx = SWFDEC_AS_OBJECT (movie)->context;
+ swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
+ if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
+ swfdec_as_object_set_constructor (SWFDEC_AS_OBJECT (movie),
+ SWFDEC_AS_VALUE_GET_OBJECT (&val));
+ }
+
// format
text->format_new =
SWFDEC_TEXT_FORMAT (swfdec_text_format_new_no_properties (cx));
diff-tree dfdcd5343d04f91b23aa6b31df09bcb50179243a (from parents)
Merge: 7b361b808b23724fcc70481894757083a1ea81d2 7a7aaf0a197ede39fc90d975139558da438665f4
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 12 14:09:21 2007 +0300
Merge branch 'master' into textfield
Conflicts:
libswfdec/swfdec_text_format.c
diff --cc libswfdec/swfdec_text_format.c
index ea5f280,273e611..569dfd9
@@@ -435,33 -381,11 +435,38 @@@
}
static void
-swfdec_text_format_set_color (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_color (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, color), argc, argv, FALSE, TRUE);
+ SwfdecTextFormat *format;
+
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
+ return;
+ format = SWFDEC_TEXT_FORMAT (object);
+
+ if (argc < 1)
+ return;
+
+
+ if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
+ SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
+ swfdec_text_format_mark_unset (format, PROP_COLOR);
+ } else {
+ if (cx->version >= 8) {
- format->color = (unsigned)swfdec_as_value_to_number (cx, &argv[0]);
++ double d = swfdec_as_value_to_number (cx, &argv[0]);
++ if (!isfinite (d)) {
++ format->color = 0;
++ } else {
++ format->color = (unsigned)d;
++ }
+ } else {
+ format->color = (unsigned)swfdec_as_value_to_integer (cx, &argv[0]);
+ }
+ swfdec_as_value_to_integer (cx, &argv[0]);
+ swfdec_as_value_to_string (cx, &argv[0]);
+
+ swfdec_text_format_mark_set (format, PROP_COLOR);
+ }
}
static void
diff-tree 7b361b808b23724fcc70481894757083a1ea81d2 (from f52b751d4dd6680a103a67c714c47b817f361be3)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 12 13:27:54 2007 +0300
Create TextFormat's native properties at correct times (hopefully)
diff --git a/libswfdec/swfdec_player_internal.h b/libswfdec/swfdec_player_internal.h
index 01a34d3..7dc105c 100644
--- a/libswfdec/swfdec_player_internal.h
+++ b/libswfdec/swfdec_player_internal.h
@@ -74,7 +74,6 @@ struct _SwfdecPlayer
double scale_y; /* cached y scale value */
int offset_x; /* x offset from top left edge after scaling */
int offset_y; /* y offset from top left edge after scaling */
- gboolean text_format_properties_initialized; /* whether TextFormat object's native properties have been initialized */
gboolean edittext_movie_properties_initialized; /* whether TextField object's native properties have been initialized */
gboolean xml_properties_initialized; /* whether XML object's native properties have been initialized */
gboolean xml_node_properties_initialized; /* same for XMLNode */
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index 0f17e86..ba4d5f3 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -531,7 +531,8 @@ swfdec_text_field_movie_init_movie (Swfd
cx = SWFDEC_AS_OBJECT (movie)->context;
// format
- text->format_new = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx));
+ text->format_new =
+ SWFDEC_TEXT_FORMAT (swfdec_text_format_new_no_properties (cx));
swfdec_text_format_set_defaults (text->format_new);
text->format_new->color = text->text->color;
text->format_new->align = text->text->align;
diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index 55e767f..ea5f280 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -978,6 +978,71 @@ swfdec_text_format_clear (SwfdecTextForm
swfdec_text_format_mark_set (format, PROP_DISPLAY);
}
+static void
+swfdec_text_format_init_properties (SwfdecAsContext *cx)
+{
+ SwfdecAsValue val;
+ SwfdecAsObject *proto;
+
+ g_return_if_fail (SWFDEC_IS_AS_CONTEXT (cx));
+
+ swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextFormat, &val);
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+ return;
+ proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+ swfdec_as_object_get_variable (proto, SWFDEC_AS_STR_prototype, &val);
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+ return;
+ proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_align,
+ swfdec_text_format_do_get_align, swfdec_text_format_do_set_align);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_blockIndent,
+ swfdec_text_format_do_get_block_indent,
+ swfdec_text_format_do_set_block_indent);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bold,
+ swfdec_text_format_do_get_bold, swfdec_text_format_do_set_bold);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bullet,
+ swfdec_text_format_do_get_bullet, swfdec_text_format_do_set_bullet);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_color,
+ swfdec_text_format_do_get_color, swfdec_text_format_do_set_color);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_display,
+ swfdec_text_format_do_get_display, swfdec_text_format_do_set_display);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_font,
+ swfdec_text_format_do_get_font, swfdec_text_format_do_set_font);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_indent,
+ swfdec_text_format_do_get_indent, swfdec_text_format_do_set_indent);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_italic,
+ swfdec_text_format_do_get_italic, swfdec_text_format_do_set_italic);
+ if (cx->version >= 8) {
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_kerning,
+ swfdec_text_format_do_get_kerning, swfdec_text_format_do_set_kerning);
+ }
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leading,
+ swfdec_text_format_do_get_leading, swfdec_text_format_do_set_leading);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leftMargin,
+ swfdec_text_format_do_get_left_margin,
+ swfdec_text_format_do_set_left_margin);
+ if (cx->version >= 8) {
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_letterSpacing,
+ swfdec_text_format_do_get_letter_spacing,
+ swfdec_text_format_do_set_letter_spacing);
+ }
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_rightMargin,
+ swfdec_text_format_do_get_right_margin,
+ swfdec_text_format_do_set_right_margin);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_size,
+ swfdec_text_format_do_get_size, swfdec_text_format_do_set_size);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_tabStops,
+ swfdec_text_format_do_get_tab_stops, swfdec_text_format_do_set_tab_stops);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_target,
+ swfdec_text_format_do_get_target, swfdec_text_format_do_set_target);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_underline,
+ swfdec_text_format_do_get_underline, swfdec_text_format_do_set_underline);
+ swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_url,
+ swfdec_text_format_do_get_url, swfdec_text_format_do_set_url);
+}
+
SWFDEC_AS_CONSTRUCTOR (110, 0, swfdec_text_format_construct, swfdec_text_format_get_type)
void
swfdec_text_format_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
@@ -992,63 +1057,7 @@ swfdec_text_format_construct (SwfdecAsCo
g_assert (SWFDEC_IS_TEXT_FORMAT (object));
- if (!SWFDEC_PLAYER (cx)->text_format_properties_initialized) {
- SwfdecAsValue val;
- SwfdecAsObject *proto;
-
- swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val);
- g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
- proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
-
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_align,
- swfdec_text_format_do_get_align, swfdec_text_format_do_set_align);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_blockIndent,
- swfdec_text_format_do_get_block_indent,
- swfdec_text_format_do_set_block_indent);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bold,
- swfdec_text_format_do_get_bold, swfdec_text_format_do_set_bold);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bullet,
- swfdec_text_format_do_get_bullet, swfdec_text_format_do_set_bullet);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_color,
- swfdec_text_format_do_get_color, swfdec_text_format_do_set_color);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_display,
- swfdec_text_format_do_get_display, swfdec_text_format_do_set_display);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_font,
- swfdec_text_format_do_get_font, swfdec_text_format_do_set_font);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_indent,
- swfdec_text_format_do_get_indent, swfdec_text_format_do_set_indent);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_italic,
- swfdec_text_format_do_get_italic, swfdec_text_format_do_set_italic);
- if (cx->version >= 8) {
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_kerning,
- swfdec_text_format_do_get_kerning, swfdec_text_format_do_set_kerning);
- }
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leading,
- swfdec_text_format_do_get_leading, swfdec_text_format_do_set_leading);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leftMargin,
- swfdec_text_format_do_get_left_margin,
- swfdec_text_format_do_set_left_margin);
- if (cx->version >= 8) {
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_letterSpacing,
- swfdec_text_format_do_get_letter_spacing,
- swfdec_text_format_do_set_letter_spacing);
- }
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_rightMargin,
- swfdec_text_format_do_get_right_margin,
- swfdec_text_format_do_set_right_margin);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_size,
- swfdec_text_format_do_get_size, swfdec_text_format_do_set_size);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_tabStops,
- swfdec_text_format_do_get_tab_stops, swfdec_text_format_do_set_tab_stops);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_target,
- swfdec_text_format_do_get_target, swfdec_text_format_do_set_target);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_underline,
- swfdec_text_format_do_get_underline, swfdec_text_format_do_set_underline);
- swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_url,
- swfdec_text_format_do_get_url, swfdec_text_format_do_set_url);
-
- SWFDEC_PLAYER (cx)->text_format_properties_initialized = TRUE;
- }
+ swfdec_text_format_init_properties (cx);
swfdec_text_format_clear (SWFDEC_TEXT_FORMAT (object));
@@ -1119,7 +1128,7 @@ swfdec_text_format_copy (const SwfdecTex
}
SwfdecAsObject *
-swfdec_text_format_new (SwfdecAsContext *context)
+swfdec_text_format_new_no_properties (SwfdecAsContext *context)
{
SwfdecAsObject *ret;
SwfdecAsValue val;
@@ -1141,3 +1150,13 @@ swfdec_text_format_new (SwfdecAsContext
return ret;
}
+
+SwfdecAsObject *
+swfdec_text_format_new (SwfdecAsContext *context)
+{
+ g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL);
+
+ swfdec_text_format_init_properties (context);
+
+ return swfdec_text_format_new_no_properties (context);
+}
diff --git a/libswfdec/swfdec_text_format.h b/libswfdec/swfdec_text_format.h
index 91d242f..9fc7cee 100644
--- a/libswfdec/swfdec_text_format.h
+++ b/libswfdec/swfdec_text_format.h
@@ -84,6 +84,7 @@ struct _SwfdecTextFormatClass {
GType swfdec_text_format_get_type (void);
SwfdecAsObject * swfdec_text_format_new (SwfdecAsContext * context);
+SwfdecAsObject * swfdec_text_format_new_no_properties (SwfdecAsContext * context);
void swfdec_text_format_set_defaults (SwfdecTextFormat * format);
SwfdecTextFormat * swfdec_text_format_copy (const SwfdecTextFormat *copy_from);
void swfdec_text_format_add (SwfdecTextFormat * format,
diff-tree f52b751d4dd6680a103a67c714c47b817f361be3 (from 89f229892ce0825a28476872261545f7d37c76dc)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 12 11:35:10 2007 +0300
Add one more valueOf call. Fix TextField's textColor property setting
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 3dba443..a050545 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -434,6 +434,8 @@ swfdec_text_field_movie_set_embedFonts (
SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
+ swfdec_as_value_to_number (cx, &argv[0]);
+
text->text->embed_fonts = value;
}
@@ -473,20 +475,26 @@ swfdec_text_field_movie_get_textColor (S
SWFDEC_AS_STR_color, ret);
}
+// This doesn't work the same way as TextFormat's color setting
static void
swfdec_text_field_movie_set_textColor (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
SwfdecTextFieldMovie *text;
+ int value;
+ SwfdecAsValue val;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "i", &value);
- if (argc < 1)
- return;
+ if (value < 0) {
+ SWFDEC_AS_VALUE_SET_NUMBER (&val, 16777216 + value % 16777216);
+ } else {
+ SWFDEC_AS_VALUE_SET_NUMBER (&val, value);
+ }
swfdec_as_object_set_variable (SWFDEC_AS_OBJECT (text->format_new),
- SWFDEC_AS_STR_color, &argv[0]);
+ SWFDEC_AS_STR_color, &val);
}
static void
diff-tree 89f229892ce0825a28476872261545f7d37c76dc (from 534d6408cb0d7cf303d549bca5783fd4067a8120)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 12 11:15:03 2007 +0300
Add extra calls to valueOf from TextField properties
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 33690f0..3dba443 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -380,6 +380,8 @@ swfdec_text_field_movie_set_html (Swfdec
SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
+ swfdec_as_value_to_number (cx, &argv[0]);
+
text->text->html = value;
}
@@ -405,6 +407,8 @@ swfdec_text_field_movie_set_condenseWhit
SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
+ swfdec_as_value_to_number (cx, &argv[0]);
+
text->condense_white = value;
}
@@ -433,6 +437,18 @@ swfdec_text_field_movie_set_embedFonts (
text->text->embed_fonts = value;
}
+// does nothing but calls valueOf
+static void
+swfdec_text_field_movie_set_length (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
+
+ swfdec_as_value_to_number (cx, &argv[0]);
+}
+
static void
swfdec_text_field_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
@@ -761,7 +777,8 @@ swfdec_text_field_movie_construct (Swfde
swfdec_text_field_movie_get_embedFonts,
swfdec_text_field_movie_set_embedFonts);
swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
- swfdec_text_field_movie_get_length, NULL);
+ swfdec_text_field_movie_get_length,
+ swfdec_text_field_movie_set_length);
swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
swfdec_text_field_movie_get_textColor,
swfdec_text_field_movie_set_textColor);
diff-tree 534d6408cb0d7cf303d549bca5783fd4067a8120 (from dcf8696e4950586cb6ec78835898b0618e722972)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 12 11:14:15 2007 +0300
Fix TextField trying to mark some strings even if they were NULL
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index 00cd627..0f17e86 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -478,9 +478,11 @@ swfdec_text_field_movie_mark (SwfdecAsOb
text = SWFDEC_TEXT_FIELD_MOVIE (object);
- swfdec_as_string_mark (text->text_input);
+ if (text->text_input != NULL)
+ swfdec_as_string_mark (text->text_input);
swfdec_as_string_mark (text->text_display);
- swfdec_as_string_mark (text->variable);
+ if (text->variable != NULL)
+ swfdec_as_string_mark (text->variable);
swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
for (iter = text->formats; iter != NULL; iter = iter->next) {
swfdec_as_object_mark (
diff-tree dcf8696e4950586cb6ec78835898b0618e722972 (from b0528b30dcae570de489ccbfa7260b346d3570c6)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 12 11:02:07 2007 +0300
Drop unneeded gpointer casts from SWFDEC_AS_CHECK calls in TextField
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 1b2afb5..33690f0 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -42,7 +42,7 @@ swfdec_text_field_movie_get_text (Swfdec
{
SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
swfdec_as_context_get_string (cx, text->text_display) :
@@ -57,7 +57,7 @@ swfdec_text_field_movie_do_set_text (Swf
SwfdecTextFieldMovie *text;
const char *value;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "s", &value);
swfdec_text_field_movie_set_text (text, value, FALSE);
}
@@ -313,7 +313,7 @@ swfdec_text_field_movie_get_htmlText (Sw
const char *p, *end;
GString *string;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
if (text->text->html == FALSE) {
swfdec_text_field_movie_get_text (cx, object, argc, argv, ret);
@@ -355,7 +355,7 @@ swfdec_text_field_movie_set_htmlText (Sw
SwfdecTextFieldMovie *text;
const char *value;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "s", &value);
swfdec_text_field_movie_set_text (text, value, text->text->html);
}
@@ -366,7 +366,7 @@ swfdec_text_field_movie_get_html (Swfdec
{
SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->html);
}
@@ -378,7 +378,7 @@ swfdec_text_field_movie_set_html (Swfdec
SwfdecTextFieldMovie *text;
gboolean value;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
text->text->html = value;
}
@@ -390,7 +390,7 @@ swfdec_text_field_movie_get_condenseWhit
{
SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->condense_white);
}
@@ -403,7 +403,7 @@ swfdec_text_field_movie_set_condenseWhit
SwfdecTextFieldMovie *text;
gboolean value;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
text->condense_white = value;
}
@@ -415,7 +415,7 @@ swfdec_text_field_movie_get_embedFonts (
{
SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->embed_fonts);
}
@@ -428,7 +428,7 @@ swfdec_text_field_movie_set_embedFonts (
SwfdecTextFieldMovie *text;
gboolean value;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "b", &value);
text->text->embed_fonts = value;
}
@@ -439,7 +439,7 @@ swfdec_text_field_movie_get_length (Swfd
{
SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
}
@@ -451,7 +451,7 @@ swfdec_text_field_movie_get_textColor (S
{
SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (text->format_new),
SWFDEC_AS_STR_color, ret);
@@ -464,7 +464,7 @@ swfdec_text_field_movie_set_textColor (S
{
SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
if (argc < 1)
return;
@@ -549,7 +549,7 @@ swfdec_text_field_movie_getNewTextFormat
{
SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
SWFDEC_AS_VALUE_SET_OBJECT (ret,
SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new)));
@@ -564,7 +564,7 @@ swfdec_text_field_movie_setNewTextFormat
SwfdecTextFieldMovie *text;
SwfdecAsObject *obj;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "o", &obj);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "o", &obj);
if (!SWFDEC_IS_TEXT_FORMAT (obj))
return;
@@ -583,7 +583,7 @@ swfdec_text_field_movie_setTextFormat (S
guint start_index, end_index;
int i;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
if (argc < 1)
return;
@@ -627,7 +627,7 @@ swfdec_text_field_movie_createTextField
SwfdecAsFunction *fun;
SwfdecAsValue val;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "siiiii", &name, &depth, &x, &y, &width, &height);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, &parent, "siiiii", &name, &depth, &x, &y, &width, &height);
edittext = g_object_new (SWFDEC_TYPE_TEXT_FIELD, NULL);
edittext->html = FALSE;
diff-tree b0528b30dcae570de489ccbfa7260b346d3570c6 (from 2366848fdba2db7695044b6ca6409eaf973a3059)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 12 10:59:46 2007 +0300
Add autoSize property for TextField
diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 97b438c..0ff4d4c 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -393,6 +393,7 @@ const char swfdec_as_strings[] =
SWFDEC_AS_CONSTANT_STRING ("condenseWhite")
SWFDEC_AS_CONSTANT_STRING ("textColor")
SWFDEC_AS_CONSTANT_STRING ("embedFonts")
+ SWFDEC_AS_CONSTANT_STRING ("autoSize")
/* add more here */
;
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 534c4e1..1b2afb5 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -473,6 +473,74 @@ swfdec_text_field_movie_set_textColor (S
SWFDEC_AS_STR_color, &argv[0]);
}
+static void
+swfdec_text_field_movie_get_autoSize (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
+
+ switch (text->text->auto_size) {
+ case SWFDEC_AUTO_SIZE_NONE:
+ SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_none);
+ break;
+ case SWFDEC_AUTO_SIZE_LEFT:
+ SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_left);
+ break;
+ case SWFDEC_AUTO_SIZE_RIGHT:
+ SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_right);
+ break;
+ case SWFDEC_AUTO_SIZE_CENTER:
+ SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_center);
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+}
+
+static void
+swfdec_text_field_movie_set_autoSize (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+ SwfdecAutoSize old;
+ const char *s;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, &text, "");
+
+ if (argc < 1)
+ return;
+
+ if (SWFDEC_AS_VALUE_IS_BOOLEAN (&argv[0])) {
+ if (SWFDEC_AS_VALUE_GET_BOOLEAN (&argv[0])) {
+ text->text->auto_size = SWFDEC_AUTO_SIZE_LEFT;
+ } else {
+ text->text->auto_size = SWFDEC_AUTO_SIZE_NONE;
+ }
+ return;
+ }
+
+ swfdec_as_value_to_number (cx, &argv[0]);
+ s = swfdec_as_value_to_string (cx, &argv[0]);
+
+ old = text->text->auto_size;
+ if (!g_ascii_strcasecmp (s, "none")) {
+ text->text->auto_size = SWFDEC_AUTO_SIZE_NONE;
+ } else if (!g_ascii_strcasecmp (s, "left")) {
+ text->text->auto_size = SWFDEC_AUTO_SIZE_LEFT;
+ } else if (!g_ascii_strcasecmp (s, "right")) {
+ text->text->auto_size = SWFDEC_AUTO_SIZE_RIGHT;
+ } else if (!g_ascii_strcasecmp (s, "center")) {
+ text->text->auto_size = SWFDEC_AUTO_SIZE_CENTER;
+ }
+
+ if (text->text->auto_size != old)
+ swfdec_text_field_movie_format_changed (text);
+}
+
SWFDEC_AS_NATIVE (104, 104, swfdec_text_field_movie_getNewTextFormat)
void
swfdec_text_field_movie_getNewTextFormat (SwfdecAsContext *cx,
@@ -697,6 +765,9 @@ swfdec_text_field_movie_construct (Swfde
swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
swfdec_text_field_movie_get_textColor,
swfdec_text_field_movie_set_textColor);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_autoSize,
+ swfdec_text_field_movie_get_autoSize,
+ swfdec_text_field_movie_set_autoSize);
SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
}
diff-tree 2366848fdba2db7695044b6ca6409eaf973a3059 (from 439b1535e25771b0f068f7b48e540cba5841c599)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 12 10:43:12 2007 +0300
Fix crash in TextField when there is no font or no text
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index ed617c1..00cd627 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -533,7 +533,8 @@ swfdec_text_field_movie_init_movie (Swfd
swfdec_text_format_set_defaults (text->format_new);
text->format_new->color = text->text->color;
text->format_new->align = text->text->align;
- text->format_new->font = text->text->font->name;
+ if (text->text->font != NULL && text->text->font->name != NULL)
+ text->format_new->font = text->text->font->name;
text->format_new->size = text->text->size / 20;
text->format_new->left_margin = text->text->left_margin / 20;
text->format_new->right_margin = text->text->right_margin / 20;
@@ -548,6 +549,9 @@ swfdec_text_field_movie_init_movie (Swfd
swfdec_text_field_movie_set_text (text,
swfdec_as_context_get_string (cx, text->text->text_input),
text->text->html);
+ } else {
+ swfdec_text_field_movie_set_text (text, SWFDEC_AS_STR_EMPTY,
+ text->text->html);
}
// variable
diff-tree 439b1535e25771b0f068f7b48e540cba5841c599 (from 06c4fb7786fc743b578c49dcb7c87e2b30fa9730)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 17:07:20 2007 +0300
Add one pixel top margin and two pixel bottom margin (latter only if autosize)
diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index d8e8837..2788cfc 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -278,7 +278,7 @@ swfdec_text_field_render (SwfdecTextFiel
inval);
cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
- SWFDEC_GRAPHIC (text)->extents.y0);
+ SWFDEC_GRAPHIC (text)->extents.y0 + 1);
for (iter = layouts; iter != NULL; iter = iter->next) {
SwfdecLayout *layout = (SwfdecLayout *)iter->data;
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index d7093fc..ed617c1 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -382,6 +382,8 @@ swfdec_text_field_movie_auto_size (Swfde
if (text->paragraphs == NULL)
swfdec_text_field_movie_generate_paragraphs (text);
+ // FIXME: Temporary using image surface, until there is a way to get cairo_t
+ // outside the rendering functions
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1);
cr = cairo_create (surface);
@@ -389,7 +391,7 @@ swfdec_text_field_movie_auto_size (Swfde
text->paragraphs, NULL, NULL);
width = 0;
- height = 0;
+ height = 3;
for (iter = layouts; iter != NULL; iter = iter->next) {
SwfdecLayout *layout = (SwfdecLayout *)iter->data;
diff-tree 06c4fb7786fc743b578c49dcb7c87e2b30fa9730 (from e3ebf0e278ed215549d55b0af7eb1154a7238d08)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 16:40:37 2007 +0300
TextField: Take right margin into account when calculating layout's size
diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index be892af..d8e8837 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -229,7 +229,7 @@ swfdec_text_field_generate_layouts (Swfd
}
pango_layout_get_pixel_size (playout, &layout->width, &layout->height);
- layout->width += layout->render_offset_x;
+ layout->width += layout->render_offset_x + block->right_margin;
layout->height += block->leading / PANGO_SCALE;
if (!text->word_wrap)
diff-tree e3ebf0e278ed215549d55b0af7eb1154a7238d08 (from e98477a12a6f883f0ad4f0ac1e006bdd9a3aa208)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 16:30:08 2007 +0300
Fix moving to the wrong direction after rendering a pango layout
diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index 4df7d1f..be892af 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -289,7 +289,7 @@ swfdec_text_field_render (SwfdecTextFiel
pango_cairo_show_layout (cr, layout->layout);
- cairo_rel_move_to (cr, layout->render_offset_x, layout->height);
+ cairo_rel_move_to (cr, -layout->render_offset_x, layout->height);
g_object_unref (layout->layout);
g_free (layout);
diff-tree e98477a12a6f883f0ad4f0ac1e006bdd9a3aa208 (from a4422e2a8bf31b28136d2b6cf1c92e31bf1a9e98)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 16:25:06 2007 +0300
Support TextField's auto sizing
diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index 1d57cc7..4df7d1f 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -82,49 +82,22 @@ swfdec_text_field_init (SwfdecTextField
text->max_length = G_MAXUINT;
}
-void
-swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
- const SwfdecParagraph *paragraphs, SwfdecColor border_color,
- SwfdecColor background_color, const SwfdecColorTransform *trans,
+GList *
+swfdec_text_field_generate_layouts (SwfdecTextField *text, cairo_t *cr,
+ const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
const SwfdecRect *inval)
{
- PangoLayout *layout;
- SwfdecColor color;
+ GList *layouts;
guint i;
- g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
- g_return_if_fail (cr != NULL);
- g_return_if_fail (paragraphs != NULL);
- g_return_if_fail (trans != NULL);
- g_return_if_fail (inval != NULL);
-
- if (text->background) {
- cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
- SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
- SWFDEC_GRAPHIC (text)->extents.y1);
- color = swfdec_color_apply_transform (background_color, trans);
- swfdec_color_set_source (cr, color);
- cairo_fill (cr);
- }
-
- if (text->border) {
- cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
- SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
- SWFDEC_GRAPHIC (text)->extents.y1);
- color = swfdec_color_apply_transform (border_color, trans);
- swfdec_color_set_source (cr, color);
- cairo_set_line_width (cr, 20.0); // FIXME: Is this correct?
- cairo_stroke (cr);
- }
+ g_return_val_if_fail (SWFDEC_IS_TEXT_FIELD (text), NULL);
+ g_return_val_if_fail (cr != NULL, NULL);
+ g_return_val_if_fail (paragraphs != NULL, NULL);
if (paragraphs[0].text == NULL)
- return;
-
- cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
- SWFDEC_GRAPHIC (text)->extents.y0);
-
- layout = pango_cairo_create_layout (cr);
+ return NULL;
+ layouts = NULL;
for (i = 0; paragraphs[i].text != NULL; i++)
{
GList *iter;
@@ -133,10 +106,11 @@ swfdec_text_field_render (SwfdecTextFiel
skip = 0;
for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
{
- int height, width;
+ SwfdecLayout *layout;
+ PangoLayout *playout;
+ int width;
guint length;
SwfdecBlock *block;
- PangoAttrList *attr_list;
block = (SwfdecBlock *)iter->data;
if (iter->next != NULL) {
@@ -151,39 +125,44 @@ swfdec_text_field_render (SwfdecTextFiel
continue;
}
- // update position
- cairo_rel_move_to (cr, block->left_margin + block->block_indent, 0);
+ // create layout
+ layout = g_new0 (SwfdecLayout, 1);
+ playout = layout->layout = pango_cairo_create_layout (cr);
+ layouts = g_list_append (layouts, layout);
+
+ // set rendering position
+ layout->render_offset_x = block->left_margin + block->block_indent;
width = SWFDEC_GRAPHIC (text)->extents.x1 -
SWFDEC_GRAPHIC (text)->extents.x0 - block->left_margin -
block->right_margin - block->block_indent;
if (block->index_ == 0 && paragraphs[i].indent < 0) {
- cairo_rel_move_to (cr, paragraphs[i].indent / PANGO_SCALE, 0);
+ layout->render_offset_x += paragraphs[i].indent / PANGO_SCALE;
width += -paragraphs[i].indent / PANGO_SCALE;
}
- pango_cairo_update_layout (cr, layout);
- pango_layout_context_changed (layout);
- pango_layout_set_width (layout,
+ pango_layout_set_width (playout,
(text->word_wrap ? width * PANGO_SCALE : -1));
// set paragraph styles
if (block->index_ == 0) {
- pango_layout_set_indent (layout, paragraphs[i].indent);
+ pango_layout_set_indent (playout, paragraphs[i].indent);
// TODO: bullet
} else {
- pango_layout_set_indent (layout, 0);
+ pango_layout_set_indent (playout, 0);
}
// set block styles
- pango_layout_set_alignment (layout, block->align);
- pango_layout_set_justify (layout, block->justify);
- pango_layout_set_spacing (layout, block->leading);
- pango_layout_set_tabs (layout, block->tab_stops);
+ pango_layout_set_alignment (playout, block->align);
+ pango_layout_set_justify (playout, block->justify);
+ pango_layout_set_spacing (playout, block->leading);
+ pango_layout_set_tabs (playout, block->tab_stops);
// set text attributes
- if (block->index_ > 0 || !swfdec_color_transform_is_identity (trans))
+ if (block->index_ > 0 ||
+ (trans != NULL && !swfdec_color_transform_is_identity (trans)))
{
+ PangoAttrList *attr_list;
GList *iter_attrs;
attr_list = pango_attr_list_new ();
@@ -199,9 +178,10 @@ swfdec_text_field_render (SwfdecTextFiel
continue;
attr = pango_attribute_copy (attr);
- if (attr->klass->type == PANGO_ATTR_FOREGROUND &&
+ if (attr->klass->type == PANGO_ATTR_FOREGROUND && trans != NULL &&
!swfdec_color_transform_is_identity (trans))
{
+ SwfdecColor color;
PangoColor pcolor;
pcolor = ((PangoAttrColor *)attr)->color;
@@ -218,14 +198,14 @@ swfdec_text_field_render (SwfdecTextFiel
attr->end_index = attr->end_index - (block->index_ + skip);
pango_attr_list_insert (attr_list, attr);
}
+ pango_layout_set_attributes (playout, attr_list);
+ pango_attr_list_unref (attr_list);
} else {
- attr_list = pango_attr_list_copy (paragraphs[i].attrs_list);
+ pango_layout_set_attributes (playout, paragraphs[i].attrs_list);
}
- pango_layout_set_attributes (layout, attr_list);
- pango_attr_list_unref (attr_list);
- attr_list = NULL;
- pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
+ pango_layout_set_text (playout,
+ paragraphs[i].text + block->index_ + skip,
paragraphs[i].text_length - block->index_ - skip);
if (iter->next != NULL && text->word_wrap)
@@ -234,11 +214,11 @@ swfdec_text_field_render (SwfdecTextFiel
int line_num;
guint skip_new;
- pango_layout_index_to_line_x (layout, length - skip, FALSE, &line_num,
+ pango_layout_index_to_line_x (playout, length - skip, FALSE, &line_num,
NULL);
- line = pango_layout_get_line_readonly (layout, line_num);
+ line = pango_layout_get_line_readonly (playout, line_num);
skip_new = line->start_index + line->length - (length - skip);
- pango_layout_set_text (layout,
+ pango_layout_set_text (playout,
paragraphs[i].text + block->index_ + skip,
length - skip + skip_new);
skip = skip_new;
@@ -248,22 +228,78 @@ swfdec_text_field_render (SwfdecTextFiel
skip = 0;
}
- pango_cairo_show_layout (cr, layout);
-
- pango_layout_get_pixel_size (layout, NULL, &height);
- cairo_rel_move_to (cr, -(block->left_margin + block->block_indent),
- height + block->leading / PANGO_SCALE);
- if (block->index_ == 0 && paragraphs[i].indent < 0)
- cairo_rel_move_to (cr, -paragraphs[i].indent / PANGO_SCALE, 0);
+ pango_layout_get_pixel_size (playout, &layout->width, &layout->height);
+ layout->width += layout->render_offset_x;
+ layout->height += block->leading / PANGO_SCALE;
if (!text->word_wrap)
break;
}
}
- g_object_unref (layout);
+ return layouts;
+}
+
+void
+swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
+ const SwfdecParagraph *paragraphs, SwfdecColor border_color,
+ SwfdecColor background_color, const SwfdecColorTransform *trans,
+ const SwfdecRect *inval)
+{
+ GList *layouts, *iter;
+ SwfdecColor color;
+
+ g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
+ g_return_if_fail (cr != NULL);
+ g_return_if_fail (paragraphs != NULL);
+ g_return_if_fail (trans != NULL);
+ g_return_if_fail (inval != NULL);
+
+ if (text->background) {
+ cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+ SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
+ SWFDEC_GRAPHIC (text)->extents.y1);
+ color = swfdec_color_apply_transform (background_color, trans);
+ swfdec_color_set_source (cr, color);
+ cairo_fill (cr);
+ }
+
+ if (text->border) {
+ cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+ SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
+ SWFDEC_GRAPHIC (text)->extents.y1);
+ color = swfdec_color_apply_transform (border_color, trans);
+ swfdec_color_set_source (cr, color);
+ cairo_set_line_width (cr, 20.0); // FIXME: Is this correct?
+ cairo_stroke (cr);
+ }
+
+ layouts = swfdec_text_field_generate_layouts (text, cr, paragraphs, trans,
+ inval);
+
+ cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+ SWFDEC_GRAPHIC (text)->extents.y0);
+
+ for (iter = layouts; iter != NULL; iter = iter->next) {
+ SwfdecLayout *layout = (SwfdecLayout *)iter->data;
+
+ cairo_rel_move_to (cr, layout->render_offset_x, 0);
+
+ pango_layout_context_changed (layout->layout);
+
+ pango_cairo_show_layout (cr, layout->layout);
+
+ cairo_rel_move_to (cr, layout->render_offset_x, layout->height);
+
+ g_object_unref (layout->layout);
+ g_free (layout);
+ iter->data = NULL;
+ }
+
+ g_list_free (layouts);
}
+
int
tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
{
diff --git a/libswfdec/swfdec_text_field.h b/libswfdec/swfdec_text_field.h
index 4998cfa..dda2787 100644
--- a/libswfdec/swfdec_text_field.h
+++ b/libswfdec/swfdec_text_field.h
@@ -40,6 +40,13 @@ typedef struct _SwfdecTextFieldClass Swf
#define SWFDEC_TEXT_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextFieldClass))
typedef struct {
+ PangoLayout * layout;
+ int render_offset_x;
+ int height;
+ int width;
+} SwfdecLayout;
+
+typedef struct {
guint index_;
PangoAlignment align;
@@ -67,8 +74,8 @@ typedef struct {
typedef enum {
SWFDEC_AUTO_SIZE_NONE,
SWFDEC_AUTO_SIZE_LEFT,
- SWFDEC_AUTO_SIZE_CENTER,
- SWFDEC_AUTO_SIZE_RIGHT
+ SWFDEC_AUTO_SIZE_RIGHT,
+ SWFDEC_AUTO_SIZE_CENTER
} SwfdecAutoSize;
struct _SwfdecTextField
@@ -114,6 +121,11 @@ GType swfdec_text_field_get_type (void
int tag_func_define_edit_text (SwfdecSwfDecoder * s,
guint tag);
+GList * swfdec_text_field_generate_layouts (SwfdecTextField * text,
+ cairo_t * cr,
+ const SwfdecParagraph * paragraphs,
+ const SwfdecColorTransform * trans,
+ const SwfdecRect * inval);
void swfdec_text_field_render (SwfdecTextField * text,
cairo_t * cr,
const SwfdecParagraph * paragraphs,
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index e76aad6..d7093fc 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -23,6 +23,7 @@
#endif
#include <string.h>
+#include <math.h>
#include "swfdec_text_field_movie.h"
#include "swfdec_as_context.h"
@@ -363,10 +364,89 @@ swfdec_text_field_movie_free_paragraphs
}
}
+static gboolean
+swfdec_text_field_movie_auto_size (SwfdecTextFieldMovie *text)
+{
+ cairo_surface_t *surface;
+ cairo_t *cr;
+ GList *layouts, *iter;
+ guint height;
+ int width, diff;
+ gboolean changed;
+
+ g_return_val_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text), FALSE);
+
+ if (text->text->auto_size == SWFDEC_AUTO_SIZE_NONE)
+ return FALSE;
+
+ if (text->paragraphs == NULL)
+ swfdec_text_field_movie_generate_paragraphs (text);
+
+ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 1, 1);
+ cr = cairo_create (surface);
+
+ layouts = swfdec_text_field_generate_layouts (text->text, cr,
+ text->paragraphs, NULL, NULL);
+
+ width = 0;
+ height = 0;
+ for (iter = layouts; iter != NULL; iter = iter->next) {
+ SwfdecLayout *layout = (SwfdecLayout *)iter->data;
+
+ if (!text->text->word_wrap) {
+ if (layout->width > width)
+ width = layout->width;
+ }
+
+ height += layout->height;
+ }
+
+ if (!text->text->word_wrap && SWFDEC_GRAPHIC (text->text)->extents.x1 -
+ SWFDEC_GRAPHIC (text->text)->extents.x0 != width)
+ {
+ switch (text->text->auto_size) {
+ case SWFDEC_AUTO_SIZE_LEFT:
+ SWFDEC_GRAPHIC (text->text)->extents.x1 =
+ SWFDEC_GRAPHIC (text->text)->extents.x0 + width;
+ break;
+ case SWFDEC_AUTO_SIZE_RIGHT:
+ SWFDEC_GRAPHIC (text->text)->extents.x0 =
+ SWFDEC_GRAPHIC (text->text)->extents.x1 - width;
+ break;
+ case SWFDEC_AUTO_SIZE_CENTER:
+ diff = width - (SWFDEC_GRAPHIC (text->text)->extents.x1 -
+ SWFDEC_GRAPHIC (text->text)->extents.x0);
+ SWFDEC_GRAPHIC (text->text)->extents.x0 += floor (width / 2.0);
+ SWFDEC_GRAPHIC (text->text)->extents.x1 += ceil (width / 2.0);
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+ changed = TRUE;
+ }
+
+ if (SWFDEC_GRAPHIC (text->text)->extents.y1 -
+ SWFDEC_GRAPHIC (text->text)->extents.y0 != height)
+ {
+ SWFDEC_GRAPHIC (text->text)->extents.y1 =
+ SWFDEC_GRAPHIC (text->text)->extents.y0 + height;
+ changed = TRUE;
+ }
+
+ return changed;
+}
+
void
swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie *text)
{
swfdec_text_field_movie_free_paragraphs (text);
+
+ swfdec_movie_invalidate (SWFDEC_MOVIE (text));
+
+ if (swfdec_text_field_movie_auto_size (text)) {
+ swfdec_movie_queue_update (SWFDEC_MOVIE (text),
+ SWFDEC_MOVIE_INVALID_CONTENTS);
+ }
}
static void
diff-tree a4422e2a8bf31b28136d2b6cf1c92e31bf1a9e98 (from ab6126f4f4cbe7a2656612bd8dd986b7013b3379)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 14:16:32 2007 +0300
Add support for drawing TextField's border and background
diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index 302cd40..1d57cc7 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -84,10 +84,12 @@ swfdec_text_field_init (SwfdecTextField
void
swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
- const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
+ const SwfdecParagraph *paragraphs, SwfdecColor border_color,
+ SwfdecColor background_color, const SwfdecColorTransform *trans,
const SwfdecRect *inval)
{
PangoLayout *layout;
+ SwfdecColor color;
guint i;
g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
@@ -96,6 +98,28 @@ swfdec_text_field_render (SwfdecTextFiel
g_return_if_fail (trans != NULL);
g_return_if_fail (inval != NULL);
+ if (text->background) {
+ cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+ SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
+ SWFDEC_GRAPHIC (text)->extents.y1);
+ color = swfdec_color_apply_transform (background_color, trans);
+ swfdec_color_set_source (cr, color);
+ cairo_fill (cr);
+ }
+
+ if (text->border) {
+ cairo_rectangle (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+ SWFDEC_GRAPHIC (text)->extents.y0, SWFDEC_GRAPHIC (text)->extents.x1,
+ SWFDEC_GRAPHIC (text)->extents.y1);
+ color = swfdec_color_apply_transform (border_color, trans);
+ swfdec_color_set_source (cr, color);
+ cairo_set_line_width (cr, 20.0); // FIXME: Is this correct?
+ cairo_stroke (cr);
+ }
+
+ if (paragraphs[0].text == NULL)
+ return;
+
cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
SWFDEC_GRAPHIC (text)->extents.y0);
@@ -179,7 +203,6 @@ swfdec_text_field_render (SwfdecTextFiel
!swfdec_color_transform_is_identity (trans))
{
PangoColor pcolor;
- SwfdecColor color;
pcolor = ((PangoAttrColor *)attr)->color;
color = SWFDEC_COLOR_COMBINE (pcolor.red >> 8, pcolor.green >> 8,
@@ -274,7 +297,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
(swfdec_bits_getbit (b) ? SWFDEC_AUTO_SIZE_LEFT : SWFDEC_AUTO_SIZE_NONE);
has_layout = swfdec_bits_getbit (b);
text->selectable = !swfdec_bits_getbit (b);
- text->border = swfdec_bits_getbit (b);
+ text->background = text->border = swfdec_bits_getbit (b);
reserved = swfdec_bits_getbit (b);
text->html = swfdec_bits_getbit (b);
text->embed_fonts = swfdec_bits_getbit (b);
diff --git a/libswfdec/swfdec_text_field.h b/libswfdec/swfdec_text_field.h
index b9a0851..4998cfa 100644
--- a/libswfdec/swfdec_text_field.h
+++ b/libswfdec/swfdec_text_field.h
@@ -89,6 +89,7 @@ struct _SwfdecTextField
SwfdecAutoSize auto_size;
gboolean border;
+ gboolean background;
/* only to be passed to the movie object */
SwfdecFont * font;
@@ -116,6 +117,8 @@ int tag_func_define_edit_text (SwfdecS
void swfdec_text_field_render (SwfdecTextField * text,
cairo_t * cr,
const SwfdecParagraph * paragraphs,
+ SwfdecColor border_color,
+ SwfdecColor background_color,
const SwfdecColorTransform * trans,
const SwfdecRect * rect);
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index 5e1b302..e76aad6 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -332,9 +332,8 @@ swfdec_text_field_movie_render (SwfdecMo
if (text->paragraphs == NULL)
swfdec_text_field_movie_generate_paragraphs (text);
- if (text->paragraphs[0].text == NULL)
- return;
- swfdec_text_field_render (text->text, cr, text->paragraphs, trans, inval);
+ swfdec_text_field_render (text->text, cr, text->paragraphs,
+ text->border_color, text->background_color, trans, inval);
}
static void
@@ -459,6 +458,9 @@ swfdec_text_field_movie_init_movie (Swfd
text->format_new->indent = text->text->indent / 20;
text->format_new->leading = text->text->leading / 20;
+ text->border_color = SWFDEC_COLOR_COMBINE (0, 0, 0, 255);
+ text->background_color = SWFDEC_COLOR_COMBINE (255, 255, 255, 255);
+
// text
if (text->text->text_input != NULL) {
swfdec_text_field_movie_set_text (text,
diff --git a/libswfdec/swfdec_text_field_movie.h b/libswfdec/swfdec_text_field_movie.h
index 4ba3be8..40ed0a2 100644
--- a/libswfdec/swfdec_text_field_movie.h
+++ b/libswfdec/swfdec_text_field_movie.h
@@ -68,8 +68,6 @@ struct _SwfdecTextFieldMovie {
GSList * formats;
SwfdecAntiAliasType anti_alias_type;
- gboolean background_fill;
- guint border_color;
gboolean condense_white;
gboolean embed_fonts;
SwfdecGridFitType grid_fit_type;
@@ -81,6 +79,9 @@ struct _SwfdecTextFieldMovie {
SwfdecStyleSheet * style_sheet;
int thickness;
+ SwfdecColor border_color;
+ SwfdecColor background_color;
+
/* for rendering */
SwfdecParagraph * paragraphs;
};
diff-tree ab6126f4f4cbe7a2656612bd8dd986b7013b3379 (from 04dad36967fe0786df6f6adc01211c44c63a4b92)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 12:22:49 2007 +0300
Remove an incorrect FIXME from TextField code
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index e02c873..5e1b302 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -156,7 +156,7 @@ swfdec_text_field_movie_generate_paragra
attr_italic->start_index = 0;
attr_letter_spacing = pango_attr_letter_spacing_new (
- format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
+ format->letter_spacing * 20 * PANGO_SCALE);
attr_letter_spacing->start_index = 0;
attr_size =
diff-tree 04dad36967fe0786df6f6adc01211c44c63a4b92 (from 54eebc295f6f44db5c9dd76cc556396177e3f268)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 12:03:03 2007 +0300
Support rendering without wordWrap in TextField
diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index d27c3a1..302cd40 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -140,7 +140,8 @@ swfdec_text_field_render (SwfdecTextFiel
pango_cairo_update_layout (cr, layout);
pango_layout_context_changed (layout);
- pango_layout_set_width (layout, width * PANGO_SCALE);
+ pango_layout_set_width (layout,
+ (text->word_wrap ? width * PANGO_SCALE : -1));
// set paragraph styles
if (block->index_ == 0) {
@@ -204,7 +205,7 @@ swfdec_text_field_render (SwfdecTextFiel
pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
paragraphs[i].text_length - block->index_ - skip);
- if (iter->next != NULL)
+ if (iter->next != NULL && text->word_wrap)
{
PangoLayoutLine *line;
int line_num;
@@ -231,6 +232,9 @@ swfdec_text_field_render (SwfdecTextFiel
height + block->leading / PANGO_SCALE);
if (block->index_ == 0 && paragraphs[i].indent < 0)
cairo_rel_move_to (cr, -paragraphs[i].indent / PANGO_SCALE, 0);
+
+ if (!text->word_wrap)
+ break;
}
}
@@ -258,7 +262,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
SWFDEC_GRAPHIC (text)->extents.x1, SWFDEC_GRAPHIC (text)->extents.y1);
swfdec_bits_syncbits (b);
has_text = swfdec_bits_getbit (b);
- text->wrap = swfdec_bits_getbit (b);
+ text->word_wrap = swfdec_bits_getbit (b);
text->multiline = swfdec_bits_getbit (b);
text->password = swfdec_bits_getbit (b);
text->input = !swfdec_bits_getbit (b);
diff --git a/libswfdec/swfdec_text_field.h b/libswfdec/swfdec_text_field.h
index aa84422..b9a0851 100644
--- a/libswfdec/swfdec_text_field.h
+++ b/libswfdec/swfdec_text_field.h
@@ -84,7 +84,7 @@ struct _SwfdecTextField
gboolean embed_fonts;
- gboolean wrap;
+ gboolean word_wrap;
gboolean multiline;
SwfdecAutoSize auto_size;
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index 60d1a29..534c4e1 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -567,7 +567,7 @@ swfdec_text_field_movie_createTextField
edittext->password = FALSE;
edittext->selectable = TRUE;
edittext->font = NULL; // FIXME
- edittext->wrap = FALSE;
+ edittext->word_wrap = FALSE;
edittext->multiline = FALSE;
edittext->auto_size = SWFDEC_AUTO_SIZE_NONE;
edittext->border = FALSE;
diff-tree 54eebc295f6f44db5c9dd76cc556396177e3f268 (from 872e7d0b10de82a11107455ee1c01bb34949f6d1)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 11:57:24 2007 +0300
Update Makefile.am and include statements to use text_field not edittext
diff --git a/libswfdec/Makefile.am b/libswfdec/Makefile.am
index ee669bb..07ca529 100644
--- a/libswfdec/Makefile.am
+++ b/libswfdec/Makefile.am
@@ -62,9 +62,9 @@ libswfdec_ at SWFDEC_MAJORMINOR@_la_SOURCES
swfdec_debug.c \
swfdec_decoder.c \
swfdec_draw.c \
- swfdec_edittext.c \
- swfdec_edittext_movie.c \
- swfdec_edittext_movie_as.c \
+ swfdec_text_field.c \
+ swfdec_text_field_movie.c \
+ swfdec_text_field_movie_as.c \
swfdec_enums.c \
swfdec_event.c \
swfdec_file_loader.c \
@@ -194,8 +194,8 @@ noinst_HEADERS = \
swfdec_debug.h \
swfdec_decoder.h \
swfdec_draw.h \
- swfdec_edittext.h \
- swfdec_edittext_movie.h \
+ swfdec_text_field.h \
+ swfdec_text_field_movie.h \
swfdec_event.h \
swfdec_filter.h \
swfdec_flv_decoder.h \
diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index a8413b7..6af0db9 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -42,7 +42,7 @@
#include "swfdec_sprite.h"
#include "swfdec_sprite_movie.h"
#include "swfdec_swf_instance.h"
-#include "swfdec_edittext_movie.h" // for typeof
+#include "swfdec_text_field_movie.h" // for typeof
/* Define this to get SWFDEC_WARN'd about missing properties of objects.
* This can be useful to find out about unimplemented native properties,
diff --git a/libswfdec/swfdec_graphic_movie.c b/libswfdec/swfdec_graphic_movie.c
index a4a86fa..4ffd2ce 100644
--- a/libswfdec/swfdec_graphic_movie.c
+++ b/libswfdec/swfdec_graphic_movie.c
@@ -24,7 +24,7 @@
#include "swfdec_graphic_movie.h"
#include "swfdec_button.h"
#include "swfdec_debug.h"
-#include "swfdec_edittext.h"
+#include "swfdec_text_field.h"
#include "swfdec_movie.h"
#include "swfdec_shape.h"
#include "swfdec_sprite.h"
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 430eec5..dcd7f1e 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -24,7 +24,7 @@
#include <stdlib.h>
#include <string.h>
-#include "swfdec_edittext_movie.h"
+#include "swfdec_text_field_movie.h"
#include "swfdec_as_strings.h"
#include "swfdec_debug.h"
diff --git a/libswfdec/swfdec_tag.c b/libswfdec/swfdec_tag.c
index 35c65cf..c7ef45f 100644
--- a/libswfdec/swfdec_tag.c
+++ b/libswfdec/swfdec_tag.c
@@ -32,7 +32,7 @@
#include "swfdec_bits.h"
#include "swfdec_button.h"
#include "swfdec_debug.h"
-#include "swfdec_edittext.h"
+#include "swfdec_text_field.h"
#include "swfdec_filter.h"
#include "swfdec_font.h"
#include "swfdec_image.h"
diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
index 7905673..d27c3a1 100644
--- a/libswfdec/swfdec_text_field.c
+++ b/libswfdec/swfdec_text_field.c
@@ -24,9 +24,9 @@
#include <pango/pangocairo.h>
#include <string.h>
-#include "swfdec_edittext.h"
+#include "swfdec_text_field.h"
#include "swfdec_debug.h"
-#include "swfdec_edittext_movie.h"
+#include "swfdec_text_field_movie.h"
#include "swfdec_font.h"
#include "swfdec_player_internal.h"
#include "swfdec_swf_decoder.h"
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
index dd79e9a..e02c873 100644
--- a/libswfdec/swfdec_text_field_movie.c
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -24,7 +24,7 @@
#include <string.h>
-#include "swfdec_edittext_movie.h"
+#include "swfdec_text_field_movie.h"
#include "swfdec_as_context.h"
#include "swfdec_as_strings.h"
#include "swfdec_text_format.h"
diff --git a/libswfdec/swfdec_text_field_movie.h b/libswfdec/swfdec_text_field_movie.h
index 8b7999a..4ba3be8 100644
--- a/libswfdec/swfdec_text_field_movie.h
+++ b/libswfdec/swfdec_text_field_movie.h
@@ -22,7 +22,7 @@
#define _SWFDEC_TEXT_FIELD_MOVIE_H_
#include <libswfdec/swfdec_movie.h>
-#include <libswfdec/swfdec_edittext.h>
+#include <libswfdec/swfdec_text_field.h>
#include <libswfdec/swfdec_style_sheet.h>
#include <libswfdec/swfdec_text_format.h>
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
index c9d4cd0..60d1a29 100644
--- a/libswfdec/swfdec_text_field_movie_as.c
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -24,8 +24,8 @@
#include <string.h>
-#include "swfdec_edittext.h"
-#include "swfdec_edittext_movie.h"
+#include "swfdec_text_field.h"
+#include "swfdec_text_field_movie.h"
#include "swfdec_as_strings.h"
#include "swfdec_debug.h"
#include "swfdec_as_native_function.h"
diff --git a/test/dump.c b/test/dump.c
index adf0cb1..5b8ecea 100644
--- a/test/dump.c
+++ b/test/dump.c
@@ -32,7 +32,7 @@
#include <glib-object.h>
#include <libswfdec/swfdec.h>
#include <libswfdec/swfdec_button.h>
-#include <libswfdec/swfdec_edittext.h>
+#include <libswfdec/swfdec_text_field.h>
#include <libswfdec/swfdec_font.h>
#include <libswfdec/swfdec_image.h>
#include <libswfdec/swfdec_movie.h>
diff-tree 872e7d0b10de82a11107455ee1c01bb34949f6d1 (from ba72dd43b20c244e1de4a2a5aea7438bdbcc318d)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 11:44:57 2007 +0300
Rename *edittext* files to *text_field*
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
deleted file mode 100644
index 7905673..0000000
--- a/libswfdec/swfdec_edittext.c
+++ /dev/null
@@ -1,334 +0,0 @@
-/* Swfdec
- * Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
- * Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <pango/pangocairo.h>
-#include <string.h>
-#include "swfdec_edittext.h"
-#include "swfdec_debug.h"
-#include "swfdec_edittext_movie.h"
-#include "swfdec_font.h"
-#include "swfdec_player_internal.h"
-#include "swfdec_swf_decoder.h"
-
-G_DEFINE_TYPE (SwfdecTextField, swfdec_text_field, SWFDEC_TYPE_GRAPHIC)
-
-static gboolean
-swfdec_text_field_mouse_in (SwfdecGraphic *graphic, double x, double y)
-{
- return swfdec_rect_contains (&graphic->extents, x, y);
-}
-
-static SwfdecMovie *
-swfdec_text_field_create_movie (SwfdecGraphic *graphic, gsize *size)
-{
- SwfdecTextField *text = SWFDEC_TEXT_FIELD (graphic);
- SwfdecTextFieldMovie *ret = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
-
- ret->text = text;
-
- *size = sizeof (SwfdecTextFieldMovie);
-
- return SWFDEC_MOVIE (ret);
-}
-
-static void
-swfdec_text_field_dispose (GObject *object)
-{
- SwfdecTextField *text = SWFDEC_TEXT_FIELD (object);
-
- g_free (text->text_input);
- text->text_input = NULL;
- g_free (text->variable);
- text->variable = NULL;
-
- G_OBJECT_CLASS (swfdec_text_field_parent_class)->dispose (object);
-}
-
-static void
-swfdec_text_field_class_init (SwfdecTextFieldClass * g_class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (g_class);
- SwfdecGraphicClass *graphic_class = SWFDEC_GRAPHIC_CLASS (g_class);
-
- object_class->dispose = swfdec_text_field_dispose;
- graphic_class->create_movie = swfdec_text_field_create_movie;
- graphic_class->mouse_in = swfdec_text_field_mouse_in;
-}
-
-static void
-swfdec_text_field_init (SwfdecTextField * text)
-{
- text->max_length = G_MAXUINT;
-}
-
-void
-swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
- const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
- const SwfdecRect *inval)
-{
- PangoLayout *layout;
- guint i;
-
- g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
- g_return_if_fail (cr != NULL);
- g_return_if_fail (paragraphs != NULL);
- g_return_if_fail (trans != NULL);
- g_return_if_fail (inval != NULL);
-
- cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
- SWFDEC_GRAPHIC (text)->extents.y0);
-
- layout = pango_cairo_create_layout (cr);
-
- for (i = 0; paragraphs[i].text != NULL; i++)
- {
- GList *iter;
- guint skip;
-
- skip = 0;
- for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
- {
- int height, width;
- guint length;
- SwfdecBlock *block;
- PangoAttrList *attr_list;
-
- block = (SwfdecBlock *)iter->data;
- if (iter->next != NULL) {
- length =
- ((SwfdecBlock *)(iter->next->data))->index_ - block->index_;
- } else {
- length = paragraphs[i].text_length - block->index_;
- }
-
- if (skip > length) {
- skip -= length;
- continue;
- }
-
- // update position
- cairo_rel_move_to (cr, block->left_margin + block->block_indent, 0);
- width = SWFDEC_GRAPHIC (text)->extents.x1 -
- SWFDEC_GRAPHIC (text)->extents.x0 - block->left_margin -
- block->right_margin - block->block_indent;
-
- if (block->index_ == 0 && paragraphs[i].indent < 0) {
- cairo_rel_move_to (cr, paragraphs[i].indent / PANGO_SCALE, 0);
- width += -paragraphs[i].indent / PANGO_SCALE;
- }
-
- pango_cairo_update_layout (cr, layout);
- pango_layout_context_changed (layout);
- pango_layout_set_width (layout, width * PANGO_SCALE);
-
- // set paragraph styles
- if (block->index_ == 0) {
- pango_layout_set_indent (layout, paragraphs[i].indent);
- // TODO: bullet
- } else {
- pango_layout_set_indent (layout, 0);
- }
-
- // set block styles
- pango_layout_set_alignment (layout, block->align);
- pango_layout_set_justify (layout, block->justify);
- pango_layout_set_spacing (layout, block->leading);
- pango_layout_set_tabs (layout, block->tab_stops);
-
- // set text attributes
- if (block->index_ > 0 || !swfdec_color_transform_is_identity (trans))
- {
- GList *iter_attrs;
-
- attr_list = pango_attr_list_new ();
-
- for (iter_attrs = paragraphs[i].attrs; iter_attrs != NULL;
- iter_attrs = iter_attrs->next)
- {
- PangoAttribute *attr;
-
- attr = (PangoAttribute *)iter_attrs->data;
-
- if (attr->end_index <= block->index_ + skip)
- continue;
-
- attr = pango_attribute_copy (attr);
- if (attr->klass->type == PANGO_ATTR_FOREGROUND &&
- !swfdec_color_transform_is_identity (trans))
- {
- PangoColor pcolor;
- SwfdecColor color;
-
- pcolor = ((PangoAttrColor *)attr)->color;
- color = SWFDEC_COLOR_COMBINE (pcolor.red >> 8, pcolor.green >> 8,
- pcolor.blue >> 8, 255);
- color = swfdec_color_apply_transform (color, trans);
- pcolor.red = SWFDEC_COLOR_R (color) << 8;
- pcolor.green = SWFDEC_COLOR_G (color) << 8;
- pcolor.blue = SWFDEC_COLOR_B (color) << 8;
- ((PangoAttrColor *)attr)->color = pcolor;
- }
- attr->start_index = (attr->start_index > block->index_ + skip ?
- attr->start_index - (block->index_ + skip) : 0);
- attr->end_index = attr->end_index - (block->index_ + skip);
- pango_attr_list_insert (attr_list, attr);
- }
- } else {
- attr_list = pango_attr_list_copy (paragraphs[i].attrs_list);
- }
- pango_layout_set_attributes (layout, attr_list);
- pango_attr_list_unref (attr_list);
- attr_list = NULL;
-
- pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
- paragraphs[i].text_length - block->index_ - skip);
-
- if (iter->next != NULL)
- {
- PangoLayoutLine *line;
- int line_num;
- guint skip_new;
-
- pango_layout_index_to_line_x (layout, length - skip, FALSE, &line_num,
- NULL);
- line = pango_layout_get_line_readonly (layout, line_num);
- skip_new = line->start_index + line->length - (length - skip);
- pango_layout_set_text (layout,
- paragraphs[i].text + block->index_ + skip,
- length - skip + skip_new);
- skip = skip_new;
- }
- else
- {
- skip = 0;
- }
-
- pango_cairo_show_layout (cr, layout);
-
- pango_layout_get_pixel_size (layout, NULL, &height);
- cairo_rel_move_to (cr, -(block->left_margin + block->block_indent),
- height + block->leading / PANGO_SCALE);
- if (block->index_ == 0 && paragraphs[i].indent < 0)
- cairo_rel_move_to (cr, -paragraphs[i].indent / PANGO_SCALE, 0);
- }
- }
-
- g_object_unref (layout);
-}
-
-int
-tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
-{
- SwfdecTextField *text;
- guint id;
- int reserved;
- gboolean has_font, has_color, has_max_length, has_layout, has_text;
- SwfdecBits *b = &s->b;
-
- id = swfdec_bits_get_u16 (b);
- SWFDEC_LOG (" id = %u", id);
- text = swfdec_swf_decoder_create_character (s, id, SWFDEC_TYPE_TEXT_FIELD);
- if (text == NULL)
- return SWFDEC_STATUS_OK;
-
- swfdec_bits_get_rect (b, &SWFDEC_GRAPHIC (text)->extents);
- SWFDEC_LOG (" extents: %g %g %g %g",
- SWFDEC_GRAPHIC (text)->extents.x0, SWFDEC_GRAPHIC (text)->extents.y0,
- SWFDEC_GRAPHIC (text)->extents.x1, SWFDEC_GRAPHIC (text)->extents.y1);
- swfdec_bits_syncbits (b);
- has_text = swfdec_bits_getbit (b);
- text->wrap = swfdec_bits_getbit (b);
- text->multiline = swfdec_bits_getbit (b);
- text->password = swfdec_bits_getbit (b);
- text->input = !swfdec_bits_getbit (b);
- has_color = swfdec_bits_getbit (b);
- has_max_length = swfdec_bits_getbit (b);
- has_font = swfdec_bits_getbit (b);
- reserved = swfdec_bits_getbit (b);
- text->auto_size =
- (swfdec_bits_getbit (b) ? SWFDEC_AUTO_SIZE_LEFT : SWFDEC_AUTO_SIZE_NONE);
- has_layout = swfdec_bits_getbit (b);
- text->selectable = !swfdec_bits_getbit (b);
- text->border = swfdec_bits_getbit (b);
- reserved = swfdec_bits_getbit (b);
- text->html = swfdec_bits_getbit (b);
- text->embed_fonts = swfdec_bits_getbit (b);
- if (has_font) {
- SwfdecCharacter *font;
-
- id = swfdec_bits_get_u16 (b);
- font = swfdec_swf_decoder_get_character (s, id);
- if (SWFDEC_IS_FONT (font)) {
- SWFDEC_LOG (" font = %u", id);
- text->font = SWFDEC_FONT (font);
- } else {
- SWFDEC_ERROR ("id %u does not specify a font", id);
- }
- text->size = swfdec_bits_get_u16 (b);
- SWFDEC_LOG (" size = %u", text->size);
- }
- if (has_color) {
- text->color = swfdec_bits_get_rgba (b);
- SWFDEC_LOG (" color = %u", text->color);
- } else {
- SWFDEC_WARNING ("FIXME: figure out default color");
- text->color = SWFDEC_COLOR_COMBINE (255, 255, 255, 255);
- }
- if (has_max_length) {
- text->max_length = swfdec_bits_get_u16 (b);
- }
- if (has_layout) {
- guint align = swfdec_bits_get_u8 (b);
- switch (align) {
- case 0:
- text->align = SWFDEC_TEXT_ALIGN_LEFT;
- break;
- case 1:
- text->align = SWFDEC_TEXT_ALIGN_RIGHT;
- break;
- case 2:
- text->align = SWFDEC_TEXT_ALIGN_CENTER;
- break;
- case 3:
- text->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
- break;
- default:
- SWFDEC_ERROR ("undefined align value %u", align);
- break;
- }
- text->left_margin = swfdec_bits_get_u16 (b);
- text->right_margin = swfdec_bits_get_u16 (b);
- text->indent = swfdec_bits_get_u16 (b);
- text->leading = swfdec_bits_get_s16 (b);
- }
- text->variable = swfdec_bits_get_string (b);
- if (text->variable && *text->variable == 0) {
- g_free (text->variable);
- text->variable = NULL;
- }
- if (has_text)
- text->text_input = swfdec_bits_get_string (b);
-
- return SWFDEC_STATUS_OK;
-}
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
deleted file mode 100644
index aa84422..0000000
--- a/libswfdec/swfdec_edittext.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Swfdec
- * Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
- * Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#ifndef _SWFDEC_TEXT_FIELD_H_
-#define _SWFDEC_TEXT_FIELD_H_
-
-#include <pango/pango.h>
-#include <libswfdec/swfdec_types.h>
-#include <libswfdec/swfdec_color.h>
-#include <libswfdec/swfdec_graphic.h>
-#include <libswfdec/swfdec_player.h>
-#include <libswfdec/swfdec_text_format.h>
-
-G_BEGIN_DECLS
-
-typedef struct _SwfdecTextField SwfdecTextField;
-typedef struct _SwfdecTextFieldClass SwfdecTextFieldClass;
-
-#define SWFDEC_TYPE_TEXT_FIELD (swfdec_text_field_get_type())
-#define SWFDEC_IS_TEXT_FIELD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD))
-#define SWFDEC_IS_TEXT_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD))
-#define SWFDEC_TEXT_FIELD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextField))
-#define SWFDEC_TEXT_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextFieldClass))
-
-typedef struct {
- guint index_;
-
- PangoAlignment align;
- gboolean justify;
- int leading;
- int block_indent;
- int left_margin;
- int right_margin;
- PangoTabArray * tab_stops;
-} SwfdecBlock;
-
-typedef struct {
- const char *text;
- guint text_length;
-
- gboolean bullet;
- int indent;
-
- GList * blocks; // SwfdecBlock
-
- GList * attrs; // PangoAttribute
- PangoAttrList * attrs_list;
-} SwfdecParagraph;
-
-typedef enum {
- SWFDEC_AUTO_SIZE_NONE,
- SWFDEC_AUTO_SIZE_LEFT,
- SWFDEC_AUTO_SIZE_CENTER,
- SWFDEC_AUTO_SIZE_RIGHT
-} SwfdecAutoSize;
-
-struct _SwfdecTextField
-{
- SwfdecGraphic graphic;
-
- gboolean html;
-
- gboolean input;
- gboolean password;
- guint max_length;
- gboolean selectable;
-
- gboolean embed_fonts;
-
- gboolean wrap;
- gboolean multiline;
- SwfdecAutoSize auto_size;
-
- gboolean border;
-
- /* only to be passed to the movie object */
- SwfdecFont * font;
- char * text_input;
- char * variable;
- guint size;
- SwfdecColor color;
- SwfdecTextAlign align;
- guint left_margin;
- guint right_margin;
- guint indent;
- int leading;
-};
-
-struct _SwfdecTextFieldClass
-{
- SwfdecGraphicClass graphic_class;
-};
-
-GType swfdec_text_field_get_type (void);
-
-int tag_func_define_edit_text (SwfdecSwfDecoder * s,
- guint tag);
-
-void swfdec_text_field_render (SwfdecTextField * text,
- cairo_t * cr,
- const SwfdecParagraph * paragraphs,
- const SwfdecColorTransform * trans,
- const SwfdecRect * rect);
-
-G_END_DECLS
-#endif
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
deleted file mode 100644
index dd79e9a..0000000
--- a/libswfdec/swfdec_edittext_movie.c
+++ /dev/null
@@ -1,619 +0,0 @@
-/* Swfdec
- * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
- * Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-
-#include "swfdec_edittext_movie.h"
-#include "swfdec_as_context.h"
-#include "swfdec_as_strings.h"
-#include "swfdec_text_format.h"
-#include "swfdec_font.h"
-#include "swfdec_debug.h"
-#include "swfdec_player_internal.h"
-
-G_DEFINE_TYPE (SwfdecTextFieldMovie, swfdec_text_field_movie, SWFDEC_TYPE_MOVIE)
-
-static void
-swfdec_text_field_movie_update_extents (SwfdecMovie *movie,
- SwfdecRect *extents)
-{
- swfdec_rect_union (extents, extents,
- &SWFDEC_GRAPHIC (SWFDEC_TEXT_FIELD_MOVIE (movie)->text)->extents);
-}
-
-static void
-swfdec_text_paragraph_add_attribute (SwfdecParagraph *paragraph,
- PangoAttribute *attr)
-{
- paragraph->attrs = g_list_append (paragraph->attrs,
- pango_attribute_copy (attr));
- pango_attr_list_insert (paragraph->attrs_list, attr);
-}
-
-static void
-swfdec_text_paragraph_add_block_attributes (SwfdecParagraph *paragraph,
- int index_, SwfdecTextFormat *format)
-{
- gint32 length, i;
- SwfdecBlock *block;
- SwfdecAsValue val;
-
- block = g_new0 (SwfdecBlock, 1);
-
- block->index_ = index_;
-
- switch (format->align) {
- case SWFDEC_TEXT_ALIGN_LEFT:
- block->align = PANGO_ALIGN_LEFT;
- block->justify = FALSE;
- break;
- case SWFDEC_TEXT_ALIGN_RIGHT:
- block->align = PANGO_ALIGN_RIGHT;
- block->justify = FALSE;
- break;
- case SWFDEC_TEXT_ALIGN_CENTER:
- block->align = PANGO_ALIGN_CENTER;
- block->justify = FALSE;
- break;
- case SWFDEC_TEXT_ALIGN_JUSTIFY:
- block->align = PANGO_ALIGN_LEFT;
- block->justify = TRUE;
- break;
- }
- block->leading = format->leading * 20 * PANGO_SCALE;
- block->block_indent = format->block_indent * 20;
- block->left_margin = format->left_margin * 20;
- block->right_margin = format->right_margin * 20;
-
- length = swfdec_as_array_get_length (format->tab_stops);
- block->tab_stops = pango_tab_array_new (length, TRUE);
- for (i = 0; i < length; i++) {
- swfdec_as_array_get_value (format->tab_stops, i, &val);
- g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val));
- pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT,
- SWFDEC_AS_VALUE_GET_NUMBER (&val) * 20);
- }
-
- paragraph->blocks = g_list_append (paragraph->blocks, block);
-}
-
-static void
-swfdec_text_field_movie_generate_paragraph (SwfdecTextFieldMovie *text,
- SwfdecParagraph *paragraph, guint start_index, guint end_index)
-{
- SwfdecTextFormat *format, *format_prev;
- guint index_;
- GSList *iter;
- PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
- *attr_letter_spacing, *attr_size, *attr_underline;
- // TODO: kerning
-
- g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
- g_assert (paragraph != NULL);
- g_assert (start_index < end_index);
- g_assert (end_index <= strlen (text->text_display));
-
- paragraph->text = text->text_display + start_index;
- paragraph->text_length = end_index - start_index;
-
- paragraph->blocks = NULL;
- paragraph->attrs = NULL;
- paragraph->attrs_list = pango_attr_list_new ();
-
- g_assert (text->formats != NULL);
- for (iter = text->formats; iter->next != NULL &&
- ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
- iter = iter->next);
-
- index_ = start_index;
- format = ((SwfdecFormatIndex *)(iter->data))->format;
-
- // Paragraph formats
- paragraph->bullet = format->bullet;
- paragraph->indent = format->indent * 20 * PANGO_SCALE;
-
- // Add new block
- swfdec_text_paragraph_add_block_attributes (paragraph, 0, format);
-
- // Open attributes
- attr_bold = pango_attr_weight_new (
- (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
- attr_bold->start_index = 0;
-
- attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color) * 255,
- SWFDEC_COLOR_G (format->color) * 255,
- SWFDEC_COLOR_B (format->color) * 255);
- attr_color->start_index = 0;
-
- if (text->text->embed_fonts)
- SWFDEC_FIXME ("Using embed fonts in TextField not supported");
- attr_font = pango_attr_family_new (format->font);
- attr_font->start_index = 0;
-
- attr_italic = pango_attr_style_new (
- (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
- attr_italic->start_index = 0;
-
- attr_letter_spacing = pango_attr_letter_spacing_new (
- format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
- attr_letter_spacing->start_index = 0;
-
- attr_size =
- pango_attr_size_new_absolute (MAX (format->size, 1) * 20 * PANGO_SCALE);
- attr_size->start_index = 0;
-
- attr_underline = pango_attr_underline_new (
- (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
- attr_underline->start_index = 0;
-
- for (iter = iter->next;
- iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index < end_index;
- iter = iter->next)
- {
- format_prev = format;
- index_ = ((SwfdecFormatIndex *)(iter->data))->index;
- format = ((SwfdecFormatIndex *)(iter->data))->format;
-
- // Add new block if necessary
- if (format_prev->align != format->align ||
- format_prev->bullet != format->bullet ||
- format_prev->indent != format->indent ||
- format_prev->leading != format->leading ||
- format_prev->block_indent != format->block_indent ||
- format_prev->left_margin != format->left_margin)
- {
- swfdec_text_paragraph_add_block_attributes (paragraph,
- index_ - start_index, format);
- }
-
- // Change attributes if necessary
- if (format_prev->bold != format->bold) {
- attr_bold->end_index = index_ - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
-
- attr_bold = pango_attr_weight_new (
- (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
- attr_bold->start_index = index_ - start_index;
- }
-
- if (format_prev->color != format->color) {
- attr_color->end_index = index_ - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_color);
-
- attr_color = pango_attr_foreground_new (
- SWFDEC_COLOR_R (format->color) * 255,
- SWFDEC_COLOR_G (format->color) * 255,
- SWFDEC_COLOR_B (format->color) * 255);
- attr_color->start_index = index_ - start_index;
- }
-
- if (format_prev->font != format->font) {
- attr_font->end_index = index_ - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_font);
-
- if (text->text->embed_fonts)
- SWFDEC_FIXME ("Using embed fonts in TextField not supported");
- attr_font = pango_attr_family_new (format->font);
- attr_font->start_index = index_ - start_index;
- }
-
- if (format_prev->italic != format->italic) {
- attr_italic->end_index = index_ - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
-
- attr_italic = pango_attr_style_new (
- (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
- attr_italic->start_index = index_ - start_index;
- }
-
- if (format_prev->letter_spacing != format->letter_spacing) {
- attr_letter_spacing->end_index = index_ - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
-
- // FIXME: correct scaling?
- attr_letter_spacing = pango_attr_letter_spacing_new (
- format->letter_spacing * 20 * PANGO_SCALE);
- attr_letter_spacing->start_index = index_ - start_index;
- }
-
- if (format_prev->size != format->size) {
- attr_size->end_index = index_ - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_size);
-
- attr_size =
- pango_attr_size_new_absolute (MAX (1, format->size) * 20 * PANGO_SCALE);
- attr_size->start_index = index_ - start_index;
- }
-
- if (format_prev->underline != format->underline) {
- attr_underline->end_index = index_ - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
-
- attr_underline = pango_attr_underline_new (
- (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
- attr_underline->start_index = index_ - start_index;
- }
- }
-
- // Close attributes
- attr_bold->end_index = end_index - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
- attr_bold = NULL;
-
- attr_color->end_index = end_index - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_color);
- attr_color = NULL;
-
- attr_font->end_index = end_index - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_font);
- attr_font = NULL;
-
- attr_italic->end_index = end_index - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
- attr_italic = NULL;
-
- attr_letter_spacing->end_index = end_index - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
- attr_letter_spacing = NULL;
-
- attr_size->end_index = end_index - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_size);
- attr_size = NULL;
-
- attr_underline->end_index = end_index - start_index;
- swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
- attr_underline = NULL;
-}
-
-static void
-swfdec_text_field_movie_generate_paragraphs (SwfdecTextFieldMovie *text)
-{
- const char *p, *end;
- int num, i;
-
- g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
-
- num = 0;
- p = text->text_display;
- while (p != NULL) {
- num++;
- p = strchr (p, '\r');
- if (p != NULL) p++;
- }
-
- text->paragraphs = g_new0 (SwfdecParagraph, num + 1);
-
- i = 0;
- p = text->text_display;
- while (*p != '\0') {
- g_assert (i < num);
- end = strchr (p, '\r');
- if (end == NULL)
- end = strchr (p, '\0');
-
- swfdec_text_field_movie_generate_paragraph (text, &text->paragraphs[i],
- p - text->text_display, end - text->text_display);
-
- p = end;
- if (*p == '\r') p++;
-
- i++;
- }
- g_assert (i == num);
-}
-
-static void
-swfdec_text_field_movie_render (SwfdecMovie *movie, cairo_t *cr,
- const SwfdecColorTransform *trans, const SwfdecRect *inval)
-{
- SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
-
- if (text->paragraphs == NULL)
- swfdec_text_field_movie_generate_paragraphs (text);
-
- if (text->paragraphs[0].text == NULL)
- return;
- swfdec_text_field_render (text->text, cr, text->paragraphs, trans, inval);
-}
-
-static void
-swfdec_text_field_movie_free_paragraphs (SwfdecTextFieldMovie *text)
-{
- GList *iter;
- int i;
-
- if (text->paragraphs) {
- for (i = 0; text->paragraphs[i].text != NULL; i++)
- {
- for (iter = text->paragraphs[i].blocks; iter != NULL; iter = iter->next) {
- pango_tab_array_free (((SwfdecBlock *)(iter->data))->tab_stops);
- }
- g_list_free (text->paragraphs[i].blocks);
-
- for (iter = text->paragraphs[i].attrs; iter != NULL; iter = iter->next) {
- pango_attribute_destroy ((PangoAttribute *)(iter->data));
- }
- g_list_free (text->paragraphs[i].attrs);
-
- if (text->paragraphs[i].attrs_list != NULL)
- pango_attr_list_unref (text->paragraphs[i].attrs_list);
- }
- g_free (text->paragraphs);
- text->paragraphs = NULL;
- }
-}
-
-void
-swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie *text)
-{
- swfdec_text_field_movie_free_paragraphs (text);
-}
-
-static void
-swfdec_text_field_movie_dispose (GObject *object)
-{
- SwfdecTextFieldMovie *text;
- GSList *iter;
-
- text = SWFDEC_TEXT_FIELD_MOVIE (object);
-
- swfdec_text_field_movie_free_paragraphs (text);
-
- for (iter = text->formats; iter != NULL; iter = iter->next) {
- g_free (text->formats->data);
- text->formats->data = NULL;
- }
- g_slist_free (text->formats);
-
- G_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->dispose (object);
-}
-
-static void
-swfdec_text_field_movie_mark (SwfdecAsObject *object)
-{
- SwfdecTextFieldMovie *text;
- GSList *iter;
-
- text = SWFDEC_TEXT_FIELD_MOVIE (object);
-
- swfdec_as_string_mark (text->text_input);
- swfdec_as_string_mark (text->text_display);
- swfdec_as_string_mark (text->variable);
- swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
- for (iter = text->formats; iter != NULL; iter = iter->next) {
- swfdec_as_object_mark (
- SWFDEC_AS_OBJECT (((SwfdecFormatIndex *)(iter->data))->format));
- }
- swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
- if (text->style_sheet != NULL)
- swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->style_sheet));
-
- SWFDEC_AS_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->mark (object);
-}
-
-static void
-swfdec_text_field_movie_iterate (SwfdecMovie *movie)
-{
- SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
- SwfdecAsObject *parent;
- const char *s;
- SwfdecAsValue val = { 0, };
-
- if (text->text->variable == NULL)
- return;
-
- parent = SWFDEC_AS_OBJECT (movie->parent);
- swfdec_as_context_eval (parent->context, parent, text->text->variable, &val);
- if (SWFDEC_AS_VALUE_IS_UNDEFINED (&val))
- return;
-
- s = swfdec_as_value_to_string (parent->context, &val);
- g_assert (s);
- if (text->text_input == s)
- return;
-
- swfdec_text_field_movie_set_text (text, s, text->text->html);
-}
-
-static void
-swfdec_text_field_movie_init_movie (SwfdecMovie *movie)
-{
- SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
- SwfdecAsContext *cx;
- SwfdecAsObject *parent;
- SwfdecAsValue val = { 0, };
- const char *s;
-
- cx = SWFDEC_AS_OBJECT (movie)->context;
-
- // format
- text->format_new = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx));
- swfdec_text_format_set_defaults (text->format_new);
- text->format_new->color = text->text->color;
- text->format_new->align = text->text->align;
- text->format_new->font = text->text->font->name;
- text->format_new->size = text->text->size / 20;
- text->format_new->left_margin = text->text->left_margin / 20;
- text->format_new->right_margin = text->text->right_margin / 20;
- text->format_new->indent = text->text->indent / 20;
- text->format_new->leading = text->text->leading / 20;
-
- // text
- if (text->text->text_input != NULL) {
- swfdec_text_field_movie_set_text (text,
- swfdec_as_context_get_string (cx, text->text->text_input),
- text->text->html);
- }
-
- // variable
- if (text->text->variable != NULL)
- {
- text->variable = swfdec_as_context_get_string (cx, text->text->variable);
-
- parent = SWFDEC_AS_OBJECT (movie->parent);
- swfdec_as_context_eval (parent->context, parent, text->variable, &val);
- if (!SWFDEC_AS_VALUE_IS_UNDEFINED (&val)) {
- s = swfdec_as_value_to_string (parent->context, &val);
- g_assert (s);
- if (text->text_input != s)
- swfdec_text_field_movie_set_text (text, s, text->text->html);
- } else {
- SWFDEC_LOG ("setting variable %s to \"%s\"", text->variable,
- text->text_input ? text->text_input : "");
- s = text->text_input ? swfdec_as_context_get_string (parent->context,
- text->text_input) : SWFDEC_AS_STR_EMPTY;
- SWFDEC_AS_VALUE_SET_STRING (&val, s);
- swfdec_as_context_eval_set (parent->context, parent, text->variable,
- &val);
- }
- }
-}
-
-static void
-swfdec_text_field_movie_class_init (SwfdecTextFieldMovieClass * g_class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (g_class);
- SwfdecAsObjectClass *asobject_class = SWFDEC_AS_OBJECT_CLASS (g_class);
- SwfdecMovieClass *movie_class = SWFDEC_MOVIE_CLASS (g_class);
-
- object_class->dispose = swfdec_text_field_movie_dispose;
-
- asobject_class->mark = swfdec_text_field_movie_mark;
-
- movie_class->init_movie = swfdec_text_field_movie_init_movie;
- movie_class->update_extents = swfdec_text_field_movie_update_extents;
- movie_class->render = swfdec_text_field_movie_render;
- movie_class->iterate_start = swfdec_text_field_movie_iterate;
-}
-
-static void
-swfdec_text_field_movie_init (SwfdecTextFieldMovie *text)
-{
-}
-
-void
-swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie *text,
- SwfdecTextFormat *format, guint start_index, guint end_index)
-{
- SwfdecFormatIndex *findex, *findex_new;
- guint findex_end_index;
- GSList *iter, *next;
-
- g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
- g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
- g_return_if_fail (start_index < end_index);
- g_return_if_fail (end_index <= strlen (text->text_display));
-
- g_assert (text->formats != NULL);
- g_assert (text->formats->data != NULL);
- g_assert (((SwfdecFormatIndex *)text->formats->data)->index == 0);
- for (iter = text->formats; iter != NULL &&
- ((SwfdecFormatIndex *)iter->data)->index < end_index;
- iter = next)
- {
- next = iter->next;
- findex = iter->data;
- if (iter->next != NULL) {
- findex_end_index =
- ((SwfdecFormatIndex *)iter->next->data)->index;
- } else {
- findex_end_index = strlen (text->text_display);
- }
-
- if (findex_end_index < start_index)
- continue;
-
- if (findex_end_index > end_index) {
- findex_new = g_new (SwfdecFormatIndex, 1);
- findex_new->index = end_index;
- findex_new->format = swfdec_text_format_copy (findex->format);
-
- iter = g_slist_insert (iter, findex_new, 1);
- }
-
- if (findex->index < start_index) {
- findex_new = g_new (SwfdecFormatIndex, 1);
- findex_new->index = start_index;
- findex_new->format = swfdec_text_format_copy (findex->format);
- swfdec_text_format_add (findex_new->format, format);
-
- iter = g_slist_insert (iter, findex_new, 1);
- } else {
- swfdec_text_format_add (findex->format, format);
- }
- }
-
- swfdec_text_field_movie_format_changed (text);
-}
-
-void
-swfdec_text_field_movie_set_text (SwfdecTextFieldMovie *text, const char *str,
- gboolean html)
-{
- SwfdecFormatIndex *block;
- GSList *iter;
-
- g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
-
- text->text_input = str;
-
- // remove old formatting info
- iter = text->formats;
- while (iter) {
- g_free (iter->data);
- iter = g_slist_next (iter);
- }
- g_slist_free (text->formats);
- text->formats = NULL;
-
- // add the default style
- if (html && SWFDEC_AS_OBJECT (text)->context->version < 8)
- swfdec_text_format_set_defaults (text->format_new);
- block = g_new (SwfdecFormatIndex, 1);
- block->index = 0;
- g_assert (SWFDEC_IS_TEXT_FORMAT (text->format_new));
- block->format = text->format_new;
- text->formats = g_slist_prepend (text->formats, block);
-
- if (html) {
- swfdec_text_field_movie_html_parse (text, str);
- } else {
- // change all \n to \r
- if (strchr (str, '\n') != NULL) {
- char *string, *p;
-
- string = g_strdup (str);
- p = string;
- while ((p = strchr (p, '\n')) != NULL) {
- *p = '\r';
- }
- text->text_display = swfdec_as_context_give_string (
- SWFDEC_AS_OBJECT (text)->context, string);
- } else {
- text->text_display = str;
- }
- }
-
- swfdec_text_field_movie_format_changed (text);
-}
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
deleted file mode 100644
index 8b7999a..0000000
--- a/libswfdec/swfdec_edittext_movie.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/* Swfdec
- * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
- * Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#ifndef _SWFDEC_TEXT_FIELD_MOVIE_H_
-#define _SWFDEC_TEXT_FIELD_MOVIE_H_
-
-#include <libswfdec/swfdec_movie.h>
-#include <libswfdec/swfdec_edittext.h>
-#include <libswfdec/swfdec_style_sheet.h>
-#include <libswfdec/swfdec_text_format.h>
-
-G_BEGIN_DECLS
-
-
-typedef struct _SwfdecTextFieldMovie SwfdecTextFieldMovie;
-typedef struct _SwfdecTextFieldMovieClass SwfdecTextFieldMovieClass;
-
-#define SWFDEC_TYPE_TEXT_FIELD_MOVIE (swfdec_text_field_movie_get_type())
-#define SWFDEC_IS_TEXT_FIELD_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
-#define SWFDEC_IS_TEXT_FIELD_MOVIE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
-#define SWFDEC_TEXT_FIELD_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovie))
-#define SWFDEC_TEXT_FIELD_MOVIE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovieClass))
-
-typedef struct {
- guint index;
- SwfdecTextFormat * format;
-} SwfdecFormatIndex;
-
-typedef enum {
- SWFDEC_ANTI_ALIAS_TYPE_NORMAL,
- SWFDEC_ANTI_ALIAS_TYPE_ADVANCED
-} SwfdecAntiAliasType;
-
-typedef enum {
- SWFDEC_GRID_FIT_TYPE_NONE,
- SWFDEC_GRID_FIT_TYPE_PIXEL,
- SWFDEC_GRID_FIT_TYPE_SUBPIXEL
-} SwfdecGridFitType;
-
-struct _SwfdecTextFieldMovie {
- SwfdecMovie movie;
-
- SwfdecTextField * text; /* the text_field object we render */
-
- const char * text_input;
- const char * text_display;
-
- const char * variable;
-
- SwfdecTextFormat * format_new;
- GSList * formats;
-
- SwfdecAntiAliasType anti_alias_type;
- gboolean background_fill;
- guint border_color;
- gboolean condense_white;
- gboolean embed_fonts;
- SwfdecGridFitType grid_fit_type;
- guint hscroll;
- gboolean mouse_wheel_enabled;
- const char * restrict_;
- guint scroll;
- int sharpness;
- SwfdecStyleSheet * style_sheet;
- int thickness;
-
- /* for rendering */
- SwfdecParagraph * paragraphs;
-};
-
-struct _SwfdecTextFieldMovieClass {
- SwfdecMovieClass movie_class;
-};
-
-GType swfdec_text_field_movie_get_type (void);
-
-void swfdec_text_field_movie_set_text (SwfdecTextFieldMovie * movie,
- const char * str,
- gboolean html);
-void swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie * text);
-void swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie * text,
- SwfdecTextFormat * format,
- guint start_index,
- guint end_index);
-
-/* implemented in swfdec_html_parser.c */
-void swfdec_text_field_movie_html_parse (SwfdecTextFieldMovie * text,
- const char * str);
-
-G_END_DECLS
-#endif
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
deleted file mode 100644
index c9d4cd0..0000000
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ /dev/null
@@ -1,705 +0,0 @@
-/* Swfdec
- * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
- * Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <string.h>
-
-#include "swfdec_edittext.h"
-#include "swfdec_edittext_movie.h"
-#include "swfdec_as_strings.h"
-#include "swfdec_debug.h"
-#include "swfdec_as_native_function.h"
-#include "swfdec_as_internal.h"
-#include "swfdec_as_context.h"
-#include "swfdec_as_frame_internal.h"
-#include "swfdec_xml.h"
-#include "swfdec_internal.h"
-#include "swfdec_player_internal.h"
-
-static void
-swfdec_text_field_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
- guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
- SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
- swfdec_as_context_get_string (cx, text->text_display) :
- SWFDEC_AS_STR_EMPTY));
-}
-
-static void
-swfdec_text_field_movie_do_set_text (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
- const char *value;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
-
- swfdec_text_field_movie_set_text (text, value, FALSE);
-}
-
-static const char *
-align_to_string (SwfdecTextAlign align)
-{
- switch (align) {
- case SWFDEC_TEXT_ALIGN_LEFT:
- return "LEFT";
- case SWFDEC_TEXT_ALIGN_RIGHT:
- return "RIGHT";
- case SWFDEC_TEXT_ALIGN_CENTER:
- return "CENTER";
- case SWFDEC_TEXT_ALIGN_JUSTIFY:
- return "JUSTIFY";
- default:
- g_assert_not_reached ();
- }
-}
-
-/*
- * Order of tags:
- * TEXTFORMAT / P or LI / FONT / A / B / I / U
- *
- * Order of attributes:
- * TEXTFORMAT:
- * LEFTMARGIN / RIGHTMARGIN / INDENT / LEADING / BLOCKINDENT / TABSTOPS
- * P: ALIGN
- * LI: none
- * FONT: FACE / SIZE / COLOR / LETTERSPACING / KERNING
- * A: HREF / TARGET
- * B: none
- * I: none
- * U: none
- */
-static GString *
-swfdec_text_field_movie_htmlText_append_paragraph (SwfdecTextFieldMovie *text,
- GString *string, guint start_index, guint end_index)
-{
- SwfdecTextFormat *format, *format_prev, *format_font;
- GSList *iter, *fonts, *iter_font;
- guint index_, index_prev;
- gboolean textformat, bullet, font;
- char *escaped;
-
- g_return_val_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text), string);
- g_return_val_if_fail (string != NULL, string);
- g_return_val_if_fail (start_index < end_index, string);
-
- g_return_val_if_fail (text->formats != NULL, string);
- for (iter = text->formats; iter->next != NULL &&
- ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
- iter = iter->next);
-
- index_ = start_index;
- format = ((SwfdecFormatIndex *)(iter->data))->format;
-
- if (format->left_margin != 0 || format->right_margin != 0 ||
- format->indent != 0 || format->leading != 0 ||
- format->block_indent != 0 ||
- swfdec_as_array_get_length (format->tab_stops) > 0)
- {
- string = g_string_append (string, "<TEXTFORMAT");
- if (format->left_margin) {
- g_string_append_printf (string, " LEFTMARGIN=\"%i\"",
- format->left_margin);
- }
- if (format->right_margin) {
- g_string_append_printf (string, " RIGHTMARGIN=\"%i\"",
- format->right_margin);
- }
- if (format->indent)
- g_string_append_printf (string, " INDENT=\"%i\"", format->indent);
- if (format->leading)
- g_string_append_printf (string, " LEADING=\"%i\"", format->leading);
- if (format->block_indent) {
- g_string_append_printf (string, " BLOCKINDENT=\"%i\"",
- format->block_indent);
- }
- if (swfdec_as_array_get_length (format->tab_stops) > 0) {
- SwfdecAsValue val;
- SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT (format->tab_stops));
- g_string_append_printf (string, " TABSTOPS=\"%s\"",
- swfdec_as_value_to_string (SWFDEC_AS_OBJECT
- (format->tab_stops)->context, &val));
- }
- string = g_string_append (string, ">");
-
- textformat = TRUE;
- }
- else
- {
- textformat = FALSE;
- }
-
- if (format->bullet) {
- string = g_string_append (string, "<LI>");
- bullet = TRUE;
- } else {
- g_string_append_printf (string, "<P ALIGN=\"%s\">",
- align_to_string (format->align));
- bullet = FALSE;
- }
-
- // note we don't escape format->font, even thought it can have evil chars
- g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">",
- format->font, format->size, format->color, (int)format->letter_spacing,
- (format->kerning ? 1 : 0));
- fonts = g_slist_prepend (NULL, format);
-
- if (format->url != SWFDEC_AS_STR_EMPTY)
- g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
- format->url, format->target);
- if (format->bold)
- string = g_string_append (string, "<B>");
- if (format->italic)
- string = g_string_append (string, "<I>");
- if (format->underline)
- string = g_string_append (string, "<U>");
-
- // special case: use <= instead of < to add some extra markup
- for (iter = iter->next;
- iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index <= end_index;
- iter = iter->next)
- {
- index_prev = index_;
- format_prev = format;
- index_ = ((SwfdecFormatIndex *)(iter->data))->index;
- format = ((SwfdecFormatIndex *)(iter->data))->format;
-
- escaped = swfdec_xml_escape_len (text->text_display + index_prev,
- index_ - index_prev);
- string = g_string_append (string, escaped);
- g_free (escaped);
- escaped = NULL;
-
- // Figure out what tags need to be rewritten
- if (format->font != format_prev->font ||
- format->size != format_prev->size ||
- format->color != format_prev->color ||
- (int)format->letter_spacing != (int)format_prev->letter_spacing ||
- format->kerning != format_prev->kerning) {
- font = TRUE;
- } else if (format->url == format_prev->url &&
- format->target == format_prev->target &&
- format->bold == format_prev->bold &&
- format->italic == format_prev->italic &&
- format->underline == format_prev->underline) {
- continue;
- }
-
- // Close tags
- for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
- {
- format_font = (SwfdecTextFormat *)iter_font->data;
- if (format->font == format_font->font &&
- format->size == format_font->size &&
- format->color == format_font->color &&
- (int)format->letter_spacing == (int)format_font->letter_spacing &&
- format->kerning == format_font->kerning) {
- break;
- }
- }
- if (iter_font != NULL) {
- while (fonts != iter_font) {
- string = g_string_append (string, "</FONT>");
- fonts = g_slist_remove (fonts, fonts->data);
- }
- }
- if (format_prev->underline)
- string = g_string_append (string, "</U>");
- if (format_prev->italic)
- string = g_string_append (string, "</I>");
- if (format_prev->bold)
- string = g_string_append (string, "</B>");
- if (format_prev->url != SWFDEC_AS_STR_EMPTY)
- string = g_string_append (string, "</A>");
-
- // Open tags
- format_font = (SwfdecTextFormat *)fonts->data;
- if (font && (format->font != format_font->font ||
- format->size != format_font->size ||
- format->color != format_font->color ||
- (int)format->letter_spacing != (int)format_font->letter_spacing ||
- format->kerning != format_font->kerning))
- {
- fonts = g_slist_prepend (fonts, format);
-
- string = g_string_append (string, "<FONT");
- // note we don't escape format->font, even thought it can have evil chars
- if (format->font != format_font->font)
- g_string_append_printf (string, " FACE=\"%s\"", format->font);
- if (format->size != format_font->size)
- g_string_append_printf (string, " SIZE=\"%i\"", format->size);
- if (format->color != format_font->color)
- g_string_append_printf (string, " COLOR=\"#%06X\"", format->color);
- if ((int)format->letter_spacing != (int)format_font->letter_spacing) {
- g_string_append_printf (string, " LETTERSPACING=\"%i\"",
- (int)format->letter_spacing);
- }
- if (format->kerning != format_font->kerning) {
- g_string_append_printf (string, " KERNING=\"%i\"",
- (format->kerning ? 1 : 0));
- }
- string = g_string_append (string, ">");
- }
- if (format->url != SWFDEC_AS_STR_EMPTY) {
- g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
- format->url, format->target);
- }
- if (format->bold)
- string = g_string_append (string, "<B>");
- if (format->italic)
- string = g_string_append (string, "<I>");
- if (format->underline)
- string = g_string_append (string, "<U>");
- }
-
- escaped = swfdec_xml_escape_len (text->text_display + index_,
- end_index - index_);
- string = g_string_append (string, escaped);
- g_free (escaped);
-
- if (format->underline)
- string = g_string_append (string, "</U>");
- if (format->italic)
- string = g_string_append (string, "</I>");
- if (format->bold)
- string = g_string_append (string, "</B>");
- if (format->url != SWFDEC_AS_STR_EMPTY)
- string = g_string_append (string, "</A>");
- for (iter = fonts; iter != NULL; iter = iter->next)
- string = g_string_append (string, "</FONT>");
- g_slist_free (fonts);
- if (bullet) {
- string = g_string_append (string, "</LI>");
- } else {
- string = g_string_append (string, "</P>");
- }
- if (textformat)
- string = g_string_append (string, "</TEXTFORMAT>");
-
- return string;
-}
-
-static void
-swfdec_text_field_movie_get_htmlText (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
- const char *p, *end;
- GString *string;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
- if (text->text->html == FALSE) {
- swfdec_text_field_movie_get_text (cx, object, argc, argv, ret);
- return;
- }
-
- if (text->text_display == NULL) {
- SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_EMPTY);
- return;
- }
-
- string = g_string_new ("");
-
- p = text->text_display;
- while (*p != '\0') {
- end = strchr (p, '\r');
- if (end == NULL)
- end = strchr (p, '\0');
-
- string = swfdec_text_field_movie_htmlText_append_paragraph (text, string,
- p - text->text_display, end - text->text_display);
-
- if (*end == '\r') {
- p = end + 1;
- } else {
- p = end;
- }
- }
-
- SWFDEC_AS_VALUE_SET_STRING (ret,
- swfdec_as_context_give_string (cx, g_string_free (string, FALSE)));
-}
-
-static void
-swfdec_text_field_movie_set_htmlText (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
- const char *value;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
-
- swfdec_text_field_movie_set_text (text, value, text->text->html);
-}
-
-static void
-swfdec_text_field_movie_get_html (SwfdecAsContext *cx, SwfdecAsObject *object,
- guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
- SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->html);
-}
-
-static void
-swfdec_text_field_movie_set_html (SwfdecAsContext *cx, SwfdecAsObject *object,
- guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
- gboolean value;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
-
- text->text->html = value;
-}
-
-static void
-swfdec_text_field_movie_get_condenseWhite (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
- SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->condense_white);
-}
-
-static void
-swfdec_text_field_movie_set_condenseWhite (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
- gboolean value;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
-
- text->condense_white = value;
-}
-
-static void
-swfdec_text_field_movie_get_embedFonts (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
- SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->embed_fonts);
-}
-
-static void
-swfdec_text_field_movie_set_embedFonts (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
- gboolean value;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
-
- text->text->embed_fonts = value;
-}
-
-static void
-swfdec_text_field_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
- guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
- SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
-}
-
-static void
-swfdec_text_field_movie_get_textColor (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
- swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (text->format_new),
- SWFDEC_AS_STR_color, ret);
-}
-
-static void
-swfdec_text_field_movie_set_textColor (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
- if (argc < 1)
- return;
-
- swfdec_as_object_set_variable (SWFDEC_AS_OBJECT (text->format_new),
- SWFDEC_AS_STR_color, &argv[0]);
-}
-
-SWFDEC_AS_NATIVE (104, 104, swfdec_text_field_movie_getNewTextFormat)
-void
-swfdec_text_field_movie_getNewTextFormat (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
- SWFDEC_AS_VALUE_SET_OBJECT (ret,
- SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new)));
-}
-
-SWFDEC_AS_NATIVE (104, 105, swfdec_text_field_movie_setNewTextFormat)
-void
-swfdec_text_field_movie_setNewTextFormat (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
- SwfdecAsObject *obj;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "o", &obj);
-
- if (!SWFDEC_IS_TEXT_FORMAT (obj))
- return;
-
- text->format_new = swfdec_text_format_copy (SWFDEC_TEXT_FORMAT (obj));
-}
-
-SWFDEC_AS_NATIVE (104, 102, swfdec_text_field_movie_setTextFormat)
-void
-swfdec_text_field_movie_setTextFormat (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
-{
- SwfdecTextFieldMovie *text;
- SwfdecTextFormat *format;
- guint start_index, end_index;
- int i;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
-
- if (argc < 1)
- return;
-
- i = 0;
- if (argc >= 2) {
- start_index = swfdec_as_value_to_integer (cx, &argv[i++]);
- start_index = MIN (start_index, strlen (text->text_display));
- } else {
- start_index = 0;
- }
- if (argc >= 3) {
- end_index = swfdec_as_value_to_integer (cx, &argv[i++]);
- end_index = CLAMP (end_index, start_index, strlen (text->text_display));
- } else {
- end_index = strlen (text->text_display);
- }
- if (start_index == end_index)
- return;
-
- if (!SWFDEC_AS_VALUE_IS_OBJECT (&argv[i]))
- return;
- if (!SWFDEC_IS_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i])))
- return;
-
- format = SWFDEC_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]));
-
- swfdec_text_field_movie_set_text_format (text, format, start_index, end_index);
-}
-
-SWFDEC_AS_NATIVE (104, 200, swfdec_text_field_movie_createTextField)
-void
-swfdec_text_field_movie_createTextField (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *rval)
-{
- SwfdecMovie *movie, *parent;
- SwfdecTextField *edittext;
- int depth, x, y, width, height;
- const char *name;
- SwfdecAsFunction *fun;
- SwfdecAsValue val;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "siiiii", &name, &depth, &x, &y, &width, &height);
-
- edittext = g_object_new (SWFDEC_TYPE_TEXT_FIELD, NULL);
- edittext->html = FALSE;
- edittext->input = FALSE;
- edittext->password = FALSE;
- edittext->selectable = TRUE;
- edittext->font = NULL; // FIXME
- edittext->wrap = FALSE;
- edittext->multiline = FALSE;
- edittext->auto_size = SWFDEC_AUTO_SIZE_NONE;
- edittext->border = FALSE;
- edittext->size = 240; // FIXME: Correct?
-
- edittext->text_input = NULL;
- edittext->variable = NULL;
- edittext->color = 0;
- edittext->align = SWFDEC_TEXT_ALIGN_LEFT;
- edittext->left_margin = 0;
- edittext->right_margin = 0;
- edittext->indent = 0;
- edittext->leading = 0;
-
- edittext->graphic.extents.x0 = x;
- edittext->graphic.extents.x1 = x + width;
- edittext->graphic.extents.y0 = y;
- edittext->graphic.extents.y1 = y + height;
-
- movie = swfdec_movie_find (parent, depth);
- if (movie)
- swfdec_movie_remove (movie);
-
- movie = swfdec_movie_new (SWFDEC_PLAYER (cx), depth, parent,
- SWFDEC_GRAPHIC (edittext), name);
- g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (movie));
- swfdec_movie_initialize (movie);
-
- swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
- if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
- return;
- fun = (SwfdecAsFunction *) SWFDEC_AS_VALUE_GET_OBJECT (&val);
- if (!SWFDEC_IS_AS_FUNCTION (fun))
- return;
-
- /* set initial variables */
- if (swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (fun),
- SWFDEC_AS_STR_prototype, &val)) {
- swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
- SWFDEC_AS_STR___proto__, &val,
- SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT);
- }
- SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT (fun));
- if (cx->version < 7) {
- swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
- SWFDEC_AS_STR_constructor, &val, SWFDEC_AS_VARIABLE_HIDDEN);
- }
- swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
- SWFDEC_AS_STR___constructor__, &val,
- SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_VERSION_6_UP);
-
- swfdec_as_function_call (fun, SWFDEC_AS_OBJECT (movie), 0, NULL, rval);
- cx->frame->construct = TRUE;
- swfdec_as_context_run (cx);
-}
-
-static void
-swfdec_text_field_movie_add_variable (SwfdecAsObject *object,
- const char *variable, SwfdecAsNative get, SwfdecAsNative set)
-{
- SwfdecAsFunction *get_func, *set_func;
-
- g_return_if_fail (SWFDEC_IS_AS_OBJECT (object));
- g_return_if_fail (variable != NULL);
- g_return_if_fail (get != NULL);
-
- get_func =
- swfdec_as_native_function_new (object->context, variable, get, 0, NULL);
- if (get_func == NULL)
- return;
-
- if (set != NULL) {
- set_func =
- swfdec_as_native_function_new (object->context, variable, set, 0, NULL);
- } else {
- set_func = NULL;
- }
-
- swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
-}
-
-SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_text_field_movie_construct, swfdec_text_field_movie_get_type)
-void
-swfdec_text_field_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
- guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
-{
- if (!cx->frame->construct) {
- SwfdecAsValue val;
- if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecTextFieldMovie)))
- return;
- object = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
- swfdec_as_object_add (object, cx, sizeof (SwfdecTextFieldMovie));
- swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
- if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
- swfdec_as_object_set_constructor (object,
- SWFDEC_AS_VALUE_GET_OBJECT (&val));
- } else {
- SWFDEC_INFO ("\"TextField\" is not an object");
- }
- }
-
- g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (object));
-
- if (!SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized) {
- SwfdecAsValue val;
- SwfdecAsObject *proto;
-
- swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val);
- g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
- proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
-
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_text,
- swfdec_text_field_movie_get_text, swfdec_text_field_movie_do_set_text);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
- swfdec_text_field_movie_get_htmlText,
- swfdec_text_field_movie_set_htmlText);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_html,
- swfdec_text_field_movie_get_html, swfdec_text_field_movie_set_html);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
- swfdec_text_field_movie_get_condenseWhite,
- swfdec_text_field_movie_set_condenseWhite);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
- swfdec_text_field_movie_get_embedFonts,
- swfdec_text_field_movie_set_embedFonts);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
- swfdec_text_field_movie_get_length, NULL);
- swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
- swfdec_text_field_movie_get_textColor,
- swfdec_text_field_movie_set_textColor);
-
- SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
- }
-
- SWFDEC_AS_VALUE_SET_OBJECT (ret, object);
-}
diff --git a/libswfdec/swfdec_text_field.c b/libswfdec/swfdec_text_field.c
new file mode 100644
index 0000000..7905673
--- /dev/null
+++ b/libswfdec/swfdec_text_field.c
@@ -0,0 +1,334 @@
+/* Swfdec
+ * Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
+ * Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <pango/pangocairo.h>
+#include <string.h>
+#include "swfdec_edittext.h"
+#include "swfdec_debug.h"
+#include "swfdec_edittext_movie.h"
+#include "swfdec_font.h"
+#include "swfdec_player_internal.h"
+#include "swfdec_swf_decoder.h"
+
+G_DEFINE_TYPE (SwfdecTextField, swfdec_text_field, SWFDEC_TYPE_GRAPHIC)
+
+static gboolean
+swfdec_text_field_mouse_in (SwfdecGraphic *graphic, double x, double y)
+{
+ return swfdec_rect_contains (&graphic->extents, x, y);
+}
+
+static SwfdecMovie *
+swfdec_text_field_create_movie (SwfdecGraphic *graphic, gsize *size)
+{
+ SwfdecTextField *text = SWFDEC_TEXT_FIELD (graphic);
+ SwfdecTextFieldMovie *ret = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
+
+ ret->text = text;
+
+ *size = sizeof (SwfdecTextFieldMovie);
+
+ return SWFDEC_MOVIE (ret);
+}
+
+static void
+swfdec_text_field_dispose (GObject *object)
+{
+ SwfdecTextField *text = SWFDEC_TEXT_FIELD (object);
+
+ g_free (text->text_input);
+ text->text_input = NULL;
+ g_free (text->variable);
+ text->variable = NULL;
+
+ G_OBJECT_CLASS (swfdec_text_field_parent_class)->dispose (object);
+}
+
+static void
+swfdec_text_field_class_init (SwfdecTextFieldClass * g_class)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (g_class);
+ SwfdecGraphicClass *graphic_class = SWFDEC_GRAPHIC_CLASS (g_class);
+
+ object_class->dispose = swfdec_text_field_dispose;
+ graphic_class->create_movie = swfdec_text_field_create_movie;
+ graphic_class->mouse_in = swfdec_text_field_mouse_in;
+}
+
+static void
+swfdec_text_field_init (SwfdecTextField * text)
+{
+ text->max_length = G_MAXUINT;
+}
+
+void
+swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
+ const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
+ const SwfdecRect *inval)
+{
+ PangoLayout *layout;
+ guint i;
+
+ g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
+ g_return_if_fail (cr != NULL);
+ g_return_if_fail (paragraphs != NULL);
+ g_return_if_fail (trans != NULL);
+ g_return_if_fail (inval != NULL);
+
+ cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+ SWFDEC_GRAPHIC (text)->extents.y0);
+
+ layout = pango_cairo_create_layout (cr);
+
+ for (i = 0; paragraphs[i].text != NULL; i++)
+ {
+ GList *iter;
+ guint skip;
+
+ skip = 0;
+ for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
+ {
+ int height, width;
+ guint length;
+ SwfdecBlock *block;
+ PangoAttrList *attr_list;
+
+ block = (SwfdecBlock *)iter->data;
+ if (iter->next != NULL) {
+ length =
+ ((SwfdecBlock *)(iter->next->data))->index_ - block->index_;
+ } else {
+ length = paragraphs[i].text_length - block->index_;
+ }
+
+ if (skip > length) {
+ skip -= length;
+ continue;
+ }
+
+ // update position
+ cairo_rel_move_to (cr, block->left_margin + block->block_indent, 0);
+ width = SWFDEC_GRAPHIC (text)->extents.x1 -
+ SWFDEC_GRAPHIC (text)->extents.x0 - block->left_margin -
+ block->right_margin - block->block_indent;
+
+ if (block->index_ == 0 && paragraphs[i].indent < 0) {
+ cairo_rel_move_to (cr, paragraphs[i].indent / PANGO_SCALE, 0);
+ width += -paragraphs[i].indent / PANGO_SCALE;
+ }
+
+ pango_cairo_update_layout (cr, layout);
+ pango_layout_context_changed (layout);
+ pango_layout_set_width (layout, width * PANGO_SCALE);
+
+ // set paragraph styles
+ if (block->index_ == 0) {
+ pango_layout_set_indent (layout, paragraphs[i].indent);
+ // TODO: bullet
+ } else {
+ pango_layout_set_indent (layout, 0);
+ }
+
+ // set block styles
+ pango_layout_set_alignment (layout, block->align);
+ pango_layout_set_justify (layout, block->justify);
+ pango_layout_set_spacing (layout, block->leading);
+ pango_layout_set_tabs (layout, block->tab_stops);
+
+ // set text attributes
+ if (block->index_ > 0 || !swfdec_color_transform_is_identity (trans))
+ {
+ GList *iter_attrs;
+
+ attr_list = pango_attr_list_new ();
+
+ for (iter_attrs = paragraphs[i].attrs; iter_attrs != NULL;
+ iter_attrs = iter_attrs->next)
+ {
+ PangoAttribute *attr;
+
+ attr = (PangoAttribute *)iter_attrs->data;
+
+ if (attr->end_index <= block->index_ + skip)
+ continue;
+
+ attr = pango_attribute_copy (attr);
+ if (attr->klass->type == PANGO_ATTR_FOREGROUND &&
+ !swfdec_color_transform_is_identity (trans))
+ {
+ PangoColor pcolor;
+ SwfdecColor color;
+
+ pcolor = ((PangoAttrColor *)attr)->color;
+ color = SWFDEC_COLOR_COMBINE (pcolor.red >> 8, pcolor.green >> 8,
+ pcolor.blue >> 8, 255);
+ color = swfdec_color_apply_transform (color, trans);
+ pcolor.red = SWFDEC_COLOR_R (color) << 8;
+ pcolor.green = SWFDEC_COLOR_G (color) << 8;
+ pcolor.blue = SWFDEC_COLOR_B (color) << 8;
+ ((PangoAttrColor *)attr)->color = pcolor;
+ }
+ attr->start_index = (attr->start_index > block->index_ + skip ?
+ attr->start_index - (block->index_ + skip) : 0);
+ attr->end_index = attr->end_index - (block->index_ + skip);
+ pango_attr_list_insert (attr_list, attr);
+ }
+ } else {
+ attr_list = pango_attr_list_copy (paragraphs[i].attrs_list);
+ }
+ pango_layout_set_attributes (layout, attr_list);
+ pango_attr_list_unref (attr_list);
+ attr_list = NULL;
+
+ pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
+ paragraphs[i].text_length - block->index_ - skip);
+
+ if (iter->next != NULL)
+ {
+ PangoLayoutLine *line;
+ int line_num;
+ guint skip_new;
+
+ pango_layout_index_to_line_x (layout, length - skip, FALSE, &line_num,
+ NULL);
+ line = pango_layout_get_line_readonly (layout, line_num);
+ skip_new = line->start_index + line->length - (length - skip);
+ pango_layout_set_text (layout,
+ paragraphs[i].text + block->index_ + skip,
+ length - skip + skip_new);
+ skip = skip_new;
+ }
+ else
+ {
+ skip = 0;
+ }
+
+ pango_cairo_show_layout (cr, layout);
+
+ pango_layout_get_pixel_size (layout, NULL, &height);
+ cairo_rel_move_to (cr, -(block->left_margin + block->block_indent),
+ height + block->leading / PANGO_SCALE);
+ if (block->index_ == 0 && paragraphs[i].indent < 0)
+ cairo_rel_move_to (cr, -paragraphs[i].indent / PANGO_SCALE, 0);
+ }
+ }
+
+ g_object_unref (layout);
+}
+
+int
+tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
+{
+ SwfdecTextField *text;
+ guint id;
+ int reserved;
+ gboolean has_font, has_color, has_max_length, has_layout, has_text;
+ SwfdecBits *b = &s->b;
+
+ id = swfdec_bits_get_u16 (b);
+ SWFDEC_LOG (" id = %u", id);
+ text = swfdec_swf_decoder_create_character (s, id, SWFDEC_TYPE_TEXT_FIELD);
+ if (text == NULL)
+ return SWFDEC_STATUS_OK;
+
+ swfdec_bits_get_rect (b, &SWFDEC_GRAPHIC (text)->extents);
+ SWFDEC_LOG (" extents: %g %g %g %g",
+ SWFDEC_GRAPHIC (text)->extents.x0, SWFDEC_GRAPHIC (text)->extents.y0,
+ SWFDEC_GRAPHIC (text)->extents.x1, SWFDEC_GRAPHIC (text)->extents.y1);
+ swfdec_bits_syncbits (b);
+ has_text = swfdec_bits_getbit (b);
+ text->wrap = swfdec_bits_getbit (b);
+ text->multiline = swfdec_bits_getbit (b);
+ text->password = swfdec_bits_getbit (b);
+ text->input = !swfdec_bits_getbit (b);
+ has_color = swfdec_bits_getbit (b);
+ has_max_length = swfdec_bits_getbit (b);
+ has_font = swfdec_bits_getbit (b);
+ reserved = swfdec_bits_getbit (b);
+ text->auto_size =
+ (swfdec_bits_getbit (b) ? SWFDEC_AUTO_SIZE_LEFT : SWFDEC_AUTO_SIZE_NONE);
+ has_layout = swfdec_bits_getbit (b);
+ text->selectable = !swfdec_bits_getbit (b);
+ text->border = swfdec_bits_getbit (b);
+ reserved = swfdec_bits_getbit (b);
+ text->html = swfdec_bits_getbit (b);
+ text->embed_fonts = swfdec_bits_getbit (b);
+ if (has_font) {
+ SwfdecCharacter *font;
+
+ id = swfdec_bits_get_u16 (b);
+ font = swfdec_swf_decoder_get_character (s, id);
+ if (SWFDEC_IS_FONT (font)) {
+ SWFDEC_LOG (" font = %u", id);
+ text->font = SWFDEC_FONT (font);
+ } else {
+ SWFDEC_ERROR ("id %u does not specify a font", id);
+ }
+ text->size = swfdec_bits_get_u16 (b);
+ SWFDEC_LOG (" size = %u", text->size);
+ }
+ if (has_color) {
+ text->color = swfdec_bits_get_rgba (b);
+ SWFDEC_LOG (" color = %u", text->color);
+ } else {
+ SWFDEC_WARNING ("FIXME: figure out default color");
+ text->color = SWFDEC_COLOR_COMBINE (255, 255, 255, 255);
+ }
+ if (has_max_length) {
+ text->max_length = swfdec_bits_get_u16 (b);
+ }
+ if (has_layout) {
+ guint align = swfdec_bits_get_u8 (b);
+ switch (align) {
+ case 0:
+ text->align = SWFDEC_TEXT_ALIGN_LEFT;
+ break;
+ case 1:
+ text->align = SWFDEC_TEXT_ALIGN_RIGHT;
+ break;
+ case 2:
+ text->align = SWFDEC_TEXT_ALIGN_CENTER;
+ break;
+ case 3:
+ text->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
+ break;
+ default:
+ SWFDEC_ERROR ("undefined align value %u", align);
+ break;
+ }
+ text->left_margin = swfdec_bits_get_u16 (b);
+ text->right_margin = swfdec_bits_get_u16 (b);
+ text->indent = swfdec_bits_get_u16 (b);
+ text->leading = swfdec_bits_get_s16 (b);
+ }
+ text->variable = swfdec_bits_get_string (b);
+ if (text->variable && *text->variable == 0) {
+ g_free (text->variable);
+ text->variable = NULL;
+ }
+ if (has_text)
+ text->text_input = swfdec_bits_get_string (b);
+
+ return SWFDEC_STATUS_OK;
+}
diff --git a/libswfdec/swfdec_text_field.h b/libswfdec/swfdec_text_field.h
new file mode 100644
index 0000000..aa84422
--- /dev/null
+++ b/libswfdec/swfdec_text_field.h
@@ -0,0 +1,123 @@
+/* Swfdec
+ * Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
+ * Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef _SWFDEC_TEXT_FIELD_H_
+#define _SWFDEC_TEXT_FIELD_H_
+
+#include <pango/pango.h>
+#include <libswfdec/swfdec_types.h>
+#include <libswfdec/swfdec_color.h>
+#include <libswfdec/swfdec_graphic.h>
+#include <libswfdec/swfdec_player.h>
+#include <libswfdec/swfdec_text_format.h>
+
+G_BEGIN_DECLS
+
+typedef struct _SwfdecTextField SwfdecTextField;
+typedef struct _SwfdecTextFieldClass SwfdecTextFieldClass;
+
+#define SWFDEC_TYPE_TEXT_FIELD (swfdec_text_field_get_type())
+#define SWFDEC_IS_TEXT_FIELD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD))
+#define SWFDEC_IS_TEXT_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD))
+#define SWFDEC_TEXT_FIELD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextField))
+#define SWFDEC_TEXT_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextFieldClass))
+
+typedef struct {
+ guint index_;
+
+ PangoAlignment align;
+ gboolean justify;
+ int leading;
+ int block_indent;
+ int left_margin;
+ int right_margin;
+ PangoTabArray * tab_stops;
+} SwfdecBlock;
+
+typedef struct {
+ const char *text;
+ guint text_length;
+
+ gboolean bullet;
+ int indent;
+
+ GList * blocks; // SwfdecBlock
+
+ GList * attrs; // PangoAttribute
+ PangoAttrList * attrs_list;
+} SwfdecParagraph;
+
+typedef enum {
+ SWFDEC_AUTO_SIZE_NONE,
+ SWFDEC_AUTO_SIZE_LEFT,
+ SWFDEC_AUTO_SIZE_CENTER,
+ SWFDEC_AUTO_SIZE_RIGHT
+} SwfdecAutoSize;
+
+struct _SwfdecTextField
+{
+ SwfdecGraphic graphic;
+
+ gboolean html;
+
+ gboolean input;
+ gboolean password;
+ guint max_length;
+ gboolean selectable;
+
+ gboolean embed_fonts;
+
+ gboolean wrap;
+ gboolean multiline;
+ SwfdecAutoSize auto_size;
+
+ gboolean border;
+
+ /* only to be passed to the movie object */
+ SwfdecFont * font;
+ char * text_input;
+ char * variable;
+ guint size;
+ SwfdecColor color;
+ SwfdecTextAlign align;
+ guint left_margin;
+ guint right_margin;
+ guint indent;
+ int leading;
+};
+
+struct _SwfdecTextFieldClass
+{
+ SwfdecGraphicClass graphic_class;
+};
+
+GType swfdec_text_field_get_type (void);
+
+int tag_func_define_edit_text (SwfdecSwfDecoder * s,
+ guint tag);
+
+void swfdec_text_field_render (SwfdecTextField * text,
+ cairo_t * cr,
+ const SwfdecParagraph * paragraphs,
+ const SwfdecColorTransform * trans,
+ const SwfdecRect * rect);
+
+G_END_DECLS
+#endif
diff --git a/libswfdec/swfdec_text_field_movie.c b/libswfdec/swfdec_text_field_movie.c
new file mode 100644
index 0000000..dd79e9a
--- /dev/null
+++ b/libswfdec/swfdec_text_field_movie.c
@@ -0,0 +1,619 @@
+/* Swfdec
+ * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
+ * Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include "swfdec_edittext_movie.h"
+#include "swfdec_as_context.h"
+#include "swfdec_as_strings.h"
+#include "swfdec_text_format.h"
+#include "swfdec_font.h"
+#include "swfdec_debug.h"
+#include "swfdec_player_internal.h"
+
+G_DEFINE_TYPE (SwfdecTextFieldMovie, swfdec_text_field_movie, SWFDEC_TYPE_MOVIE)
+
+static void
+swfdec_text_field_movie_update_extents (SwfdecMovie *movie,
+ SwfdecRect *extents)
+{
+ swfdec_rect_union (extents, extents,
+ &SWFDEC_GRAPHIC (SWFDEC_TEXT_FIELD_MOVIE (movie)->text)->extents);
+}
+
+static void
+swfdec_text_paragraph_add_attribute (SwfdecParagraph *paragraph,
+ PangoAttribute *attr)
+{
+ paragraph->attrs = g_list_append (paragraph->attrs,
+ pango_attribute_copy (attr));
+ pango_attr_list_insert (paragraph->attrs_list, attr);
+}
+
+static void
+swfdec_text_paragraph_add_block_attributes (SwfdecParagraph *paragraph,
+ int index_, SwfdecTextFormat *format)
+{
+ gint32 length, i;
+ SwfdecBlock *block;
+ SwfdecAsValue val;
+
+ block = g_new0 (SwfdecBlock, 1);
+
+ block->index_ = index_;
+
+ switch (format->align) {
+ case SWFDEC_TEXT_ALIGN_LEFT:
+ block->align = PANGO_ALIGN_LEFT;
+ block->justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_RIGHT:
+ block->align = PANGO_ALIGN_RIGHT;
+ block->justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_CENTER:
+ block->align = PANGO_ALIGN_CENTER;
+ block->justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_JUSTIFY:
+ block->align = PANGO_ALIGN_LEFT;
+ block->justify = TRUE;
+ break;
+ }
+ block->leading = format->leading * 20 * PANGO_SCALE;
+ block->block_indent = format->block_indent * 20;
+ block->left_margin = format->left_margin * 20;
+ block->right_margin = format->right_margin * 20;
+
+ length = swfdec_as_array_get_length (format->tab_stops);
+ block->tab_stops = pango_tab_array_new (length, TRUE);
+ for (i = 0; i < length; i++) {
+ swfdec_as_array_get_value (format->tab_stops, i, &val);
+ g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val));
+ pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT,
+ SWFDEC_AS_VALUE_GET_NUMBER (&val) * 20);
+ }
+
+ paragraph->blocks = g_list_append (paragraph->blocks, block);
+}
+
+static void
+swfdec_text_field_movie_generate_paragraph (SwfdecTextFieldMovie *text,
+ SwfdecParagraph *paragraph, guint start_index, guint end_index)
+{
+ SwfdecTextFormat *format, *format_prev;
+ guint index_;
+ GSList *iter;
+ PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
+ *attr_letter_spacing, *attr_size, *attr_underline;
+ // TODO: kerning
+
+ g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
+ g_assert (paragraph != NULL);
+ g_assert (start_index < end_index);
+ g_assert (end_index <= strlen (text->text_display));
+
+ paragraph->text = text->text_display + start_index;
+ paragraph->text_length = end_index - start_index;
+
+ paragraph->blocks = NULL;
+ paragraph->attrs = NULL;
+ paragraph->attrs_list = pango_attr_list_new ();
+
+ g_assert (text->formats != NULL);
+ for (iter = text->formats; iter->next != NULL &&
+ ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+ iter = iter->next);
+
+ index_ = start_index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ // Paragraph formats
+ paragraph->bullet = format->bullet;
+ paragraph->indent = format->indent * 20 * PANGO_SCALE;
+
+ // Add new block
+ swfdec_text_paragraph_add_block_attributes (paragraph, 0, format);
+
+ // Open attributes
+ attr_bold = pango_attr_weight_new (
+ (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
+ attr_bold->start_index = 0;
+
+ attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color) * 255,
+ SWFDEC_COLOR_G (format->color) * 255,
+ SWFDEC_COLOR_B (format->color) * 255);
+ attr_color->start_index = 0;
+
+ if (text->text->embed_fonts)
+ SWFDEC_FIXME ("Using embed fonts in TextField not supported");
+ attr_font = pango_attr_family_new (format->font);
+ attr_font->start_index = 0;
+
+ attr_italic = pango_attr_style_new (
+ (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
+ attr_italic->start_index = 0;
+
+ attr_letter_spacing = pango_attr_letter_spacing_new (
+ format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
+ attr_letter_spacing->start_index = 0;
+
+ attr_size =
+ pango_attr_size_new_absolute (MAX (format->size, 1) * 20 * PANGO_SCALE);
+ attr_size->start_index = 0;
+
+ attr_underline = pango_attr_underline_new (
+ (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
+ attr_underline->start_index = 0;
+
+ for (iter = iter->next;
+ iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index < end_index;
+ iter = iter->next)
+ {
+ format_prev = format;
+ index_ = ((SwfdecFormatIndex *)(iter->data))->index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ // Add new block if necessary
+ if (format_prev->align != format->align ||
+ format_prev->bullet != format->bullet ||
+ format_prev->indent != format->indent ||
+ format_prev->leading != format->leading ||
+ format_prev->block_indent != format->block_indent ||
+ format_prev->left_margin != format->left_margin)
+ {
+ swfdec_text_paragraph_add_block_attributes (paragraph,
+ index_ - start_index, format);
+ }
+
+ // Change attributes if necessary
+ if (format_prev->bold != format->bold) {
+ attr_bold->end_index = index_ - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
+
+ attr_bold = pango_attr_weight_new (
+ (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
+ attr_bold->start_index = index_ - start_index;
+ }
+
+ if (format_prev->color != format->color) {
+ attr_color->end_index = index_ - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_color);
+
+ attr_color = pango_attr_foreground_new (
+ SWFDEC_COLOR_R (format->color) * 255,
+ SWFDEC_COLOR_G (format->color) * 255,
+ SWFDEC_COLOR_B (format->color) * 255);
+ attr_color->start_index = index_ - start_index;
+ }
+
+ if (format_prev->font != format->font) {
+ attr_font->end_index = index_ - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_font);
+
+ if (text->text->embed_fonts)
+ SWFDEC_FIXME ("Using embed fonts in TextField not supported");
+ attr_font = pango_attr_family_new (format->font);
+ attr_font->start_index = index_ - start_index;
+ }
+
+ if (format_prev->italic != format->italic) {
+ attr_italic->end_index = index_ - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
+
+ attr_italic = pango_attr_style_new (
+ (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
+ attr_italic->start_index = index_ - start_index;
+ }
+
+ if (format_prev->letter_spacing != format->letter_spacing) {
+ attr_letter_spacing->end_index = index_ - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
+
+ // FIXME: correct scaling?
+ attr_letter_spacing = pango_attr_letter_spacing_new (
+ format->letter_spacing * 20 * PANGO_SCALE);
+ attr_letter_spacing->start_index = index_ - start_index;
+ }
+
+ if (format_prev->size != format->size) {
+ attr_size->end_index = index_ - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_size);
+
+ attr_size =
+ pango_attr_size_new_absolute (MAX (1, format->size) * 20 * PANGO_SCALE);
+ attr_size->start_index = index_ - start_index;
+ }
+
+ if (format_prev->underline != format->underline) {
+ attr_underline->end_index = index_ - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
+
+ attr_underline = pango_attr_underline_new (
+ (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
+ attr_underline->start_index = index_ - start_index;
+ }
+ }
+
+ // Close attributes
+ attr_bold->end_index = end_index - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
+ attr_bold = NULL;
+
+ attr_color->end_index = end_index - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_color);
+ attr_color = NULL;
+
+ attr_font->end_index = end_index - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_font);
+ attr_font = NULL;
+
+ attr_italic->end_index = end_index - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
+ attr_italic = NULL;
+
+ attr_letter_spacing->end_index = end_index - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
+ attr_letter_spacing = NULL;
+
+ attr_size->end_index = end_index - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_size);
+ attr_size = NULL;
+
+ attr_underline->end_index = end_index - start_index;
+ swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
+ attr_underline = NULL;
+}
+
+static void
+swfdec_text_field_movie_generate_paragraphs (SwfdecTextFieldMovie *text)
+{
+ const char *p, *end;
+ int num, i;
+
+ g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
+
+ num = 0;
+ p = text->text_display;
+ while (p != NULL) {
+ num++;
+ p = strchr (p, '\r');
+ if (p != NULL) p++;
+ }
+
+ text->paragraphs = g_new0 (SwfdecParagraph, num + 1);
+
+ i = 0;
+ p = text->text_display;
+ while (*p != '\0') {
+ g_assert (i < num);
+ end = strchr (p, '\r');
+ if (end == NULL)
+ end = strchr (p, '\0');
+
+ swfdec_text_field_movie_generate_paragraph (text, &text->paragraphs[i],
+ p - text->text_display, end - text->text_display);
+
+ p = end;
+ if (*p == '\r') p++;
+
+ i++;
+ }
+ g_assert (i == num);
+}
+
+static void
+swfdec_text_field_movie_render (SwfdecMovie *movie, cairo_t *cr,
+ const SwfdecColorTransform *trans, const SwfdecRect *inval)
+{
+ SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
+
+ if (text->paragraphs == NULL)
+ swfdec_text_field_movie_generate_paragraphs (text);
+
+ if (text->paragraphs[0].text == NULL)
+ return;
+ swfdec_text_field_render (text->text, cr, text->paragraphs, trans, inval);
+}
+
+static void
+swfdec_text_field_movie_free_paragraphs (SwfdecTextFieldMovie *text)
+{
+ GList *iter;
+ int i;
+
+ if (text->paragraphs) {
+ for (i = 0; text->paragraphs[i].text != NULL; i++)
+ {
+ for (iter = text->paragraphs[i].blocks; iter != NULL; iter = iter->next) {
+ pango_tab_array_free (((SwfdecBlock *)(iter->data))->tab_stops);
+ }
+ g_list_free (text->paragraphs[i].blocks);
+
+ for (iter = text->paragraphs[i].attrs; iter != NULL; iter = iter->next) {
+ pango_attribute_destroy ((PangoAttribute *)(iter->data));
+ }
+ g_list_free (text->paragraphs[i].attrs);
+
+ if (text->paragraphs[i].attrs_list != NULL)
+ pango_attr_list_unref (text->paragraphs[i].attrs_list);
+ }
+ g_free (text->paragraphs);
+ text->paragraphs = NULL;
+ }
+}
+
+void
+swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie *text)
+{
+ swfdec_text_field_movie_free_paragraphs (text);
+}
+
+static void
+swfdec_text_field_movie_dispose (GObject *object)
+{
+ SwfdecTextFieldMovie *text;
+ GSList *iter;
+
+ text = SWFDEC_TEXT_FIELD_MOVIE (object);
+
+ swfdec_text_field_movie_free_paragraphs (text);
+
+ for (iter = text->formats; iter != NULL; iter = iter->next) {
+ g_free (text->formats->data);
+ text->formats->data = NULL;
+ }
+ g_slist_free (text->formats);
+
+ G_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->dispose (object);
+}
+
+static void
+swfdec_text_field_movie_mark (SwfdecAsObject *object)
+{
+ SwfdecTextFieldMovie *text;
+ GSList *iter;
+
+ text = SWFDEC_TEXT_FIELD_MOVIE (object);
+
+ swfdec_as_string_mark (text->text_input);
+ swfdec_as_string_mark (text->text_display);
+ swfdec_as_string_mark (text->variable);
+ swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
+ for (iter = text->formats; iter != NULL; iter = iter->next) {
+ swfdec_as_object_mark (
+ SWFDEC_AS_OBJECT (((SwfdecFormatIndex *)(iter->data))->format));
+ }
+ swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
+ if (text->style_sheet != NULL)
+ swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->style_sheet));
+
+ SWFDEC_AS_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->mark (object);
+}
+
+static void
+swfdec_text_field_movie_iterate (SwfdecMovie *movie)
+{
+ SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
+ SwfdecAsObject *parent;
+ const char *s;
+ SwfdecAsValue val = { 0, };
+
+ if (text->text->variable == NULL)
+ return;
+
+ parent = SWFDEC_AS_OBJECT (movie->parent);
+ swfdec_as_context_eval (parent->context, parent, text->text->variable, &val);
+ if (SWFDEC_AS_VALUE_IS_UNDEFINED (&val))
+ return;
+
+ s = swfdec_as_value_to_string (parent->context, &val);
+ g_assert (s);
+ if (text->text_input == s)
+ return;
+
+ swfdec_text_field_movie_set_text (text, s, text->text->html);
+}
+
+static void
+swfdec_text_field_movie_init_movie (SwfdecMovie *movie)
+{
+ SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
+ SwfdecAsContext *cx;
+ SwfdecAsObject *parent;
+ SwfdecAsValue val = { 0, };
+ const char *s;
+
+ cx = SWFDEC_AS_OBJECT (movie)->context;
+
+ // format
+ text->format_new = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx));
+ swfdec_text_format_set_defaults (text->format_new);
+ text->format_new->color = text->text->color;
+ text->format_new->align = text->text->align;
+ text->format_new->font = text->text->font->name;
+ text->format_new->size = text->text->size / 20;
+ text->format_new->left_margin = text->text->left_margin / 20;
+ text->format_new->right_margin = text->text->right_margin / 20;
+ text->format_new->indent = text->text->indent / 20;
+ text->format_new->leading = text->text->leading / 20;
+
+ // text
+ if (text->text->text_input != NULL) {
+ swfdec_text_field_movie_set_text (text,
+ swfdec_as_context_get_string (cx, text->text->text_input),
+ text->text->html);
+ }
+
+ // variable
+ if (text->text->variable != NULL)
+ {
+ text->variable = swfdec_as_context_get_string (cx, text->text->variable);
+
+ parent = SWFDEC_AS_OBJECT (movie->parent);
+ swfdec_as_context_eval (parent->context, parent, text->variable, &val);
+ if (!SWFDEC_AS_VALUE_IS_UNDEFINED (&val)) {
+ s = swfdec_as_value_to_string (parent->context, &val);
+ g_assert (s);
+ if (text->text_input != s)
+ swfdec_text_field_movie_set_text (text, s, text->text->html);
+ } else {
+ SWFDEC_LOG ("setting variable %s to \"%s\"", text->variable,
+ text->text_input ? text->text_input : "");
+ s = text->text_input ? swfdec_as_context_get_string (parent->context,
+ text->text_input) : SWFDEC_AS_STR_EMPTY;
+ SWFDEC_AS_VALUE_SET_STRING (&val, s);
+ swfdec_as_context_eval_set (parent->context, parent, text->variable,
+ &val);
+ }
+ }
+}
+
+static void
+swfdec_text_field_movie_class_init (SwfdecTextFieldMovieClass * g_class)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (g_class);
+ SwfdecAsObjectClass *asobject_class = SWFDEC_AS_OBJECT_CLASS (g_class);
+ SwfdecMovieClass *movie_class = SWFDEC_MOVIE_CLASS (g_class);
+
+ object_class->dispose = swfdec_text_field_movie_dispose;
+
+ asobject_class->mark = swfdec_text_field_movie_mark;
+
+ movie_class->init_movie = swfdec_text_field_movie_init_movie;
+ movie_class->update_extents = swfdec_text_field_movie_update_extents;
+ movie_class->render = swfdec_text_field_movie_render;
+ movie_class->iterate_start = swfdec_text_field_movie_iterate;
+}
+
+static void
+swfdec_text_field_movie_init (SwfdecTextFieldMovie *text)
+{
+}
+
+void
+swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie *text,
+ SwfdecTextFormat *format, guint start_index, guint end_index)
+{
+ SwfdecFormatIndex *findex, *findex_new;
+ guint findex_end_index;
+ GSList *iter, *next;
+
+ g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
+ g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
+ g_return_if_fail (start_index < end_index);
+ g_return_if_fail (end_index <= strlen (text->text_display));
+
+ g_assert (text->formats != NULL);
+ g_assert (text->formats->data != NULL);
+ g_assert (((SwfdecFormatIndex *)text->formats->data)->index == 0);
+ for (iter = text->formats; iter != NULL &&
+ ((SwfdecFormatIndex *)iter->data)->index < end_index;
+ iter = next)
+ {
+ next = iter->next;
+ findex = iter->data;
+ if (iter->next != NULL) {
+ findex_end_index =
+ ((SwfdecFormatIndex *)iter->next->data)->index;
+ } else {
+ findex_end_index = strlen (text->text_display);
+ }
+
+ if (findex_end_index < start_index)
+ continue;
+
+ if (findex_end_index > end_index) {
+ findex_new = g_new (SwfdecFormatIndex, 1);
+ findex_new->index = end_index;
+ findex_new->format = swfdec_text_format_copy (findex->format);
+
+ iter = g_slist_insert (iter, findex_new, 1);
+ }
+
+ if (findex->index < start_index) {
+ findex_new = g_new (SwfdecFormatIndex, 1);
+ findex_new->index = start_index;
+ findex_new->format = swfdec_text_format_copy (findex->format);
+ swfdec_text_format_add (findex_new->format, format);
+
+ iter = g_slist_insert (iter, findex_new, 1);
+ } else {
+ swfdec_text_format_add (findex->format, format);
+ }
+ }
+
+ swfdec_text_field_movie_format_changed (text);
+}
+
+void
+swfdec_text_field_movie_set_text (SwfdecTextFieldMovie *text, const char *str,
+ gboolean html)
+{
+ SwfdecFormatIndex *block;
+ GSList *iter;
+
+ g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
+
+ text->text_input = str;
+
+ // remove old formatting info
+ iter = text->formats;
+ while (iter) {
+ g_free (iter->data);
+ iter = g_slist_next (iter);
+ }
+ g_slist_free (text->formats);
+ text->formats = NULL;
+
+ // add the default style
+ if (html && SWFDEC_AS_OBJECT (text)->context->version < 8)
+ swfdec_text_format_set_defaults (text->format_new);
+ block = g_new (SwfdecFormatIndex, 1);
+ block->index = 0;
+ g_assert (SWFDEC_IS_TEXT_FORMAT (text->format_new));
+ block->format = text->format_new;
+ text->formats = g_slist_prepend (text->formats, block);
+
+ if (html) {
+ swfdec_text_field_movie_html_parse (text, str);
+ } else {
+ // change all \n to \r
+ if (strchr (str, '\n') != NULL) {
+ char *string, *p;
+
+ string = g_strdup (str);
+ p = string;
+ while ((p = strchr (p, '\n')) != NULL) {
+ *p = '\r';
+ }
+ text->text_display = swfdec_as_context_give_string (
+ SWFDEC_AS_OBJECT (text)->context, string);
+ } else {
+ text->text_display = str;
+ }
+ }
+
+ swfdec_text_field_movie_format_changed (text);
+}
diff --git a/libswfdec/swfdec_text_field_movie.h b/libswfdec/swfdec_text_field_movie.h
new file mode 100644
index 0000000..8b7999a
--- /dev/null
+++ b/libswfdec/swfdec_text_field_movie.h
@@ -0,0 +1,108 @@
+/* Swfdec
+ * Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
+ * Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef _SWFDEC_TEXT_FIELD_MOVIE_H_
+#define _SWFDEC_TEXT_FIELD_MOVIE_H_
+
+#include <libswfdec/swfdec_movie.h>
+#include <libswfdec/swfdec_edittext.h>
+#include <libswfdec/swfdec_style_sheet.h>
+#include <libswfdec/swfdec_text_format.h>
+
+G_BEGIN_DECLS
+
+
+typedef struct _SwfdecTextFieldMovie SwfdecTextFieldMovie;
+typedef struct _SwfdecTextFieldMovieClass SwfdecTextFieldMovieClass;
+
+#define SWFDEC_TYPE_TEXT_FIELD_MOVIE (swfdec_text_field_movie_get_type())
+#define SWFDEC_IS_TEXT_FIELD_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
+#define SWFDEC_IS_TEXT_FIELD_MOVIE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
+#define SWFDEC_TEXT_FIELD_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovie))
+#define SWFDEC_TEXT_FIELD_MOVIE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovieClass))
+
+typedef struct {
+ guint index;
+ SwfdecTextFormat * format;
+} SwfdecFormatIndex;
+
+typedef enum {
+ SWFDEC_ANTI_ALIAS_TYPE_NORMAL,
+ SWFDEC_ANTI_ALIAS_TYPE_ADVANCED
+} SwfdecAntiAliasType;
+
+typedef enum {
+ SWFDEC_GRID_FIT_TYPE_NONE,
+ SWFDEC_GRID_FIT_TYPE_PIXEL,
+ SWFDEC_GRID_FIT_TYPE_SUBPIXEL
+} SwfdecGridFitType;
+
+struct _SwfdecTextFieldMovie {
+ SwfdecMovie movie;
+
+ SwfdecTextField * text; /* the text_field object we render */
+
+ const char * text_input;
+ const char * text_display;
+
+ const char * variable;
+
+ SwfdecTextFormat * format_new;
+ GSList * formats;
+
+ SwfdecAntiAliasType anti_alias_type;
+ gboolean background_fill;
+ guint border_color;
+ gboolean condense_white;
+ gboolean embed_fonts;
+ SwfdecGridFitType grid_fit_type;
+ guint hscroll;
+ gboolean mouse_wheel_enabled;
+ const char * restrict_;
+ guint scroll;
+ int sharpness;
+ SwfdecStyleSheet * style_sheet;
+ int thickness;
+
+ /* for rendering */
+ SwfdecParagraph * paragraphs;
+};
+
+struct _SwfdecTextFieldMovieClass {
+ SwfdecMovieClass movie_class;
+};
+
+GType swfdec_text_field_movie_get_type (void);
+
+void swfdec_text_field_movie_set_text (SwfdecTextFieldMovie * movie,
+ const char * str,
+ gboolean html);
+void swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie * text);
+void swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie * text,
+ SwfdecTextFormat * format,
+ guint start_index,
+ guint end_index);
+
+/* implemented in swfdec_html_parser.c */
+void swfdec_text_field_movie_html_parse (SwfdecTextFieldMovie * text,
+ const char * str);
+
+G_END_DECLS
+#endif
diff --git a/libswfdec/swfdec_text_field_movie_as.c b/libswfdec/swfdec_text_field_movie_as.c
new file mode 100644
index 0000000..c9d4cd0
--- /dev/null
+++ b/libswfdec/swfdec_text_field_movie_as.c
@@ -0,0 +1,705 @@
+/* Swfdec
+ * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
+ * Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include "swfdec_edittext.h"
+#include "swfdec_edittext_movie.h"
+#include "swfdec_as_strings.h"
+#include "swfdec_debug.h"
+#include "swfdec_as_native_function.h"
+#include "swfdec_as_internal.h"
+#include "swfdec_as_context.h"
+#include "swfdec_as_frame_internal.h"
+#include "swfdec_xml.h"
+#include "swfdec_internal.h"
+#include "swfdec_player_internal.h"
+
+static void
+swfdec_text_field_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
+ swfdec_as_context_get_string (cx, text->text_display) :
+ SWFDEC_AS_STR_EMPTY));
+}
+
+static void
+swfdec_text_field_movie_do_set_text (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+ const char *value;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
+
+ swfdec_text_field_movie_set_text (text, value, FALSE);
+}
+
+static const char *
+align_to_string (SwfdecTextAlign align)
+{
+ switch (align) {
+ case SWFDEC_TEXT_ALIGN_LEFT:
+ return "LEFT";
+ case SWFDEC_TEXT_ALIGN_RIGHT:
+ return "RIGHT";
+ case SWFDEC_TEXT_ALIGN_CENTER:
+ return "CENTER";
+ case SWFDEC_TEXT_ALIGN_JUSTIFY:
+ return "JUSTIFY";
+ default:
+ g_assert_not_reached ();
+ }
+}
+
+/*
+ * Order of tags:
+ * TEXTFORMAT / P or LI / FONT / A / B / I / U
+ *
+ * Order of attributes:
+ * TEXTFORMAT:
+ * LEFTMARGIN / RIGHTMARGIN / INDENT / LEADING / BLOCKINDENT / TABSTOPS
+ * P: ALIGN
+ * LI: none
+ * FONT: FACE / SIZE / COLOR / LETTERSPACING / KERNING
+ * A: HREF / TARGET
+ * B: none
+ * I: none
+ * U: none
+ */
+static GString *
+swfdec_text_field_movie_htmlText_append_paragraph (SwfdecTextFieldMovie *text,
+ GString *string, guint start_index, guint end_index)
+{
+ SwfdecTextFormat *format, *format_prev, *format_font;
+ GSList *iter, *fonts, *iter_font;
+ guint index_, index_prev;
+ gboolean textformat, bullet, font;
+ char *escaped;
+
+ g_return_val_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text), string);
+ g_return_val_if_fail (string != NULL, string);
+ g_return_val_if_fail (start_index < end_index, string);
+
+ g_return_val_if_fail (text->formats != NULL, string);
+ for (iter = text->formats; iter->next != NULL &&
+ ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+ iter = iter->next);
+
+ index_ = start_index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ if (format->left_margin != 0 || format->right_margin != 0 ||
+ format->indent != 0 || format->leading != 0 ||
+ format->block_indent != 0 ||
+ swfdec_as_array_get_length (format->tab_stops) > 0)
+ {
+ string = g_string_append (string, "<TEXTFORMAT");
+ if (format->left_margin) {
+ g_string_append_printf (string, " LEFTMARGIN=\"%i\"",
+ format->left_margin);
+ }
+ if (format->right_margin) {
+ g_string_append_printf (string, " RIGHTMARGIN=\"%i\"",
+ format->right_margin);
+ }
+ if (format->indent)
+ g_string_append_printf (string, " INDENT=\"%i\"", format->indent);
+ if (format->leading)
+ g_string_append_printf (string, " LEADING=\"%i\"", format->leading);
+ if (format->block_indent) {
+ g_string_append_printf (string, " BLOCKINDENT=\"%i\"",
+ format->block_indent);
+ }
+ if (swfdec_as_array_get_length (format->tab_stops) > 0) {
+ SwfdecAsValue val;
+ SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT (format->tab_stops));
+ g_string_append_printf (string, " TABSTOPS=\"%s\"",
+ swfdec_as_value_to_string (SWFDEC_AS_OBJECT
+ (format->tab_stops)->context, &val));
+ }
+ string = g_string_append (string, ">");
+
+ textformat = TRUE;
+ }
+ else
+ {
+ textformat = FALSE;
+ }
+
+ if (format->bullet) {
+ string = g_string_append (string, "<LI>");
+ bullet = TRUE;
+ } else {
+ g_string_append_printf (string, "<P ALIGN=\"%s\">",
+ align_to_string (format->align));
+ bullet = FALSE;
+ }
+
+ // note we don't escape format->font, even thought it can have evil chars
+ g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">",
+ format->font, format->size, format->color, (int)format->letter_spacing,
+ (format->kerning ? 1 : 0));
+ fonts = g_slist_prepend (NULL, format);
+
+ if (format->url != SWFDEC_AS_STR_EMPTY)
+ g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+ format->url, format->target);
+ if (format->bold)
+ string = g_string_append (string, "<B>");
+ if (format->italic)
+ string = g_string_append (string, "<I>");
+ if (format->underline)
+ string = g_string_append (string, "<U>");
+
+ // special case: use <= instead of < to add some extra markup
+ for (iter = iter->next;
+ iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index <= end_index;
+ iter = iter->next)
+ {
+ index_prev = index_;
+ format_prev = format;
+ index_ = ((SwfdecFormatIndex *)(iter->data))->index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ escaped = swfdec_xml_escape_len (text->text_display + index_prev,
+ index_ - index_prev);
+ string = g_string_append (string, escaped);
+ g_free (escaped);
+ escaped = NULL;
+
+ // Figure out what tags need to be rewritten
+ if (format->font != format_prev->font ||
+ format->size != format_prev->size ||
+ format->color != format_prev->color ||
+ (int)format->letter_spacing != (int)format_prev->letter_spacing ||
+ format->kerning != format_prev->kerning) {
+ font = TRUE;
+ } else if (format->url == format_prev->url &&
+ format->target == format_prev->target &&
+ format->bold == format_prev->bold &&
+ format->italic == format_prev->italic &&
+ format->underline == format_prev->underline) {
+ continue;
+ }
+
+ // Close tags
+ for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
+ {
+ format_font = (SwfdecTextFormat *)iter_font->data;
+ if (format->font == format_font->font &&
+ format->size == format_font->size &&
+ format->color == format_font->color &&
+ (int)format->letter_spacing == (int)format_font->letter_spacing &&
+ format->kerning == format_font->kerning) {
+ break;
+ }
+ }
+ if (iter_font != NULL) {
+ while (fonts != iter_font) {
+ string = g_string_append (string, "</FONT>");
+ fonts = g_slist_remove (fonts, fonts->data);
+ }
+ }
+ if (format_prev->underline)
+ string = g_string_append (string, "</U>");
+ if (format_prev->italic)
+ string = g_string_append (string, "</I>");
+ if (format_prev->bold)
+ string = g_string_append (string, "</B>");
+ if (format_prev->url != SWFDEC_AS_STR_EMPTY)
+ string = g_string_append (string, "</A>");
+
+ // Open tags
+ format_font = (SwfdecTextFormat *)fonts->data;
+ if (font && (format->font != format_font->font ||
+ format->size != format_font->size ||
+ format->color != format_font->color ||
+ (int)format->letter_spacing != (int)format_font->letter_spacing ||
+ format->kerning != format_font->kerning))
+ {
+ fonts = g_slist_prepend (fonts, format);
+
+ string = g_string_append (string, "<FONT");
+ // note we don't escape format->font, even thought it can have evil chars
+ if (format->font != format_font->font)
+ g_string_append_printf (string, " FACE=\"%s\"", format->font);
+ if (format->size != format_font->size)
+ g_string_append_printf (string, " SIZE=\"%i\"", format->size);
+ if (format->color != format_font->color)
+ g_string_append_printf (string, " COLOR=\"#%06X\"", format->color);
+ if ((int)format->letter_spacing != (int)format_font->letter_spacing) {
+ g_string_append_printf (string, " LETTERSPACING=\"%i\"",
+ (int)format->letter_spacing);
+ }
+ if (format->kerning != format_font->kerning) {
+ g_string_append_printf (string, " KERNING=\"%i\"",
+ (format->kerning ? 1 : 0));
+ }
+ string = g_string_append (string, ">");
+ }
+ if (format->url != SWFDEC_AS_STR_EMPTY) {
+ g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+ format->url, format->target);
+ }
+ if (format->bold)
+ string = g_string_append (string, "<B>");
+ if (format->italic)
+ string = g_string_append (string, "<I>");
+ if (format->underline)
+ string = g_string_append (string, "<U>");
+ }
+
+ escaped = swfdec_xml_escape_len (text->text_display + index_,
+ end_index - index_);
+ string = g_string_append (string, escaped);
+ g_free (escaped);
+
+ if (format->underline)
+ string = g_string_append (string, "</U>");
+ if (format->italic)
+ string = g_string_append (string, "</I>");
+ if (format->bold)
+ string = g_string_append (string, "</B>");
+ if (format->url != SWFDEC_AS_STR_EMPTY)
+ string = g_string_append (string, "</A>");
+ for (iter = fonts; iter != NULL; iter = iter->next)
+ string = g_string_append (string, "</FONT>");
+ g_slist_free (fonts);
+ if (bullet) {
+ string = g_string_append (string, "</LI>");
+ } else {
+ string = g_string_append (string, "</P>");
+ }
+ if (textformat)
+ string = g_string_append (string, "</TEXTFORMAT>");
+
+ return string;
+}
+
+static void
+swfdec_text_field_movie_get_htmlText (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+ const char *p, *end;
+ GString *string;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+ if (text->text->html == FALSE) {
+ swfdec_text_field_movie_get_text (cx, object, argc, argv, ret);
+ return;
+ }
+
+ if (text->text_display == NULL) {
+ SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_EMPTY);
+ return;
+ }
+
+ string = g_string_new ("");
+
+ p = text->text_display;
+ while (*p != '\0') {
+ end = strchr (p, '\r');
+ if (end == NULL)
+ end = strchr (p, '\0');
+
+ string = swfdec_text_field_movie_htmlText_append_paragraph (text, string,
+ p - text->text_display, end - text->text_display);
+
+ if (*end == '\r') {
+ p = end + 1;
+ } else {
+ p = end;
+ }
+ }
+
+ SWFDEC_AS_VALUE_SET_STRING (ret,
+ swfdec_as_context_give_string (cx, g_string_free (string, FALSE)));
+}
+
+static void
+swfdec_text_field_movie_set_htmlText (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+ const char *value;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
+
+ swfdec_text_field_movie_set_text (text, value, text->text->html);
+}
+
+static void
+swfdec_text_field_movie_get_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->html);
+}
+
+static void
+swfdec_text_field_movie_set_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+ gboolean value;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+
+ text->text->html = value;
+}
+
+static void
+swfdec_text_field_movie_get_condenseWhite (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->condense_white);
+}
+
+static void
+swfdec_text_field_movie_set_condenseWhite (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+ gboolean value;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+
+ text->condense_white = value;
+}
+
+static void
+swfdec_text_field_movie_get_embedFonts (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->embed_fonts);
+}
+
+static void
+swfdec_text_field_movie_set_embedFonts (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+ gboolean value;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
+
+ text->text->embed_fonts = value;
+}
+
+static void
+swfdec_text_field_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
+}
+
+static void
+swfdec_text_field_movie_get_textColor (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+ swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (text->format_new),
+ SWFDEC_AS_STR_color, ret);
+}
+
+static void
+swfdec_text_field_movie_set_textColor (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+ if (argc < 1)
+ return;
+
+ swfdec_as_object_set_variable (SWFDEC_AS_OBJECT (text->format_new),
+ SWFDEC_AS_STR_color, &argv[0]);
+}
+
+SWFDEC_AS_NATIVE (104, 104, swfdec_text_field_movie_getNewTextFormat)
+void
+swfdec_text_field_movie_getNewTextFormat (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_OBJECT (ret,
+ SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new)));
+}
+
+SWFDEC_AS_NATIVE (104, 105, swfdec_text_field_movie_setNewTextFormat)
+void
+swfdec_text_field_movie_setNewTextFormat (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+ SwfdecAsObject *obj;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "o", &obj);
+
+ if (!SWFDEC_IS_TEXT_FORMAT (obj))
+ return;
+
+ text->format_new = swfdec_text_format_copy (SWFDEC_TEXT_FORMAT (obj));
+}
+
+SWFDEC_AS_NATIVE (104, 102, swfdec_text_field_movie_setTextFormat)
+void
+swfdec_text_field_movie_setTextFormat (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecTextFieldMovie *text;
+ SwfdecTextFormat *format;
+ guint start_index, end_index;
+ int i;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
+
+ if (argc < 1)
+ return;
+
+ i = 0;
+ if (argc >= 2) {
+ start_index = swfdec_as_value_to_integer (cx, &argv[i++]);
+ start_index = MIN (start_index, strlen (text->text_display));
+ } else {
+ start_index = 0;
+ }
+ if (argc >= 3) {
+ end_index = swfdec_as_value_to_integer (cx, &argv[i++]);
+ end_index = CLAMP (end_index, start_index, strlen (text->text_display));
+ } else {
+ end_index = strlen (text->text_display);
+ }
+ if (start_index == end_index)
+ return;
+
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (&argv[i]))
+ return;
+ if (!SWFDEC_IS_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i])))
+ return;
+
+ format = SWFDEC_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]));
+
+ swfdec_text_field_movie_set_text_format (text, format, start_index, end_index);
+}
+
+SWFDEC_AS_NATIVE (104, 200, swfdec_text_field_movie_createTextField)
+void
+swfdec_text_field_movie_createTextField (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *rval)
+{
+ SwfdecMovie *movie, *parent;
+ SwfdecTextField *edittext;
+ int depth, x, y, width, height;
+ const char *name;
+ SwfdecAsFunction *fun;
+ SwfdecAsValue val;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "siiiii", &name, &depth, &x, &y, &width, &height);
+
+ edittext = g_object_new (SWFDEC_TYPE_TEXT_FIELD, NULL);
+ edittext->html = FALSE;
+ edittext->input = FALSE;
+ edittext->password = FALSE;
+ edittext->selectable = TRUE;
+ edittext->font = NULL; // FIXME
+ edittext->wrap = FALSE;
+ edittext->multiline = FALSE;
+ edittext->auto_size = SWFDEC_AUTO_SIZE_NONE;
+ edittext->border = FALSE;
+ edittext->size = 240; // FIXME: Correct?
+
+ edittext->text_input = NULL;
+ edittext->variable = NULL;
+ edittext->color = 0;
+ edittext->align = SWFDEC_TEXT_ALIGN_LEFT;
+ edittext->left_margin = 0;
+ edittext->right_margin = 0;
+ edittext->indent = 0;
+ edittext->leading = 0;
+
+ edittext->graphic.extents.x0 = x;
+ edittext->graphic.extents.x1 = x + width;
+ edittext->graphic.extents.y0 = y;
+ edittext->graphic.extents.y1 = y + height;
+
+ movie = swfdec_movie_find (parent, depth);
+ if (movie)
+ swfdec_movie_remove (movie);
+
+ movie = swfdec_movie_new (SWFDEC_PLAYER (cx), depth, parent,
+ SWFDEC_GRAPHIC (edittext), name);
+ g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (movie));
+ swfdec_movie_initialize (movie);
+
+ swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+ return;
+ fun = (SwfdecAsFunction *) SWFDEC_AS_VALUE_GET_OBJECT (&val);
+ if (!SWFDEC_IS_AS_FUNCTION (fun))
+ return;
+
+ /* set initial variables */
+ if (swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (fun),
+ SWFDEC_AS_STR_prototype, &val)) {
+ swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+ SWFDEC_AS_STR___proto__, &val,
+ SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT);
+ }
+ SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT (fun));
+ if (cx->version < 7) {
+ swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+ SWFDEC_AS_STR_constructor, &val, SWFDEC_AS_VARIABLE_HIDDEN);
+ }
+ swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+ SWFDEC_AS_STR___constructor__, &val,
+ SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_VERSION_6_UP);
+
+ swfdec_as_function_call (fun, SWFDEC_AS_OBJECT (movie), 0, NULL, rval);
+ cx->frame->construct = TRUE;
+ swfdec_as_context_run (cx);
+}
+
+static void
+swfdec_text_field_movie_add_variable (SwfdecAsObject *object,
+ const char *variable, SwfdecAsNative get, SwfdecAsNative set)
+{
+ SwfdecAsFunction *get_func, *set_func;
+
+ g_return_if_fail (SWFDEC_IS_AS_OBJECT (object));
+ g_return_if_fail (variable != NULL);
+ g_return_if_fail (get != NULL);
+
+ get_func =
+ swfdec_as_native_function_new (object->context, variable, get, 0, NULL);
+ if (get_func == NULL)
+ return;
+
+ if (set != NULL) {
+ set_func =
+ swfdec_as_native_function_new (object->context, variable, set, 0, NULL);
+ } else {
+ set_func = NULL;
+ }
+
+ swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
+}
+
+SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_text_field_movie_construct, swfdec_text_field_movie_get_type)
+void
+swfdec_text_field_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ if (!cx->frame->construct) {
+ SwfdecAsValue val;
+ if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecTextFieldMovie)))
+ return;
+ object = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
+ swfdec_as_object_add (object, cx, sizeof (SwfdecTextFieldMovie));
+ swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
+ if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
+ swfdec_as_object_set_constructor (object,
+ SWFDEC_AS_VALUE_GET_OBJECT (&val));
+ } else {
+ SWFDEC_INFO ("\"TextField\" is not an object");
+ }
+ }
+
+ g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (object));
+
+ if (!SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized) {
+ SwfdecAsValue val;
+ SwfdecAsObject *proto;
+
+ swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val);
+ g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
+ proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_text,
+ swfdec_text_field_movie_get_text, swfdec_text_field_movie_do_set_text);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
+ swfdec_text_field_movie_get_htmlText,
+ swfdec_text_field_movie_set_htmlText);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_html,
+ swfdec_text_field_movie_get_html, swfdec_text_field_movie_set_html);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
+ swfdec_text_field_movie_get_condenseWhite,
+ swfdec_text_field_movie_set_condenseWhite);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
+ swfdec_text_field_movie_get_embedFonts,
+ swfdec_text_field_movie_set_embedFonts);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
+ swfdec_text_field_movie_get_length, NULL);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
+ swfdec_text_field_movie_get_textColor,
+ swfdec_text_field_movie_set_textColor);
+
+ SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
+ }
+
+ SWFDEC_AS_VALUE_SET_OBJECT (ret, object);
+}
diff-tree ba72dd43b20c244e1de4a2a5aea7438bdbcc318d (from ef5288e48b9b4cd61e44429dbf5db01598e9d066)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 11:42:43 2007 +0300
Rename everything EditText to TextField
diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index 8c7eadc..a8413b7 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -2104,7 +2104,7 @@ swfdec_action_type_of (SwfdecAsContext *
case SWFDEC_AS_TYPE_OBJECT:
{
SwfdecAsObject *obj = SWFDEC_AS_VALUE_GET_OBJECT (val);
- if (SWFDEC_IS_EDIT_TEXT_MOVIE (obj)) {
+ if (SWFDEC_IS_TEXT_FIELD_MOVIE (obj)) {
type = SWFDEC_AS_STR_object;
} else if (SWFDEC_IS_MOVIE (obj)) {
type = SWFDEC_AS_STR_movieclip;
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 8ad6de7..7905673 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -31,66 +31,66 @@
#include "swfdec_player_internal.h"
#include "swfdec_swf_decoder.h"
-G_DEFINE_TYPE (SwfdecEditText, swfdec_edit_text, SWFDEC_TYPE_GRAPHIC)
+G_DEFINE_TYPE (SwfdecTextField, swfdec_text_field, SWFDEC_TYPE_GRAPHIC)
static gboolean
-swfdec_edit_text_mouse_in (SwfdecGraphic *graphic, double x, double y)
+swfdec_text_field_mouse_in (SwfdecGraphic *graphic, double x, double y)
{
return swfdec_rect_contains (&graphic->extents, x, y);
}
static SwfdecMovie *
-swfdec_edit_text_create_movie (SwfdecGraphic *graphic, gsize *size)
+swfdec_text_field_create_movie (SwfdecGraphic *graphic, gsize *size)
{
- SwfdecEditText *text = SWFDEC_EDIT_TEXT (graphic);
- SwfdecEditTextMovie *ret = g_object_new (SWFDEC_TYPE_EDIT_TEXT_MOVIE, NULL);
+ SwfdecTextField *text = SWFDEC_TEXT_FIELD (graphic);
+ SwfdecTextFieldMovie *ret = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
ret->text = text;
- *size = sizeof (SwfdecEditTextMovie);
+ *size = sizeof (SwfdecTextFieldMovie);
return SWFDEC_MOVIE (ret);
}
static void
-swfdec_edit_text_dispose (GObject *object)
+swfdec_text_field_dispose (GObject *object)
{
- SwfdecEditText *text = SWFDEC_EDIT_TEXT (object);
+ SwfdecTextField *text = SWFDEC_TEXT_FIELD (object);
g_free (text->text_input);
text->text_input = NULL;
g_free (text->variable);
text->variable = NULL;
- G_OBJECT_CLASS (swfdec_edit_text_parent_class)->dispose (object);
+ G_OBJECT_CLASS (swfdec_text_field_parent_class)->dispose (object);
}
static void
-swfdec_edit_text_class_init (SwfdecEditTextClass * g_class)
+swfdec_text_field_class_init (SwfdecTextFieldClass * g_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (g_class);
SwfdecGraphicClass *graphic_class = SWFDEC_GRAPHIC_CLASS (g_class);
- object_class->dispose = swfdec_edit_text_dispose;
- graphic_class->create_movie = swfdec_edit_text_create_movie;
- graphic_class->mouse_in = swfdec_edit_text_mouse_in;
+ object_class->dispose = swfdec_text_field_dispose;
+ graphic_class->create_movie = swfdec_text_field_create_movie;
+ graphic_class->mouse_in = swfdec_text_field_mouse_in;
}
static void
-swfdec_edit_text_init (SwfdecEditText * text)
+swfdec_text_field_init (SwfdecTextField * text)
{
text->max_length = G_MAXUINT;
}
void
-swfdec_edit_text_render (SwfdecEditText *text, cairo_t *cr,
+swfdec_text_field_render (SwfdecTextField *text, cairo_t *cr,
const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
const SwfdecRect *inval)
{
PangoLayout *layout;
guint i;
- g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
+ g_return_if_fail (SWFDEC_IS_TEXT_FIELD (text));
g_return_if_fail (cr != NULL);
g_return_if_fail (paragraphs != NULL);
g_return_if_fail (trans != NULL);
@@ -240,7 +240,7 @@ swfdec_edit_text_render (SwfdecEditText
int
tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
{
- SwfdecEditText *text;
+ SwfdecTextField *text;
guint id;
int reserved;
gboolean has_font, has_color, has_max_length, has_layout, has_text;
@@ -248,7 +248,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
id = swfdec_bits_get_u16 (b);
SWFDEC_LOG (" id = %u", id);
- text = swfdec_swf_decoder_create_character (s, id, SWFDEC_TYPE_EDIT_TEXT);
+ text = swfdec_swf_decoder_create_character (s, id, SWFDEC_TYPE_TEXT_FIELD);
if (text == NULL)
return SWFDEC_STATUS_OK;
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index f7c6e22..aa84422 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -18,8 +18,8 @@
* Boston, MA 02110-1301 USA
*/
-#ifndef _SWFDEC_EDIT_TEXT_H_
-#define _SWFDEC_EDIT_TEXT_H_
+#ifndef _SWFDEC_TEXT_FIELD_H_
+#define _SWFDEC_TEXT_FIELD_H_
#include <pango/pango.h>
#include <libswfdec/swfdec_types.h>
@@ -30,14 +30,14 @@
G_BEGIN_DECLS
-typedef struct _SwfdecEditText SwfdecEditText;
-typedef struct _SwfdecEditTextClass SwfdecEditTextClass;
+typedef struct _SwfdecTextField SwfdecTextField;
+typedef struct _SwfdecTextFieldClass SwfdecTextFieldClass;
-#define SWFDEC_TYPE_EDIT_TEXT (swfdec_edit_text_get_type())
-#define SWFDEC_IS_EDIT_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_EDIT_TEXT))
-#define SWFDEC_IS_EDIT_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_EDIT_TEXT))
-#define SWFDEC_EDIT_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_EDIT_TEXT, SwfdecEditText))
-#define SWFDEC_EDIT_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_EDIT_TEXT, SwfdecEditTextClass))
+#define SWFDEC_TYPE_TEXT_FIELD (swfdec_text_field_get_type())
+#define SWFDEC_IS_TEXT_FIELD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD))
+#define SWFDEC_IS_TEXT_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD))
+#define SWFDEC_TEXT_FIELD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextField))
+#define SWFDEC_TEXT_FIELD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD, SwfdecTextFieldClass))
typedef struct {
guint index_;
@@ -71,7 +71,7 @@ typedef enum {
SWFDEC_AUTO_SIZE_RIGHT
} SwfdecAutoSize;
-struct _SwfdecEditText
+struct _SwfdecTextField
{
SwfdecGraphic graphic;
@@ -103,17 +103,17 @@ struct _SwfdecEditText
int leading;
};
-struct _SwfdecEditTextClass
+struct _SwfdecTextFieldClass
{
SwfdecGraphicClass graphic_class;
};
-GType swfdec_edit_text_get_type (void);
+GType swfdec_text_field_get_type (void);
int tag_func_define_edit_text (SwfdecSwfDecoder * s,
guint tag);
-void swfdec_edit_text_render (SwfdecEditText * text,
+void swfdec_text_field_render (SwfdecTextField * text,
cairo_t * cr,
const SwfdecParagraph * paragraphs,
const SwfdecColorTransform * trans,
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 4f68687..dd79e9a 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -32,14 +32,14 @@
#include "swfdec_debug.h"
#include "swfdec_player_internal.h"
-G_DEFINE_TYPE (SwfdecEditTextMovie, swfdec_edit_text_movie, SWFDEC_TYPE_MOVIE)
+G_DEFINE_TYPE (SwfdecTextFieldMovie, swfdec_text_field_movie, SWFDEC_TYPE_MOVIE)
static void
-swfdec_edit_text_movie_update_extents (SwfdecMovie *movie,
+swfdec_text_field_movie_update_extents (SwfdecMovie *movie,
SwfdecRect *extents)
{
swfdec_rect_union (extents, extents,
- &SWFDEC_GRAPHIC (SWFDEC_EDIT_TEXT_MOVIE (movie)->text)->extents);
+ &SWFDEC_GRAPHIC (SWFDEC_TEXT_FIELD_MOVIE (movie)->text)->extents);
}
static void
@@ -99,7 +99,7 @@ swfdec_text_paragraph_add_block_attribut
}
static void
-swfdec_edit_text_movie_generate_paragraph (SwfdecEditTextMovie *text,
+swfdec_text_field_movie_generate_paragraph (SwfdecTextFieldMovie *text,
SwfdecParagraph *paragraph, guint start_index, guint end_index)
{
SwfdecTextFormat *format, *format_prev;
@@ -109,7 +109,7 @@ swfdec_edit_text_movie_generate_paragrap
*attr_letter_spacing, *attr_size, *attr_underline;
// TODO: kerning
- g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+ g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
g_assert (paragraph != NULL);
g_assert (start_index < end_index);
g_assert (end_index <= strlen (text->text_display));
@@ -287,12 +287,12 @@ swfdec_edit_text_movie_generate_paragrap
}
static void
-swfdec_edit_text_movie_generate_paragraphs (SwfdecEditTextMovie *text)
+swfdec_text_field_movie_generate_paragraphs (SwfdecTextFieldMovie *text)
{
const char *p, *end;
int num, i;
- g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+ g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
num = 0;
p = text->text_display;
@@ -312,7 +312,7 @@ swfdec_edit_text_movie_generate_paragrap
if (end == NULL)
end = strchr (p, '\0');
- swfdec_edit_text_movie_generate_paragraph (text, &text->paragraphs[i],
+ swfdec_text_field_movie_generate_paragraph (text, &text->paragraphs[i],
p - text->text_display, end - text->text_display);
p = end;
@@ -324,21 +324,21 @@ swfdec_edit_text_movie_generate_paragrap
}
static void
-swfdec_edit_text_movie_render (SwfdecMovie *movie, cairo_t *cr,
+swfdec_text_field_movie_render (SwfdecMovie *movie, cairo_t *cr,
const SwfdecColorTransform *trans, const SwfdecRect *inval)
{
- SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
+ SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
if (text->paragraphs == NULL)
- swfdec_edit_text_movie_generate_paragraphs (text);
+ swfdec_text_field_movie_generate_paragraphs (text);
if (text->paragraphs[0].text == NULL)
return;
- swfdec_edit_text_render (text->text, cr, text->paragraphs, trans, inval);
+ swfdec_text_field_render (text->text, cr, text->paragraphs, trans, inval);
}
static void
-swfdec_edit_text_movie_free_paragraphs (SwfdecEditTextMovie *text)
+swfdec_text_field_movie_free_paragraphs (SwfdecTextFieldMovie *text)
{
GList *iter;
int i;
@@ -365,20 +365,20 @@ swfdec_edit_text_movie_free_paragraphs (
}
void
-swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie *text)
+swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie *text)
{
- swfdec_edit_text_movie_free_paragraphs (text);
+ swfdec_text_field_movie_free_paragraphs (text);
}
static void
-swfdec_edit_text_movie_dispose (GObject *object)
+swfdec_text_field_movie_dispose (GObject *object)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
GSList *iter;
- text = SWFDEC_EDIT_TEXT_MOVIE (object);
+ text = SWFDEC_TEXT_FIELD_MOVIE (object);
- swfdec_edit_text_movie_free_paragraphs (text);
+ swfdec_text_field_movie_free_paragraphs (text);
for (iter = text->formats; iter != NULL; iter = iter->next) {
g_free (text->formats->data);
@@ -386,16 +386,16 @@ swfdec_edit_text_movie_dispose (GObject
}
g_slist_free (text->formats);
- G_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->dispose (object);
+ G_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->dispose (object);
}
static void
-swfdec_edit_text_movie_mark (SwfdecAsObject *object)
+swfdec_text_field_movie_mark (SwfdecAsObject *object)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
GSList *iter;
- text = SWFDEC_EDIT_TEXT_MOVIE (object);
+ text = SWFDEC_TEXT_FIELD_MOVIE (object);
swfdec_as_string_mark (text->text_input);
swfdec_as_string_mark (text->text_display);
@@ -409,13 +409,13 @@ swfdec_edit_text_movie_mark (SwfdecAsObj
if (text->style_sheet != NULL)
swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->style_sheet));
- SWFDEC_AS_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->mark (object);
+ SWFDEC_AS_OBJECT_CLASS (swfdec_text_field_movie_parent_class)->mark (object);
}
static void
-swfdec_edit_text_movie_iterate (SwfdecMovie *movie)
+swfdec_text_field_movie_iterate (SwfdecMovie *movie)
{
- SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
+ SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
SwfdecAsObject *parent;
const char *s;
SwfdecAsValue val = { 0, };
@@ -433,13 +433,13 @@ swfdec_edit_text_movie_iterate (SwfdecMo
if (text->text_input == s)
return;
- swfdec_edit_text_movie_set_text (text, s, text->text->html);
+ swfdec_text_field_movie_set_text (text, s, text->text->html);
}
static void
-swfdec_edit_text_movie_init_movie (SwfdecMovie *movie)
+swfdec_text_field_movie_init_movie (SwfdecMovie *movie)
{
- SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
+ SwfdecTextFieldMovie *text = SWFDEC_TEXT_FIELD_MOVIE (movie);
SwfdecAsContext *cx;
SwfdecAsObject *parent;
SwfdecAsValue val = { 0, };
@@ -461,7 +461,7 @@ swfdec_edit_text_movie_init_movie (Swfde
// text
if (text->text->text_input != NULL) {
- swfdec_edit_text_movie_set_text (text,
+ swfdec_text_field_movie_set_text (text,
swfdec_as_context_get_string (cx, text->text->text_input),
text->text->html);
}
@@ -477,7 +477,7 @@ swfdec_edit_text_movie_init_movie (Swfde
s = swfdec_as_value_to_string (parent->context, &val);
g_assert (s);
if (text->text_input != s)
- swfdec_edit_text_movie_set_text (text, s, text->text->html);
+ swfdec_text_field_movie_set_text (text, s, text->text->html);
} else {
SWFDEC_LOG ("setting variable %s to \"%s\"", text->variable,
text->text_input ? text->text_input : "");
@@ -491,36 +491,36 @@ swfdec_edit_text_movie_init_movie (Swfde
}
static void
-swfdec_edit_text_movie_class_init (SwfdecEditTextMovieClass * g_class)
+swfdec_text_field_movie_class_init (SwfdecTextFieldMovieClass * g_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (g_class);
SwfdecAsObjectClass *asobject_class = SWFDEC_AS_OBJECT_CLASS (g_class);
SwfdecMovieClass *movie_class = SWFDEC_MOVIE_CLASS (g_class);
- object_class->dispose = swfdec_edit_text_movie_dispose;
+ object_class->dispose = swfdec_text_field_movie_dispose;
- asobject_class->mark = swfdec_edit_text_movie_mark;
+ asobject_class->mark = swfdec_text_field_movie_mark;
- movie_class->init_movie = swfdec_edit_text_movie_init_movie;
- movie_class->update_extents = swfdec_edit_text_movie_update_extents;
- movie_class->render = swfdec_edit_text_movie_render;
- movie_class->iterate_start = swfdec_edit_text_movie_iterate;
+ movie_class->init_movie = swfdec_text_field_movie_init_movie;
+ movie_class->update_extents = swfdec_text_field_movie_update_extents;
+ movie_class->render = swfdec_text_field_movie_render;
+ movie_class->iterate_start = swfdec_text_field_movie_iterate;
}
static void
-swfdec_edit_text_movie_init (SwfdecEditTextMovie *text)
+swfdec_text_field_movie_init (SwfdecTextFieldMovie *text)
{
}
void
-swfdec_edit_text_movie_set_text_format (SwfdecEditTextMovie *text,
+swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie *text,
SwfdecTextFormat *format, guint start_index, guint end_index)
{
SwfdecFormatIndex *findex, *findex_new;
guint findex_end_index;
GSList *iter, *next;
- g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+ g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
g_return_if_fail (start_index < end_index);
g_return_if_fail (end_index <= strlen (text->text_display));
@@ -564,17 +564,17 @@ swfdec_edit_text_movie_set_text_format (
}
}
- swfdec_edit_text_movie_format_changed (text);
+ swfdec_text_field_movie_format_changed (text);
}
void
-swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *text, const char *str,
+swfdec_text_field_movie_set_text (SwfdecTextFieldMovie *text, const char *str,
gboolean html)
{
SwfdecFormatIndex *block;
GSList *iter;
- g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+ g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
text->text_input = str;
@@ -597,7 +597,7 @@ swfdec_edit_text_movie_set_text (SwfdecE
text->formats = g_slist_prepend (text->formats, block);
if (html) {
- swfdec_edit_text_movie_html_parse (text, str);
+ swfdec_text_field_movie_html_parse (text, str);
} else {
// change all \n to \r
if (strchr (str, '\n') != NULL) {
@@ -615,5 +615,5 @@ swfdec_edit_text_movie_set_text (SwfdecE
}
}
- swfdec_edit_text_movie_format_changed (text);
+ swfdec_text_field_movie_format_changed (text);
}
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index 103942b..8b7999a 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -18,8 +18,8 @@
* Boston, MA 02110-1301 USA
*/
-#ifndef _SWFDEC_EDIT_TEXT_MOVIE_H_
-#define _SWFDEC_EDIT_TEXT_MOVIE_H_
+#ifndef _SWFDEC_TEXT_FIELD_MOVIE_H_
+#define _SWFDEC_TEXT_FIELD_MOVIE_H_
#include <libswfdec/swfdec_movie.h>
#include <libswfdec/swfdec_edittext.h>
@@ -29,14 +29,14 @@
G_BEGIN_DECLS
-typedef struct _SwfdecEditTextMovie SwfdecEditTextMovie;
-typedef struct _SwfdecEditTextMovieClass SwfdecEditTextMovieClass;
+typedef struct _SwfdecTextFieldMovie SwfdecTextFieldMovie;
+typedef struct _SwfdecTextFieldMovieClass SwfdecTextFieldMovieClass;
-#define SWFDEC_TYPE_EDIT_TEXT_MOVIE (swfdec_edit_text_movie_get_type())
-#define SWFDEC_IS_EDIT_TEXT_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_EDIT_TEXT_MOVIE))
-#define SWFDEC_IS_EDIT_TEXT_MOVIE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_EDIT_TEXT_MOVIE))
-#define SWFDEC_EDIT_TEXT_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_EDIT_TEXT_MOVIE, SwfdecEditTextMovie))
-#define SWFDEC_EDIT_TEXT_MOVIE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_EDIT_TEXT_MOVIE, SwfdecEditTextMovieClass))
+#define SWFDEC_TYPE_TEXT_FIELD_MOVIE (swfdec_text_field_movie_get_type())
+#define SWFDEC_IS_TEXT_FIELD_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
+#define SWFDEC_IS_TEXT_FIELD_MOVIE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE))
+#define SWFDEC_TEXT_FIELD_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovie))
+#define SWFDEC_TEXT_FIELD_MOVIE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FIELD_MOVIE, SwfdecTextFieldMovieClass))
typedef struct {
guint index;
@@ -54,10 +54,10 @@ typedef enum {
SWFDEC_GRID_FIT_TYPE_SUBPIXEL
} SwfdecGridFitType;
-struct _SwfdecEditTextMovie {
+struct _SwfdecTextFieldMovie {
SwfdecMovie movie;
- SwfdecEditText * text; /* the edit_text object we render */
+ SwfdecTextField * text; /* the text_field object we render */
const char * text_input;
const char * text_display;
@@ -85,23 +85,23 @@ struct _SwfdecEditTextMovie {
SwfdecParagraph * paragraphs;
};
-struct _SwfdecEditTextMovieClass {
+struct _SwfdecTextFieldMovieClass {
SwfdecMovieClass movie_class;
};
-GType swfdec_edit_text_movie_get_type (void);
+GType swfdec_text_field_movie_get_type (void);
-void swfdec_edit_text_movie_set_text (SwfdecEditTextMovie * movie,
+void swfdec_text_field_movie_set_text (SwfdecTextFieldMovie * movie,
const char * str,
gboolean html);
-void swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie * text);
-void swfdec_edit_text_movie_set_text_format (SwfdecEditTextMovie * text,
+void swfdec_text_field_movie_format_changed (SwfdecTextFieldMovie * text);
+void swfdec_text_field_movie_set_text_format (SwfdecTextFieldMovie * text,
SwfdecTextFormat * format,
guint start_index,
guint end_index);
/* implemented in swfdec_html_parser.c */
-void swfdec_edit_text_movie_html_parse (SwfdecEditTextMovie * text,
+void swfdec_text_field_movie_html_parse (SwfdecTextFieldMovie * text,
const char * str);
G_END_DECLS
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index bb58e9b..c9d4cd0 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -37,12 +37,12 @@
#include "swfdec_player_internal.h"
static void
-swfdec_edit_text_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_field_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
swfdec_as_context_get_string (cx, text->text_display) :
@@ -50,16 +50,16 @@ swfdec_edit_text_movie_get_text (SwfdecA
}
static void
-swfdec_edit_text_movie_do_set_text (SwfdecAsContext *cx,
+swfdec_text_field_movie_do_set_text (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
const char *value;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
- swfdec_edit_text_movie_set_text (text, value, FALSE);
+ swfdec_text_field_movie_set_text (text, value, FALSE);
}
static const char *
@@ -95,7 +95,7 @@ align_to_string (SwfdecTextAlign align)
* U: none
*/
static GString *
-swfdec_edit_text_movie_htmlText_append_paragraph (SwfdecEditTextMovie *text,
+swfdec_text_field_movie_htmlText_append_paragraph (SwfdecTextFieldMovie *text,
GString *string, guint start_index, guint end_index)
{
SwfdecTextFormat *format, *format_prev, *format_font;
@@ -104,7 +104,7 @@ swfdec_edit_text_movie_htmlText_append_p
gboolean textformat, bullet, font;
char *escaped;
- g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text), string);
+ g_return_val_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text), string);
g_return_val_if_fail (string != NULL, string);
g_return_val_if_fail (start_index < end_index, string);
@@ -305,18 +305,18 @@ swfdec_edit_text_movie_htmlText_append_p
}
static void
-swfdec_edit_text_movie_get_htmlText (SwfdecAsContext *cx,
+swfdec_text_field_movie_get_htmlText (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
const char *p, *end;
GString *string;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
if (text->text->html == FALSE) {
- swfdec_edit_text_movie_get_text (cx, object, argc, argv, ret);
+ swfdec_text_field_movie_get_text (cx, object, argc, argv, ret);
return;
}
@@ -333,7 +333,7 @@ swfdec_edit_text_movie_get_htmlText (Swf
if (end == NULL)
end = strchr (p, '\0');
- string = swfdec_edit_text_movie_htmlText_append_paragraph (text, string,
+ string = swfdec_text_field_movie_htmlText_append_paragraph (text, string,
p - text->text_display, end - text->text_display);
if (*end == '\r') {
@@ -348,123 +348,123 @@ swfdec_edit_text_movie_get_htmlText (Swf
}
static void
-swfdec_edit_text_movie_set_htmlText (SwfdecAsContext *cx,
+swfdec_text_field_movie_set_htmlText (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
const char *value;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "s", &value);
- swfdec_edit_text_movie_set_text (text, value, text->text->html);
+ swfdec_text_field_movie_set_text (text, value, text->text->html);
}
static void
-swfdec_edit_text_movie_get_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_field_movie_get_html (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->html);
}
static void
-swfdec_edit_text_movie_set_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_field_movie_set_html (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
gboolean value;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
text->text->html = value;
}
static void
-swfdec_edit_text_movie_get_condenseWhite (SwfdecAsContext *cx,
+swfdec_text_field_movie_get_condenseWhite (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->condense_white);
}
static void
-swfdec_edit_text_movie_set_condenseWhite (SwfdecAsContext *cx,
+swfdec_text_field_movie_set_condenseWhite (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
gboolean value;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
text->condense_white = value;
}
static void
-swfdec_edit_text_movie_get_embedFonts (SwfdecAsContext *cx,
+swfdec_text_field_movie_get_embedFonts (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->embed_fonts);
}
static void
-swfdec_edit_text_movie_set_embedFonts (SwfdecAsContext *cx,
+swfdec_text_field_movie_set_embedFonts (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
gboolean value;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "b", &value);
text->text->embed_fonts = value;
}
static void
-swfdec_edit_text_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_field_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
}
static void
-swfdec_edit_text_movie_get_textColor (SwfdecAsContext *cx,
+swfdec_text_field_movie_get_textColor (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (text->format_new),
SWFDEC_AS_STR_color, ret);
}
static void
-swfdec_edit_text_movie_set_textColor (SwfdecAsContext *cx,
+swfdec_text_field_movie_set_textColor (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
if (argc < 1)
return;
@@ -473,30 +473,30 @@ swfdec_edit_text_movie_set_textColor (Sw
SWFDEC_AS_STR_color, &argv[0]);
}
-SWFDEC_AS_NATIVE (104, 104, swfdec_edit_text_movie_getNewTextFormat)
+SWFDEC_AS_NATIVE (104, 104, swfdec_text_field_movie_getNewTextFormat)
void
-swfdec_edit_text_movie_getNewTextFormat (SwfdecAsContext *cx,
+swfdec_text_field_movie_getNewTextFormat (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
SWFDEC_AS_VALUE_SET_OBJECT (ret,
SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new)));
}
-SWFDEC_AS_NATIVE (104, 105, swfdec_edit_text_movie_setNewTextFormat)
+SWFDEC_AS_NATIVE (104, 105, swfdec_text_field_movie_setNewTextFormat)
void
-swfdec_edit_text_movie_setNewTextFormat (SwfdecAsContext *cx,
+swfdec_text_field_movie_setNewTextFormat (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
SwfdecAsObject *obj;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "o", &obj);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "o", &obj);
if (!SWFDEC_IS_TEXT_FORMAT (obj))
return;
@@ -504,18 +504,18 @@ swfdec_edit_text_movie_setNewTextFormat
text->format_new = swfdec_text_format_copy (SWFDEC_TEXT_FORMAT (obj));
}
-SWFDEC_AS_NATIVE (104, 102, swfdec_edit_text_movie_setTextFormat)
+SWFDEC_AS_NATIVE (104, 102, swfdec_text_field_movie_setTextFormat)
void
-swfdec_edit_text_movie_setTextFormat (SwfdecAsContext *cx,
+swfdec_text_field_movie_setTextFormat (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
- SwfdecEditTextMovie *text;
+ SwfdecTextFieldMovie *text;
SwfdecTextFormat *format;
guint start_index, end_index;
int i;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_TEXT_FIELD_MOVIE, (gpointer)&text, "");
if (argc < 1)
return;
@@ -543,17 +543,17 @@ swfdec_edit_text_movie_setTextFormat (Sw
format = SWFDEC_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]));
- swfdec_edit_text_movie_set_text_format (text, format, start_index, end_index);
+ swfdec_text_field_movie_set_text_format (text, format, start_index, end_index);
}
-SWFDEC_AS_NATIVE (104, 200, swfdec_edit_text_movie_createTextField)
+SWFDEC_AS_NATIVE (104, 200, swfdec_text_field_movie_createTextField)
void
-swfdec_edit_text_movie_createTextField (SwfdecAsContext *cx,
+swfdec_text_field_movie_createTextField (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *rval)
{
SwfdecMovie *movie, *parent;
- SwfdecEditText *edittext;
+ SwfdecTextField *edittext;
int depth, x, y, width, height;
const char *name;
SwfdecAsFunction *fun;
@@ -561,7 +561,7 @@ swfdec_edit_text_movie_createTextField (
SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "siiiii", &name, &depth, &x, &y, &width, &height);
- edittext = g_object_new (SWFDEC_TYPE_EDIT_TEXT, NULL);
+ edittext = g_object_new (SWFDEC_TYPE_TEXT_FIELD, NULL);
edittext->html = FALSE;
edittext->input = FALSE;
edittext->password = FALSE;
@@ -593,7 +593,7 @@ swfdec_edit_text_movie_createTextField (
movie = swfdec_movie_new (SWFDEC_PLAYER (cx), depth, parent,
SWFDEC_GRAPHIC (edittext), name);
- g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (movie));
+ g_assert (SWFDEC_IS_TEXT_FIELD_MOVIE (movie));
swfdec_movie_initialize (movie);
swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
@@ -625,7 +625,7 @@ swfdec_edit_text_movie_createTextField (
}
static void
-swfdec_edit_text_movie_add_variable (SwfdecAsObject *object,
+swfdec_text_field_movie_add_variable (SwfdecAsObject *object,
const char *variable, SwfdecAsNative get, SwfdecAsNative set)
{
SwfdecAsFunction *get_func, *set_func;
@@ -649,17 +649,17 @@ swfdec_edit_text_movie_add_variable (Swf
swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
}
-SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_edit_text_movie_construct, swfdec_edit_text_movie_get_type)
+SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_text_field_movie_construct, swfdec_text_field_movie_get_type)
void
-swfdec_edit_text_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_field_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
if (!cx->frame->construct) {
SwfdecAsValue val;
- if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecEditTextMovie)))
+ if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecTextFieldMovie)))
return;
- object = g_object_new (SWFDEC_TYPE_EDIT_TEXT_MOVIE, NULL);
- swfdec_as_object_add (object, cx, sizeof (SwfdecEditTextMovie));
+ object = g_object_new (SWFDEC_TYPE_TEXT_FIELD_MOVIE, NULL);
+ swfdec_as_object_add (object, cx, sizeof (SwfdecTextFieldMovie));
swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
swfdec_as_object_set_constructor (object,
@@ -669,7 +669,7 @@ swfdec_edit_text_movie_construct (Swfdec
}
}
- g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (object));
+ g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (object));
if (!SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized) {
SwfdecAsValue val;
@@ -679,24 +679,24 @@ swfdec_edit_text_movie_construct (Swfdec
g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
- swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_text,
- swfdec_edit_text_movie_get_text, swfdec_edit_text_movie_do_set_text);
- swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
- swfdec_edit_text_movie_get_htmlText,
- swfdec_edit_text_movie_set_htmlText);
- swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_html,
- swfdec_edit_text_movie_get_html, swfdec_edit_text_movie_set_html);
- swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
- swfdec_edit_text_movie_get_condenseWhite,
- swfdec_edit_text_movie_set_condenseWhite);
- swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
- swfdec_edit_text_movie_get_embedFonts,
- swfdec_edit_text_movie_set_embedFonts);
- swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_length,
- swfdec_edit_text_movie_get_length, NULL);
- swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
- swfdec_edit_text_movie_get_textColor,
- swfdec_edit_text_movie_set_textColor);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_text,
+ swfdec_text_field_movie_get_text, swfdec_text_field_movie_do_set_text);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
+ swfdec_text_field_movie_get_htmlText,
+ swfdec_text_field_movie_set_htmlText);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_html,
+ swfdec_text_field_movie_get_html, swfdec_text_field_movie_set_html);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
+ swfdec_text_field_movie_get_condenseWhite,
+ swfdec_text_field_movie_set_condenseWhite);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
+ swfdec_text_field_movie_get_embedFonts,
+ swfdec_text_field_movie_set_embedFonts);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_length,
+ swfdec_text_field_movie_get_length, NULL);
+ swfdec_text_field_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
+ swfdec_text_field_movie_get_textColor,
+ swfdec_text_field_movie_set_textColor);
SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
}
diff --git a/libswfdec/swfdec_graphic_movie.c b/libswfdec/swfdec_graphic_movie.c
index 9552ee3..a4a86fa 100644
--- a/libswfdec/swfdec_graphic_movie.c
+++ b/libswfdec/swfdec_graphic_movie.c
@@ -63,7 +63,7 @@ swfdec_graphic_movie_replace (SwfdecMovi
/* nothing to do here, please move along */
} else if (SWFDEC_IS_SPRITE (graphic) ||
SWFDEC_IS_BUTTON (graphic) ||
- SWFDEC_IS_EDIT_TEXT (graphic)) {
+ SWFDEC_IS_TEXT_FIELD (graphic)) {
SWFDEC_INFO ("can't replace with scriptable objects");
return;
} else {
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 60fb4e4..430eec5 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -44,7 +44,7 @@ typedef struct {
} ParserData;
static const char *
-swfdec_edit_text_movie_html_parse_comment (ParserData *data, const char *p)
+swfdec_text_field_movie_html_parse_comment (ParserData *data, const char *p)
{
const char *end;
@@ -61,7 +61,7 @@ swfdec_edit_text_movie_html_parse_commen
}
static void
-swfdec_edit_text_movie_html_tag_set_attribute (ParserTag *tag,
+swfdec_text_field_movie_html_tag_set_attribute (ParserTag *tag,
const char *name, int name_length, const char *value, int value_length)
{
SwfdecAsValue val;
@@ -136,7 +136,7 @@ swfdec_edit_text_movie_html_tag_set_attr
}
static const char *
-swfdec_edit_text_movie_html_parse_attribute (ParserTag *tag, const char *p)
+swfdec_text_field_movie_html_parse_attribute (ParserTag *tag, const char *p)
{
const char *end, *name, *value;
int name_length, value_length;
@@ -171,7 +171,7 @@ swfdec_edit_text_movie_html_parse_attrib
value_length = end - (p + 1);
if (tag != NULL) {
- swfdec_edit_text_movie_html_tag_set_attribute (tag, name, name_length,
+ swfdec_text_field_movie_html_tag_set_attribute (tag, name, name_length,
value, value_length);
}
@@ -181,7 +181,7 @@ swfdec_edit_text_movie_html_parse_attrib
}
static const char *
-swfdec_edit_text_movie_html_parse_tag (ParserData *data, const char *p)
+swfdec_text_field_movie_html_parse_tag (ParserData *data, const char *p)
{
ParserTag *tag;
const char *name, *end;
@@ -283,7 +283,7 @@ swfdec_edit_text_movie_html_parse_tag (P
// parse attributes
end = end + strspn (end, " \r\n\t");
while (*end != '\0' && *end != '>' && (*end != '/' || *(end + 1) != '>')) {
- end = swfdec_edit_text_movie_html_parse_attribute (tag, end);
+ end = swfdec_text_field_movie_html_parse_attribute (tag, end);
if (end == NULL)
break;
end = end + strspn (end, " \r\n\t");
@@ -300,7 +300,7 @@ swfdec_edit_text_movie_html_parse_tag (P
}
static const char *
-swfdec_edit_text_movie_html_parse_text (ParserData *data, const char *p,
+swfdec_text_field_movie_html_parse_text (ParserData *data, const char *p,
gboolean condense_white)
{
const char *end;
@@ -338,12 +338,12 @@ swfdec_edit_text_movie_html_parse_text (
}
void
-swfdec_edit_text_movie_html_parse (SwfdecEditTextMovie *text, const char *str)
+swfdec_text_field_movie_html_parse (SwfdecTextFieldMovie *text, const char *str)
{
ParserData data;
const char *p;
- g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+ g_return_if_fail (SWFDEC_IS_TEXT_FIELD_MOVIE (text));
g_return_if_fail (str != NULL);
data.cx = SWFDEC_AS_OBJECT (text)->context;
@@ -355,12 +355,12 @@ swfdec_edit_text_movie_html_parse (Swfde
while (p != NULL && *p != '\0') {
if (*p == '<') {
if (strncmp (p + 1, "!--", strlen ("!--")) == 0) {
- p = swfdec_edit_text_movie_html_parse_comment (&data, p);
+ p = swfdec_text_field_movie_html_parse_comment (&data, p);
} else {
- p = swfdec_edit_text_movie_html_parse_tag (&data, p);
+ p = swfdec_text_field_movie_html_parse_tag (&data, p);
}
} else {
- p = swfdec_edit_text_movie_html_parse_text (&data, p,
+ p = swfdec_text_field_movie_html_parse_text (&data, p,
text->condense_white);
}
}
@@ -391,7 +391,7 @@ swfdec_edit_text_movie_html_parse (Swfde
ParserTag *tag = (ParserTag *)data.tags_closed->data;
if (tag->index != tag->end_index) {
- swfdec_edit_text_movie_set_text_format (text, tag->format, tag->index,
+ swfdec_text_field_movie_set_text_format (text, tag->format, tag->index,
tag->end_index);
}
diff --git a/test/dump.c b/test/dump.c
index e0c3c63..adf0cb1 100644
--- a/test/dump.c
+++ b/test/dump.c
@@ -223,7 +223,7 @@ dump_shape (SwfdecShape *shape)
}
static void
-dump_edit_text (SwfdecEditText *text)
+dump_text_field (SwfdecTextField *text)
{
g_print (" %s\n", text->text_input ? text->text_input : "");
if (verbose) {
@@ -353,8 +353,8 @@ dump_object (gpointer value, gpointer de
if (SWFDEC_IS_TEXT (c)) {
dump_text (SWFDEC_TEXT (c));
}
- if (SWFDEC_IS_EDIT_TEXT (c)) {
- dump_edit_text (SWFDEC_EDIT_TEXT (c));
+ if (SWFDEC_IS_TEXT_FIELD (c)) {
+ dump_text_field (SWFDEC_TEXT_FIELD (c));
}
if (SWFDEC_IS_FONT (c)) {
dump_font (SWFDEC_FONT (c));
diff-tree ef5288e48b9b4cd61e44429dbf5db01598e9d066 (from parents)
Merge: ca558329498eba55d3b8b9f97d9714a1d33636a9 0dda3049b019a5a04045f6bdc36e80cd407b5f19
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 11:13:15 2007 +0300
Merge branch 'master' into textfield
diff-tree ca558329498eba55d3b8b9f97d9714a1d33636a9 (from 35f353b7f4ae6c7a69aa307832eb6ef164468207)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 10:51:51 2007 +0300
Add my name to bunch of edittext files' copyright headers
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 7950cfc..8ad6de7 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -1,5 +1,6 @@
/* Swfdec
* Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
+ * Pekka Lampila <pekka.lampila at iki.fi>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 1d8f7e5..f7c6e22 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -1,5 +1,6 @@
/* Swfdec
* Copyright (C) 2006-2007 Benjamin Otte <otte at gnome.org>
+ * Pekka Lampila <pekka.lampila at iki.fi>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 48f981e..4f68687 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -1,5 +1,6 @@
/* Swfdec
* Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
+ * Pekka Lampila <pekka.lampila at iki.fi>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index 9f0b6a9..103942b 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -1,5 +1,6 @@
/* Swfdec
* Copyright (C) 2006 Benjamin Otte <otte at gnome.org>
+ * Pekka Lampila <pekka.lampila at iki.fi>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 6fdafeb..bb58e9b 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -1,5 +1,6 @@
/* Swfdec
* Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
+ * Pekka Lampila <pekka.lampila at iki.fi>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
diff-tree 35f353b7f4ae6c7a69aa307832eb6ef164468207 (from 4046fdb9a8b482579848e9ce282667fe89025298)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 10:42:36 2007 +0300
Add copyright header to swfdec_html_parser.c and remove an extra include
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 3bfb688..60fb4e4 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -1,3 +1,22 @@
+/* Swfdec
+ * Copyright (C) 2007 Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -7,7 +26,6 @@
#include "swfdec_edittext_movie.h"
#include "swfdec_as_strings.h"
-#include "swfdec_font.h"
#include "swfdec_debug.h"
typedef struct {
diff-tree 4046fdb9a8b482579848e9ce282667fe89025298 (from 06751dc79e85534b6d8dd5f9316e149bf63ca203)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 10:33:42 2007 +0300
Mark garbage collected variables in EditTextMovie
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 8e4c2f0..48f981e 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -373,7 +373,7 @@ static void
swfdec_edit_text_movie_dispose (GObject *object)
{
SwfdecEditTextMovie *text;
- GList *iter;
+ GSList *iter;
text = SWFDEC_EDIT_TEXT_MOVIE (object);
@@ -389,6 +389,29 @@ swfdec_edit_text_movie_dispose (GObject
}
static void
+swfdec_edit_text_movie_mark (SwfdecAsObject *object)
+{
+ SwfdecEditTextMovie *text;
+ GSList *iter;
+
+ text = SWFDEC_EDIT_TEXT_MOVIE (object);
+
+ swfdec_as_string_mark (text->text_input);
+ swfdec_as_string_mark (text->text_display);
+ swfdec_as_string_mark (text->variable);
+ swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
+ for (iter = text->formats; iter != NULL; iter = iter->next) {
+ swfdec_as_object_mark (
+ SWFDEC_AS_OBJECT (((SwfdecFormatIndex *)(iter->data))->format));
+ }
+ swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->format_new));
+ if (text->style_sheet != NULL)
+ swfdec_as_object_mark (SWFDEC_AS_OBJECT (text->style_sheet));
+
+ SWFDEC_AS_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->mark (object);
+}
+
+static void
swfdec_edit_text_movie_iterate (SwfdecMovie *movie)
{
SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
@@ -470,10 +493,13 @@ static void
swfdec_edit_text_movie_class_init (SwfdecEditTextMovieClass * g_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (g_class);
+ SwfdecAsObjectClass *asobject_class = SWFDEC_AS_OBJECT_CLASS (g_class);
SwfdecMovieClass *movie_class = SWFDEC_MOVIE_CLASS (g_class);
object_class->dispose = swfdec_edit_text_movie_dispose;
+ asobject_class->mark = swfdec_edit_text_movie_mark;
+
movie_class->init_movie = swfdec_edit_text_movie_init_movie;
movie_class->update_extents = swfdec_edit_text_movie_update_extents;
movie_class->render = swfdec_edit_text_movie_render;
diff-tree 06751dc79e85534b6d8dd5f9316e149bf63ca203 (from 17d7b4d7dd4685ec24d441ff07d31a22299916e3)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 10:24:14 2007 +0300
Free memory in SwfdecEdittextMovie
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 6276167..8e4c2f0 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -339,13 +339,22 @@ swfdec_edit_text_movie_render (SwfdecMov
static void
swfdec_edit_text_movie_free_paragraphs (SwfdecEditTextMovie *text)
{
+ GList *iter;
int i;
if (text->paragraphs) {
- for (i = 0; text->paragraphs[i].text != NULL; i++) {
- // FIXME
- /*if (text->paragraphs[i].tab_stops != NULL)
- pango_tab_array_free (text->paragraphs[i].tab_stops);*/
+ for (i = 0; text->paragraphs[i].text != NULL; i++)
+ {
+ for (iter = text->paragraphs[i].blocks; iter != NULL; iter = iter->next) {
+ pango_tab_array_free (((SwfdecBlock *)(iter->data))->tab_stops);
+ }
+ g_list_free (text->paragraphs[i].blocks);
+
+ for (iter = text->paragraphs[i].attrs; iter != NULL; iter = iter->next) {
+ pango_attribute_destroy ((PangoAttribute *)(iter->data));
+ }
+ g_list_free (text->paragraphs[i].attrs);
+
if (text->paragraphs[i].attrs_list != NULL)
pango_attr_list_unref (text->paragraphs[i].attrs_list);
}
@@ -363,10 +372,19 @@ swfdec_edit_text_movie_format_changed (S
static void
swfdec_edit_text_movie_dispose (GObject *object)
{
- SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (object);
+ SwfdecEditTextMovie *text;
+ GList *iter;
+
+ text = SWFDEC_EDIT_TEXT_MOVIE (object);
swfdec_edit_text_movie_free_paragraphs (text);
+ for (iter = text->formats; iter != NULL; iter = iter->next) {
+ g_free (text->formats->data);
+ text->formats->data = NULL;
+ }
+ g_slist_free (text->formats);
+
G_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->dispose (object);
}
diff-tree 17d7b4d7dd4685ec24d441ff07d31a22299916e3 (from parents)
Merge: 5bd4a248279cf4d905d39d66b985477939ad7859 d5d06f45e7c5a64725dd1c6fe061ff1e0fd15110
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 09:58:25 2007 +0300
Merge branch 'master' into textfield
Conflicts:
libswfdec/swfdec_initialize.h
diff --cc libswfdec/swfdec_initialize.h
index 7970384,6420e24..0921de8
@@@ -74,473 -74,454 +74,473 @@@
0x6E, 0x64, 0x53, 0x74, 0x6F, 0x70, 0x00, 0x64, 0x75, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x65,
0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00, 0x72, 0x65, 0x6D, 0x6F, 0x76, 0x65,
0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44,
- 0x72, 0x61, 0x67, 0x00, 0x73, 0x74, 0x6F, 0x70, 0x44, 0x72, 0x61, 0x67, 0x00, 0x36, 0x63, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C,
- 0x69, 0x70, 0x2C, 0x36, 0x62, 0x65, 0x67, 0x69, 0x6E, 0x46, 0x69, 0x6C, 0x6C, 0x2C, 0x36, 0x62,
- 0x65, 0x67, 0x69, 0x6E, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6E, 0x74, 0x46, 0x69, 0x6C, 0x6C,
- 0x2C, 0x36, 0x6D, 0x6F, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69, 0x6E, 0x65, 0x54, 0x6F,
- 0x2C, 0x36, 0x63, 0x75, 0x72, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69, 0x6E, 0x65, 0x53,
- 0x74, 0x79, 0x6C, 0x65, 0x2C, 0x36, 0x65, 0x6E, 0x64, 0x46, 0x69, 0x6C, 0x6C, 0x2C, 0x36, 0x63,
- 0x6C, 0x65, 0x61, 0x72, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x54,
- 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x53,
- 0x68, 0x65, 0x65, 0x74, 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62, 0x6A, 0x65, 0x63,
- 0x74, 0x00, 0x6F, 0x5F, 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00, 0x63, 0x6C, 0x65,
- 0x61, 0x72, 0x00, 0x5F, 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x73, 0x00,
- 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65,
- 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x64, 0x6F, 0x54,
- 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C,
- 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x73,
- 0x00, 0x74, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F, 0x72, 0x6D, 0x61,
- 0x74, 0x00, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61, 0x6C, 0x69, 0x67,
- 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x62, 0x6F, 0x6C,
- 0x64, 0x00, 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x70,
- 0x61, 0x72, 0x73, 0x65, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61,
- 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x66, 0x6F, 0x6E,
- 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x61,
- 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00,
- 0x69, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49, 0x6E, 0x74, 0x00,
- 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61, 0x6C, 0x69, 0x63,
- 0x00, 0x6B, 0x65, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65, 0x00, 0x66, 0x61,
- 0x6C, 0x73, 0x65, 0x00, 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67,
- 0x69, 0x6E, 0x4C, 0x65, 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69,
- 0x6E, 0x00, 0x6C, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69, 0x6E, 0x67, 0x00,
- 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72, 0x69, 0x67, 0x68,
- 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65,
- 0x00, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63, 0x6F, 0x72, 0x61,
- 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E, 0x65, 0x00, 0x6E,
- 0x6F, 0x6E, 0x65, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00, 0x63, 0x73, 0x73,
- 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61,
- 0x6C, 0x00, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C, 0x00, 0x70, 0x61,
- 0x72, 0x73, 0x65, 0x00, 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00,
- 0x63, 0x6C, 0x65, 0x61, 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x73, 0x65,
- 0x74, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x54, 0x69,
- 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72, 0x6F, 0x61, 0x64,
- 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D, 0x00, 0x4C, 0x6F,
- 0x61, 0x64, 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13, 0x00, 0x08, 0x00,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x03,
- 0x1C, 0x96, 0x13, 0x00, 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00,
- 0x00, 0x02, 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
- 0x17, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00,
- 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00,
- 0x78, 0x00, 0x3C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96, 0x02, 0x00, 0x08,
- 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x0C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B, 0x07, 0x00, 0x00,
- 0x01, 0x00, 0x78, 0x00, 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x0C, 0x4E, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07, 0x00, 0x08, 0x0F,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0F,
- 0x4C, 0x1C, 0x50, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C,
- 0x49, 0x12, 0x9D, 0x02, 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x0F, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x11, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96,
- 0x02, 0x00, 0x05, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x12, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13,
- 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x08, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x0B, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x0C, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x42, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x08, 0x14, 0x08,
- 0x13, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x4F, 0x96,
- 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03,
- 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08, 0x16, 0x07, 0x12,
- 0x00, 0x00, 0x00, 0x08, 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07, 0x14, 0x00, 0x00,
- 0x00, 0x08, 0x19, 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00, 0x00, 0x00, 0x08,
- 0x1B, 0x07, 0x28, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x07,
- 0x0D, 0x00, 0x00, 0x00, 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F, 0x07, 0x24, 0x00,
- 0x00, 0x00, 0x08, 0x20, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25, 0x00, 0x00, 0x00,
- 0x08, 0x22, 0x07, 0x22, 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00, 0x00, 0x08, 0x24,
- 0x07, 0x27, 0x00, 0x00, 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08, 0x26, 0x07, 0x20,
- 0x00, 0x00, 0x00, 0x08, 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07, 0x26, 0x00, 0x00,
- 0x00, 0x07, 0x13, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29, 0x07, 0x20, 0x03,
- 0x00, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D,
- 0x17, 0x96, 0x02, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00,
- 0x00, 0x02, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
- 0x17, 0x96, 0x07, 0x00, 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00,
- 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A,
- 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52,
- 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2D, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x0E, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08, 0x2D, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x2F,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08, 0x32, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00,
- 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52,
- 0x17, 0x99, 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52, 0x17, 0x96, 0x09,
- 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35,
- 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96, 0x03, 0x00, 0x08,
- 0x3A, 0x02, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00,
- 0x02, 0x49, 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04, 0x00, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47,
- 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x33, 0x00,
- 0x96, 0x04, 0x00, 0x08, 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x3B, 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B,
- 0x3D, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x3E, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x08,
- 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08,
- 0x42, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0xF4, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x0E, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x08, 0x44, 0x07, 0xF4,
- 0x01, 0x00, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x45, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D,
- 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x46, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x47, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x48, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0xFD,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49, 0x07, 0x04, 0x00,
- 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x4A, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x07, 0x00, 0x00, 0x00, 0x07, 0xFD,
+ 0x72, 0x61, 0x67, 0x00, 0x73, 0x74, 0x6F, 0x70, 0x44, 0x72, 0x61, 0x67, 0x00, 0x63, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69,
+ 0x70, 0x00, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C,
+ 0x64, 0x00, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2C, 0x63, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00,
+ 0x36, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69,
+ 0x65, 0x43, 0x6C, 0x69, 0x70, 0x2C, 0x36, 0x62, 0x65, 0x67, 0x69, 0x6E, 0x46, 0x69, 0x6C, 0x6C,
+ 0x2C, 0x36, 0x62, 0x65, 0x67, 0x69, 0x6E, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6E, 0x74, 0x46,
+ 0x69, 0x6C, 0x6C, 0x2C, 0x36, 0x6D, 0x6F, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69, 0x6E,
+ 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x63, 0x75, 0x72, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69,
+ 0x6E, 0x65, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x2C, 0x36, 0x65, 0x6E, 0x64, 0x46, 0x69, 0x6C, 0x6C,
+ 0x2C, 0x36, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C,
+ 0x64, 0x00, 0x73, 0x65, 0x74, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00,
+ 0x67, 0x65, 0x74, 0x4E, 0x65, 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74,
+ 0x00, 0x73, 0x65, 0x74, 0x4E, 0x65, 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61,
+ 0x74, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79,
+ 0x6C, 0x65, 0x53, 0x68, 0x65, 0x65, 0x74, 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62,
+ 0x6A, 0x65, 0x63, 0x74, 0x00, 0x6F, 0x5F, 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00,
+ 0x63, 0x6C, 0x65, 0x61, 0x72, 0x00, 0x5F, 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C,
+ 0x65, 0x73, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65,
+ 0x00, 0x73, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00,
+ 0x64, 0x6F, 0x54, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53,
+ 0x74, 0x79, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61,
+ 0x6D, 0x65, 0x73, 0x00, 0x74, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F,
+ 0x72, 0x6D, 0x61, 0x74, 0x00, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61,
+ 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00,
+ 0x62, 0x6F, 0x6C, 0x64, 0x00, 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F,
+ 0x72, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73,
+ 0x70, 0x6C, 0x61, 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00,
+ 0x66, 0x6F, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E,
+ 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65,
+ 0x6E, 0x74, 0x00, 0x69, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49,
+ 0x6E, 0x74, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61,
+ 0x6C, 0x69, 0x63, 0x00, 0x6B, 0x65, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65,
+ 0x00, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x00, 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D,
+ 0x61, 0x72, 0x67, 0x69, 0x6E, 0x4C, 0x65, 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61,
+ 0x72, 0x67, 0x69, 0x6E, 0x00, 0x6C, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69,
+ 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72,
+ 0x69, 0x67, 0x68, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53,
+ 0x69, 0x7A, 0x65, 0x00, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63,
+ 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E,
+ 0x65, 0x00, 0x6E, 0x6F, 0x6E, 0x65, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00,
+ 0x63, 0x73, 0x73, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65,
+ 0x72, 0x6E, 0x61, 0x6C, 0x00, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C,
+ 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x00, 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76,
+ 0x61, 0x6C, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C,
+ 0x00, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61,
+ 0x72, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72,
+ 0x6F, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D,
+ 0x00, 0x4C, 0x6F, 0x61, 0x64, 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13,
+ 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02,
+ 0x00, 0x08, 0x03, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07,
+ 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
+ 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07,
+ 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
+ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00,
+ 0x00, 0x01, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96,
+ 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00,
+ 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B,
+ 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00, 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4E, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07,
+ 0x00, 0x08, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x0F, 0x4C, 0x1C, 0x50, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x0A, 0x1C, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x11, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00,
+ 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x12, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x13, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65,
0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4C, 0x07, 0x08, 0x00,
- 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x13, 0x00, 0x08, 0x4D, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x10,
- 0x00, 0x08, 0x30, 0x08, 0x4E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x45, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30, 0x08, 0x4D, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08,
- 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x4F, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x50, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x51, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0xFD,
+ 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x08, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x0B, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08,
+ 0x0C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00,
+ 0x08, 0x14, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
+ 0x17, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07,
+ 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08,
+ 0x16, 0x07, 0x12, 0x00, 0x00, 0x00, 0x08, 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07,
+ 0x14, 0x00, 0x00, 0x00, 0x08, 0x19, 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00,
+ 0x00, 0x00, 0x08, 0x1B, 0x07, 0x28, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00,
+ 0x08, 0x1D, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F,
+ 0x07, 0x24, 0x00, 0x00, 0x00, 0x08, 0x20, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25,
+ 0x00, 0x00, 0x00, 0x08, 0x22, 0x07, 0x22, 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00,
+ 0x00, 0x08, 0x24, 0x07, 0x27, 0x00, 0x00, 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08,
+ 0x26, 0x07, 0x20, 0x00, 0x00, 0x00, 0x08, 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07,
+ 0x26, 0x00, 0x00, 0x00, 0x07, 0x13, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29,
+ 0x07, 0x20, 0x03, 0x00, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07,
+ 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
+ 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D,
+ 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05,
0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63,
- 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D,
- 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05,
- 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x52,
+ 0x2A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08,
+ 0x2D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17,
+ 0x96, 0x0E, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08,
+ 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02,
+ 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08,
+ 0x32, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
+ 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00,
+ 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96,
+ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52,
0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05,
- 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D,
- 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x53, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x54, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x52,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x54, 0x52, 0x17, 0x96, 0x02,
- 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x54, 0x3A,
- 0x17, 0x96, 0x02, 0x00, 0x08, 0x55, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x56,
- 0x08, 0x56, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D, 0x96, 0x09, 0x00,
- 0x08, 0x57, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07,
- 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x59, 0x9B, 0x0C, 0x00, 0x00, 0x01,
- 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00, 0x08, 0x5C, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x52, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x49, 0x9D, 0x02, 0x00, 0x2D, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49, 0x9D, 0x02, 0x00, 0x0E, 0x00,
- 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00, 0x75, 0x72, 0x6C,
- 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x97,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x60, 0x49, 0x12, 0x9D,
- 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x56, 0x08, 0x4E, 0x1D, 0x96, 0x04, 0x00, 0x08,
- 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C,
- 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x02, 0x99, 0x02,
- 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A,
- 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00,
- 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x99, 0x00, 0x96, 0x04, 0x00,
- 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96, 0x02,
- 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00,
- 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99, 0x02, 0x00, 0x16,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01,
- 0x00, 0xC0, 0x8B, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x65, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x75, 0x72,
- 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x99, 0x00, 0x96, 0x04, 0x00, 0x08, 0x61,
- 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96, 0x02, 0x00, 0x08,
- 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x4A, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D,
- 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96,
+ 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96,
+ 0x03, 0x00, 0x08, 0x3A, 0x02, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00,
+ 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04,
+ 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00,
+ 0x41, 0x00, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A,
+ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00,
+ 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E,
+ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02,
+ 0x00, 0x33, 0x00, 0x96, 0x04, 0x00, 0x08, 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A,
+ 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00,
+ 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E,
+ 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
+ 0x13, 0x00, 0x08, 0x42, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0xF4, 0x01, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x0E, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x08,
+ 0x44, 0x07, 0xF4, 0x01, 0x00, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x45,
+ 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0x46, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x47, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x48, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49,
+ 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0x4A, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x07, 0x00, 0x00,
+ 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4C,
+ 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x4D, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4D,
+ 0x1C, 0x96, 0x10, 0x00, 0x08, 0x30, 0x08, 0x4E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x08, 0x45, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30,
+ 0x08, 0x4D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
+ 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33,
+ 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0x4F, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x50, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x51, 0x07, 0x0C, 0x00, 0x00,
+ 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35,
+ 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00,
+ 0x73, 0x72, 0x63, 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02,
+ 0x49, 0x12, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00,
+ 0x08, 0x37, 0x05, 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x51, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00,
+ 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x53, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x54, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x54, 0x52,
+ 0x17, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x54, 0x3A, 0x17, 0x96, 0x02, 0x00, 0x08, 0x55, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74,
+ 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04,
+ 0x00, 0x08, 0x56, 0x08, 0x56, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D,
+ 0x96, 0x09, 0x00, 0x08, 0x57, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96,
+ 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00,
+ 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x59, 0x9B, 0x0C,
+ 0x00, 0x00, 0x01, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00,
+ 0x08, 0x5C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x52,
+ 0x3C, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x49, 0x9D, 0x02, 0x00,
+ 0x2D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49, 0x9D, 0x02,
+ 0x00, 0x0E, 0x00, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09,
+ 0x00, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96,
+ 0x05, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00,
+ 0x75, 0x72, 0x6C, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F,
+ 0x64, 0x00, 0x97, 0x00, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x60,
+ 0x49, 0x12, 0x9D, 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x56, 0x08, 0x4E, 0x1D, 0x96,
+ 0x04, 0x00, 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96,
+ 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00,
+ 0x02, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00,
- 0x00, 0x02, 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00,
++ 0x00, 0x02, 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x99, 0x00,
+ 0x96, 0x04, 0x00, 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
+ 0x20, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49,
+ 0x9D, 0x02, 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99,
+ 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96,
0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64,
- 0x4E, 0x9A, 0x01, 0x00, 0xC0, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x65, 0x9B, 0x10, 0x00, 0x00,
- 0x02, 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96,
- 0x04, 0x00, 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20,
- 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D,
- 0x02, 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02,
- 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E,
- 0x9A, 0x01, 0x00, 0x40, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x66, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x67, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x68, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x69, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00,
- 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07,
- 0x07, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x6A, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6B, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6C, 0x07, 0x0D, 0x00, 0x00, 0x00,
- 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6D, 0x07,
- 0x0E, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x6E, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6F, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x70, 0x07, 0x11, 0x00, 0x00, 0x00,
- 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x71, 0x07,
- 0x12, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x72, 0x07, 0x13, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x73, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x74, 0x07, 0x15, 0x00, 0x00, 0x00,
- 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x75, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0x85, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x76, 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x77,
- 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x08, 0x78, 0x07, 0x85, 0x03, 0x00, 0x00, 0x08,
- 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
- 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x58, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05,
- 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x79, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x7A, 0x07, 0x66, 0x00, 0x00, 0x00,
- 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x7B, 0x07,
- 0x68, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x7C, 0x07, 0x69, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x7D, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x07, 0x6E, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02,
- 0x00, 0x08, 0x79, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x71,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x7F, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x13, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x80, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05,
- 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08, 0x81, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02,
- 0x49, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0x81, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00,
- 0x08, 0x81, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x83, 0x9B, 0x05, 0x00, 0x00,
- 0x00, 0x00, 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08,
- 0x85, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x86,
- 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F,
- 0x52, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x88, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00,
- 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x87, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x8A, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x9B, 0x05, 0x00, 0x00,
- 0x00, 0x00, 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x84, 0x4E, 0x3C, 0x96, 0x07, 0x00, 0x08, 0x8D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0x8C, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
- 0x00, 0x25, 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x82,
- 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x0D, 0x52, 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x3E, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D,
- 0x65, 0x00, 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x85, 0x4E,
- 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00,
- 0x08, 0x85, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x85, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x40,
- 0x8B, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x66, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x67, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x68, 0x07, 0x04,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x69, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07, 0x07, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6A, 0x07, 0x0A,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x6B, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6C, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6D, 0x07, 0x0E, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6E, 0x07, 0x0F,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x6F, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x70, 0x07, 0x11, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x71, 0x07, 0x12, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x72, 0x07, 0x13,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x73, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x74, 0x07, 0x15, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00,
- 0x00, 0x08, 0x6A, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x08, 0x75, 0x07, 0x85, 0x03,
- 0x00, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03,
- 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02,
- 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x76, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43,
- 0x1D, 0x96, 0x13, 0x00, 0x08, 0x77, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x6E, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96,
- 0x13, 0x00, 0x08, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x79, 0x9B, 0x07,
- 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x44, 0x96,
- 0x02, 0x00, 0x08, 0x7A, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02,
- 0x3E, 0x96, 0x07, 0x00, 0x08, 0x7B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3C, 0x96, 0x02, 0x00,
- 0x08, 0x13, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x27,
- 0x00, 0x96, 0x04, 0x00, 0x08, 0x7C, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C,
- 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x3E, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x80, 0x9B, 0x0A, 0x00, 0x00, 0x01,
- 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x52, 0x3E, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x82, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00,
- 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x7E, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x79, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x52, 0x17, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x85, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x96,
- 0x04, 0x00, 0x08, 0x86, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x3C, 0x96, 0x07,
- 0x00, 0x08, 0x87, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x86, 0x46,
- 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x04,
- 0x00, 0x08, 0x7C, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x99, 0x02,
- 0x00, 0xCD, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x84, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x5C, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00,
- 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x88, 0x52, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x88, 0x9B, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x9D,
- 0x03, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00,
- 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x09, 0x00, 0x08, 0x89, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x77, 0x40, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8A,
- 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x8B, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x49, 0x9D, 0x02,
- 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x8E, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8D, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8D, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04,
- 0x00, 0x08, 0x86, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x90, 0x52, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0x86, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8F, 0x08, 0x86, 0x1C, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x91, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x91, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E,
- 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0x93, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x94, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x96, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x95, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x99, 0x49,
- 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x99, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x99, 0x05, 0x01, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x49,
- 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9C, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x99, 0x02, 0x00, 0x0E,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A, 0x05, 0x00, 0x4F, 0x99,
- 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A, 0x05,
- 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x12, 0x9D,
- 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9D, 0x08,
- 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E,
- 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0x9F, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0xA0, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04,
- 0x00, 0x08, 0xA0, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0xA1, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
- 0x96, 0x04, 0x00, 0x08, 0xA2, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B, 0x00, 0x96, 0x04, 0x00, 0x08,
- 0x86, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x97, 0x3D, 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x86,
- 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04,
- 0x00, 0x08, 0xA4, 0x08, 0x86, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA5, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA5, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA7, 0x49,
- 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0xA6, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0xA6, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x3E, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x63, 0x73, 0x73, 0x00,
- 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAB, 0x08, 0xA9, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAA, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08,
- 0xAB, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x06, 0x00, 0x96,
- 0x02, 0x00, 0x05, 0x00, 0x3E, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E,
- 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07,
- 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x46,
- 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x56, 0x00, 0x96, 0x04,
- 0x00, 0x08, 0x7C, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x7C, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x79, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x52, 0x17, 0x99,
- 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00,
- 0x08, 0xAD, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73,
- 0x72, 0x63, 0x00, 0x6B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49,
- 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x41, 0x00, 0x96,
- 0x04, 0x00, 0x08, 0xAB, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAD, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x37, 0x08, 0xAB, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0xAA, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x94, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x90, 0x07, 0x67, 0x00, 0x00,
- 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x08, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x02, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08,
- 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x08, 0x78, 0x08, 0x76, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08,
- 0xAE, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xAF, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFA,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08,
- 0xB0, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0xAF, 0x1C, 0x1D, 0x96, 0x03, 0x00,
- 0x08, 0x13, 0x02, 0x1D, 0x96, 0x0D, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x02, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
- 0x17, 0x00
++ 0x4E, 0x9A, 0x01, 0x00, 0xC0, 0x8B, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x65, 0x9B, 0x10, 0x00, 0x00, 0x02,
++ 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x99, 0x00, 0x96, 0x04,
++ 0x00, 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96,
++ 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02,
++ 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00,
++ 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02, 0x00,
++ 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00,
++ 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A,
++ 0x01, 0x00, 0x40, 0x8B, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x66, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x84,
++ 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x67, 0x07, 0x01, 0x00,
++ 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
++ 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
++ 0x68, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
++ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
++ 0x96, 0x13, 0x00, 0x08, 0x69, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07,
++ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x84,
++ 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07, 0x07, 0x00,
++ 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
++ 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
++ 0x6A, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
++ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
++ 0x96, 0x13, 0x00, 0x08, 0x6B, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07,
++ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6C, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x07, 0x84,
++ 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6D, 0x07, 0x0E, 0x00,
++ 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
++ 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
++ 0x6E, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
++ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
++ 0x96, 0x13, 0x00, 0x08, 0x6F, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07,
++ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x70, 0x07, 0x11, 0x00, 0x00, 0x00, 0x07, 0x84,
++ 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x71, 0x07, 0x12, 0x00,
++ 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
++ 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
++ 0x72, 0x07, 0x13, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
++ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
++ 0x96, 0x13, 0x00, 0x08, 0x73, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07,
++ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x74, 0x07, 0x15, 0x00, 0x00, 0x00, 0x07, 0x84,
++ 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x75, 0x07, 0x00, 0x00,
++ 0x00, 0x00, 0x07, 0x85, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
++ 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
++ 0x76, 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
++ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x77, 0x08, 0x58,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08,
++ 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x08, 0x78, 0x07, 0x85, 0x03, 0x00, 0x00, 0x08, 0x58, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00,
++ 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x58, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17,
++ 0x96, 0x13, 0x00, 0x08, 0x79, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07,
++ 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x7A, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x68,
++ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x7B, 0x07, 0x68, 0x00,
++ 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
++ 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
++ 0x7C, 0x07, 0x69, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
++ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x7D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x6E,
++ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08,
++ 0x79, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00,
++ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
++ 0x7F, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13,
++ 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x80, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96,
++ 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08, 0x81, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3C,
++ 0x96, 0x02, 0x00, 0x08, 0x13, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D,
++ 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08,
++ 0x81, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x82, 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x81,
++ 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96,
++ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x83, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00,
++ 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07, 0x00, 0x00,
++ 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x85, 0x07,
++ 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x86, 0x9B, 0x0A,
++ 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x52, 0x4F,
++ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x52, 0x3E,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x9B, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x73, 0x74,
- 0x79, 0x6C, 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x01, 0x00, 0x02,
- 0x49, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x09, 0x00, 0x08,
- 0x8F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7D, 0x40, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x90, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x91, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x90, 0x4E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x93, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x92, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x94, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x05, 0x00, 0x4F, 0x99, 0x02,
- 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x05, 0x01,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x12, 0x9D, 0x02,
- 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95,
- 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x96, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x12,
- 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x95,
- 0x08, 0x8C, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x97, 0x08,
- 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x97, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x98, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0x99, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x52,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x12, 0x9D, 0x02,
- 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9C, 0x08, 0x89,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x9F, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x94, 0x49, 0x12, 0x9D, 0x02, 0x00,
- 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F, 0x05, 0x00, 0x4F,
- 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F,
- 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0xA1, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA2, 0x49, 0x9D, 0x02, 0x00, 0x25,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA0, 0x08, 0x89, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D,
- 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0xA0, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0xA0, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA3, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0xA3, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x96, 0x07, 0x00,
++ 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x88, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x61,
++ 0x6D, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02,
++ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F,
++ 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08,
++ 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
++ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C,
++ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8A,
++ 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96,
++ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00,
++ 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E,
++ 0x3C, 0x96, 0x07, 0x00, 0x08, 0x8D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96, 0x02, 0x00,
++ 0x08, 0x8C, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x25,
++ 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96,
++ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52,
++ 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x3E, 0x4F, 0x96, 0x02,
++ 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
++ 0x96, 0x02, 0x00, 0x08, 0x8A, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00,
++ 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x85, 0x4E, 0x12, 0x12,
++ 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x85,
++ 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x85, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07,
++ 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x52, 0x4F, 0x4F, 0x96,
++ 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30,
++ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x9B, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x73, 0x74, 0x79, 0x6C,
++ 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12,
++ 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x09, 0x00, 0x08, 0x8F, 0x07,
++ 0x00, 0x00, 0x00, 0x00, 0x08, 0x7D, 0x40, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x90, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C,
++ 0x96, 0x04, 0x00, 0x08, 0x91, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x90, 0x4E, 0x4F, 0x96,
++ 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x93,
++ 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x92, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x94, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02,
++ 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E,
++ 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x05, 0x01, 0x4F, 0x96,
++ 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x41,
++ 0x00, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x96,
++ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x96, 0x52,
++ 0x3C, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x12, 0x9D, 0x02,
++ 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x95, 0x08, 0x8C,
++ 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x97, 0x08, 0x89, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x97, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x98, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96,
++ 0x04, 0x00, 0x08, 0x99, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x96, 0x07, 0x00,
++ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x52, 0x4F, 0x96,
++ 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20,
++ 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9C, 0x08, 0x89, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D,
++ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x02, 0x00,
++ 0x08, 0x9F, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x94, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00,
++ 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F, 0x05, 0x00, 0x4F, 0x99, 0x02,
++ 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F, 0x05, 0x01,
++ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x02, 0x00,
++ 0x08, 0xA1, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA2, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96,
++ 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA0, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0xA0, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x99,
++ 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA0, 0x05,
++ 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00,
++ 0x08, 0xA0, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3,
++ 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00,
++ 0x08, 0xA3, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
++ 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0xA4, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96,
++ 0x04, 0x00, 0x08, 0xA5, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x96, 0x07, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA5, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x96,
++ 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F,
++ 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA6, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x96,
+ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA6, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA7, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00,
++ 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA8, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA7,
+ 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA7, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA8, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA7, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B,
- 0x00, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x4E, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x8C, 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAA, 0x08, 0x8C, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x49, 0x9D, 0x02,
- 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0xAD, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAC, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAC, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x8F, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x9B, 0x09, 0x00, 0x00, 0x01,
- 0x00, 0x63, 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0xAF, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB0, 0x52,
- 0x3C, 0x96, 0x02, 0x00, 0x08, 0xB1, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0xB2, 0x49, 0x12, 0x9D,
- 0x02, 0x00, 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0xB1, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
- 0x00, 0x56, 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xB1, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x82, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x8A, 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0xB3, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x4E, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09,
- 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C,
- 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99,
- 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB3, 0x52, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08, 0xB1, 0x1C, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0xB1, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0xB0, 0x07, 0x65, 0x00,
- 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x9A, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x96, 0x07, 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x02, 0x08, 0x79, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00,
- 0x08, 0x7E, 0x08, 0x79, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
- 0x17, 0x96, 0x13, 0x00, 0x08, 0xB4, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB5, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB6, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x04, 0x00, 0x08, 0xB7, 0x08, 0xB5,
- 0x1C, 0x1D, 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96, 0x0D, 0x00, 0x07, 0x06, 0x00, 0x00,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00,
- 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x00
++ 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B, 0x00, 0x96,
++ 0x04, 0x00, 0x08, 0x8C, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x4E, 0x96, 0x07, 0x00,
++ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00,
++ 0x00, 0x08, 0x8C, 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F,
++ 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAA, 0x08, 0x8C, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0xAB, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x49, 0x9D, 0x02, 0x00, 0x2B,
++ 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x4E, 0x96, 0x02, 0x00,
++ 0x08, 0xAD, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96,
++ 0x04, 0x00, 0x08, 0xAC, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08,
++ 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAC, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C,
++ 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02,
++ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x63,
++ 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0xAF, 0x1C, 0x96, 0x07, 0x00,
++ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB0, 0x52, 0x3C, 0x96,
++ 0x02, 0x00, 0x08, 0xB1, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0xB2, 0x49, 0x12, 0x9D, 0x02, 0x00,
++ 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x84, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
++ 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00,
++ 0x08, 0xB1, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x56,
++ 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB1,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
++ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C,
++ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8A,
++ 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02,
++ 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
++ 0x96, 0x04, 0x00, 0x08, 0xB3, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02,
++ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
++ 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
++ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E,
++ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E,
++ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00,
++ 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01,
++ 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01,
++ 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00,
++ 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
++ 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB3, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08,
++ 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08, 0xB1, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xB1,
++ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0xB0, 0x07, 0x65, 0x00, 0x00, 0x00,
++ 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
++ 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
++ 0x96, 0x13, 0x00, 0x08, 0x9A, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07,
++ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x96, 0x07,
++ 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
++ 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x02, 0x08, 0x79, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00,
++ 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x08, 0x7E,
++ 0x08, 0x79, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
++ 0x13, 0x00, 0x08, 0xB4, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02,
++ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB5, 0x07, 0x01, 0x00, 0x00,
++ 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96,
++ 0x13, 0x00, 0x08, 0xB6, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02,
++ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x04, 0x00, 0x08, 0xB7, 0x08, 0xB5, 0x1C, 0x1D,
++ 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96, 0x0D, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07,
++ 0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00,
++ 0x08, 0x05, 0x3D, 0x17, 0x00
};
diff-tree 5bd4a248279cf4d905d39d66b985477939ad7859 (from 9542a905aae401da5667b41fe9dd1c72093b961c)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 02:33:13 2007 +0300
Fix scaling of tabStops units in TextField
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 241829f..6276167 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -91,7 +91,7 @@ swfdec_text_paragraph_add_block_attribut
swfdec_as_array_get_value (format->tab_stops, i, &val);
g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val));
pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT,
- SWFDEC_AS_VALUE_GET_NUMBER (&val));
+ SWFDEC_AS_VALUE_GET_NUMBER (&val) * 20);
}
paragraph->blocks = g_list_append (paragraph->blocks, block);
diff-tree 9542a905aae401da5667b41fe9dd1c72093b961c (from afd138a8056f50c386060bc011c24db4264b7110)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 11 00:00:27 2007 +0300
Remove the removing of trailing spaces in TextField since it didn't work right
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 03b015b..7950cfc 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -109,7 +109,7 @@ swfdec_edit_text_render (SwfdecEditText
for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
{
int height, width;
- guint length, trailing_space;
+ guint length;
SwfdecBlock *block;
PangoAttrList *attr_list;
@@ -200,13 +200,8 @@ swfdec_edit_text_render (SwfdecEditText
pango_attr_list_unref (attr_list);
attr_list = NULL;
- trailing_space = 0;
- while (g_ascii_isspace (*(paragraphs[i].text +
- paragraphs[i].text_length - trailing_space - 1))) {
- trailing_space++;
- }
pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
- paragraphs[i].text_length - block->index_ - skip - trailing_space);
+ paragraphs[i].text_length - block->index_ - skip);
if (iter->next != NULL)
{
@@ -218,19 +213,9 @@ swfdec_edit_text_render (SwfdecEditText
NULL);
line = pango_layout_get_line_readonly (layout, line_num);
skip_new = line->start_index + line->length - (length - skip);
- if ((guint)(line->start_index + line->length) ==
- paragraphs[i].text_length - block->index_ - skip) {
- skip_new += trailing_space;
- } else {
- trailing_space = 0;
- while (g_ascii_isspace (*(paragraphs[i].text + block->index_ + skip +
- (length - skip + skip_new) - trailing_space - 1))) {
- trailing_space++;
- }
- }
pango_layout_set_text (layout,
paragraphs[i].text + block->index_ + skip,
- length - skip + skip_new - trailing_space);
+ length - skip + skip_new);
skip = skip_new;
}
else
diff-tree afd138a8056f50c386060bc011c24db4264b7110 (from db84d1ca8f7e91c6cacefd8a5ec821a76bdb90be)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Wed Oct 10 23:57:11 2007 +0300
Don't allow smaller fontsizes than 1 in TextField
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index d124972..241829f 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -158,7 +158,8 @@ swfdec_edit_text_movie_generate_paragrap
format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
attr_letter_spacing->start_index = 0;
- attr_size = pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
+ attr_size =
+ pango_attr_size_new_absolute (MAX (format->size, 1) * 20 * PANGO_SCALE);
attr_size->start_index = 0;
attr_underline = pango_attr_underline_new (
@@ -240,7 +241,7 @@ swfdec_edit_text_movie_generate_paragrap
swfdec_text_paragraph_add_attribute (paragraph, attr_size);
attr_size =
- pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
+ pango_attr_size_new_absolute (MAX (1, format->size) * 20 * PANGO_SCALE);
attr_size->start_index = index_ - start_index;
}
diff-tree db84d1ca8f7e91c6cacefd8a5ec821a76bdb90be (from f60d68fe3354e7686d2cfb781d10137bdc9299ee)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Wed Oct 10 23:50:09 2007 +0300
Support indent and leading correctly in TextField
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 0946292..03b015b 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -132,21 +132,31 @@ swfdec_edit_text_render (SwfdecEditText
SWFDEC_GRAPHIC (text)->extents.x0 - block->left_margin -
block->right_margin - block->block_indent;
+ if (block->index_ == 0 && paragraphs[i].indent < 0) {
+ cairo_rel_move_to (cr, paragraphs[i].indent / PANGO_SCALE, 0);
+ width += -paragraphs[i].indent / PANGO_SCALE;
+ }
+
pango_cairo_update_layout (cr, layout);
pango_layout_context_changed (layout);
pango_layout_set_width (layout, width * PANGO_SCALE);
// set paragraph styles
+ if (block->index_ == 0) {
+ pango_layout_set_indent (layout, paragraphs[i].indent);
+ // TODO: bullet
+ } else {
+ pango_layout_set_indent (layout, 0);
+ }
+
+ // set block styles
pango_layout_set_alignment (layout, block->align);
pango_layout_set_justify (layout, block->justify);
- pango_layout_set_indent (layout, block->indent);
pango_layout_set_spacing (layout, block->leading);
pango_layout_set_tabs (layout, block->tab_stops);
- // TODO: bullet
// set text attributes
- if (block->index_ + skip > 0 ||
- !swfdec_color_transform_is_identity (trans))
+ if (block->index_ > 0 || !swfdec_color_transform_is_identity (trans))
{
GList *iter_attrs;
@@ -208,7 +218,7 @@ swfdec_edit_text_render (SwfdecEditText
NULL);
line = pango_layout_get_line_readonly (layout, line_num);
skip_new = line->start_index + line->length - (length - skip);
- if (line->start_index + line->length ==
+ if ((guint)(line->start_index + line->length) ==
paragraphs[i].text_length - block->index_ - skip) {
skip_new += trailing_space;
} else {
@@ -232,7 +242,9 @@ swfdec_edit_text_render (SwfdecEditText
pango_layout_get_pixel_size (layout, NULL, &height);
cairo_rel_move_to (cr, -(block->left_margin + block->block_indent),
- height);
+ height + block->leading / PANGO_SCALE);
+ if (block->index_ == 0 && paragraphs[i].indent < 0)
+ cairo_rel_move_to (cr, -paragraphs[i].indent / PANGO_SCALE, 0);
}
}
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 3b21d10..1d8f7e5 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -43,8 +43,6 @@ typedef struct {
PangoAlignment align;
gboolean justify;
- gboolean bullet;
- int indent;
int leading;
int block_indent;
int left_margin;
@@ -56,6 +54,9 @@ typedef struct {
const char *text;
guint text_length;
+ gboolean bullet;
+ int indent;
+
GList * blocks; // SwfdecBlock
GList * attrs; // PangoAttribute
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 4eaaa76..d124972 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -80,8 +80,6 @@ swfdec_text_paragraph_add_block_attribut
block->justify = TRUE;
break;
}
- block->bullet = format->bullet;
- block->indent = format->indent * 20;
block->leading = format->leading * 20 * PANGO_SCALE;
block->block_indent = format->block_indent * 20;
block->left_margin = format->left_margin * 20;
@@ -130,6 +128,10 @@ swfdec_edit_text_movie_generate_paragrap
index_ = start_index;
format = ((SwfdecFormatIndex *)(iter->data))->format;
+ // Paragraph formats
+ paragraph->bullet = format->bullet;
+ paragraph->indent = format->indent * 20 * PANGO_SCALE;
+
// Add new block
swfdec_text_paragraph_add_block_attributes (paragraph, 0, format);
diff-tree f60d68fe3354e7686d2cfb781d10137bdc9299ee (from 70f2d6114399d0ef3cad61f25a334e869c67ac98)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Wed Oct 10 23:24:53 2007 +0300
Don't render trailing space in TextField
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index c150b4a..0946292 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -109,7 +109,7 @@ swfdec_edit_text_render (SwfdecEditText
for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
{
int height, width;
- guint length;
+ guint length, trailing_space;
SwfdecBlock *block;
PangoAttrList *attr_list;
@@ -190,8 +190,13 @@ swfdec_edit_text_render (SwfdecEditText
pango_attr_list_unref (attr_list);
attr_list = NULL;
+ trailing_space = 0;
+ while (g_ascii_isspace (*(paragraphs[i].text +
+ paragraphs[i].text_length - trailing_space - 1))) {
+ trailing_space++;
+ }
pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
- paragraphs[i].text_length - block->index_ - skip);
+ paragraphs[i].text_length - block->index_ - skip - trailing_space);
if (iter->next != NULL)
{
@@ -203,9 +208,19 @@ swfdec_edit_text_render (SwfdecEditText
NULL);
line = pango_layout_get_line_readonly (layout, line_num);
skip_new = line->start_index + line->length - (length - skip);
+ if (line->start_index + line->length ==
+ paragraphs[i].text_length - block->index_ - skip) {
+ skip_new += trailing_space;
+ } else {
+ trailing_space = 0;
+ while (g_ascii_isspace (*(paragraphs[i].text + block->index_ + skip +
+ (length - skip + skip_new) - trailing_space - 1))) {
+ trailing_space++;
+ }
+ }
pango_layout_set_text (layout,
paragraphs[i].text + block->index_ + skip,
- length - skip + skip_new);
+ length - skip + skip_new - trailing_space);
skip = skip_new;
}
else
diff-tree 70f2d6114399d0ef3cad61f25a334e869c67ac98 (from 63c5d9d5f171aee080d1c3600f4b0e802c3a4d0f)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Wed Oct 10 22:53:12 2007 +0300
Fix setting of colors in TextField and apply color transforms
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 77de576..c150b4a 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -88,7 +88,6 @@ swfdec_edit_text_render (SwfdecEditText
{
PangoLayout *layout;
guint i;
- //SwfdecColor color;
g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
g_return_if_fail (cr != NULL);
@@ -99,16 +98,12 @@ swfdec_edit_text_render (SwfdecEditText
cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
SWFDEC_GRAPHIC (text)->extents.y0);
- /*color = swfdec_color_apply_transform (text->color, trans);
- swfdec_color_set_source (cr, color);*/
-
layout = pango_cairo_create_layout (cr);
for (i = 0; paragraphs[i].text != NULL; i++)
{
GList *iter;
guint skip;
- int block_num = 0;
skip = 0;
for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
@@ -150,7 +145,9 @@ swfdec_edit_text_render (SwfdecEditText
// TODO: bullet
// set text attributes
- if (block->index_ + skip > 0) {
+ if (block->index_ + skip > 0 ||
+ !swfdec_color_transform_is_identity (trans))
+ {
GList *iter_attrs;
attr_list = pango_attr_list_new ();
@@ -166,9 +163,24 @@ swfdec_edit_text_render (SwfdecEditText
continue;
attr = pango_attribute_copy (attr);
+ if (attr->klass->type == PANGO_ATTR_FOREGROUND &&
+ !swfdec_color_transform_is_identity (trans))
+ {
+ PangoColor pcolor;
+ SwfdecColor color;
+
+ pcolor = ((PangoAttrColor *)attr)->color;
+ color = SWFDEC_COLOR_COMBINE (pcolor.red >> 8, pcolor.green >> 8,
+ pcolor.blue >> 8, 255);
+ color = swfdec_color_apply_transform (color, trans);
+ pcolor.red = SWFDEC_COLOR_R (color) << 8;
+ pcolor.green = SWFDEC_COLOR_G (color) << 8;
+ pcolor.blue = SWFDEC_COLOR_B (color) << 8;
+ ((PangoAttrColor *)attr)->color = pcolor;
+ }
attr->start_index = (attr->start_index > block->index_ + skip ?
- attr->start_index - block->index_ + skip : 0);
- attr->end_index = attr->end_index - block->index_ + skip;
+ attr->start_index - (block->index_ + skip) : 0);
+ attr->end_index = attr->end_index - (block->index_ + skip);
pango_attr_list_insert (attr_list, attr);
}
} else {
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index dd9484a..4eaaa76 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -138,8 +138,9 @@ swfdec_edit_text_movie_generate_paragrap
(format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
attr_bold->start_index = 0;
- attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
- SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
+ attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color) * 255,
+ SWFDEC_COLOR_G (format->color) * 255,
+ SWFDEC_COLOR_B (format->color) * 255);
attr_color->start_index = 0;
if (text->text->embed_fonts)
@@ -196,8 +197,10 @@ swfdec_edit_text_movie_generate_paragrap
attr_color->end_index = index_ - start_index;
swfdec_text_paragraph_add_attribute (paragraph, attr_color);
- attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
- SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
+ attr_color = pango_attr_foreground_new (
+ SWFDEC_COLOR_R (format->color) * 255,
+ SWFDEC_COLOR_G (format->color) * 255,
+ SWFDEC_COLOR_B (format->color) * 255);
attr_color->start_index = index_ - start_index;
}
diff-tree 63c5d9d5f171aee080d1c3600f4b0e802c3a4d0f (from ab9704c5e59616aefc727d7e1bb91104b5e93375)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Wed Oct 10 21:21:54 2007 +0300
Rewrite some of TextField's rendering code again
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index f8527d5..77de576 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -83,20 +83,16 @@ swfdec_edit_text_init (SwfdecEditText *
void
swfdec_edit_text_render (SwfdecEditText *text, cairo_t *cr,
- const SwfdecTextRenderBlock *blocks, const SwfdecColorTransform *trans,
+ const SwfdecParagraph *paragraphs, const SwfdecColorTransform *trans,
const SwfdecRect *inval)
{
- guint i, j;
PangoLayout *layout;
- PangoAttrList *attrs;
- guint width;
- int height, extra_chars, line_num;
- PangoLayoutLine *line;
+ guint i;
//SwfdecColor color;
g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
g_return_if_fail (cr != NULL);
- g_return_if_fail (blocks != NULL);
+ g_return_if_fail (paragraphs != NULL);
g_return_if_fail (trans != NULL);
g_return_if_fail (inval != NULL);
@@ -108,57 +104,109 @@ swfdec_edit_text_render (SwfdecEditText
layout = pango_cairo_create_layout (cr);
- extra_chars = 0;
- for (i = 0; blocks[i].text != NULL; i++) {
- cairo_rel_move_to (cr, blocks[i].left_margin + blocks[i].block_indent, 0);
- width = SWFDEC_GRAPHIC (text)->extents.x1 -
- SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
- blocks[i].right_margin - blocks[i].block_indent;
-
- pango_cairo_update_layout (cr, layout);
- pango_layout_set_width (layout, width * PANGO_SCALE);
-
- // TODO: bullet
-
- pango_layout_set_alignment (layout, blocks[i].align);
- pango_layout_set_justify (layout, blocks[i].justify);
- pango_layout_set_indent (layout, blocks[i].indent);
- pango_layout_set_spacing (layout, blocks[i].leading);
- pango_layout_set_tabs (layout, blocks[i].tab_stops);
-
- if (!blocks[i].end_paragraph) {
- int prev_extra_chars = extra_chars;
- extra_chars = 0;
- attrs = pango_attr_list_copy (blocks[i].attrs);
- for (j = i + 1; blocks[j].text != NULL && !blocks[j-1].end_paragraph; j++)
+ for (i = 0; paragraphs[i].text != NULL; i++)
+ {
+ GList *iter;
+ guint skip;
+ int block_num = 0;
+
+ skip = 0;
+ for (iter = paragraphs[i].blocks; iter != NULL; iter = iter->next)
+ {
+ int height, width;
+ guint length;
+ SwfdecBlock *block;
+ PangoAttrList *attr_list;
+
+ block = (SwfdecBlock *)iter->data;
+ if (iter->next != NULL) {
+ length =
+ ((SwfdecBlock *)(iter->next->data))->index_ - block->index_;
+ } else {
+ length = paragraphs[i].text_length - block->index_;
+ }
+
+ if (skip > length) {
+ skip -= length;
+ continue;
+ }
+
+ // update position
+ cairo_rel_move_to (cr, block->left_margin + block->block_indent, 0);
+ width = SWFDEC_GRAPHIC (text)->extents.x1 -
+ SWFDEC_GRAPHIC (text)->extents.x0 - block->left_margin -
+ block->right_margin - block->block_indent;
+
+ pango_cairo_update_layout (cr, layout);
+ pango_layout_context_changed (layout);
+ pango_layout_set_width (layout, width * PANGO_SCALE);
+
+ // set paragraph styles
+ pango_layout_set_alignment (layout, block->align);
+ pango_layout_set_justify (layout, block->justify);
+ pango_layout_set_indent (layout, block->indent);
+ pango_layout_set_spacing (layout, block->leading);
+ pango_layout_set_tabs (layout, block->tab_stops);
+ // TODO: bullet
+
+ // set text attributes
+ if (block->index_ + skip > 0) {
+ GList *iter_attrs;
+
+ attr_list = pango_attr_list_new ();
+
+ for (iter_attrs = paragraphs[i].attrs; iter_attrs != NULL;
+ iter_attrs = iter_attrs->next)
+ {
+ PangoAttribute *attr;
+
+ attr = (PangoAttribute *)iter_attrs->data;
+
+ if (attr->end_index <= block->index_ + skip)
+ continue;
+
+ attr = pango_attribute_copy (attr);
+ attr->start_index = (attr->start_index > block->index_ + skip ?
+ attr->start_index - block->index_ + skip : 0);
+ attr->end_index = attr->end_index - block->index_ + skip;
+ pango_attr_list_insert (attr_list, attr);
+ }
+ } else {
+ attr_list = pango_attr_list_copy (paragraphs[i].attrs_list);
+ }
+ pango_layout_set_attributes (layout, attr_list);
+ pango_attr_list_unref (attr_list);
+ attr_list = NULL;
+
+ pango_layout_set_text (layout, paragraphs[i].text + block->index_ + skip,
+ paragraphs[i].text_length - block->index_ - skip);
+
+ if (iter->next != NULL)
{
- pango_attr_list_splice (attrs, blocks[j].attrs,
- blocks[i].text_length + extra_chars, blocks[j].text_length);
- extra_chars += blocks[j].text_length;
+ PangoLayoutLine *line;
+ int line_num;
+ guint skip_new;
+
+ pango_layout_index_to_line_x (layout, length - skip, FALSE, &line_num,
+ NULL);
+ line = pango_layout_get_line_readonly (layout, line_num);
+ skip_new = line->start_index + line->length - (length - skip);
+ pango_layout_set_text (layout,
+ paragraphs[i].text + block->index_ + skip,
+ length - skip + skip_new);
+ skip = skip_new;
+ }
+ else
+ {
+ skip = 0;
}
- pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
- blocks[i].text_length + extra_chars - prev_extra_chars);
- pango_layout_set_attributes (layout, attrs);
- pango_attr_list_unref (attrs);
- attrs = NULL;
-
- pango_layout_index_to_line_x (layout,
- blocks[i].text_length - prev_extra_chars, FALSE, &line_num, NULL);
- line = pango_layout_get_line_readonly (layout, line_num);
- extra_chars = line->start_index + line->length - (blocks[i].text_length - prev_extra_chars);
- pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
- blocks[i].text_length + extra_chars - prev_extra_chars);
- } else {
- pango_layout_set_text (layout, blocks[i].text + extra_chars, blocks[i].text_length - extra_chars);
- pango_layout_set_attributes (layout, blocks[i].attrs);
- extra_chars = 0;
- }
- pango_cairo_show_layout (cr, layout);
+ pango_cairo_show_layout (cr, layout);
- pango_layout_get_pixel_size (layout, NULL, &height);
- cairo_rel_move_to (cr, -(blocks[i].left_margin + blocks[i].block_indent),
- height);
+ pango_layout_get_pixel_size (layout, NULL, &height);
+ cairo_rel_move_to (cr, -(block->left_margin + block->block_indent),
+ height);
+ }
}
g_object_unref (layout);
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 1419979..3b21d10 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -39,10 +39,7 @@ typedef struct _SwfdecEditTextClass Swfd
#define SWFDEC_EDIT_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_EDIT_TEXT, SwfdecEditTextClass))
typedef struct {
- const char *text;
- int text_length;
-
- gboolean end_paragraph;
+ guint index_;
PangoAlignment align;
gboolean justify;
@@ -53,9 +50,17 @@ typedef struct {
int left_margin;
int right_margin;
PangoTabArray * tab_stops;
+} SwfdecBlock;
+
+typedef struct {
+ const char *text;
+ guint text_length;
+
+ GList * blocks; // SwfdecBlock
- PangoAttrList * attrs;
-} SwfdecTextRenderBlock;
+ GList * attrs; // PangoAttribute
+ PangoAttrList * attrs_list;
+} SwfdecParagraph;
typedef enum {
SWFDEC_AUTO_SIZE_NONE,
@@ -108,7 +113,7 @@ int tag_func_define_edit_text (SwfdecS
void swfdec_edit_text_render (SwfdecEditText * text,
cairo_t * cr,
- const SwfdecTextRenderBlock * blocks,
+ const SwfdecParagraph * paragraphs,
const SwfdecColorTransform * trans,
const SwfdecRect * rect);
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 0f21a26..dd9484a 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -42,33 +42,25 @@ swfdec_edit_text_movie_update_extents (S
}
static void
-swfdec_edit_text_movie_generate_render_block (SwfdecEditTextMovie *text,
- SwfdecTextRenderBlock *block, guint start_index, guint end_index)
+swfdec_text_paragraph_add_attribute (SwfdecParagraph *paragraph,
+ PangoAttribute *attr)
+{
+ paragraph->attrs = g_list_append (paragraph->attrs,
+ pango_attribute_copy (attr));
+ pango_attr_list_insert (paragraph->attrs_list, attr);
+}
+
+static void
+swfdec_text_paragraph_add_block_attributes (SwfdecParagraph *paragraph,
+ int index_, SwfdecTextFormat *format)
{
- SwfdecTextFormat *format, *format_prev;
- guint index_;
- GSList *iter;
gint32 length, i;
+ SwfdecBlock *block;
SwfdecAsValue val;
- PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
- *attr_letter_spacing, *attr_size, *attr_underline;
- // TODO: kerning
-
- g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
- g_assert (block != NULL);
- g_assert (start_index < end_index);
- g_assert (end_index <= strlen (text->text_display));
- block->text = text->text_display + start_index;
- block->text_length = end_index - start_index;
+ block = g_new0 (SwfdecBlock, 1);
- g_assert (text->formats != NULL);
- for (iter = text->formats; iter->next != NULL &&
- ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
- iter = iter->next);
-
- index_ = start_index;
- format = ((SwfdecFormatIndex *)(iter->data))->format;
+ block->index_ = index_;
switch (format->align) {
case SWFDEC_TEXT_ALIGN_LEFT:
@@ -104,7 +96,42 @@ swfdec_edit_text_movie_generate_render_b
SWFDEC_AS_VALUE_GET_NUMBER (&val));
}
- block->attrs = pango_attr_list_new ();
+ paragraph->blocks = g_list_append (paragraph->blocks, block);
+}
+
+static void
+swfdec_edit_text_movie_generate_paragraph (SwfdecEditTextMovie *text,
+ SwfdecParagraph *paragraph, guint start_index, guint end_index)
+{
+ SwfdecTextFormat *format, *format_prev;
+ guint index_;
+ GSList *iter;
+ PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
+ *attr_letter_spacing, *attr_size, *attr_underline;
+ // TODO: kerning
+
+ g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+ g_assert (paragraph != NULL);
+ g_assert (start_index < end_index);
+ g_assert (end_index <= strlen (text->text_display));
+
+ paragraph->text = text->text_display + start_index;
+ paragraph->text_length = end_index - start_index;
+
+ paragraph->blocks = NULL;
+ paragraph->attrs = NULL;
+ paragraph->attrs_list = pango_attr_list_new ();
+
+ g_assert (text->formats != NULL);
+ for (iter = text->formats; iter->next != NULL &&
+ ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+ iter = iter->next);
+
+ index_ = start_index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ // Add new block
+ swfdec_text_paragraph_add_block_attributes (paragraph, 0, format);
// Open attributes
attr_bold = pango_attr_weight_new (
@@ -143,10 +170,22 @@ swfdec_edit_text_movie_generate_render_b
index_ = ((SwfdecFormatIndex *)(iter->data))->index;
format = ((SwfdecFormatIndex *)(iter->data))->format;
+ // Add new block if necessary
+ if (format_prev->align != format->align ||
+ format_prev->bullet != format->bullet ||
+ format_prev->indent != format->indent ||
+ format_prev->leading != format->leading ||
+ format_prev->block_indent != format->block_indent ||
+ format_prev->left_margin != format->left_margin)
+ {
+ swfdec_text_paragraph_add_block_attributes (paragraph,
+ index_ - start_index, format);
+ }
+
// Change attributes if necessary
if (format_prev->bold != format->bold) {
attr_bold->end_index = index_ - start_index;
- pango_attr_list_insert (block->attrs, attr_bold);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
attr_bold = pango_attr_weight_new (
(format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
@@ -155,7 +194,7 @@ swfdec_edit_text_movie_generate_render_b
if (format_prev->color != format->color) {
attr_color->end_index = index_ - start_index;
- pango_attr_list_insert (block->attrs, attr_color);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_color);
attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
@@ -164,7 +203,7 @@ swfdec_edit_text_movie_generate_render_b
if (format_prev->font != format->font) {
attr_font->end_index = index_ - start_index;
- pango_attr_list_insert (block->attrs, attr_font);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_font);
if (text->text->embed_fonts)
SWFDEC_FIXME ("Using embed fonts in TextField not supported");
@@ -174,7 +213,7 @@ swfdec_edit_text_movie_generate_render_b
if (format_prev->italic != format->italic) {
attr_italic->end_index = index_ - start_index;
- pango_attr_list_insert (block->attrs, attr_italic);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
attr_italic = pango_attr_style_new (
(format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
@@ -183,7 +222,7 @@ swfdec_edit_text_movie_generate_render_b
if (format_prev->letter_spacing != format->letter_spacing) {
attr_letter_spacing->end_index = index_ - start_index;
- pango_attr_list_insert (block->attrs, attr_letter_spacing);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
// FIXME: correct scaling?
attr_letter_spacing = pango_attr_letter_spacing_new (
@@ -193,7 +232,7 @@ swfdec_edit_text_movie_generate_render_b
if (format_prev->size != format->size) {
attr_size->end_index = index_ - start_index;
- pango_attr_list_insert (block->attrs, attr_size);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_size);
attr_size =
pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
@@ -202,7 +241,7 @@ swfdec_edit_text_movie_generate_render_b
if (format_prev->underline != format->underline) {
attr_underline->end_index = index_ - start_index;
- pango_attr_list_insert (block->attrs, attr_underline);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
attr_underline = pango_attr_underline_new (
(format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
@@ -212,83 +251,53 @@ swfdec_edit_text_movie_generate_render_b
// Close attributes
attr_bold->end_index = end_index - start_index;
- pango_attr_list_insert (block->attrs, attr_bold);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_bold);
attr_bold = NULL;
attr_color->end_index = end_index - start_index;
- pango_attr_list_insert (block->attrs, attr_color);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_color);
attr_color = NULL;
attr_font->end_index = end_index - start_index;
- pango_attr_list_insert (block->attrs, attr_font);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_font);
attr_font = NULL;
attr_italic->end_index = end_index - start_index;
- pango_attr_list_insert (block->attrs, attr_italic);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_italic);
attr_italic = NULL;
attr_letter_spacing->end_index = end_index - start_index;
- pango_attr_list_insert (block->attrs, attr_letter_spacing);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_letter_spacing);
attr_letter_spacing = NULL;
attr_size->end_index = end_index - start_index;
- pango_attr_list_insert (block->attrs, attr_size);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_size);
attr_size = NULL;
attr_underline->end_index = end_index - start_index;
- pango_attr_list_insert (block->attrs, attr_underline);
+ swfdec_text_paragraph_add_attribute (paragraph, attr_underline);
attr_underline = NULL;
}
static void
-swfdec_edit_text_movie_generate_render_blocks (SwfdecEditTextMovie *text)
+swfdec_edit_text_movie_generate_paragraphs (SwfdecEditTextMovie *text)
{
const char *p, *end;
- SwfdecTextFormat *format, *format_prev;
- GSList *iter;
int num, i;
g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
num = 0;
- iter = text->formats;
- format = ((SwfdecFormatIndex *)(iter->data))->format;
p = text->text_display;
- while (p != NULL && *p != '\0') {
+ while (p != NULL) {
num++;
- end = strchr (p, '\r');
- if (end == NULL)
- end = strchr (p, '\0');
-
- while (iter != NULL &&
- ((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
- {
- format_prev = format;
- format = ((SwfdecFormatIndex *)(iter->data))->format;
-
- if (format_prev->align != format->align ||
- format_prev->bullet != format->bullet ||
- format_prev->indent != format->indent ||
- format_prev->leading != format->leading ||
- format_prev->block_indent != format->block_indent ||
- format_prev->left_margin != format->left_margin)
- {
- end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
- break;
- }
-
- iter = iter->next;
- }
-
- p = end;
- if (*p == '\r') p++;
+ p = strchr (p, '\r');
+ if (p != NULL) p++;
}
- text->blocks = g_new0 (SwfdecTextRenderBlock, num + 1);
+ text->paragraphs = g_new0 (SwfdecParagraph, num + 1);
i = 0;
- iter = text->formats;
- format = ((SwfdecFormatIndex *)(iter->data))->format;
p = text->text_display;
while (*p != '\0') {
g_assert (i < num);
@@ -296,29 +305,8 @@ swfdec_edit_text_movie_generate_render_b
if (end == NULL)
end = strchr (p, '\0');
- while (iter != NULL &&
- ((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
- {
- format_prev = format;
- format = ((SwfdecFormatIndex *)(iter->data))->format;
-
- if (format_prev->align != format->align ||
- format_prev->bullet != format->bullet ||
- format_prev->indent != format->indent ||
- format_prev->leading != format->leading ||
- format_prev->block_indent != format->block_indent ||
- format_prev->left_margin != format->left_margin)
- {
- end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
- break;
- }
-
- iter = iter->next;
- }
-
- swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i],
+ swfdec_edit_text_movie_generate_paragraph (text, &text->paragraphs[i],
p - text->text_display, end - text->text_display);
- text->blocks[i].end_paragraph = (*end == '\r' || *end == '\0');
p = end;
if (*p == '\r') p++;
@@ -334,47 +322,44 @@ swfdec_edit_text_movie_render (SwfdecMov
{
SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
- if (text->blocks == NULL)
- swfdec_edit_text_movie_generate_render_blocks (text);
+ if (text->paragraphs == NULL)
+ swfdec_edit_text_movie_generate_paragraphs (text);
- if (text->blocks[0].text == NULL)
+ if (text->paragraphs[0].text == NULL)
return;
- swfdec_edit_text_render (text->text, cr, text->blocks, trans, inval);
+ swfdec_edit_text_render (text->text, cr, text->paragraphs, trans, inval);
}
-void
-swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie *text)
+static void
+swfdec_edit_text_movie_free_paragraphs (SwfdecEditTextMovie *text)
{
int i;
- if (text->blocks != NULL) {
- for (i = 0; text->blocks[i].text != NULL; i++) {
- // tabs
- pango_attr_list_unref (text->blocks[i].attrs);
+ if (text->paragraphs) {
+ for (i = 0; text->paragraphs[i].text != NULL; i++) {
+ // FIXME
+ /*if (text->paragraphs[i].tab_stops != NULL)
+ pango_tab_array_free (text->paragraphs[i].tab_stops);*/
+ if (text->paragraphs[i].attrs_list != NULL)
+ pango_attr_list_unref (text->paragraphs[i].attrs_list);
}
- g_free (text->blocks);
- text->blocks = NULL;
-
- swfdec_movie_invalidate (SWFDEC_MOVIE (text));
+ g_free (text->paragraphs);
+ text->paragraphs = NULL;
}
}
+void
+swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie *text)
+{
+ swfdec_edit_text_movie_free_paragraphs (text);
+}
+
static void
swfdec_edit_text_movie_dispose (GObject *object)
{
- int i;
SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (object);
- if (text->blocks) {
- for (i = 0; text->blocks[i].text != NULL; i++) {
- if (text->blocks[i].attrs != NULL)
- pango_attr_list_unref (text->blocks[i].attrs);
- if (text->blocks[i].tab_stops != NULL)
- pango_tab_array_free (text->blocks[i].tab_stops);
- }
- g_free (text->blocks);
- text->blocks = NULL;
- }
+ swfdec_edit_text_movie_free_paragraphs (text);
G_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->dispose (object);
}
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index b589cdb..9f0b6a9 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -81,7 +81,7 @@ struct _SwfdecEditTextMovie {
int thickness;
/* for rendering */
- SwfdecTextRenderBlock *blocks;
+ SwfdecParagraph * paragraphs;
};
struct _SwfdecEditTextMovieClass {
diff-tree ab9704c5e59616aefc727d7e1bb91104b5e93375 (from parents)
Merge: ca62a68fa3e8625d07e1b9281cff0fb2891516fa 94783c22d4b2b4c2afc98835db2a7333b4dd59a8
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Wed Oct 10 14:33:33 2007 +0300
Merge branch 'master' into textfield
Conflicts:
libswfdec/swfdec_edittext.h
libswfdec/swfdec_edittext_movie.c
libswfdec/swfdec_html_parser.c
libswfdec/swfdec_initialize.as
libswfdec/swfdec_initialize.h
diff --cc libswfdec/Makefile.am
index 1a80e27,428a3a9..19edb60
@@@ -60,9 -61,9 +61,10 @@@
swfdec_color_as.c \
swfdec_debug.c \
swfdec_decoder.c \
+ swfdec_draw.c \
swfdec_edittext.c \
swfdec_edittext_movie.c \
+ swfdec_edittext_movie_as.c \
swfdec_enums.c \
swfdec_event.c \
swfdec_file_loader.c \
diff --cc libswfdec/swfdec_edittext.c
index 8d915ce,ed641e8..f8527d5
@@@ -81,92 -82,6 +81,89 @@@
text->max_length = G_MAXUINT;
}
+void
+swfdec_edit_text_render (SwfdecEditText *text, cairo_t *cr,
+ const SwfdecTextRenderBlock *blocks, const SwfdecColorTransform *trans,
- const SwfdecRect *inval, gboolean fill)
++ const SwfdecRect *inval)
+{
+ guint i, j;
+ PangoLayout *layout;
+ PangoAttrList *attrs;
+ guint width;
+ int height, extra_chars, line_num;
+ PangoLayoutLine *line;
+ //SwfdecColor color;
+
+ g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
+ g_return_if_fail (cr != NULL);
+ g_return_if_fail (blocks != NULL);
+ g_return_if_fail (trans != NULL);
+ g_return_if_fail (inval != NULL);
+
+ cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+ SWFDEC_GRAPHIC (text)->extents.y0);
+
+ /*color = swfdec_color_apply_transform (text->color, trans);
+ swfdec_color_set_source (cr, color);*/
+
+ layout = pango_cairo_create_layout (cr);
+
+ extra_chars = 0;
+ for (i = 0; blocks[i].text != NULL; i++) {
+ cairo_rel_move_to (cr, blocks[i].left_margin + blocks[i].block_indent, 0);
+ width = SWFDEC_GRAPHIC (text)->extents.x1 -
+ SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
+ blocks[i].right_margin - blocks[i].block_indent;
+
+ pango_cairo_update_layout (cr, layout);
+ pango_layout_set_width (layout, width * PANGO_SCALE);
+
+ // TODO: bullet
+
+ pango_layout_set_alignment (layout, blocks[i].align);
+ pango_layout_set_justify (layout, blocks[i].justify);
+ pango_layout_set_indent (layout, blocks[i].indent);
+ pango_layout_set_spacing (layout, blocks[i].leading);
+ pango_layout_set_tabs (layout, blocks[i].tab_stops);
+
+ if (!blocks[i].end_paragraph) {
+ int prev_extra_chars = extra_chars;
+ extra_chars = 0;
+ attrs = pango_attr_list_copy (blocks[i].attrs);
+ for (j = i + 1; blocks[j].text != NULL && !blocks[j-1].end_paragraph; j++)
+ {
+ pango_attr_list_splice (attrs, blocks[j].attrs,
+ blocks[i].text_length + extra_chars, blocks[j].text_length);
+ extra_chars += blocks[j].text_length;
+ }
+ pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
+ blocks[i].text_length + extra_chars - prev_extra_chars);
+ pango_layout_set_attributes (layout, attrs);
+ pango_attr_list_unref (attrs);
+ attrs = NULL;
+
+ pango_layout_index_to_line_x (layout,
+ blocks[i].text_length - prev_extra_chars, FALSE, &line_num, NULL);
+ line = pango_layout_get_line_readonly (layout, line_num);
+ extra_chars = line->start_index + line->length - (blocks[i].text_length - prev_extra_chars);
+ pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
+ blocks[i].text_length + extra_chars - prev_extra_chars);
+ } else {
+ pango_layout_set_text (layout, blocks[i].text + extra_chars, blocks[i].text_length - extra_chars);
+ pango_layout_set_attributes (layout, blocks[i].attrs);
+ extra_chars = 0;
+ }
+
- if (fill)
- pango_cairo_show_layout (cr, layout);
- else
- pango_cairo_layout_path (cr, layout);
++ pango_cairo_show_layout (cr, layout);
+
+ pango_layout_get_pixel_size (layout, NULL, &height);
+ cairo_rel_move_to (cr, -(blocks[i].left_margin + blocks[i].block_indent),
+ height);
+ }
+
+ g_object_unref (layout);
+}
+
int
tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
{
diff --cc libswfdec/swfdec_edittext.h
index 795d5bc,23405c2..1419979
@@@ -106,12 -80,18 +106,11 @@@
int tag_func_define_edit_text (SwfdecSwfDecoder * s,
guint tag);
-/* implemented in swfdec_html_parser.c */
-SwfdecParagraph * swfdec_paragraph_html_parse (SwfdecEditText * text,
- const char * str);
-SwfdecParagraph * swfdec_paragraph_text_parse (SwfdecEditText * text,
- const char * str);
-void swfdec_paragraph_free (SwfdecParagraph * paragraphs);
void swfdec_edit_text_render (SwfdecEditText * text,
cairo_t * cr,
- const SwfdecParagraph * paragraph,
+ const SwfdecTextRenderBlock * blocks,
const SwfdecColorTransform * trans,
- const SwfdecRect * rect,
- gboolean fill);
+ const SwfdecRect * rect);
-
G_END_DECLS
#endif
diff --cc libswfdec/swfdec_edittext_movie.c
index e481a86,e3b1ba5..0f21a26
@@@ -42,328 -38,19 +42,321 @@@
}
static void
-swfdec_edit_text_movie_render (SwfdecMovie *movie, cairo_t *cr,
+swfdec_edit_text_movie_generate_render_block (SwfdecEditTextMovie *text,
+ SwfdecTextRenderBlock *block, guint start_index, guint end_index)
+{
+ SwfdecTextFormat *format, *format_prev;
+ guint index_;
+ GSList *iter;
+ gint32 length, i;
+ SwfdecAsValue val;
+ PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
+ *attr_letter_spacing, *attr_size, *attr_underline;
+ // TODO: kerning
+
+ g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+ g_assert (block != NULL);
+ g_assert (start_index < end_index);
+ g_assert (end_index <= strlen (text->text_display));
+
+ block->text = text->text_display + start_index;
+ block->text_length = end_index - start_index;
+
+ g_assert (text->formats != NULL);
+ for (iter = text->formats; iter->next != NULL &&
+ ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+ iter = iter->next);
+
+ index_ = start_index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ switch (format->align) {
+ case SWFDEC_TEXT_ALIGN_LEFT:
+ block->align = PANGO_ALIGN_LEFT;
+ block->justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_RIGHT:
+ block->align = PANGO_ALIGN_RIGHT;
+ block->justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_CENTER:
+ block->align = PANGO_ALIGN_CENTER;
+ block->justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_JUSTIFY:
+ block->align = PANGO_ALIGN_LEFT;
+ block->justify = TRUE;
+ break;
+ }
+ block->bullet = format->bullet;
+ block->indent = format->indent * 20;
+ block->leading = format->leading * 20 * PANGO_SCALE;
+ block->block_indent = format->block_indent * 20;
+ block->left_margin = format->left_margin * 20;
+ block->right_margin = format->right_margin * 20;
+
+ length = swfdec_as_array_get_length (format->tab_stops);
+ block->tab_stops = pango_tab_array_new (length, TRUE);
+ for (i = 0; i < length; i++) {
+ swfdec_as_array_get_value (format->tab_stops, i, &val);
+ g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val));
+ pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT,
+ SWFDEC_AS_VALUE_GET_NUMBER (&val));
+ }
+
+ block->attrs = pango_attr_list_new ();
+
+ // Open attributes
+ attr_bold = pango_attr_weight_new (
+ (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
+ attr_bold->start_index = 0;
+
+ attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
+ SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
+ attr_color->start_index = 0;
+
+ if (text->text->embed_fonts)
+ SWFDEC_FIXME ("Using embed fonts in TextField not supported");
+ attr_font = pango_attr_family_new (format->font);
+ attr_font->start_index = 0;
+
+ attr_italic = pango_attr_style_new (
+ (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
+ attr_italic->start_index = 0;
+
+ attr_letter_spacing = pango_attr_letter_spacing_new (
+ format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
+ attr_letter_spacing->start_index = 0;
+
+ attr_size = pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
+ attr_size->start_index = 0;
+
+ attr_underline = pango_attr_underline_new (
+ (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
+ attr_underline->start_index = 0;
+
+ for (iter = iter->next;
+ iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index < end_index;
+ iter = iter->next)
+ {
+ format_prev = format;
+ index_ = ((SwfdecFormatIndex *)(iter->data))->index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ // Change attributes if necessary
+ if (format_prev->bold != format->bold) {
+ attr_bold->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_bold);
+
+ attr_bold = pango_attr_weight_new (
+ (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
+ attr_bold->start_index = index_ - start_index;
+ }
+
+ if (format_prev->color != format->color) {
+ attr_color->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_color);
+
+ attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
+ SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
+ attr_color->start_index = index_ - start_index;
+ }
+
+ if (format_prev->font != format->font) {
+ attr_font->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_font);
+
+ if (text->text->embed_fonts)
+ SWFDEC_FIXME ("Using embed fonts in TextField not supported");
+ attr_font = pango_attr_family_new (format->font);
+ attr_font->start_index = index_ - start_index;
+ }
+
+ if (format_prev->italic != format->italic) {
+ attr_italic->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_italic);
+
+ attr_italic = pango_attr_style_new (
+ (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
+ attr_italic->start_index = index_ - start_index;
+ }
+
+ if (format_prev->letter_spacing != format->letter_spacing) {
+ attr_letter_spacing->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_letter_spacing);
+
+ // FIXME: correct scaling?
+ attr_letter_spacing = pango_attr_letter_spacing_new (
+ format->letter_spacing * 20 * PANGO_SCALE);
+ attr_letter_spacing->start_index = index_ - start_index;
+ }
+
+ if (format_prev->size != format->size) {
+ attr_size->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_size);
+
+ attr_size =
+ pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
+ attr_size->start_index = index_ - start_index;
+ }
+
+ if (format_prev->underline != format->underline) {
+ attr_underline->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_underline);
+
+ attr_underline = pango_attr_underline_new (
+ (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
+ attr_underline->start_index = index_ - start_index;
+ }
+ }
+
+ // Close attributes
+ attr_bold->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_bold);
+ attr_bold = NULL;
+
+ attr_color->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_color);
+ attr_color = NULL;
+
+ attr_font->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_font);
+ attr_font = NULL;
+
+ attr_italic->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_italic);
+ attr_italic = NULL;
+
+ attr_letter_spacing->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_letter_spacing);
+ attr_letter_spacing = NULL;
+
+ attr_size->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_size);
+ attr_size = NULL;
+
+ attr_underline->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_underline);
+ attr_underline = NULL;
+}
+
+static void
+swfdec_edit_text_movie_generate_render_blocks (SwfdecEditTextMovie *text)
+{
+ const char *p, *end;
+ SwfdecTextFormat *format, *format_prev;
+ GSList *iter;
+ int num, i;
+
+ g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+
+ num = 0;
+ iter = text->formats;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+ p = text->text_display;
+ while (p != NULL && *p != '\0') {
+ num++;
+ end = strchr (p, '\r');
+ if (end == NULL)
+ end = strchr (p, '\0');
+
+ while (iter != NULL &&
+ ((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
+ {
+ format_prev = format;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ if (format_prev->align != format->align ||
+ format_prev->bullet != format->bullet ||
+ format_prev->indent != format->indent ||
+ format_prev->leading != format->leading ||
+ format_prev->block_indent != format->block_indent ||
+ format_prev->left_margin != format->left_margin)
+ {
+ end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
+ break;
+ }
+
+ iter = iter->next;
+ }
+
+ p = end;
+ if (*p == '\r') p++;
+ }
+
+ text->blocks = g_new0 (SwfdecTextRenderBlock, num + 1);
+
+ i = 0;
+ iter = text->formats;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+ p = text->text_display;
+ while (*p != '\0') {
+ g_assert (i < num);
+ end = strchr (p, '\r');
+ if (end == NULL)
+ end = strchr (p, '\0');
+
+ while (iter != NULL &&
+ ((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
+ {
+ format_prev = format;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ if (format_prev->align != format->align ||
+ format_prev->bullet != format->bullet ||
+ format_prev->indent != format->indent ||
+ format_prev->leading != format->leading ||
+ format_prev->block_indent != format->block_indent ||
+ format_prev->left_margin != format->left_margin)
+ {
+ end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
+ break;
+ }
+
+ iter = iter->next;
+ }
+
+ swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i],
+ p - text->text_display, end - text->text_display);
+ text->blocks[i].end_paragraph = (*end == '\r' || *end == '\0');
+
+ p = end;
+ if (*p == '\r') p++;
+
+ i++;
+ }
+ g_assert (i == num);
+}
+
+static void
+swfdec_edit_text_movie_render (SwfdecMovie *movie, cairo_t *cr,
- const SwfdecColorTransform *trans, const SwfdecRect *inval, gboolean fill)
+ const SwfdecColorTransform *trans, const SwfdecRect *inval)
{
SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
- if (!fill) {
- cairo_rectangle (cr, movie->extents.x0, movie->extents.y0,
- movie->extents.x1 - movie->extents.x0,
- movie->extents.y1 - movie->extents.y0);
- return;
- }
-
- if (text->paragraph == NULL)
+ if (text->blocks == NULL)
+ swfdec_edit_text_movie_generate_render_blocks (text);
+
+ if (text->blocks[0].text == NULL)
return;
- swfdec_edit_text_render (text->text, cr, text->blocks, trans, inval, fill);
- /* clip by extents to avoid artifacts */
- cairo_rectangle (cr, movie->original_extents.x0, movie->original_extents.y0,
- movie->original_extents.x1 - movie->original_extents.x0,
- movie->original_extents.y1 - movie->original_extents.y0);
- cairo_clip (cr);
- swfdec_edit_text_render (text->text, cr, text->paragraph, trans, inval);
++ swfdec_edit_text_render (text->text, cr, text->blocks, trans, inval);
+}
+
+void
+swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie *text)
+{
+ int i;
+
+ if (text->blocks != NULL) {
+ for (i = 0; text->blocks[i].text != NULL; i++) {
+ // tabs
+ pango_attr_list_unref (text->blocks[i].attrs);
+ }
+ g_free (text->blocks);
+ text->blocks = NULL;
+
+ swfdec_movie_invalidate (SWFDEC_MOVIE (text));
+ }
}
static void
diff --cc libswfdec/swfdec_initialize.as
index 6429bda,032acd7..29ccbf8
@@@ -269,10 -274,10 +274,11 @@@
MovieClip.prototype["removeMovieClip"] = ASnative (900, 19);
MovieClip.prototype.startDrag = ASnative (900, 20);
MovieClip.prototype.stopDrag = ASnative (900, 21);
-
-ASSetPropFlags (MovieClip.prototype, "getDepth", 128);
+MovieClip.prototype.createEmptyMovieClip = ASnative (901, 0);
+MovieClip.prototype.createTextField = ASnative (104, 200);
+ASSetPropFlags (MovieClip.prototype, "getDepth,createEmptyMovieClip", 128);
+ ASSetNative (MovieClip.prototype, 901, "6createEmptyMovieClip,6beginFill,6beginGradientFill,6moveTo,6lineTo,6curveTo,6lineStyle,6endFill,6clear");
ASSetPropFlags (MovieClip.prototype, null, 3);
/* TextField */
diff --cc libswfdec/swfdec_initialize.h
index 95ac4db,53550cd..7970384
@@@ -2,7 -2,7 +2,7 @@@
/* compiled from swfdec_initialize.as */
const unsigned char swfdec_initialize[] = {
- 0x88, 0xF1, 0x06, 0xB5, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
- 0x88, 0x03, 0x07, 0xB2, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
++ 0x88, 0x76, 0x07, 0xB8, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
0x00, 0x41, 0x53, 0x6E, 0x61, 0x74, 0x69, 0x76, 0x65, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E,
0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x00, 0x4F, 0x62,
0x6A, 0x65, 0x63, 0x74, 0x00, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6C, 0x61,
@@@ -40,493 -40,488 +40,507 @@@
0x63, 0x61, 0x70, 0x65, 0x00, 0x3D, 0x00, 0x26, 0x00, 0x67, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65,
0x73, 0x4C, 0x6F, 0x61, 0x64, 0x65, 0x64, 0x00, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4C, 0x6F,
0x61, 0x64, 0x65, 0x64, 0x00, 0x67, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6F, 0x74,
- 0x61, 0x6C, 0x00, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6F, 0x74, 0x61, 0x6C, 0x00, 0x58,
- 0x4D, 0x4C, 0x4E, 0x6F, 0x64, 0x65, 0x00, 0x41, 0x53, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x72, 0x75,
- 0x63, 0x74, 0x6F, 0x72, 0x00, 0x63, 0x6C, 0x6F, 0x6E, 0x65, 0x4E, 0x6F, 0x64, 0x65, 0x00, 0x72,
- 0x65, 0x6D, 0x6F, 0x76, 0x65, 0x4E, 0x6F, 0x64, 0x65, 0x00, 0x69, 0x6E, 0x73, 0x65, 0x72, 0x74,
- 0x42, 0x65, 0x66, 0x6F, 0x72, 0x65, 0x00, 0x61, 0x70, 0x70, 0x65, 0x6E, 0x64, 0x43, 0x68, 0x69,
- 0x6C, 0x64, 0x00, 0x68, 0x61, 0x73, 0x43, 0x68, 0x69, 0x6C, 0x64, 0x4E, 0x6F, 0x64, 0x65, 0x73,
- 0x00, 0x67, 0x65, 0x74, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x46, 0x6F, 0x72,
- 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x00, 0x67, 0x65, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78,
- 0x46, 0x6F, 0x72, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x00, 0x58, 0x4D, 0x4C,
- 0x00, 0x00, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x00,
- 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x4E, 0x6F, 0x64, 0x65, 0x00, 0x70,
- 0x61, 0x72, 0x73, 0x65, 0x58, 0x4D, 0x4C, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x00, 0x63,
- 0x61, 0x70, 0x61, 0x62, 0x69, 0x6C, 0x69, 0x74, 0x69, 0x65, 0x73, 0x00, 0x51, 0x75, 0x65, 0x72,
- 0x79, 0x00, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x73,
- 0x65, 0x74, 0x52, 0x47, 0x42, 0x2C, 0x73, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F,
- 0x72, 0x6D, 0x2C, 0x67, 0x65, 0x74, 0x52, 0x47, 0x42, 0x2C, 0x67, 0x65, 0x74, 0x54, 0x72, 0x61,
- 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70,
- 0x00, 0x6D, 0x65, 0x74, 0x68, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x74, 0x6F, 0x4C,
- 0x6F, 0x77, 0x65, 0x72, 0x43, 0x61, 0x73, 0x65, 0x00, 0x6C, 0x6F, 0x77, 0x65, 0x72, 0x00, 0x70,
- 0x6F, 0x73, 0x74, 0x00, 0x67, 0x65, 0x74, 0x00, 0x67, 0x65, 0x74, 0x55, 0x52, 0x4C, 0x00, 0x75,
- 0x6E, 0x64, 0x65, 0x66, 0x69, 0x6E, 0x65, 0x64, 0x00, 0x74, 0x79, 0x70, 0x65, 0x00, 0x75, 0x72,
- 0x6C, 0x00, 0x6C, 0x6F, 0x61, 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6C, 0x65, 0x73, 0x00,
- 0x5F, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6C, 0x6F, 0x61, 0x64, 0x4D, 0x6F, 0x76, 0x69,
- 0x65, 0x00, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x00, 0x73, 0x77,
- 0x61, 0x70, 0x44, 0x65, 0x70, 0x74, 0x68, 0x73, 0x00, 0x68, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74,
- 0x00, 0x67, 0x65, 0x74, 0x42, 0x6F, 0x75, 0x6E, 0x64, 0x73, 0x00, 0x67, 0x65, 0x74, 0x44, 0x65,
- 0x70, 0x74, 0x68, 0x00, 0x70, 0x6C, 0x61, 0x79, 0x00, 0x73, 0x74, 0x6F, 0x70, 0x00, 0x6E, 0x65,
- 0x78, 0x74, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x00, 0x70, 0x72, 0x65, 0x76, 0x46, 0x72, 0x61, 0x6D,
- 0x65, 0x00, 0x67, 0x6F, 0x74, 0x6F, 0x41, 0x6E, 0x64, 0x50, 0x6C, 0x61, 0x79, 0x00, 0x67, 0x6F,
- 0x74, 0x6F, 0x41, 0x6E, 0x64, 0x53, 0x74, 0x6F, 0x70, 0x00, 0x64, 0x75, 0x70, 0x6C, 0x69, 0x63,
- 0x61, 0x74, 0x65, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00, 0x72, 0x65, 0x6D,
- 0x6F, 0x76, 0x65, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00, 0x73, 0x74, 0x61,
- 0x72, 0x74, 0x44, 0x72, 0x61, 0x67, 0x00, 0x73, 0x74, 0x6F, 0x70, 0x44, 0x72, 0x61, 0x67, 0x00,
- 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65,
- 0x43, 0x6C, 0x69, 0x70, 0x00, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x46,
- 0x69, 0x65, 0x6C, 0x64, 0x00, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2C, 0x63, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C,
- 0x69, 0x70, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x73, 0x65, 0x74,
- 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x67, 0x65, 0x74, 0x4E, 0x65,
- 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x73, 0x65, 0x74, 0x4E,
- 0x65, 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x54, 0x65, 0x78,
- 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x53, 0x68, 0x65,
- 0x65, 0x74, 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00,
- 0x6F, 0x5F, 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72,
- 0x00, 0x5F, 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x73, 0x00, 0x67, 0x65,
- 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x53,
- 0x74, 0x79, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x64, 0x6F, 0x54, 0x72, 0x61,
- 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x4E,
- 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74,
- 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00,
- 0x74, 0x65, 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x00,
- 0x66, 0x6F, 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x62, 0x6F, 0x6C, 0x64, 0x00,
- 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x70, 0x61, 0x72,
- 0x73, 0x65, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x00,
- 0x66, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x00,
- 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69,
- 0x6C, 0x79, 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x69, 0x6E,
- 0x64, 0x65, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49, 0x6E, 0x74, 0x00, 0x66, 0x6F,
- 0x6E, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61, 0x6C, 0x69, 0x63, 0x00, 0x6B,
- 0x65, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65, 0x00, 0x66, 0x61, 0x6C, 0x73,
- 0x65, 0x00, 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E,
- 0x4C, 0x65, 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00,
- 0x6C, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61,
- 0x72, 0x67, 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4D,
- 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x73,
- 0x69, 0x7A, 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63, 0x6F, 0x72, 0x61, 0x74, 0x69,
- 0x6F, 0x6E, 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E, 0x65, 0x00, 0x6E, 0x6F, 0x6E,
- 0x65, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00, 0x63, 0x73, 0x73, 0x00, 0x70,
- 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x00,
- 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C, 0x00, 0x70, 0x61, 0x72, 0x73,
- 0x65, 0x00, 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x63, 0x6C,
- 0x65, 0x61, 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x54,
- 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x54, 0x69, 0x6D, 0x65,
- 0x6F, 0x75, 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72, 0x6F, 0x61, 0x64, 0x63, 0x61,
- 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D, 0x00, 0x4C, 0x6F, 0x61, 0x64,
- 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13, 0x00, 0x08, 0x00, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x03, 0x1C, 0x96,
- 0x13, 0x00, 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02,
- 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
- 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07,
- 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00,
- 0x3C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00,
- 0x78, 0x00, 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x0C, 0x4E, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07, 0x00, 0x08, 0x0F, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x4C, 0x1C,
- 0x50, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0E,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x49, 0x12,
- 0x9D, 0x02, 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x11,
- 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00,
- 0x05, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x9B,
- 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96,
- 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x08, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x4E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x0C, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x42, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x08, 0x14, 0x08, 0x13, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x4F, 0x96, 0x08, 0x00,
- 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08, 0x16, 0x07, 0x12, 0x00, 0x00,
- 0x00, 0x08, 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07, 0x14, 0x00, 0x00, 0x00, 0x08,
- 0x19, 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00, 0x00, 0x00, 0x08, 0x1B, 0x07,
- 0x28, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x07, 0x0D, 0x00,
- 0x00, 0x00, 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F, 0x07, 0x24, 0x00, 0x00, 0x00,
- 0x08, 0x20, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25, 0x00, 0x00, 0x00, 0x08, 0x22,
- 0x07, 0x22, 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00, 0x00, 0x08, 0x24, 0x07, 0x27,
- 0x00, 0x00, 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08, 0x26, 0x07, 0x20, 0x00, 0x00,
- 0x00, 0x08, 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07, 0x26, 0x00, 0x00, 0x00, 0x07,
- 0x13, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29, 0x07, 0x20, 0x03, 0x00, 0x00,
- 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96,
- 0x02, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02,
- 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
- 0x07, 0x00, 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2A,
- 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96,
- 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96,
- 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03,
- 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2D, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x0E, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08, 0x32, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36,
- 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C,
- 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99,
- 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05,
- 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96, 0x03, 0x00, 0x08, 0x3A, 0x02,
- 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49,
- 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00,
- 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x33, 0x00, 0x96, 0x04,
- 0x00, 0x08, 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B,
- 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47,
- 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x3E, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B,
- 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x08, 0x00, 0x07,
- 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x42, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43,
- 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x44, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x45, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x46, 0x07, 0x03, 0x00, 0x00, 0x00,
- 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x47, 0x07,
- 0x04, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x48, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49, 0x07, 0x07, 0x00, 0x00, 0x00,
- 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4A, 0x07,
- 0x08, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C,
- 0x96, 0x10, 0x00, 0x08, 0x30, 0x08, 0x4C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x42, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30, 0x08,
- 0x4B, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02,
- 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x4D, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4E, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4F, 0x07, 0x0C, 0x00, 0x00, 0x00,
- 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B,
- 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73,
- 0x72, 0x63, 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49,
- 0x12, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0x37, 0x05, 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38,
- 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x4F, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40,
- 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x50, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x51, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x52, 0x52, 0x17,
- 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x52, 0x3A, 0x17, 0x96, 0x02, 0x00, 0x08, 0x53, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x54, 0x08, 0x54, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08,
- 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D, 0x96,
- 0x09, 0x00, 0x08, 0x55, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x53, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08,
- 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x53, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08,
- 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x57, 0x9B, 0x0C, 0x00,
- 0x00, 0x01, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00, 0x08,
- 0x5A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C,
- 0x96, 0x02, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x49, 0x9D, 0x02, 0x00, 0x2D,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x49, 0x9D, 0x02, 0x00,
- 0x0E, 0x00, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00,
- 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00, 0x75,
- 0x72, 0x6C, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64,
- 0x00, 0x97, 0x00, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49,
- 0x12, 0x9D, 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x54, 0x08, 0x4C, 0x1D, 0x96, 0x04,
- 0x00, 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05,
- 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x9A, 0x01, 0x00, 0x02,
- 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x54,
- 0x1C, 0x9A, 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x61, 0x9B, 0x10, 0x00, 0x00,
+ 0x61, 0x6C, 0x00, 0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6F, 0x74, 0x61, 0x6C, 0x00, 0x53,
+ 0x6F, 0x75, 0x6E, 0x64, 0x00, 0x41, 0x53, 0x63, 0x6F, 0x6E, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
+ 0x6F, 0x72, 0x00, 0x73, 0x74, 0x6F, 0x70, 0x2C, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x53, 0x6F,
+ 0x75, 0x6E, 0x64, 0x2C, 0x73, 0x74, 0x61, 0x72, 0x74, 0x00, 0x58, 0x4D, 0x4C, 0x4E, 0x6F, 0x64,
+ 0x65, 0x00, 0x63, 0x6C, 0x6F, 0x6E, 0x65, 0x4E, 0x6F, 0x64, 0x65, 0x00, 0x72, 0x65, 0x6D, 0x6F,
+ 0x76, 0x65, 0x4E, 0x6F, 0x64, 0x65, 0x00, 0x69, 0x6E, 0x73, 0x65, 0x72, 0x74, 0x42, 0x65, 0x66,
+ 0x6F, 0x72, 0x65, 0x00, 0x61, 0x70, 0x70, 0x65, 0x6E, 0x64, 0x43, 0x68, 0x69, 0x6C, 0x64, 0x00,
+ 0x68, 0x61, 0x73, 0x43, 0x68, 0x69, 0x6C, 0x64, 0x4E, 0x6F, 0x64, 0x65, 0x73, 0x00, 0x67, 0x65,
+ 0x74, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x46, 0x6F, 0x72, 0x50, 0x72, 0x65,
+ 0x66, 0x69, 0x78, 0x00, 0x67, 0x65, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x46, 0x6F, 0x72,
+ 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x00, 0x58, 0x4D, 0x4C, 0x00, 0x00, 0x63,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6C, 0x65, 0x6D, 0x65, 0x6E, 0x74, 0x00, 0x63, 0x72, 0x65,
+ 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x4E, 0x6F, 0x64, 0x65, 0x00, 0x70, 0x61, 0x72, 0x73,
+ 0x65, 0x58, 0x4D, 0x4C, 0x00, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6D, 0x00, 0x63, 0x61, 0x70, 0x61,
+ 0x62, 0x69, 0x6C, 0x69, 0x74, 0x69, 0x65, 0x73, 0x00, 0x51, 0x75, 0x65, 0x72, 0x79, 0x00, 0x43,
+ 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x73, 0x65, 0x74, 0x52,
+ 0x47, 0x42, 0x2C, 0x73, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x2C,
+ 0x67, 0x65, 0x74, 0x52, 0x47, 0x42, 0x2C, 0x67, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6E, 0x73, 0x66,
+ 0x6F, 0x72, 0x6D, 0x00, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00, 0x6D, 0x65,
+ 0x74, 0x68, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x74, 0x6F, 0x4C, 0x6F, 0x77, 0x65,
+ 0x72, 0x43, 0x61, 0x73, 0x65, 0x00, 0x6C, 0x6F, 0x77, 0x65, 0x72, 0x00, 0x70, 0x6F, 0x73, 0x74,
+ 0x00, 0x67, 0x65, 0x74, 0x00, 0x67, 0x65, 0x74, 0x55, 0x52, 0x4C, 0x00, 0x75, 0x6E, 0x64, 0x65,
+ 0x66, 0x69, 0x6E, 0x65, 0x64, 0x00, 0x74, 0x79, 0x70, 0x65, 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6C,
+ 0x6F, 0x61, 0x64, 0x56, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6C, 0x65, 0x73, 0x00, 0x5F, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x00, 0x6C, 0x6F, 0x61, 0x64, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x00, 0x61,
+ 0x74, 0x74, 0x61, 0x63, 0x68, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x00, 0x73, 0x77, 0x61, 0x70, 0x44,
+ 0x65, 0x70, 0x74, 0x68, 0x73, 0x00, 0x68, 0x69, 0x74, 0x54, 0x65, 0x73, 0x74, 0x00, 0x67, 0x65,
+ 0x74, 0x42, 0x6F, 0x75, 0x6E, 0x64, 0x73, 0x00, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68,
+ 0x00, 0x70, 0x6C, 0x61, 0x79, 0x00, 0x73, 0x74, 0x6F, 0x70, 0x00, 0x6E, 0x65, 0x78, 0x74, 0x46,
+ 0x72, 0x61, 0x6D, 0x65, 0x00, 0x70, 0x72, 0x65, 0x76, 0x46, 0x72, 0x61, 0x6D, 0x65, 0x00, 0x67,
+ 0x6F, 0x74, 0x6F, 0x41, 0x6E, 0x64, 0x50, 0x6C, 0x61, 0x79, 0x00, 0x67, 0x6F, 0x74, 0x6F, 0x41,
+ 0x6E, 0x64, 0x53, 0x74, 0x6F, 0x70, 0x00, 0x64, 0x75, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x65,
+ 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00, 0x72, 0x65, 0x6D, 0x6F, 0x76, 0x65,
+ 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00, 0x73, 0x74, 0x61, 0x72, 0x74, 0x44,
- 0x72, 0x61, 0x67, 0x00, 0x73, 0x74, 0x6F, 0x70, 0x44, 0x72, 0x61, 0x67, 0x00, 0x36, 0x63, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C,
- 0x69, 0x70, 0x2C, 0x36, 0x62, 0x65, 0x67, 0x69, 0x6E, 0x46, 0x69, 0x6C, 0x6C, 0x2C, 0x36, 0x62,
- 0x65, 0x67, 0x69, 0x6E, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6E, 0x74, 0x46, 0x69, 0x6C, 0x6C,
- 0x2C, 0x36, 0x6D, 0x6F, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69, 0x6E, 0x65, 0x54, 0x6F,
- 0x2C, 0x36, 0x63, 0x75, 0x72, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69, 0x6E, 0x65, 0x53,
- 0x74, 0x79, 0x6C, 0x65, 0x2C, 0x36, 0x65, 0x6E, 0x64, 0x46, 0x69, 0x6C, 0x6C, 0x2C, 0x36, 0x63,
- 0x6C, 0x65, 0x61, 0x72, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x54,
- 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x53,
- 0x68, 0x65, 0x65, 0x74, 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62, 0x6A, 0x65, 0x63,
- 0x74, 0x00, 0x6F, 0x5F, 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00, 0x63, 0x6C, 0x65,
- 0x61, 0x72, 0x00, 0x5F, 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x73, 0x00,
- 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65,
- 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x64, 0x6F, 0x54,
- 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C,
- 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x73,
- 0x00, 0x74, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F, 0x72, 0x6D, 0x61,
- 0x74, 0x00, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61, 0x6C, 0x69, 0x67,
- 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x62, 0x6F, 0x6C,
- 0x64, 0x00, 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x70,
- 0x61, 0x72, 0x73, 0x65, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61,
- 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x66, 0x6F, 0x6E,
- 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x61,
- 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00,
- 0x69, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49, 0x6E, 0x74, 0x00,
- 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61, 0x6C, 0x69, 0x63,
- 0x00, 0x6B, 0x65, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65, 0x00, 0x66, 0x61,
- 0x6C, 0x73, 0x65, 0x00, 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67,
- 0x69, 0x6E, 0x4C, 0x65, 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69,
- 0x6E, 0x00, 0x6C, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69, 0x6E, 0x67, 0x00,
- 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72, 0x69, 0x67, 0x68,
- 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65,
- 0x00, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63, 0x6F, 0x72, 0x61,
- 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E, 0x65, 0x00, 0x6E,
- 0x6F, 0x6E, 0x65, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00, 0x63, 0x73, 0x73,
- 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61,
- 0x6C, 0x00, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C, 0x00, 0x70, 0x61,
- 0x72, 0x73, 0x65, 0x00, 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00,
- 0x63, 0x6C, 0x65, 0x61, 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x73, 0x65,
- 0x74, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x54, 0x69,
- 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72, 0x6F, 0x61, 0x64,
- 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D, 0x00, 0x4C, 0x6F,
- 0x61, 0x64, 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13, 0x00, 0x08, 0x00,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x03,
- 0x1C, 0x96, 0x13, 0x00, 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00,
- 0x00, 0x02, 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
- 0x17, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00,
- 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00,
- 0x78, 0x00, 0x3C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96, 0x02, 0x00, 0x08,
- 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x0C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B, 0x07, 0x00, 0x00,
- 0x01, 0x00, 0x78, 0x00, 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x0C, 0x4E, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07, 0x00, 0x08, 0x0F,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0F,
- 0x4C, 0x1C, 0x50, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C,
- 0x49, 0x12, 0x9D, 0x02, 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x0F, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x11, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96,
- 0x02, 0x00, 0x05, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x12, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13,
- 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x08, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x0B, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x0C, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x42, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x08, 0x14, 0x08,
- 0x13, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x4F, 0x96,
- 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03,
- 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08, 0x16, 0x07, 0x12,
- 0x00, 0x00, 0x00, 0x08, 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07, 0x14, 0x00, 0x00,
- 0x00, 0x08, 0x19, 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00, 0x00, 0x00, 0x08,
- 0x1B, 0x07, 0x28, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x07,
- 0x0D, 0x00, 0x00, 0x00, 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F, 0x07, 0x24, 0x00,
- 0x00, 0x00, 0x08, 0x20, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25, 0x00, 0x00, 0x00,
- 0x08, 0x22, 0x07, 0x22, 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00, 0x00, 0x08, 0x24,
- 0x07, 0x27, 0x00, 0x00, 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08, 0x26, 0x07, 0x20,
- 0x00, 0x00, 0x00, 0x08, 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07, 0x26, 0x00, 0x00,
- 0x00, 0x07, 0x13, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29, 0x07, 0x20, 0x03,
- 0x00, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D,
- 0x17, 0x96, 0x02, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00,
- 0x00, 0x02, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
- 0x17, 0x96, 0x07, 0x00, 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00,
- 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A,
- 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52,
- 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2D, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x0E, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08, 0x2D, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x2F,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08, 0x32, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33,
- 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00,
- 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52,
- 0x17, 0x99, 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52, 0x17, 0x96, 0x09,
- 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35,
- 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96, 0x03, 0x00, 0x08,
- 0x3A, 0x02, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00,
- 0x02, 0x49, 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04, 0x00, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47,
- 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x33, 0x00,
- 0x96, 0x04, 0x00, 0x08, 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x3B, 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B,
- 0x3D, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x3E, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x08,
- 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08,
- 0x42, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0xF4, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x0E, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x08, 0x44, 0x07, 0xF4,
- 0x01, 0x00, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x45, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D,
- 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x46, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x47, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x48, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0xFD,
++ 0x72, 0x61, 0x67, 0x00, 0x73, 0x74, 0x6F, 0x70, 0x44, 0x72, 0x61, 0x67, 0x00, 0x63, 0x72, 0x65,
++ 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69,
++ 0x70, 0x00, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C,
++ 0x64, 0x00, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2C, 0x63, 0x72, 0x65, 0x61, 0x74,
++ 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00,
++ 0x36, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69,
++ 0x65, 0x43, 0x6C, 0x69, 0x70, 0x2C, 0x36, 0x62, 0x65, 0x67, 0x69, 0x6E, 0x46, 0x69, 0x6C, 0x6C,
++ 0x2C, 0x36, 0x62, 0x65, 0x67, 0x69, 0x6E, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6E, 0x74, 0x46,
++ 0x69, 0x6C, 0x6C, 0x2C, 0x36, 0x6D, 0x6F, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69, 0x6E,
++ 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x63, 0x75, 0x72, 0x76, 0x65, 0x54, 0x6F, 0x2C, 0x36, 0x6C, 0x69,
++ 0x6E, 0x65, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x2C, 0x36, 0x65, 0x6E, 0x64, 0x46, 0x69, 0x6C, 0x6C,
++ 0x2C, 0x36, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C,
++ 0x64, 0x00, 0x73, 0x65, 0x74, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00,
++ 0x67, 0x65, 0x74, 0x4E, 0x65, 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74,
++ 0x00, 0x73, 0x65, 0x74, 0x4E, 0x65, 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61,
++ 0x74, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79,
++ 0x6C, 0x65, 0x53, 0x68, 0x65, 0x65, 0x74, 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62,
++ 0x6A, 0x65, 0x63, 0x74, 0x00, 0x6F, 0x5F, 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00,
++ 0x63, 0x6C, 0x65, 0x61, 0x72, 0x00, 0x5F, 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C,
++ 0x65, 0x73, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65,
++ 0x00, 0x73, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00,
++ 0x64, 0x6F, 0x54, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53,
++ 0x74, 0x79, 0x6C, 0x65, 0x4E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61,
++ 0x6D, 0x65, 0x73, 0x00, 0x74, 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F,
++ 0x72, 0x6D, 0x61, 0x74, 0x00, 0x74, 0x65, 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61,
++ 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00,
++ 0x62, 0x6F, 0x6C, 0x64, 0x00, 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F,
++ 0x72, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73,
++ 0x70, 0x6C, 0x61, 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00,
++ 0x66, 0x6F, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E,
++ 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65,
++ 0x6E, 0x74, 0x00, 0x69, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49,
++ 0x6E, 0x74, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61,
++ 0x6C, 0x69, 0x63, 0x00, 0x6B, 0x65, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65,
++ 0x00, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x00, 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D,
++ 0x61, 0x72, 0x67, 0x69, 0x6E, 0x4C, 0x65, 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61,
++ 0x72, 0x67, 0x69, 0x6E, 0x00, 0x6C, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69,
++ 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72,
++ 0x69, 0x67, 0x68, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53,
++ 0x69, 0x7A, 0x65, 0x00, 0x73, 0x69, 0x7A, 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63,
++ 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E,
++ 0x65, 0x00, 0x6E, 0x6F, 0x6E, 0x65, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00,
++ 0x63, 0x73, 0x73, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65,
++ 0x72, 0x6E, 0x61, 0x6C, 0x00, 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C,
++ 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x00, 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76,
++ 0x61, 0x6C, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C,
++ 0x00, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61,
++ 0x72, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72,
++ 0x6F, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D,
++ 0x00, 0x4C, 0x6F, 0x61, 0x64, 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13,
++ 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
++ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00,
++ 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02,
++ 0x00, 0x08, 0x03, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65,
++ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07,
++ 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
++ 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07,
++ 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
++ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00,
++ 0x00, 0x01, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00,
++ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96,
++ 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00,
++ 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B,
++ 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00, 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4E, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07,
++ 0x00, 0x08, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02,
++ 0x00, 0x08, 0x0F, 0x4C, 0x1C, 0x50, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00,
++ 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00,
++ 0x08, 0x0A, 0x1C, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
++ 0x00, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x11, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00,
++ 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x12, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02,
++ 0x00, 0x08, 0x13, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49, 0x07, 0x04, 0x00,
- 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x4A, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x07, 0x00, 0x00, 0x00, 0x07, 0xFD,
++ 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x08, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E,
++ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x0B, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08,
++ 0x0C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00,
++ 0x08, 0x14, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
++ 0x17, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07,
++ 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08,
++ 0x16, 0x07, 0x12, 0x00, 0x00, 0x00, 0x08, 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07,
++ 0x14, 0x00, 0x00, 0x00, 0x08, 0x19, 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00,
++ 0x00, 0x00, 0x08, 0x1B, 0x07, 0x28, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00,
++ 0x08, 0x1D, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F,
++ 0x07, 0x24, 0x00, 0x00, 0x00, 0x08, 0x20, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25,
++ 0x00, 0x00, 0x00, 0x08, 0x22, 0x07, 0x22, 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00,
++ 0x00, 0x08, 0x24, 0x07, 0x27, 0x00, 0x00, 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08,
++ 0x26, 0x07, 0x20, 0x00, 0x00, 0x00, 0x08, 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07,
++ 0x26, 0x00, 0x00, 0x00, 0x07, 0x13, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29,
++ 0x07, 0x20, 0x03, 0x00, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
++ 0x08, 0x00, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
++ 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07,
++ 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
++ 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D,
++ 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00,
++ 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
++ 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4C, 0x07, 0x08, 0x00,
- 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x13, 0x00, 0x08, 0x4D, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x10,
- 0x00, 0x08, 0x30, 0x08, 0x4E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x45, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30, 0x08, 0x4D, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08,
- 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x4F, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x50, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x51, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0xFD,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63,
- 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D,
- 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05,
- 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x52,
- 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05,
- 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D,
- 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x53, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x54, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x52,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x54, 0x52, 0x17, 0x96, 0x02,
- 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x54, 0x3A,
- 0x17, 0x96, 0x02, 0x00, 0x08, 0x55, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x56,
- 0x08, 0x56, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D, 0x96, 0x09, 0x00,
- 0x08, 0x57, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07,
- 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x59, 0x9B, 0x0C, 0x00, 0x00, 0x01,
- 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00, 0x08, 0x5C, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x52, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x49, 0x9D, 0x02, 0x00, 0x2D, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49, 0x9D, 0x02, 0x00, 0x0E, 0x00,
- 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00, 0x75, 0x72, 0x6C,
- 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x97,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x60, 0x49, 0x12, 0x9D,
- 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x56, 0x08, 0x4E, 0x1D, 0x96, 0x04, 0x00, 0x08,
- 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C,
- 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x02, 0x99, 0x02,
- 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A,
- 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00,
- 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96, 0x04, 0x00,
- 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96, 0x02,
- 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00,
- 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99, 0x02, 0x00, 0x16,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01,
- 0x00, 0xC0, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x65, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x75,
- 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96, 0x04, 0x00, 0x08,
- 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96, 0x02, 0x00,
- 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x4A,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49,
- 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02, 0x00, 0x16, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00,
- 0x40, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x66, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x67, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x68,
- 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x69, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07, 0x07, 0x00, 0x00,
- 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6A,
- 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x6B, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6C, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6D, 0x07, 0x0E, 0x00, 0x00,
- 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6E,
- 0x07, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x6F, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x70, 0x07, 0x11, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x71, 0x07, 0x12, 0x00, 0x00,
- 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x72,
- 0x07, 0x13, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x73, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x74, 0x07, 0x15, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80,
- 0x00, 0x00, 0x00, 0x08, 0x6A, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x08, 0x75, 0x07,
- 0x85, 0x03, 0x00, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00,
- 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x02, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03,
- 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x76, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x43, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x77, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x6E, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x76,
- 0x1C, 0x96, 0x13, 0x00, 0x08, 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x79,
- 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C,
- 0x44, 0x96, 0x02, 0x00, 0x08, 0x7A, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01,
- 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08, 0x7B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0x13, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
- 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7C, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7B,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x7C, 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C,
- 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x24,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x80, 0x9B, 0x0A, 0x00,
- 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x4E, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x52, 0x3E, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x61, 0x6D,
- 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x52,
- 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x85, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x5B,
- 0x00, 0x96, 0x04, 0x00, 0x08, 0x86, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x3C,
- 0x96, 0x07, 0x00, 0x08, 0x87, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96, 0x02, 0x00, 0x08,
- 0x86, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00,
- 0x96, 0x04, 0x00, 0x08, 0x7C, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17,
- 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x84, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x5C,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x12, 0x12, 0x9D,
- 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x7F, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x88, 0x52, 0x4F, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x88, 0x9B, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65,
- 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D,
- 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x09, 0x00, 0x08, 0x89, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x77, 0x40, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x8A, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x8B, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x4E, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x49,
- 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8C,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8D, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8D, 0x05, 0x01, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x41, 0x00,
- 0x96, 0x04, 0x00, 0x08, 0x86, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x90, 0x52, 0x3C,
- 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00,
- 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8F, 0x08, 0x86, 0x1C,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x91, 0x08, 0x83, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x91, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x92, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04,
- 0x00, 0x08, 0x93, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x94, 0x52, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x96, 0x08, 0x83, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x95, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x99, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x98, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x99, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00,
- 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x99, 0x05, 0x01, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x9B, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x9A, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9C, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x9A, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x99, 0x02,
- 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A, 0x05, 0x00,
- 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0x9A, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E,
- 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0x9D, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x9E, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04,
- 0x00, 0x08, 0x9F, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0xA0, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
- 0x96, 0x04, 0x00, 0x08, 0xA0, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA2, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B, 0x00, 0x96, 0x04,
- 0x00, 0x08, 0x86, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x86, 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
- 0x96, 0x04, 0x00, 0x08, 0xA4, 0x08, 0x86, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0xA5, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA5, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0xA7, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04,
- 0x00, 0x08, 0xA6, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA6, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x3E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x63, 0x73,
- 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAB, 0x08, 0xA9, 0x1C, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAA, 0x52, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0xAB, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x06,
- 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x7E, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0xAB, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x56, 0x00,
- 0x96, 0x04, 0x00, 0x08, 0x7C, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x52,
- 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x04, 0x00, 0x08, 0xAD, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E,
++ 0x2A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C,
++ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08,
++ 0x2D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07,
++ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17,
++ 0x96, 0x0E, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08,
++ 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02,
++ 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08,
++ 0x32, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
++ 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00,
++ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00,
++ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01,
- 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00,
- 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x41,
- 0x00, 0x96, 0x04, 0x00, 0x08, 0xAB, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAD, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08, 0xAB, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35,
- 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0xAA, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07,
- 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x94, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x90, 0x07, 0x67,
- 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x02, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x08, 0x78, 0x08,
- 0x76, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13,
- 0x00, 0x08, 0xAE, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xAF, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13,
- 0x00, 0x08, 0xB0, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0xAF, 0x1C, 0x1D, 0x96,
- 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96, 0x0D, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08,
- 0x05, 0x3D, 0x17, 0x00
++ 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
++ 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64,
++ 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96,
++ 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00,
++ 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96,
++ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52,
++ 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96,
++ 0x03, 0x00, 0x08, 0x3A, 0x02, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00,
++ 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04,
++ 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00,
++ 0x41, 0x00, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A,
++ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00,
++ 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E,
++ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02,
++ 0x00, 0x33, 0x00, 0x96, 0x04, 0x00, 0x08, 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01,
++ 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08,
++ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
++ 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A,
++ 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
++ 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08,
++ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00,
++ 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E,
++ 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
++ 0x13, 0x00, 0x08, 0x42, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0xF4, 0x01, 0x00, 0x00, 0x07, 0x02,
++ 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x0E, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x08,
++ 0x44, 0x07, 0xF4, 0x01, 0x00, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
++ 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x45,
++ 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
++ 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
++ 0x13, 0x00, 0x08, 0x46, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02,
++ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x47, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
++ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x48, 0x07, 0x03, 0x00, 0x00,
++ 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
++ 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49,
++ 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
++ 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
++ 0x13, 0x00, 0x08, 0x4A, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02,
++ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
++ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x45,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x07, 0x00, 0x00,
++ 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
++ 0x02, 0x00, 0x08, 0x45, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4C,
++ 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
++ 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x4D, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
++ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4D,
++ 0x1C, 0x96, 0x10, 0x00, 0x08, 0x30, 0x08, 0x4E, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
++ 0x00, 0x00, 0x08, 0x45, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30,
++ 0x08, 0x4D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
++ 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33,
++ 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
++ 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
++ 0x13, 0x00, 0x08, 0x4F, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02,
++ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x50, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00,
++ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x51, 0x07, 0x0C, 0x00, 0x00,
++ 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
++ 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35,
++ 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00,
++ 0x73, 0x72, 0x63, 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02,
++ 0x49, 0x12, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00,
++ 0x08, 0x37, 0x05, 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
++ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02,
++ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x51, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00,
++ 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F,
++ 0x96, 0x02, 0x00, 0x08, 0x4D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
++ 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00,
++ 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x53, 0x07, 0x00,
++ 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53,
++ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x54, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00,
++ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00,
++ 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x54, 0x52,
++ 0x17, 0x96, 0x02, 0x00, 0x08, 0x52, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x53, 0x4E, 0x96, 0x02, 0x00,
++ 0x08, 0x54, 0x3A, 0x17, 0x96, 0x02, 0x00, 0x08, 0x55, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74,
++ 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04,
++ 0x00, 0x08, 0x56, 0x08, 0x56, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02,
++ 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D,
++ 0x96, 0x09, 0x00, 0x08, 0x57, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96,
++ 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x55, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
++ 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00,
++ 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x59, 0x9B, 0x0C,
++ 0x00, 0x00, 0x01, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00,
++ 0x08, 0x5C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x52,
++ 0x3C, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x49, 0x9D, 0x02, 0x00,
++ 0x2D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49, 0x9D, 0x02,
++ 0x00, 0x0E, 0x00, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09,
++ 0x00, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96,
++ 0x05, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00,
++ 0x75, 0x72, 0x6C, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F,
++ 0x64, 0x00, 0x97, 0x00, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x60,
++ 0x49, 0x12, 0x9D, 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x56, 0x08, 0x4E, 0x1D, 0x96,
++ 0x04, 0x00, 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
++ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96,
++ 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00,
++ 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15,
++ 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00,
++ 0x02, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00,
++ 0x00, 0x02, 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00,
++ 0x96, 0x04, 0x00, 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
++ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
++ 0x20, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49,
++ 0x9D, 0x02, 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01,
++ 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99,
++ 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96,
++ 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64,
++ 0x4E, 0x9A, 0x01, 0x00, 0xC0, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x65, 0x9B, 0x10, 0x00, 0x00,
+ 0x02, 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96,
- 0x04, 0x00, 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20,
- 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D,
- 0x02, 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99, 0x02,
- 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E,
- 0x9A, 0x01, 0x00, 0xC0, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00, 0x00, 0x02,
- 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96, 0x04,
- 0x00, 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96,
- 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02,
- 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02, 0x00,
- 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A,
- 0x01, 0x00, 0x40, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x64, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x65, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x66, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x67, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07, 0x07,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x68, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x69, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6A, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6B, 0x07, 0x0E,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x6C, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6D, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6E, 0x07, 0x11, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6F, 0x07, 0x12,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x70, 0x07, 0x13, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x71, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x72, 0x07, 0x15, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x73, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x07, 0x85, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x74, 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x75, 0x08,
- 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
- 0x08, 0x05, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x56, 0x1C,
++ 0x04, 0x00, 0x08, 0x61, 0x08, 0x5A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
++ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20,
++ 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D,
++ 0x02, 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x61, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00,
++ 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02,
++ 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x64, 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02,
++ 0x00, 0x08, 0x62, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x64, 0x4E,
++ 0x9A, 0x01, 0x00, 0x40, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x66, 0x07, 0x00, 0x00, 0x00, 0x00,
++ 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
++ 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x67, 0x07,
++ 0x01, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
++ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
++ 0x00, 0x08, 0x68, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00,
++ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x69, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00,
++ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00,
++ 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
++ 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07,
++ 0x07, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
++ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
++ 0x00, 0x08, 0x6A, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00,
++ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6B, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00,
++ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6C, 0x07, 0x0D, 0x00, 0x00, 0x00,
++ 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
++ 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6D, 0x07,
++ 0x0E, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
++ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
++ 0x00, 0x08, 0x6E, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00,
++ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6F, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00,
++ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x70, 0x07, 0x11, 0x00, 0x00, 0x00,
++ 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
++ 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x71, 0x07,
++ 0x12, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
++ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
++ 0x00, 0x08, 0x72, 0x07, 0x13, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00,
++ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x73, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00,
++ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x74, 0x07, 0x15, 0x00, 0x00, 0x00,
++ 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
++ 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x75, 0x07,
++ 0x00, 0x00, 0x00, 0x00, 0x07, 0x85, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
++ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
++ 0x00, 0x08, 0x76, 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
++ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x77,
++ 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
++ 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x08, 0x78, 0x07, 0x85, 0x03, 0x00, 0x00, 0x08,
++ 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
++ 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x58, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05,
- 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x76, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x77, 0x07, 0x66, 0x00, 0x00, 0x00,
++ 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x79, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00,
++ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x7A, 0x07, 0x66, 0x00, 0x00, 0x00,
+ 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x78, 0x07,
++ 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x7B, 0x07,
+ 0x68, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x79, 0x07, 0x69, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x7A, 0x07, 0x00, 0x00, 0x00, 0x00,
++ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
++ 0x00, 0x08, 0x7C, 0x07, 0x69, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
++ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x7D, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x6E, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02,
- 0x00, 0x08, 0x76, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x7B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x71,
++ 0x00, 0x08, 0x79, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x71,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x7C, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x13, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05,
- 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00,
++ 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02,
++ 0x00, 0x08, 0x7F, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00,
++ 0x08, 0x13, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x80, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05,
++ 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08, 0x81, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x43, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02,
- 0x49, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7F, 0x04, 0x00, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0x7E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7F, 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00,
- 0x08, 0x7E, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x80, 0x9B, 0x05, 0x00, 0x00,
- 0x00, 0x00, 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x81, 0x07,
++ 0x49, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02,
++ 0x00, 0x08, 0x81, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00,
++ 0x08, 0x81, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E,
++ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x83, 0x9B, 0x05, 0x00, 0x00,
++ 0x00, 0x00, 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08,
- 0x82, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x83,
++ 0x85, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x86,
+ 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C,
- 0x52, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x85, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00,
++ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x4E,
++ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F,
++ 0x52, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96,
++ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x88, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00,
+ 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x81, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x84, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x87, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x88, 0x9B, 0x05, 0x00, 0x00,
- 0x00, 0x00, 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x89, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x81, 0x4E, 0x3C, 0x96, 0x07, 0x00, 0x08, 0x8A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
- 0x00, 0x25, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7F, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7F,
- 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x0D, 0x52, 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x3E, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D,
- 0x65, 0x00, 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x4E,
++ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00,
++ 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07, 0x00, 0x00, 0x00, 0x00,
++ 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02,
++ 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
++ 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x87, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x8A, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E,
++ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x9B, 0x05, 0x00, 0x00,
++ 0x00, 0x00, 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x84, 0x4E, 0x3C, 0x96, 0x07, 0x00, 0x08, 0x8D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96,
++ 0x02, 0x00, 0x08, 0x8C, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
++ 0x00, 0x25, 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x82,
++ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x8D, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x0D, 0x52, 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x1C, 0x3E, 0x4F,
++ 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08,
++ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D,
++ 0x65, 0x00, 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x85, 0x4E,
+ 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00,
- 0x08, 0x82, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x82, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x52, 0x4F,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x9B, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x73, 0x74,
- 0x79, 0x6C, 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x01, 0x00, 0x02,
++ 0x08, 0x85, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x85, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x4E, 0x96, 0x07,
++ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x52, 0x4F,
++ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00,
++ 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x9B, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x73, 0x74,
++ 0x79, 0x6C, 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x01, 0x00, 0x02,
+ 0x49, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x09, 0x00, 0x08,
- 0x8C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7A, 0x40, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x8D, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8E, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x4E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x90, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x8F, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x91, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x90, 0x05, 0x00, 0x4F, 0x99, 0x02,
- 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x90, 0x05, 0x01,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x12, 0x9D, 0x02,
- 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0x89, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92,
++ 0x8F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7D, 0x40, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x90, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02, 0x00, 0x08,
++ 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x91, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x90, 0x4E,
++ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x96, 0x02, 0x00,
++ 0x08, 0x93, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x92, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x94, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00,
++ 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x05, 0x00, 0x4F, 0x99, 0x02,
++ 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x05, 0x01,
++ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x12, 0x9D, 0x02,
++ 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95,
+ 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x93, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x12,
- 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x92,
- 0x08, 0x89, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x94, 0x08,
- 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x94, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x95, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0x96, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x97, 0x52,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x12, 0x9D, 0x02,
- 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x99, 0x08, 0x86,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x9A, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x9C, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x91, 0x49, 0x12, 0x9D, 0x02, 0x00,
- 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9C, 0x05, 0x00, 0x4F,
- 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9C,
- 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x9E, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9F, 0x49, 0x9D, 0x02, 0x00, 0x25,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9D, 0x08, 0x86, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D,
- 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0x9D, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x9D, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA0, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0xA0, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA2, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA3, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3,
- 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA5, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA4, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B,
- 0x00, 0x96, 0x04, 0x00, 0x08, 0x89, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D, 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x08, 0x89, 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA7, 0x08, 0x89, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x49, 0x9D, 0x02,
- 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0xAA, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA9, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA9, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x8C, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x9B, 0x09, 0x00, 0x00, 0x01,
- 0x00, 0x63, 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAE, 0x08, 0xAC, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAD, 0x52,
- 0x3C, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0xAF, 0x49, 0x12, 0x9D,
++ 0x96, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x12,
++ 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x95,
++ 0x08, 0x8C, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x97, 0x08,
++ 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x97, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0x98, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F,
++ 0x1C, 0x96, 0x04, 0x00, 0x08, 0x99, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x96,
++ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x52,
++ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x12, 0x9D, 0x02,
++ 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9C, 0x08, 0x89,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
++ 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96,
++ 0x02, 0x00, 0x08, 0x9F, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x94, 0x49, 0x12, 0x9D, 0x02, 0x00,
++ 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F, 0x05, 0x00, 0x4F,
++ 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F,
++ 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96,
++ 0x02, 0x00, 0x08, 0xA1, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA2, 0x49, 0x9D, 0x02, 0x00, 0x25,
++ 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA0, 0x08, 0x89, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D,
++ 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08,
++ 0xA0, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96,
++ 0x04, 0x00, 0x08, 0xA0, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0xA3, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96,
++ 0x04, 0x00, 0x08, 0xA3, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x96, 0x07, 0x00,
++ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
++ 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F,
++ 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA5, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x96,
++ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00,
++ 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA6, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6,
++ 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96, 0x02, 0x00,
++ 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA7, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96,
++ 0x02, 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA8, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0xA7, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x4F, 0x96,
++ 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B,
++ 0x00, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x4E, 0x96,
++ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9D, 0x3D, 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00,
++ 0x00, 0x00, 0x00, 0x08, 0x8C, 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00,
++ 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAA, 0x08, 0x8C, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x49, 0x9D, 0x02,
++ 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x4E, 0x96,
++ 0x02, 0x00, 0x08, 0xAD, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8F,
++ 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAC, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02,
++ 0x00, 0x08, 0x8F, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xAC, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x8F, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x9B, 0x09, 0x00, 0x00, 0x01,
++ 0x00, 0x63, 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0xAF, 0x1C, 0x96,
++ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB0, 0x52,
++ 0x3C, 0x96, 0x02, 0x00, 0x08, 0xB1, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0xB2, 0x49, 0x12, 0x9D,
+ 0x02, 0x00, 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x81, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0xAE, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
- 0x00, 0x56, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7F, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xAE, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x7F, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x87, 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0xB0, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x4E, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
++ 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00,
++ 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x84, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96,
++ 0x02, 0x00, 0x08, 0xB1, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
++ 0x00, 0x56, 0x00, 0x96, 0x04, 0x00, 0x08, 0x82, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09,
++ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0xB1, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
++ 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08,
++ 0x82, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x8A, 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F,
++ 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08,
++ 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0xB3, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E,
++ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x4E, 0x4F, 0x96, 0x02, 0x00,
++ 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09,
++ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00,
++ 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09,
+ 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C,
+ 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99,
- 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAE, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB0, 0x52, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08, 0xAE, 0x1C, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0xAE, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0xAD, 0x07, 0x65, 0x00,
++ 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xB1, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07,
++ 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB3, 0x52, 0x3C, 0x96, 0x02,
++ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08, 0xB1, 0x1C, 0x4F, 0x96, 0x02, 0x00,
++ 0x08, 0xB1, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
++ 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08,
++ 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0xB0, 0x07, 0x65, 0x00,
+ 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x97, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x93, 0x07, 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x02, 0x08, 0x76, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07,
++ 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08,
++ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x9A, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00,
++ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x79, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
++ 0x96, 0x07, 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
++ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x02, 0x08, 0x79, 0x1C,
++ 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07,
+ 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00,
- 0x08, 0x7B, 0x08, 0x76, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
- 0x17, 0x96, 0x13, 0x00, 0x08, 0xB1, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB2, 0x07, 0x01,
++ 0x08, 0x7E, 0x08, 0x79, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
++ 0x17, 0x96, 0x13, 0x00, 0x08, 0xB4, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00,
++ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB5, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB3, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x04, 0x00, 0x08, 0xB4, 0x08, 0xB2,
++ 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB6, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00,
++ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x04, 0x00, 0x08, 0xB7, 0x08, 0xB5,
+ 0x1C, 0x1D, 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96, 0x0D, 0x00, 0x07, 0x06, 0x00, 0x00,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00,
+ 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x00
};
diff-tree 94783c22d4b2b4c2afc98835db2a7333b4dd59a8 (from 0c961bd3f00f8bc768e085f449df7ffb828a8e50)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Wed Oct 10 14:23:26 2007 +0300
Use G_GSIZE_FORMAT instead of %u when printing gsize variables
Fixes compile warnings on x86_64
diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c
index 61de9b5..cf80c9a 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -197,8 +197,8 @@ swfdec_as_context_use_mem (SwfdecAsConte
context->memory += bytes;
context->memory_since_gc += bytes;
- SWFDEC_LOG ("+%4u bytes, total %7u (%7u since GC)", bytes,
- context->memory, context->memory_since_gc);
+ SWFDEC_LOG ("+%4"G_GSIZE_FORMAT" bytes, total %7"G_GSIZE_FORMAT" (%7"G_GSIZE_FORMAT" since GC)",
+ bytes, context->memory, context->memory_since_gc);
/* FIXME: Don't foget to abort on OOM */
return TRUE;
}
@@ -219,8 +219,8 @@ swfdec_as_context_unuse_mem (SwfdecAsCon
g_return_if_fail (context->memory >= bytes);
context->memory -= bytes;
- SWFDEC_LOG ("-%4u bytes, total %7u (%7u since GC)", bytes,
- context->memory, context->memory_since_gc);
+ SWFDEC_LOG ("-%4"G_GSIZE_FORMAT" bytes, total %7"G_GSIZE_FORMAT" (%7"G_GSIZE_FORMAT" since GC)",
+ bytes, context->memory, context->memory_since_gc);
}
/*** GC ***/
diff-tree ca62a68fa3e8625d07e1b9281cff0fb2891516fa (from 4cc78ad6b8c0044a9151dc0ed20fd165a6bec0e2)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Tue Oct 9 23:44:18 2007 +0300
Even more TextField rendering work
Make render blocks not only for paragraph ends, but any format changes that
are not just text attributes
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index d610f50..8d915ce 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -86,10 +86,12 @@ swfdec_edit_text_render (SwfdecEditText
const SwfdecTextRenderBlock *blocks, const SwfdecColorTransform *trans,
const SwfdecRect *inval, gboolean fill)
{
- guint i;
+ guint i, j;
PangoLayout *layout;
+ PangoAttrList *attrs;
guint width;
- int height;
+ int height, extra_chars, line_num;
+ PangoLayoutLine *line;
//SwfdecColor color;
g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
@@ -106,6 +108,7 @@ swfdec_edit_text_render (SwfdecEditText
layout = pango_cairo_create_layout (cr);
+ extra_chars = 0;
for (i = 0; blocks[i].text != NULL; i++) {
cairo_rel_move_to (cr, blocks[i].left_margin + blocks[i].block_indent, 0);
width = SWFDEC_GRAPHIC (text)->extents.x1 -
@@ -117,22 +120,48 @@ swfdec_edit_text_render (SwfdecEditText
// TODO: bullet
- pango_layout_set_text (layout, blocks[i].text, blocks[i].text_length);
pango_layout_set_alignment (layout, blocks[i].align);
pango_layout_set_justify (layout, blocks[i].justify);
pango_layout_set_indent (layout, blocks[i].indent);
pango_layout_set_spacing (layout, blocks[i].leading);
pango_layout_set_tabs (layout, blocks[i].tab_stops);
- pango_layout_set_attributes (layout, blocks[i].attrs);
+
+ if (!blocks[i].end_paragraph) {
+ int prev_extra_chars = extra_chars;
+ extra_chars = 0;
+ attrs = pango_attr_list_copy (blocks[i].attrs);
+ for (j = i + 1; blocks[j].text != NULL && !blocks[j-1].end_paragraph; j++)
+ {
+ pango_attr_list_splice (attrs, blocks[j].attrs,
+ blocks[i].text_length + extra_chars, blocks[j].text_length);
+ extra_chars += blocks[j].text_length;
+ }
+ pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
+ blocks[i].text_length + extra_chars - prev_extra_chars);
+ pango_layout_set_attributes (layout, attrs);
+ pango_attr_list_unref (attrs);
+ attrs = NULL;
+
+ pango_layout_index_to_line_x (layout,
+ blocks[i].text_length - prev_extra_chars, FALSE, &line_num, NULL);
+ line = pango_layout_get_line_readonly (layout, line_num);
+ extra_chars = line->start_index + line->length - (blocks[i].text_length - prev_extra_chars);
+ pango_layout_set_text (layout, blocks[i].text + prev_extra_chars,
+ blocks[i].text_length + extra_chars - prev_extra_chars);
+ } else {
+ pango_layout_set_text (layout, blocks[i].text + extra_chars, blocks[i].text_length - extra_chars);
+ pango_layout_set_attributes (layout, blocks[i].attrs);
+ extra_chars = 0;
+ }
if (fill)
pango_cairo_show_layout (cr, layout);
else
pango_cairo_layout_path (cr, layout);
- pango_layout_get_size (layout, NULL, &height);
+ pango_layout_get_pixel_size (layout, NULL, &height);
cairo_rel_move_to (cr, -(blocks[i].left_margin + blocks[i].block_indent),
- height / PANGO_SCALE);
+ height);
}
g_object_unref (layout);
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 404fd75..795d5bc 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -42,6 +42,8 @@ typedef struct {
const char *text;
int text_length;
+ gboolean end_paragraph;
+
PangoAlignment align;
gboolean justify;
gboolean bullet;
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 0c7bee5..e481a86 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -89,11 +89,11 @@ swfdec_edit_text_movie_generate_render_b
break;
}
block->bullet = format->bullet;
- block->indent = format->indent;
- block->leading = format->leading;
- block->block_indent = format->block_indent;
- block->left_margin = format->left_margin;
- block->right_margin = format->right_margin;
+ block->indent = format->indent * 20;
+ block->leading = format->leading * 20 * PANGO_SCALE;
+ block->block_indent = format->block_indent * 20;
+ block->left_margin = format->left_margin * 20;
+ block->right_margin = format->right_margin * 20;
length = swfdec_as_array_get_length (format->tab_stops);
block->tab_stops = pango_tab_array_new (length, TRUE);
@@ -244,34 +244,88 @@ static void
swfdec_edit_text_movie_generate_render_blocks (SwfdecEditTextMovie *text)
{
const char *p, *end;
- int lines, i;
+ SwfdecTextFormat *format, *format_prev;
+ GSList *iter;
+ int num, i;
g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
- lines = 0;
+ num = 0;
+ iter = text->formats;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
p = text->text_display;
while (p != NULL && *p != '\0') {
- lines++;
- p = strchr (p, '\r');
- if (p != NULL) p++;
+ num++;
+ end = strchr (p, '\r');
+ if (end == NULL)
+ end = strchr (p, '\0');
+
+ while (iter != NULL &&
+ ((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
+ {
+ format_prev = format;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ if (format_prev->align != format->align ||
+ format_prev->bullet != format->bullet ||
+ format_prev->indent != format->indent ||
+ format_prev->leading != format->leading ||
+ format_prev->block_indent != format->block_indent ||
+ format_prev->left_margin != format->left_margin)
+ {
+ end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
+ break;
+ }
+
+ iter = iter->next;
+ }
+
+ p = end;
+ if (*p == '\r') p++;
}
- text->blocks = g_new0 (SwfdecTextRenderBlock, lines + 1);
+ text->blocks = g_new0 (SwfdecTextRenderBlock, num + 1);
i = 0;
+ iter = text->formats;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
p = text->text_display;
while (*p != '\0') {
- g_assert (i < lines);
+ g_assert (i < num);
end = strchr (p, '\r');
if (end == NULL)
end = strchr (p, '\0');
- swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i++],
+ while (iter != NULL &&
+ ((SwfdecFormatIndex *)(iter->data))->index < end - text->text_display)
+ {
+ format_prev = format;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ if (format_prev->align != format->align ||
+ format_prev->bullet != format->bullet ||
+ format_prev->indent != format->indent ||
+ format_prev->leading != format->leading ||
+ format_prev->block_indent != format->block_indent ||
+ format_prev->left_margin != format->left_margin)
+ {
+ end = text->text_display + ((SwfdecFormatIndex *)(iter->data))->index;
+ break;
+ }
+
+ iter = iter->next;
+ }
+
+ swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i],
p - text->text_display, end - text->text_display);
+ text->blocks[i].end_paragraph = (*end == '\r' || *end == '\0');
p = end;
if (*p == '\r') p++;
+
+ i++;
}
+ g_assert (i == num);
}
static void
@@ -374,10 +428,10 @@ swfdec_edit_text_movie_init_movie (Swfde
text->format_new->align = text->text->align;
text->format_new->font = text->text->font->name;
text->format_new->size = text->text->size / 20;
- text->format_new->left_margin = text->text->left_margin;
- text->format_new->right_margin = text->text->right_margin;
- text->format_new->indent = text->text->indent;
- text->format_new->leading = text->text->leading;
+ text->format_new->left_margin = text->text->left_margin / 20;
+ text->format_new->right_margin = text->text->right_margin / 20;
+ text->format_new->indent = text->text->indent / 20;
+ text->format_new->leading = text->text->leading / 20;
// text
if (text->text->text_input != NULL) {
diff-tree 4cc78ad6b8c0044a9151dc0ed20fd165a6bec0e2 (from 0282849f8cb6e306abe7a0240df4211968ed8c34)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Tue Oct 9 15:20:22 2007 +0300
Work on TextField's rendering
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index eace361..d610f50 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -89,6 +89,7 @@ swfdec_edit_text_render (SwfdecEditText
guint i;
PangoLayout *layout;
guint width;
+ int height;
//SwfdecColor color;
g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
@@ -97,19 +98,21 @@ swfdec_edit_text_render (SwfdecEditText
g_return_if_fail (trans != NULL);
g_return_if_fail (inval != NULL);
- layout = pango_cairo_create_layout (cr);
-
cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
SWFDEC_GRAPHIC (text)->extents.y0);
/*color = swfdec_color_apply_transform (text->color, trans);
swfdec_color_set_source (cr, color);*/
+ layout = pango_cairo_create_layout (cr);
+
for (i = 0; blocks[i].text != NULL; i++) {
cairo_rel_move_to (cr, blocks[i].left_margin + blocks[i].block_indent, 0);
width = SWFDEC_GRAPHIC (text)->extents.x1 -
SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
blocks[i].right_margin - blocks[i].block_indent;
+
+ pango_cairo_update_layout (cr, layout);
pango_layout_set_width (layout, width * PANGO_SCALE);
// TODO: bullet
@@ -126,7 +129,12 @@ swfdec_edit_text_render (SwfdecEditText
pango_cairo_show_layout (cr, layout);
else
pango_cairo_layout_path (cr, layout);
+
+ pango_layout_get_size (layout, NULL, &height);
+ cairo_rel_move_to (cr, -(blocks[i].left_margin + blocks[i].block_indent),
+ height / PANGO_SCALE);
}
+
g_object_unref (layout);
}
@@ -178,8 +186,8 @@ tag_func_define_edit_text (SwfdecSwfDeco
} else {
SWFDEC_ERROR ("id %u does not specify a font", id);
}
- text->height = swfdec_bits_get_u16 (b);
- SWFDEC_LOG (" height = %u", text->height);
+ text->size = swfdec_bits_get_u16 (b);
+ SWFDEC_LOG (" size = %u", text->size);
}
if (has_color) {
text->color = swfdec_bits_get_rgba (b);
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index bd800be..404fd75 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -74,8 +74,6 @@ struct _SwfdecEditText
gboolean selectable;
gboolean embed_fonts;
- SwfdecFont * font;
- guint height;
gboolean wrap;
gboolean multiline;
@@ -84,8 +82,10 @@ struct _SwfdecEditText
gboolean border;
/* only to be passed to the movie object */
+ SwfdecFont * font;
char * text_input;
char * variable;
+ guint size;
SwfdecColor color;
SwfdecTextAlign align;
guint left_margin;
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 42eedcd..0c7bee5 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -27,6 +27,7 @@
#include "swfdec_as_context.h"
#include "swfdec_as_strings.h"
#include "swfdec_text_format.h"
+#include "swfdec_font.h"
#include "swfdec_debug.h"
#include "swfdec_player_internal.h"
@@ -265,7 +266,7 @@ swfdec_edit_text_movie_generate_render_b
if (end == NULL)
end = strchr (p, '\0');
- swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i],
+ swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i++],
p - text->text_display, end - text->text_display);
p = end;
@@ -371,6 +372,8 @@ swfdec_edit_text_movie_init_movie (Swfde
swfdec_text_format_set_defaults (text->format_new);
text->format_new->color = text->text->color;
text->format_new->align = text->text->align;
+ text->format_new->font = text->text->font->name;
+ text->format_new->size = text->text->size / 20;
text->format_new->left_margin = text->text->left_margin;
text->format_new->right_margin = text->text->right_margin;
text->format_new->indent = text->text->indent;
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 0e8084d..6fdafeb 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -570,7 +570,7 @@ swfdec_edit_text_movie_createTextField (
edittext->multiline = FALSE;
edittext->auto_size = SWFDEC_AUTO_SIZE_NONE;
edittext->border = FALSE;
- edittext->height = 0; // FIXME
+ edittext->size = 240; // FIXME: Correct?
edittext->text_input = NULL;
edittext->variable = NULL;
diff-tree 0282849f8cb6e306abe7a0240df4211968ed8c34 (from 430974e10f51267f0eccc3a4b7197c5607ee3338)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Tue Oct 9 12:38:52 2007 +0300
Work on some of the the TextField's rendering code
Fix reading a value from EditText tag to wrong field
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index ca222a8..eace361 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -87,10 +87,9 @@ swfdec_edit_text_render (SwfdecEditText
const SwfdecRect *inval, gboolean fill)
{
guint i;
- PangoFontDescription *desc;
PangoLayout *layout;
guint width;
- SwfdecColor color;
+ //SwfdecColor color;
g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
g_return_if_fail (cr != NULL);
@@ -98,41 +97,31 @@ swfdec_edit_text_render (SwfdecEditText
g_return_if_fail (trans != NULL);
g_return_if_fail (inval != NULL);
- // is this correct?
- if (text->font == NULL) {
- SWFDEC_ERROR ("no font to render with");
- return;
- }
- if (text->font->desc == NULL) {
- SWFDEC_INFO ("font %d has no cairo font description",
- SWFDEC_CHARACTER (text->font)->id);
- desc = pango_font_description_new ();
- pango_font_description_set_family (desc, "Sans");
- } else {
- desc = pango_font_description_copy (text->font->desc);
- }
- pango_font_description_set_absolute_size (desc, text->height * PANGO_SCALE);
layout = pango_cairo_create_layout (cr);
- pango_layout_set_font_description (layout, desc);
- pango_font_description_free (desc);
cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
SWFDEC_GRAPHIC (text)->extents.y0);
- color = swfdec_color_apply_transform (text->color, trans);
- swfdec_color_set_source (cr, color);
+ /*color = swfdec_color_apply_transform (text->color, trans);
+ swfdec_color_set_source (cr, color);*/
for (i = 0; blocks[i].text != NULL; i++) {
- cairo_rel_move_to (cr, blocks[i].left_margin, 0);
+ cairo_rel_move_to (cr, blocks[i].left_margin + blocks[i].block_indent, 0);
width = SWFDEC_GRAPHIC (text)->extents.x1 -
SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
- blocks[i].right_margin;
+ blocks[i].right_margin - blocks[i].block_indent;
pango_layout_set_width (layout, width * PANGO_SCALE);
+ // TODO: bullet
+
pango_layout_set_text (layout, blocks[i].text, blocks[i].text_length);
- pango_layout_set_attributes (layout, blocks[i].attrs);
pango_layout_set_alignment (layout, blocks[i].align);
pango_layout_set_justify (layout, blocks[i].justify);
+ pango_layout_set_indent (layout, blocks[i].indent);
+ pango_layout_set_spacing (layout, blocks[i].leading);
+ pango_layout_set_tabs (layout, blocks[i].tab_stops);
+ pango_layout_set_attributes (layout, blocks[i].attrs);
+
if (fill)
pango_cairo_show_layout (cr, layout);
else
@@ -224,7 +213,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
text->left_margin = swfdec_bits_get_u16 (b);
text->right_margin = swfdec_bits_get_u16 (b);
text->indent = swfdec_bits_get_u16 (b);
- text->letter_spacing = swfdec_bits_get_s16 (b);
+ text->leading = swfdec_bits_get_s16 (b);
}
text->variable = swfdec_bits_get_string (b);
if (text->variable && *text->variable == 0) {
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 7306724..bd800be 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -91,7 +91,7 @@ struct _SwfdecEditText
guint left_margin;
guint right_margin;
guint indent;
- int letter_spacing;
+ int leading;
};
struct _SwfdecEditTextClass
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 1c0d5b0..42eedcd 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -374,7 +374,7 @@ swfdec_edit_text_movie_init_movie (Swfde
text->format_new->left_margin = text->text->left_margin;
text->format_new->right_margin = text->text->right_margin;
text->format_new->indent = text->text->indent;
- text->format_new->letter_spacing = text->text->letter_spacing;
+ text->format_new->leading = text->text->leading;
// text
if (text->text->text_input != NULL) {
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index d9db049..0e8084d 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -579,7 +579,7 @@ swfdec_edit_text_movie_createTextField (
edittext->left_margin = 0;
edittext->right_margin = 0;
edittext->indent = 0;
- edittext->letter_spacing = 0;
+ edittext->leading = 0;
edittext->graphic.extents.x0 = x;
edittext->graphic.extents.x1 = x + width;
diff-tree 430974e10f51267f0eccc3a4b7197c5607ee3338 (from 9890471b37348185213b75317e54a82ddd38435a)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Tue Oct 9 12:23:33 2007 +0300
Convert some more properties when generating TextField's render blocks
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 3b142c9..1c0d5b0 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -47,9 +47,11 @@ swfdec_edit_text_movie_generate_render_b
SwfdecTextFormat *format, *format_prev;
guint index_;
GSList *iter;
- PangoAttribute *attr_bold, *attr_color/*, *attr_font*/, *attr_italic/*,
- *attr_kerning, *attr_letter_spacing, *attr_size*/,
- *attr_underline;
+ gint32 length, i;
+ SwfdecAsValue val;
+ PangoAttribute *attr_bold, *attr_color, *attr_font, *attr_italic,
+ *attr_letter_spacing, *attr_size, *attr_underline;
+ // TODO: kerning
g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
g_assert (block != NULL);
@@ -91,7 +93,15 @@ swfdec_edit_text_movie_generate_render_b
block->block_indent = format->block_indent;
block->left_margin = format->left_margin;
block->right_margin = format->right_margin;
- //block->tab_stops = format->tab_stops;
+
+ length = swfdec_as_array_get_length (format->tab_stops);
+ block->tab_stops = pango_tab_array_new (length, TRUE);
+ for (i = 0; i < length; i++) {
+ swfdec_as_array_get_value (format->tab_stops, i, &val);
+ g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val));
+ pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT,
+ SWFDEC_AS_VALUE_GET_NUMBER (&val));
+ }
block->attrs = pango_attr_list_new ();
@@ -104,10 +114,22 @@ swfdec_edit_text_movie_generate_render_b
SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
attr_color->start_index = 0;
+ if (text->text->embed_fonts)
+ SWFDEC_FIXME ("Using embed fonts in TextField not supported");
+ attr_font = pango_attr_family_new (format->font);
+ attr_font->start_index = 0;
+
attr_italic = pango_attr_style_new (
(format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
attr_italic->start_index = 0;
+ attr_letter_spacing = pango_attr_letter_spacing_new (
+ format->letter_spacing * 20 * PANGO_SCALE); // FIXME: correct scaling?
+ attr_letter_spacing->start_index = 0;
+
+ attr_size = pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
+ attr_size->start_index = 0;
+
attr_underline = pango_attr_underline_new (
(format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
attr_underline->start_index = 0;
@@ -139,6 +161,16 @@ swfdec_edit_text_movie_generate_render_b
attr_color->start_index = index_ - start_index;
}
+ if (format_prev->font != format->font) {
+ attr_font->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_font);
+
+ if (text->text->embed_fonts)
+ SWFDEC_FIXME ("Using embed fonts in TextField not supported");
+ attr_font = pango_attr_family_new (format->font);
+ attr_font->start_index = index_ - start_index;
+ }
+
if (format_prev->italic != format->italic) {
attr_italic->end_index = index_ - start_index;
pango_attr_list_insert (block->attrs, attr_italic);
@@ -148,6 +180,25 @@ swfdec_edit_text_movie_generate_render_b
attr_italic->start_index = index_ - start_index;
}
+ if (format_prev->letter_spacing != format->letter_spacing) {
+ attr_letter_spacing->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_letter_spacing);
+
+ // FIXME: correct scaling?
+ attr_letter_spacing = pango_attr_letter_spacing_new (
+ format->letter_spacing * 20 * PANGO_SCALE);
+ attr_letter_spacing->start_index = index_ - start_index;
+ }
+
+ if (format_prev->size != format->size) {
+ attr_size->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_size);
+
+ attr_size =
+ pango_attr_size_new_absolute (format->size * 20 * PANGO_SCALE);
+ attr_size->start_index = index_ - start_index;
+ }
+
if (format_prev->underline != format->underline) {
attr_underline->end_index = index_ - start_index;
pango_attr_list_insert (block->attrs, attr_underline);
@@ -167,10 +218,22 @@ swfdec_edit_text_movie_generate_render_b
pango_attr_list_insert (block->attrs, attr_color);
attr_color = NULL;
+ attr_font->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_font);
+ attr_font = NULL;
+
attr_italic->end_index = end_index - start_index;
pango_attr_list_insert (block->attrs, attr_italic);
attr_italic = NULL;
+ attr_letter_spacing->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_letter_spacing);
+ attr_letter_spacing = NULL;
+
+ attr_size->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_size);
+ attr_size = NULL;
+
attr_underline->end_index = end_index - start_index;
pango_attr_list_insert (block->attrs, attr_underline);
attr_underline = NULL;
diff-tree 9890471b37348185213b75317e54a82ddd38435a (from 1ef1155633f367962d1081efcbb878333c1c4e2b)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Tue Oct 9 12:03:42 2007 +0300
More work on TextField's render block generation code
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index d2190ee..3b142c9 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -44,12 +44,12 @@ static void
swfdec_edit_text_movie_generate_render_block (SwfdecEditTextMovie *text,
SwfdecTextRenderBlock *block, guint start_index, guint end_index)
{
- SwfdecTextFormat *format;
+ SwfdecTextFormat *format, *format_prev;
guint index_;
GSList *iter;
- PangoAttribute *attr_bold/*, *attr_color, *attr_font, *attr_italic,
- *attr_kerning, *attr_letter_spacing, *attr_size,
- *attr_underline*/;
+ PangoAttribute *attr_bold, *attr_color/*, *attr_font*/, *attr_italic/*,
+ *attr_kerning, *attr_letter_spacing, *attr_size*/,
+ *attr_underline;
g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
g_assert (block != NULL);
@@ -95,39 +95,85 @@ swfdec_edit_text_movie_generate_render_b
block->attrs = pango_attr_list_new ();
- if (format->bold) {
- attr_bold = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
- attr_bold->start_index = 0;
- } else {
- attr_bold = NULL;
- }
+ // Open attributes
+ attr_bold = pango_attr_weight_new (
+ (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
+ attr_bold->start_index = 0;
+
+ attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
+ SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
+ attr_color->start_index = 0;
+
+ attr_italic = pango_attr_style_new (
+ (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
+ attr_italic->start_index = 0;
+
+ attr_underline = pango_attr_underline_new (
+ (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
+ attr_underline->start_index = 0;
for (iter = iter->next;
iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index < end_index;
iter = iter->next)
{
+ format_prev = format;
index_ = ((SwfdecFormatIndex *)(iter->data))->index;
format = ((SwfdecFormatIndex *)(iter->data))->format;
- // Close attributes
- if (attr_bold && !format->bold) {
+ // Change attributes if necessary
+ if (format_prev->bold != format->bold) {
attr_bold->end_index = index_ - start_index;
pango_attr_list_insert (block->attrs, attr_bold);
- attr_bold = NULL;
- }
- // Open attributes
- if (!attr_bold && format->bold) {
- attr_bold = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
+ attr_bold = pango_attr_weight_new (
+ (format->bold ? PANGO_WEIGHT_BOLD : PANGO_WEIGHT_NORMAL));
attr_bold->start_index = index_ - start_index;
}
+
+ if (format_prev->color != format->color) {
+ attr_color->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_color);
+
+ attr_color = pango_attr_foreground_new (SWFDEC_COLOR_R (format->color),
+ SWFDEC_COLOR_G (format->color), SWFDEC_COLOR_B (format->color));
+ attr_color->start_index = index_ - start_index;
+ }
+
+ if (format_prev->italic != format->italic) {
+ attr_italic->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_italic);
+
+ attr_italic = pango_attr_style_new (
+ (format->italic ? PANGO_STYLE_ITALIC : PANGO_STYLE_NORMAL));
+ attr_italic->start_index = index_ - start_index;
+ }
+
+ if (format_prev->underline != format->underline) {
+ attr_underline->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_underline);
+
+ attr_underline = pango_attr_underline_new (
+ (format->underline ? PANGO_UNDERLINE_SINGLE : PANGO_UNDERLINE_NONE));
+ attr_underline->start_index = index_ - start_index;
+ }
}
// Close attributes
- if (attr_bold) {
- attr_bold->end_index = end_index - start_index;
- pango_attr_list_insert (block->attrs, attr_bold);
- }
+ attr_bold->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_bold);
+ attr_bold = NULL;
+
+ attr_color->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_color);
+ attr_color = NULL;
+
+ attr_italic->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_italic);
+ attr_italic = NULL;
+
+ attr_underline->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_underline);
+ attr_underline = NULL;
}
static void
diff-tree 1ef1155633f367962d1081efcbb878333c1c4e2b (from f8743bb0683162655db1d631247e2192fbb1ddab)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Tue Oct 9 11:29:31 2007 +0300
Rewrite some of TextField's render block generation code
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 6f69125..7306724 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -42,18 +42,17 @@ typedef struct {
const char *text;
int text_length;
+ PangoAlignment align;
+ gboolean justify;
gboolean bullet;
int indent;
int leading;
int block_indent;
int left_margin;
int right_margin;
- int letter_spacing;
- PangoTabArray * tabs;
+ PangoTabArray * tab_stops;
PangoAttrList * attrs;
- PangoAlignment align;
- gboolean justify;
} SwfdecTextRenderBlock;
typedef enum {
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index ad511a0..d2190ee 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -41,14 +41,102 @@ swfdec_edit_text_movie_update_extents (S
}
static void
+swfdec_edit_text_movie_generate_render_block (SwfdecEditTextMovie *text,
+ SwfdecTextRenderBlock *block, guint start_index, guint end_index)
+{
+ SwfdecTextFormat *format;
+ guint index_;
+ GSList *iter;
+ PangoAttribute *attr_bold/*, *attr_color, *attr_font, *attr_italic,
+ *attr_kerning, *attr_letter_spacing, *attr_size,
+ *attr_underline*/;
+
+ g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+ g_assert (block != NULL);
+ g_assert (start_index < end_index);
+ g_assert (end_index <= strlen (text->text_display));
+
+ block->text = text->text_display + start_index;
+ block->text_length = end_index - start_index;
+
+ g_assert (text->formats != NULL);
+ for (iter = text->formats; iter->next != NULL &&
+ ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+ iter = iter->next);
+
+ index_ = start_index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ switch (format->align) {
+ case SWFDEC_TEXT_ALIGN_LEFT:
+ block->align = PANGO_ALIGN_LEFT;
+ block->justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_RIGHT:
+ block->align = PANGO_ALIGN_RIGHT;
+ block->justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_CENTER:
+ block->align = PANGO_ALIGN_CENTER;
+ block->justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_JUSTIFY:
+ block->align = PANGO_ALIGN_LEFT;
+ block->justify = TRUE;
+ break;
+ }
+ block->bullet = format->bullet;
+ block->indent = format->indent;
+ block->leading = format->leading;
+ block->block_indent = format->block_indent;
+ block->left_margin = format->left_margin;
+ block->right_margin = format->right_margin;
+ //block->tab_stops = format->tab_stops;
+
+ block->attrs = pango_attr_list_new ();
+
+ if (format->bold) {
+ attr_bold = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
+ attr_bold->start_index = 0;
+ } else {
+ attr_bold = NULL;
+ }
+
+ for (iter = iter->next;
+ iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index < end_index;
+ iter = iter->next)
+ {
+ index_ = ((SwfdecFormatIndex *)(iter->data))->index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ // Close attributes
+ if (attr_bold && !format->bold) {
+ attr_bold->end_index = index_ - start_index;
+ pango_attr_list_insert (block->attrs, attr_bold);
+ attr_bold = NULL;
+ }
+
+ // Open attributes
+ if (!attr_bold && format->bold) {
+ attr_bold = pango_attr_weight_new (PANGO_WEIGHT_BOLD);
+ attr_bold->start_index = index_ - start_index;
+ }
+ }
+
+ // Close attributes
+ if (attr_bold) {
+ attr_bold->end_index = end_index - start_index;
+ pango_attr_list_insert (block->attrs, attr_bold);
+ }
+}
+
+static void
swfdec_edit_text_movie_generate_render_blocks (SwfdecEditTextMovie *text)
{
- SwfdecFormatIndex *findex;
- GSList *iter, *start;
- PangoAttribute *attr;
const char *p, *end;
- int i, lines;
- guint start_index, end_index, findex_end_index;
+ int lines, i;
+
+ g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
lines = 0;
p = text->text_display;
@@ -60,11 +148,7 @@ swfdec_edit_text_movie_generate_render_b
text->blocks = g_new0 (SwfdecTextRenderBlock, lines + 1);
- if (lines == 0)
- return;
-
i = 0;
- start = text->formats;
p = text->text_display;
while (*p != '\0') {
g_assert (i < lines);
@@ -72,70 +156,11 @@ swfdec_edit_text_movie_generate_render_b
if (end == NULL)
end = strchr (p, '\0');
- start_index = p - text->text_display;
- end_index = end - text->text_display;
-
- text->blocks[i].text = p;
- text->blocks[i].text_length = end - p;
- text->blocks[i].attrs = pango_attr_list_new ();
-
- while (start->next != NULL &&
- ((SwfdecFormatIndex *)(start->next))->index < start_index) {
- start = start->next;
- }
-
- // things we only set on start of paragraph
- findex = start->data;
- switch (findex->format->align) {
- case SWFDEC_TEXT_ALIGN_LEFT:
- text->blocks[i].align = PANGO_ALIGN_LEFT;
- text->blocks[i].justify = FALSE;
- break;
- case SWFDEC_TEXT_ALIGN_RIGHT:
- text->blocks[i].align = PANGO_ALIGN_RIGHT;
- text->blocks[i].justify = FALSE;
- break;
- case SWFDEC_TEXT_ALIGN_CENTER:
- text->blocks[i].align = PANGO_ALIGN_CENTER;
- text->blocks[i].justify = FALSE;
- break;
- case SWFDEC_TEXT_ALIGN_JUSTIFY:
- text->blocks[i].align = PANGO_ALIGN_LEFT;
- text->blocks[i].justify = TRUE;
- break;
- }
- text->blocks[i].bullet = findex->format->bullet;
- text->blocks[i].indent = findex->format->indent;
- text->blocks[i].leading = findex->format->leading;
- text->blocks[i].block_indent = findex->format->block_indent;
- text->blocks[i].left_margin = findex->format->left_margin;
- text->blocks[i].right_margin = findex->format->right_margin;
- text->blocks[i].letter_spacing = findex->format->letter_spacing;
- //PangoTabArray * tabs;
-
- for (iter = start;
- iter != NULL && ((SwfdecFormatIndex *)iter)->index < end_index;
- iter = iter->next)
- {
- findex = iter->data;
- g_assert (findex != NULL);
- g_assert (SWFDEC_IS_TEXT_FORMAT (findex->format));
-
- findex_end_index = (iter->next != NULL ?
- ((SwfdecFormatIndex *)(iter->next))->index :
- strlen (text->text_display));
-
- attr = pango_attr_size_new_absolute (findex->format->size * 20 * PANGO_SCALE);
- attr->start_index = (findex->index < start_index ?
- 0 : findex->index - start_index);
- attr->end_index = (findex_end_index > end_index ?
- end_index - start_index : findex_end_index - start_index);
- pango_attr_list_change (text->blocks[i].attrs, attr);
- };
+ swfdec_edit_text_movie_generate_render_block (text, &text->blocks[i],
+ p - text->text_display, end - text->text_display);
p = end;
- if (*p != '\0') p++;
- i++;
+ if (*p == '\r') p++;
}
}
@@ -187,8 +212,8 @@ swfdec_edit_text_movie_dispose (GObject
for (i = 0; text->blocks[i].text != NULL; i++) {
if (text->blocks[i].attrs != NULL)
pango_attr_list_unref (text->blocks[i].attrs);
- if (text->blocks[i].tabs != NULL)
- pango_tab_array_free (text->blocks[i].tabs);
+ if (text->blocks[i].tab_stops != NULL)
+ pango_tab_array_free (text->blocks[i].tab_stops);
}
g_free (text->blocks);
text->blocks = NULL;
diff-tree f8743bb0683162655db1d631247e2192fbb1ddab (from a079fdc1e101c9e6d41d781b1d3849af8a72a614)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Tue Oct 9 10:47:49 2007 +0300
Add an embedFonts property for TextField, doesn't actually do anything yet
diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 03fbcb0..16ebc05 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -391,6 +391,7 @@ const char swfdec_as_strings[] =
SWFDEC_AS_CONSTANT_STRING ("Times New Roman")
SWFDEC_AS_CONSTANT_STRING ("condenseWhite")
SWFDEC_AS_CONSTANT_STRING ("textColor")
+ SWFDEC_AS_CONSTANT_STRING ("embedFonts")
/* add more here */
;
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index 67a57a6..ca222a8 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -146,7 +146,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
{
SwfdecEditText *text;
guint id;
- int reserved, use_outlines;
+ int reserved;
gboolean has_font, has_color, has_max_length, has_layout, has_text;
SwfdecBits *b = &s->b;
@@ -177,7 +177,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
text->border = swfdec_bits_getbit (b);
reserved = swfdec_bits_getbit (b);
text->html = swfdec_bits_getbit (b);
- use_outlines = swfdec_bits_getbit (b); /* FIXME: what's this? */
+ text->embed_fonts = swfdec_bits_getbit (b);
if (has_font) {
SwfdecCharacter *font;
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index 1d64b15..6f69125 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -74,14 +74,15 @@ struct _SwfdecEditText
guint max_length;
gboolean selectable;
- SwfdecFont * font;
+ gboolean embed_fonts;
+ SwfdecFont * font;
+ guint height;
gboolean wrap;
gboolean multiline;
SwfdecAutoSize auto_size;
gboolean border;
- guint height;
/* only to be passed to the movie object */
char * text_input;
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 842e141..d9db049 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -408,6 +408,31 @@ swfdec_edit_text_movie_set_condenseWhite
}
static void
+swfdec_edit_text_movie_get_embedFonts (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->embed_fonts);
+}
+
+static void
+swfdec_edit_text_movie_set_embedFonts (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+ gboolean value;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+
+ text->text->embed_fonts = value;
+}
+
+static void
swfdec_edit_text_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
@@ -663,6 +688,9 @@ swfdec_edit_text_movie_construct (Swfdec
swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
swfdec_edit_text_movie_get_condenseWhite,
swfdec_edit_text_movie_set_condenseWhite);
+ swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_embedFonts,
+ swfdec_edit_text_movie_get_embedFonts,
+ swfdec_edit_text_movie_set_embedFonts);
swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_length,
swfdec_edit_text_movie_get_length, NULL);
swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
diff-tree a079fdc1e101c9e6d41d781b1d3849af8a72a614 (from 5bbd4e6bb6fff4353a975df6f133c0e4eeb69532)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 17:21:02 2007 +0300
Fix if clause being reversed, causing TextField's setNewTextFormat not to work
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 7319594..842e141 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -472,7 +472,7 @@ swfdec_edit_text_movie_setNewTextFormat
SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "o", &obj);
- if (SWFDEC_IS_TEXT_FORMAT (obj))
+ if (!SWFDEC_IS_TEXT_FORMAT (obj))
return;
text->format_new = swfdec_text_format_copy (SWFDEC_TEXT_FORMAT (obj));
diff-tree 5bbd4e6bb6fff4353a975df6f133c0e4eeb69532 (from cfa5063b34a130b2380894a03841030394c11c11)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 17:16:42 2007 +0300
TextField: Add setNewTextFormat/getNewTextFormat methods and textColor property
diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 99478ab..03fbcb0 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -390,6 +390,7 @@ const char swfdec_as_strings[] =
SWFDEC_AS_CONSTANT_STRING ("TextFormat")
SWFDEC_AS_CONSTANT_STRING ("Times New Roman")
SWFDEC_AS_CONSTANT_STRING ("condenseWhite")
+ SWFDEC_AS_CONSTANT_STRING ("textColor")
/* add more here */
;
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 5282cd6..7319594 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -418,6 +418,66 @@ swfdec_edit_text_movie_get_length (Swfde
SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
}
+static void
+swfdec_edit_text_movie_get_textColor (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+ swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (text->format_new),
+ SWFDEC_AS_STR_color, ret);
+}
+
+static void
+swfdec_edit_text_movie_set_textColor (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+ if (argc < 1)
+ return;
+
+ swfdec_as_object_set_variable (SWFDEC_AS_OBJECT (text->format_new),
+ SWFDEC_AS_STR_color, &argv[0]);
+}
+
+SWFDEC_AS_NATIVE (104, 104, swfdec_edit_text_movie_getNewTextFormat)
+void
+swfdec_edit_text_movie_getNewTextFormat (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_OBJECT (ret,
+ SWFDEC_AS_OBJECT (swfdec_text_format_copy (text->format_new)));
+}
+
+SWFDEC_AS_NATIVE (104, 105, swfdec_edit_text_movie_setNewTextFormat)
+void
+swfdec_edit_text_movie_setNewTextFormat (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+ SwfdecAsObject *obj;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "o", &obj);
+
+ if (SWFDEC_IS_TEXT_FORMAT (obj))
+ return;
+
+ text->format_new = swfdec_text_format_copy (SWFDEC_TEXT_FORMAT (obj));
+}
+
SWFDEC_AS_NATIVE (104, 102, swfdec_edit_text_movie_setTextFormat)
void
swfdec_edit_text_movie_setTextFormat (SwfdecAsContext *cx,
@@ -605,6 +665,9 @@ swfdec_edit_text_movie_construct (Swfdec
swfdec_edit_text_movie_set_condenseWhite);
swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_length,
swfdec_edit_text_movie_get_length, NULL);
+ swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_textColor,
+ swfdec_edit_text_movie_get_textColor,
+ swfdec_edit_text_movie_set_textColor);
SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
}
diff --git a/libswfdec/swfdec_initialize.as b/libswfdec/swfdec_initialize.as
index 82abb91..6429bda 100644
--- a/libswfdec/swfdec_initialize.as
+++ b/libswfdec/swfdec_initialize.as
@@ -279,6 +279,8 @@ ASSetPropFlags (MovieClip.prototype, nul
TextField = ASconstructor (104, 0);
TextField.prototype.setTextFormat = ASnative (104, 102);
+TextField.prototype.getNewTextFormat = ASnative (104, 104);
+TextField.prototype.setNewTextFormat = ASnative (104, 105);
/* TextFormat */
diff --git a/libswfdec/swfdec_initialize.h b/libswfdec/swfdec_initialize.h
index f29de69..95ac4db 100644
--- a/libswfdec/swfdec_initialize.h
+++ b/libswfdec/swfdec_initialize.h
@@ -2,7 +2,7 @@
/* compiled from swfdec_initialize.as */
const unsigned char swfdec_initialize[] = {
- 0x88, 0xCF, 0x06, 0xB3, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
+ 0x88, 0xF1, 0x06, 0xB5, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
0x00, 0x41, 0x53, 0x6E, 0x61, 0x74, 0x69, 0x76, 0x65, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E,
0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x00, 0x4F, 0x62,
0x6A, 0x65, 0x63, 0x74, 0x00, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6C, 0x61,
@@ -78,448 +78,455 @@ const unsigned char swfdec_initialize[]
0x69, 0x65, 0x6C, 0x64, 0x00, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2C, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C,
0x69, 0x70, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x73, 0x65, 0x74,
- 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46,
- 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x53, 0x68, 0x65, 0x65, 0x74,
- 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x6F, 0x5F,
- 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x00, 0x5F,
- 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x73, 0x00, 0x67, 0x65, 0x74, 0x53,
- 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x53, 0x74, 0x79,
- 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x64, 0x6F, 0x54, 0x72, 0x61, 0x6E, 0x73,
- 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x4E, 0x61, 0x6D,
- 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x72, 0x61,
- 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x74, 0x65,
- 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x66, 0x6F,
- 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x62, 0x6F, 0x6C, 0x64, 0x00, 0x6E, 0x6F,
- 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65,
- 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x00, 0x66, 0x6F,
- 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x00, 0x70, 0x61,
- 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79,
- 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x69, 0x6E, 0x64, 0x65,
- 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49, 0x6E, 0x74, 0x00, 0x66, 0x6F, 0x6E, 0x74,
- 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61, 0x6C, 0x69, 0x63, 0x00, 0x6B, 0x65, 0x72,
- 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65, 0x00, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x00,
- 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x4C, 0x65,
- 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x6C, 0x65,
- 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67,
- 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4D, 0x61, 0x72,
- 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x73, 0x69, 0x7A,
- 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E,
- 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E, 0x65, 0x00, 0x6E, 0x6F, 0x6E, 0x65, 0x00,
- 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00, 0x63, 0x73, 0x73, 0x00, 0x70, 0x61, 0x72,
- 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x00, 0x72, 0x65,
- 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x00,
- 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x63, 0x6C, 0x65, 0x61,
- 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6D,
- 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75,
- 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72, 0x6F, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74,
- 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D, 0x00, 0x4C, 0x6F, 0x61, 0x64, 0x56, 0x61,
- 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13, 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96,
- 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x03, 0x1C, 0x96, 0x13, 0x00,
- 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x03,
- 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00,
- 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00, 0x3C, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00,
- 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4E,
- 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07, 0x00, 0x08, 0x0F, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x4C, 0x1C, 0x50, 0x1D,
- 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x49, 0x12, 0x9D, 0x02,
- 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x11, 0x52, 0x17,
- 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x00,
- 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x9B, 0x07, 0x00,
- 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x13, 0x00,
- 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x08,
- 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C,
- 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x4E, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x0C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42,
- 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x08, 0x14, 0x08, 0x13, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83,
- 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08,
- 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08, 0x16, 0x07, 0x12, 0x00, 0x00, 0x00, 0x08,
- 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07, 0x14, 0x00, 0x00, 0x00, 0x08, 0x19, 0x07,
- 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00, 0x00, 0x00, 0x08, 0x1B, 0x07, 0x28, 0x00,
- 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x07, 0x0D, 0x00, 0x00, 0x00,
- 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F, 0x07, 0x24, 0x00, 0x00, 0x00, 0x08, 0x20,
- 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25, 0x00, 0x00, 0x00, 0x08, 0x22, 0x07, 0x22,
- 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00, 0x00, 0x08, 0x24, 0x07, 0x27, 0x00, 0x00,
- 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08, 0x26, 0x07, 0x20, 0x00, 0x00, 0x00, 0x08,
- 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07, 0x26, 0x00, 0x00, 0x00, 0x07, 0x13, 0x00,
- 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29, 0x07, 0x20, 0x03, 0x00, 0x00, 0x08, 0x15,
- 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x02, 0x00,
- 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x15,
- 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00,
- 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96,
- 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00,
- 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00,
- 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43,
- 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x0E, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04,
- 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08, 0x32, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x34,
- 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09,
- 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01,
- 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00,
- 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x39,
- 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96, 0x03, 0x00, 0x08, 0x3A, 0x02, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
- 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x3A,
- 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x02, 0x00, 0x08, 0x3A,
- 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x33, 0x00, 0x96, 0x04, 0x00, 0x08,
- 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x96,
- 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A,
- 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x1D, 0x99,
- 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00,
- 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F,
- 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83, 0x00,
- 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07,
- 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x42, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D,
- 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x44, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x45, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x46, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0xFD,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x47, 0x07, 0x04, 0x00,
- 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x48, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49, 0x07, 0x07, 0x00, 0x00, 0x00, 0x07, 0xFD,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4A, 0x07, 0x08, 0x00,
- 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x10,
- 0x00, 0x08, 0x30, 0x08, 0x4C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x42, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30, 0x08, 0x4B, 0x1C,
+ 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x67, 0x65, 0x74, 0x4E, 0x65,
+ 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x73, 0x65, 0x74, 0x4E,
+ 0x65, 0x77, 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x54, 0x65, 0x78,
+ 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x53, 0x68, 0x65,
+ 0x65, 0x74, 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00,
+ 0x6F, 0x5F, 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72,
+ 0x00, 0x5F, 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x73, 0x00, 0x67, 0x65,
+ 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x53,
+ 0x74, 0x79, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x64, 0x6F, 0x54, 0x72, 0x61,
+ 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x4E,
+ 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74,
+ 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00,
+ 0x74, 0x65, 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x00,
+ 0x66, 0x6F, 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x62, 0x6F, 0x6C, 0x64, 0x00,
+ 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x70, 0x61, 0x72,
+ 0x73, 0x65, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x00,
+ 0x66, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x00,
+ 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69,
+ 0x6C, 0x79, 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x69, 0x6E,
+ 0x64, 0x65, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49, 0x6E, 0x74, 0x00, 0x66, 0x6F,
+ 0x6E, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61, 0x6C, 0x69, 0x63, 0x00, 0x6B,
+ 0x65, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65, 0x00, 0x66, 0x61, 0x6C, 0x73,
+ 0x65, 0x00, 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E,
+ 0x4C, 0x65, 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00,
+ 0x6C, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61,
+ 0x72, 0x67, 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4D,
+ 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x73,
+ 0x69, 0x7A, 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63, 0x6F, 0x72, 0x61, 0x74, 0x69,
+ 0x6F, 0x6E, 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E, 0x65, 0x00, 0x6E, 0x6F, 0x6E,
+ 0x65, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00, 0x63, 0x73, 0x73, 0x00, 0x70,
+ 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x00,
+ 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C, 0x00, 0x70, 0x61, 0x72, 0x73,
+ 0x65, 0x00, 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x63, 0x6C,
+ 0x65, 0x61, 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x54,
+ 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x54, 0x69, 0x6D, 0x65,
+ 0x6F, 0x75, 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72, 0x6F, 0x61, 0x64, 0x63, 0x61,
+ 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D, 0x00, 0x4C, 0x6F, 0x61, 0x64,
+ 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13, 0x00, 0x08, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x03, 0x1C, 0x96,
+ 0x13, 0x00, 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
+ 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07,
+ 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00,
+ 0x3C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C,
+ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00,
+ 0x78, 0x00, 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x0C, 0x4E, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07, 0x00, 0x08, 0x0F, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x4C, 0x1C,
+ 0x50, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0E,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x49, 0x12,
+ 0x9D, 0x02, 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x11,
+ 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00,
+ 0x05, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x9B,
+ 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96,
+ 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00,
+ 0x08, 0x08, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x4E,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x0C, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x42, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x08, 0x14, 0x08, 0x13, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x4F, 0x96, 0x08, 0x00,
+ 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08, 0x16, 0x07, 0x12, 0x00, 0x00,
+ 0x00, 0x08, 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07, 0x14, 0x00, 0x00, 0x00, 0x08,
+ 0x19, 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00, 0x00, 0x00, 0x08, 0x1B, 0x07,
+ 0x28, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x07, 0x0D, 0x00,
+ 0x00, 0x00, 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F, 0x07, 0x24, 0x00, 0x00, 0x00,
+ 0x08, 0x20, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25, 0x00, 0x00, 0x00, 0x08, 0x22,
+ 0x07, 0x22, 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00, 0x00, 0x08, 0x24, 0x07, 0x27,
+ 0x00, 0x00, 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08, 0x26, 0x07, 0x20, 0x00, 0x00,
+ 0x00, 0x08, 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07, 0x26, 0x00, 0x00, 0x00, 0x07,
+ 0x13, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29, 0x07, 0x20, 0x03, 0x00, 0x00,
+ 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96,
+ 0x02, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02,
+ 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
+ 0x07, 0x00, 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2A,
+ 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96,
+ 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96,
+ 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03,
+ 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2D, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x0E, 0x00, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00,
+ 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08, 0x32, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36,
+ 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C,
+ 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99,
+ 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05,
+ 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96, 0x03, 0x00, 0x08, 0x3A, 0x02,
+ 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49,
+ 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00,
+ 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07,
+ 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x33, 0x00, 0x96, 0x04,
+ 0x00, 0x08, 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B,
+ 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47,
+ 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x3E, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x08, 0x00, 0x07,
+ 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07,
+ 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x42, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43,
+ 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
+ 0x00, 0x08, 0x44, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x45, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x46, 0x07, 0x03, 0x00, 0x00, 0x00,
+ 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x47, 0x07,
+ 0x04, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
+ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
+ 0x00, 0x08, 0x48, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49, 0x07, 0x07, 0x00, 0x00, 0x00,
+ 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4A, 0x07,
+ 0x08, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
+ 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C,
+ 0x96, 0x10, 0x00, 0x08, 0x30, 0x08, 0x4C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x42, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30, 0x08,
+ 0x4B, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02,
+ 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
+ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
+ 0x00, 0x08, 0x4D, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4E, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4F, 0x07, 0x0C, 0x00, 0x00, 0x00,
+ 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73,
+ 0x72, 0x63, 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49,
+ 0x12, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08,
+ 0x37, 0x05, 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38,
+ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x4F, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40,
+ 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x50, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x51, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E,
+ 0x96, 0x13, 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x52, 0x52, 0x17,
+ 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x52, 0x3A, 0x17, 0x96, 0x02, 0x00, 0x08, 0x53, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74, 0x61,
+ 0x72, 0x67, 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00,
+ 0x08, 0x54, 0x08, 0x54, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08,
+ 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D, 0x96,
+ 0x09, 0x00, 0x08, 0x55, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x53, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08,
+ 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x53, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08,
- 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x4D, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x4E, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4F, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0xFD,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63,
- 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D,
- 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05,
- 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x4F, 0x52,
- 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05,
- 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x50, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D,
- 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x51, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x50,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x52, 0x52, 0x17, 0x96, 0x02,
- 0x00, 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x52, 0x3A,
- 0x17, 0x96, 0x02, 0x00, 0x08, 0x53, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74, 0x61, 0x72, 0x67,
- 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x54,
- 0x08, 0x54, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D, 0x96, 0x09, 0x00,
- 0x08, 0x55, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x53, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07,
- 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x53, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x57, 0x9B, 0x0C, 0x00, 0x00, 0x01,
- 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00, 0x08, 0x5A, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x49, 0x9D, 0x02, 0x00, 0x2D, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x49, 0x9D, 0x02, 0x00, 0x0E, 0x00,
- 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00, 0x75, 0x72, 0x6C,
- 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x97,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49, 0x12, 0x9D,
- 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x54, 0x08, 0x4C, 0x1D, 0x96, 0x04, 0x00, 0x08,
- 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C,
- 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x9A, 0x01, 0x00, 0x02, 0x99, 0x02,
- 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x9A,
- 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x54, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x61, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00,
- 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96, 0x04, 0x00,
- 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96, 0x02,
- 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00,
- 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99, 0x02, 0x00, 0x16,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01,
- 0x00, 0xC0, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x75,
- 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96, 0x04, 0x00, 0x08,
- 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96, 0x02, 0x00,
- 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x4A,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49,
- 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02, 0x00, 0x16, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x62, 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00,
- 0x40, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x64, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x65, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x66,
- 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x67, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07, 0x07, 0x00, 0x00,
- 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x68,
- 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x69, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6A, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6B, 0x07, 0x0E, 0x00, 0x00,
- 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6C,
- 0x07, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x6D, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6E, 0x07, 0x11, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6F, 0x07, 0x12, 0x00, 0x00,
- 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x70,
- 0x07, 0x13, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x13, 0x00, 0x08, 0x71, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x72, 0x07, 0x15, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x73, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x85, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x74,
- 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
- 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x75, 0x08, 0x56, 0x1C,
+ 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x57, 0x9B, 0x0C, 0x00,
+ 0x00, 0x01, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00, 0x08,
+ 0x5A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C,
+ 0x96, 0x02, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x49, 0x9D, 0x02, 0x00, 0x2D,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x49, 0x9D, 0x02, 0x00,
+ 0x0E, 0x00, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00,
+ 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00, 0x75,
+ 0x72, 0x6C, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64,
+ 0x00, 0x97, 0x00, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49,
+ 0x12, 0x9D, 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x54, 0x08, 0x4C, 0x1D, 0x96, 0x04,
+ 0x00, 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05,
+ 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x9A, 0x01, 0x00, 0x02,
+ 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x54,
+ 0x1C, 0x9A, 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x61, 0x9B, 0x10, 0x00, 0x00,
+ 0x02, 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96,
+ 0x04, 0x00, 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20,
+ 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D,
+ 0x02, 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99, 0x02,
+ 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E,
+ 0x9A, 0x01, 0x00, 0xC0, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00, 0x00, 0x02,
+ 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96, 0x04,
+ 0x00, 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96,
+ 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02,
+ 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02, 0x00,
+ 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A,
+ 0x01, 0x00, 0x40, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x64, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07,
+ 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x65, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x66, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x67, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07,
+ 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07, 0x07,
+ 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x68, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x69, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6A, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x07,
+ 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6B, 0x07, 0x0E,
+ 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x6C, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6D, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6E, 0x07, 0x11, 0x00, 0x00, 0x00, 0x07,
+ 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6F, 0x07, 0x12,
+ 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x70, 0x07, 0x13, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x13, 0x00, 0x08, 0x71, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x72, 0x07, 0x15, 0x00, 0x00, 0x00, 0x07,
+ 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x73, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x07, 0x85, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x74, 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x75, 0x08,
+ 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
+ 0x08, 0x05, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x56, 0x1C,
0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05,
- 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x56, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17,
- 0x96, 0x13, 0x00, 0x08, 0x76, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x77, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x68,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08,
- 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x6E, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x79, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7A, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F,
- 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x49,
- 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08,
- 0x7C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x46, 0x87, 0x01,
- 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08,
- 0x7D, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x1C, 0x4E, 0x4F, 0x99, 0x02,
- 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x7E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65,
- 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x82, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7A, 0x52, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x83,
- 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65,
- 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x12,
- 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08,
- 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x7F, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7A,
- 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x85, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x86, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x87, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x3C, 0x96, 0x07, 0x00, 0x08, 0x88, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x87, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96,
- 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7D, 0x04, 0x00,
- 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x88, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02,
- 0x00, 0x08, 0x88, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x85, 0x9B, 0x0A, 0x00,
- 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x80, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x80, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x82, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x52, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x89, 0x9B, 0x0B,
- 0x00, 0x00, 0x01, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08,
- 0x84, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00,
- 0x02, 0x3E, 0x96, 0x09, 0x00, 0x08, 0x8A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x78, 0x40, 0x3C,
- 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x4E, 0x12, 0x9D, 0x02, 0x00,
- 0x15, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x84, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x8B, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x8D, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x49,
- 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0x8E, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x8E, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x90, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0x87, 0x08, 0x84,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x90, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x91, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96,
- 0x01, 0x00, 0x02, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0x90, 0x08, 0x87, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C,
- 0x96, 0x04, 0x00, 0x08, 0x92, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x93, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x94, 0x08, 0x84, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x93, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x95, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x96, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x97, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x96, 0x4E, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x98, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x99, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x99, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x8F, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04,
- 0x00, 0x08, 0x9A, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A,
- 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9C, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x9D, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x9B, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x98, 0x3D, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9B, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9B, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9E, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x9E, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x98, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9F, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA0, 0x08, 0x84, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x9F, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x98, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x12, 0x9D, 0x02,
- 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA1, 0x08, 0x84,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x98, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA2, 0x4E, 0x12,
- 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA3,
- 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA2, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x98, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4,
- 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x87, 0x08, 0x84, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x98, 0x3D,
- 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x87, 0x1C, 0x48, 0x12, 0x9D, 0x02,
- 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA5, 0x08, 0x87,
- 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0xA7, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA7, 0x05, 0x00, 0x4F, 0x99,
- 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA7, 0x05,
- 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0xA9, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x63, 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00,
- 0x08, 0xAC, 0x08, 0xAA, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0xAB, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x1C, 0x44, 0x96, 0x02,
- 0x00, 0x08, 0xAD, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E,
- 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x12, 0x12, 0x9D, 0x02,
- 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96,
- 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x56, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7D, 0x04, 0x00,
- 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x7D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x1C, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7A,
- 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x85, 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96,
- 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0xAE, 0x08, 0x76, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0xA9, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07,
- 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19,
- 0x00, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAC, 0x08,
- 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xAE, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08,
- 0xAC, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0xAB, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x95, 0x07, 0x66, 0x00,
+ 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x76, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x77, 0x07, 0x66, 0x00, 0x00, 0x00,
+ 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x78, 0x07,
+ 0x68, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
+ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
+ 0x00, 0x08, 0x79, 0x07, 0x69, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x7A, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x6E, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02,
+ 0x00, 0x08, 0x76, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x7B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x71,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02,
+ 0x00, 0x08, 0x7C, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x13, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05,
+ 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x43, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02,
+ 0x49, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7F, 0x04, 0x00, 0x3C, 0x96, 0x02,
+ 0x00, 0x08, 0x7E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x7F, 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00,
+ 0x08, 0x7E, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B,
+ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x80, 0x9B, 0x05, 0x00, 0x00,
+ 0x00, 0x00, 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x81, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08,
+ 0x82, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x83,
+ 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x4E,
+ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C,
+ 0x52, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x85, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00,
+ 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x67, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x81, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x96, 0x02,
+ 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x84, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x87, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B,
+ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x88, 0x9B, 0x05, 0x00, 0x00,
+ 0x00, 0x00, 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x89, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x81, 0x4E, 0x3C, 0x96, 0x07, 0x00, 0x08, 0x8A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96,
+ 0x02, 0x00, 0x08, 0x89, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
+ 0x00, 0x25, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7F, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7F,
+ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x0D, 0x52, 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x3E, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D,
+ 0x65, 0x00, 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x4E,
+ 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00,
+ 0x08, 0x82, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x82, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x4E, 0x96, 0x07,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x52, 0x4F,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x9B, 0x0B, 0x00, 0x00, 0x01, 0x00, 0x73, 0x74,
+ 0x79, 0x6C, 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x01, 0x00, 0x02,
+ 0x49, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x09, 0x00, 0x08,
+ 0x8C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7A, 0x40, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x8D, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8E, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x4E,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x90, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x8F, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x91, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x90, 0x05, 0x00, 0x4F, 0x99, 0x02,
+ 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x90, 0x05, 0x01,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x12, 0x9D, 0x02,
+ 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0x89, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92,
+ 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x93, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x12,
+ 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x92,
+ 0x08, 0x89, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x94, 0x08,
+ 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x94, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x95, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C,
+ 0x1C, 0x96, 0x04, 0x00, 0x08, 0x96, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x96,
+ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x97, 0x52,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x12, 0x9D, 0x02,
+ 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x99, 0x08, 0x86,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x9A, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x9C, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x91, 0x49, 0x12, 0x9D, 0x02, 0x00,
+ 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9C, 0x05, 0x00, 0x4F,
+ 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9C,
+ 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x9E, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9F, 0x49, 0x9D, 0x02, 0x00, 0x25,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9D, 0x08, 0x86, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D,
+ 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08,
+ 0x9D, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96,
+ 0x04, 0x00, 0x08, 0x9D, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0xA0, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96,
+ 0x04, 0x00, 0x08, 0xA0, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x07, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C,
+ 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA2, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x96,
+ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x86,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA3, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3,
+ 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA5, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0xA4, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B,
+ 0x00, 0x96, 0x04, 0x00, 0x08, 0x89, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x96,
+ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x9A, 0x3D, 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x08, 0x89, 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA7, 0x08, 0x89, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA9, 0x49, 0x9D, 0x02,
+ 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0xAA, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8C,
+ 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA9, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x8C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA9, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x8C, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x9B, 0x09, 0x00, 0x00, 0x01,
+ 0x00, 0x63, 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAE, 0x08, 0xAC, 0x1C, 0x96,
+ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAD, 0x52,
+ 0x3C, 0x96, 0x02, 0x00, 0x08, 0xAE, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0xAF, 0x49, 0x12, 0x9D,
+ 0x02, 0x00, 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x81, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0xAE, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
+ 0x00, 0x56, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7F, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x81, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0xAE, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x7F, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x87, 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0xB0, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x4E, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09,
+ 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C,
+ 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99,
+ 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAE, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07,
+ 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xB0, 0x52, 0x3C, 0x96, 0x02,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08, 0xAE, 0x1C, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0xAE, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0xAD, 0x07, 0x65, 0x00,
0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x91, 0x07, 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04,
- 0x00, 0x00, 0x02, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09,
- 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x08, 0x79, 0x08, 0x76, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03,
- 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0xAF, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96,
- 0x13, 0x00, 0x08, 0xB0, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB1, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96,
- 0x04, 0x00, 0x08, 0xB2, 0x08, 0xB0, 0x1C, 0x1D, 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96,
- 0x0D, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x00
+ 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x97, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
+ 0x93, 0x07, 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x02, 0x08, 0x76, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x7B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07,
+ 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00,
+ 0x08, 0x7B, 0x08, 0x76, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D,
+ 0x17, 0x96, 0x13, 0x00, 0x08, 0xB1, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB2, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
+ 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB3, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00,
+ 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x04, 0x00, 0x08, 0xB4, 0x08, 0xB2,
+ 0x1C, 0x1D, 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96, 0x0D, 0x00, 0x07, 0x06, 0x00, 0x00,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00,
+ 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x00
};
diff-tree cfa5063b34a130b2380894a03841030394c11c11 (from 53a62445414e6d6e66dabb20604bc70b68d4fc1e)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 17:15:46 2007 +0300
Reset TextField's new text format when resetting html text in version < 8
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 1d4de65..ad511a0 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -368,6 +368,8 @@ swfdec_edit_text_movie_set_text (SwfdecE
text->formats = NULL;
// add the default style
+ if (html && SWFDEC_AS_OBJECT (text)->context->version < 8)
+ swfdec_text_format_set_defaults (text->format_new);
block = g_new (SwfdecFormatIndex, 1);
block->index = 0;
g_assert (SWFDEC_IS_TEXT_FORMAT (text->format_new));
diff-tree 53a62445414e6d6e66dabb20604bc70b68d4fc1e (from aff70f7cd9e4e902f0132197434338e80bdaacaf)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 16:50:00 2007 +0300
Cleanup the tag parsing code in TextField a little and fix a segfault
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index ebe9548..3bfb688 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -174,8 +174,10 @@ swfdec_edit_text_movie_html_parse_tag (P
g_return_val_if_fail (p != NULL, NULL);
g_return_val_if_fail (*p == '<', NULL);
+ p++;
+
// closing tag or opening tag?
- if (*(p + 1) == '/') {
+ if (*p == '/') {
close = TRUE;
p++;
} else {
@@ -184,19 +186,20 @@ swfdec_edit_text_movie_html_parse_tag (P
// find the end of the name
end = p + strcspn (p, "> \r\n\t");
+
if (*end == '\0')
- return end;
+ return NULL;
// don't count trailing / as part of the name if it's followed by >
// we still act like it's a normal opening tag even if it has /
if (*end == '>' && *(end - 1) == '/')
end = end - 1;
- if (end == p + 1) // empty name
+ if (end == p) // empty name
return NULL;
- name = p + 1;
- name_length = end - (p + 1);
+ name = p;
+ name_length = end - p;
if (close)
{
@@ -209,6 +212,8 @@ swfdec_edit_text_movie_html_parse_tag (P
if (tag != NULL && name_length == tag->name_length &&
!g_strncasecmp (name, tag->name, name_length))
{
+ tag->end_index = data->text->len;
+
if (data->cx->version == 6) {
if ((name_length == 1 && !g_strncasecmp (name, "p", 1)) ||
(name_length == 2 && !g_strncasecmp (name, "li", 2))) {
@@ -216,8 +221,6 @@ swfdec_edit_text_movie_html_parse_tag (P
}
}
- tag->end_index = data->text->len;
-
data->tags_open = g_slist_remove (data->tags_open, tag);
data->tags_closed = g_slist_prepend (data->tags_closed, tag);
}
@@ -321,7 +324,6 @@ swfdec_edit_text_movie_html_parse (Swfde
{
ParserData data;
const char *p;
- char *string, *r;
g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
g_return_if_fail (str != NULL);
@@ -332,7 +334,7 @@ swfdec_edit_text_movie_html_parse (Swfde
data.tags_closed = NULL;
p = str;
- while (*p != '\0' && p != NULL) {
+ while (p != NULL && *p != '\0') {
if (*p == '<') {
if (strncmp (p + 1, "!--", strlen ("!--")) == 0) {
p = swfdec_edit_text_movie_html_parse_comment (&data, p);
@@ -363,13 +365,8 @@ swfdec_edit_text_movie_html_parse (Swfde
}
// set parsed text
- // change all \n to \r
- string = g_string_free (data.text, FALSE);
- r = string;
- while ((r = strchr (r, '\n')) != NULL) {
- *r = '\r';
- }
- text->text_display = swfdec_as_context_give_string (data.cx, string);
+ text->text_display =
+ swfdec_as_context_give_string (data.cx, g_string_free (data.text, FALSE));
// add parsed styles
while (data.tags_closed != NULL) {
diff-tree aff70f7cd9e4e902f0132197434338e80bdaacaf (from 695e5ffc7244512b90b59abd6b05b1e214519176)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 15:01:52 2007 +0300
Add back parsing of BR and adding \r after P and LI, but only in version 6
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 3b64aef..ebe9548 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -209,6 +209,13 @@ swfdec_edit_text_movie_html_parse_tag (P
if (tag != NULL && name_length == tag->name_length &&
!g_strncasecmp (name, tag->name, name_length))
{
+ if (data->cx->version == 6) {
+ if ((name_length == 1 && !g_strncasecmp (name, "p", 1)) ||
+ (name_length == 2 && !g_strncasecmp (name, "li", 2))) {
+ data->text = g_string_append_c (data->text, '\r');
+ }
+ }
+
tag->end_index = data->text->len;
data->tags_open = g_slist_remove (data->tags_open, tag);
@@ -221,29 +228,35 @@ swfdec_edit_text_movie_html_parse_tag (P
}
else
{
- SwfdecAsObject *object;
- SwfdecAsValue val;
+ if (data->cx->version == 6 &&
+ (name_length == 2 && !g_strncasecmp (name, "br", 2))) {
+ data->text = g_string_append_c (data->text, '\r');
+ tag = NULL;
+ } else {
+ SwfdecAsObject *object;
+ SwfdecAsValue val;
- tag = g_new0 (ParserTag, 1);
- tag->name = name;
- tag->name_length = name_length;
- tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
- tag->index = data->text->len;
-
- data->tags_open = g_slist_prepend (data->tags_open, tag);
-
- // set format based on tag
- object = SWFDEC_AS_OBJECT (tag->format);
- SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
-
- if (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2)) {
- swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bullet, &val);
- } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "b", 1)) {
- swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bold, &val);
- } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "i", 1)) {
- swfdec_as_object_set_variable (object, SWFDEC_AS_STR_italic, &val);
- } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "u", 1)) {
- swfdec_as_object_set_variable (object, SWFDEC_AS_STR_underline, &val);
+ tag = g_new0 (ParserTag, 1);
+ tag->name = name;
+ tag->name_length = name_length;
+ tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
+ tag->index = data->text->len;
+
+ data->tags_open = g_slist_prepend (data->tags_open, tag);
+
+ // set format based on tag
+ object = SWFDEC_AS_OBJECT (tag->format);
+ SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
+
+ if (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bullet, &val);
+ } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "b", 1)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bold, &val);
+ } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "i", 1)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_italic, &val);
+ } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "u", 1)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_underline, &val);
+ }
}
// parse attributes
@@ -335,6 +348,14 @@ swfdec_edit_text_movie_html_parse (Swfde
// close remaining tags
while (data.tags_open != NULL) {
ParserTag *tag = (ParserTag *)data.tags_open->data;
+
+ if (data.cx->version == 6) {
+ if ((tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1)) ||
+ (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2))) {
+ data.text = g_string_append_c (data.text, '\r');
+ }
+ }
+
tag->end_index = data.text->len;
data.tags_open = g_slist_remove (data.tags_open, tag);
diff-tree 695e5ffc7244512b90b59abd6b05b1e214519176 (from f3df9870b3eb74365280076c80d95921f31de3e9)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 15:01:08 2007 +0300
Add TextField's length property
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 9d09436..5282cd6 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -407,6 +407,17 @@ swfdec_edit_text_movie_set_condenseWhite
text->condense_white = value;
}
+static void
+swfdec_edit_text_movie_get_length (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_INT (ret, strlen (text->text_display));
+}
+
SWFDEC_AS_NATIVE (104, 102, swfdec_edit_text_movie_setTextFormat)
void
swfdec_edit_text_movie_setTextFormat (SwfdecAsContext *cx,
@@ -592,6 +603,8 @@ swfdec_edit_text_movie_construct (Swfdec
swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
swfdec_edit_text_movie_get_condenseWhite,
swfdec_edit_text_movie_set_condenseWhite);
+ swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_length,
+ swfdec_edit_text_movie_get_length, NULL);
SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
}
diff-tree f3df9870b3eb74365280076c80d95921f31de3e9 (from e8305de5e71dd707438af425e7177ba8b85f05c7)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 14:36:44 2007 +0300
Add support for TextField's condenseWhite property. Don't parse BR tag
Also fixed an assert when HTML input had empty tags
diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 22339f2..99478ab 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -389,6 +389,7 @@ const char swfdec_as_strings[] =
SWFDEC_AS_CONSTANT_STRING ("html")
SWFDEC_AS_CONSTANT_STRING ("TextFormat")
SWFDEC_AS_CONSTANT_STRING ("Times New Roman")
+ SWFDEC_AS_CONSTANT_STRING ("condenseWhite")
/* add more here */
;
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 86861f8..9d09436 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -382,6 +382,31 @@ swfdec_edit_text_movie_set_html (SwfdecA
text->text->html = value;
}
+static void
+swfdec_edit_text_movie_get_condenseWhite (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->condense_white);
+}
+
+static void
+swfdec_edit_text_movie_set_condenseWhite (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+ gboolean value;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+
+ text->condense_white = value;
+}
+
SWFDEC_AS_NATIVE (104, 102, swfdec_edit_text_movie_setTextFormat)
void
swfdec_edit_text_movie_setTextFormat (SwfdecAsContext *cx,
@@ -564,6 +589,9 @@ swfdec_edit_text_movie_construct (Swfdec
swfdec_edit_text_movie_set_htmlText);
swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_html,
swfdec_edit_text_movie_get_html, swfdec_edit_text_movie_set_html);
+ swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_condenseWhite,
+ swfdec_edit_text_movie_get_condenseWhite,
+ swfdec_edit_text_movie_set_condenseWhite);
SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
}
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 68140c9..3b64aef 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -188,6 +188,7 @@ swfdec_edit_text_movie_html_parse_tag (P
return end;
// don't count trailing / as part of the name if it's followed by >
+ // we still act like it's a normal opening tag even if it has /
if (*end == '>' && *(end - 1) == '/')
end = end - 1;
@@ -220,34 +221,29 @@ swfdec_edit_text_movie_html_parse_tag (P
}
else
{
- if (name_length == 2 && !g_strncasecmp (name, "br", 2)) {
- tag = NULL;
- data->text = g_string_append_c (data->text, '\n');
- } else {
- SwfdecAsObject *object;
- SwfdecAsValue val;
+ SwfdecAsObject *object;
+ SwfdecAsValue val;
- tag = g_new0 (ParserTag, 1);
- tag->name = name;
- tag->name_length = name_length;
- tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
- tag->index = data->text->len;
-
- data->tags_open = g_slist_prepend (data->tags_open, tag);
-
- // set format based on tag
- object = SWFDEC_AS_OBJECT (tag->format);
- SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
-
- if (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2)) {
- swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bullet, &val);
- } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "b", 1)) {
- swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bold, &val);
- } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "i", 1)) {
- swfdec_as_object_set_variable (object, SWFDEC_AS_STR_italic, &val);
- } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "u", 1)) {
- swfdec_as_object_set_variable (object, SWFDEC_AS_STR_underline, &val);
- }
+ tag = g_new0 (ParserTag, 1);
+ tag->name = name;
+ tag->name_length = name_length;
+ tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
+ tag->index = data->text->len;
+
+ data->tags_open = g_slist_prepend (data->tags_open, tag);
+
+ // set format based on tag
+ object = SWFDEC_AS_OBJECT (tag->format);
+ SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
+
+ if (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bullet, &val);
+ } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "b", 1)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bold, &val);
+ } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "i", 1)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_italic, &val);
+ } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "u", 1)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_underline, &val);
}
// parse attributes
@@ -270,7 +266,8 @@ swfdec_edit_text_movie_html_parse_tag (P
}
static const char *
-swfdec_edit_text_movie_html_parse_text (ParserData *data, const char *p)
+swfdec_edit_text_movie_html_parse_text (ParserData *data, const char *p,
+ gboolean condense_white)
{
const char *end;
@@ -278,13 +275,32 @@ swfdec_edit_text_movie_html_parse_text (
g_return_val_if_fail (p != NULL, NULL);
g_return_val_if_fail (*p != '\0' && *p != '<', NULL);
- end = strchr (p, '<');
- if (end == NULL)
- end = strchr (p, '\0');
+ // get the text
+ // if condense_white: all whitespace blocks are converted to a single space
+ // if not: all \n are converted to \r
+ while (*p != '\0' && *p != '<') {
+ if (condense_white) {
+ end = p + strcspn (p, "< \n\r\t");
+ } else {
+ end = p + strcspn (p, "<\n");
+ }
- data->text = g_string_append_len (data->text, p, end - p);
+ data->text = g_string_append_len (data->text, p, end - p);
- return end;
+ if (g_ascii_isspace (*end)) {
+ if (condense_white) {
+ data->text = g_string_append_c (data->text, ' ');
+ p = end + strspn (end, " \n\r\t");
+ } else {
+ data->text = g_string_append_c (data->text, '\r');
+ p = end + 1;
+ }
+ } else {
+ p = end;
+ }
+ }
+
+ return p;
}
void
@@ -311,7 +327,8 @@ swfdec_edit_text_movie_html_parse (Swfde
p = swfdec_edit_text_movie_html_parse_tag (&data, p);
}
} else {
- p = swfdec_edit_text_movie_html_parse_text (&data, p);
+ p = swfdec_edit_text_movie_html_parse_text (&data, p,
+ text->condense_white);
}
}
@@ -337,8 +354,10 @@ swfdec_edit_text_movie_html_parse (Swfde
while (data.tags_closed != NULL) {
ParserTag *tag = (ParserTag *)data.tags_closed->data;
- swfdec_edit_text_movie_set_text_format (text, tag->format, tag->index,
- tag->end_index);
+ if (tag->index != tag->end_index) {
+ swfdec_edit_text_movie_set_text_format (text, tag->format, tag->index,
+ tag->end_index);
+ }
data.tags_closed = g_slist_remove (data.tags_closed, tag);
}
diff-tree e8305de5e71dd707438af425e7177ba8b85f05c7 (from 58936937c2ec040c6ab701c6f723262bdbcb8824)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 13:51:21 2007 +0300
Init some TextField's NewFormat's properties from the EditText tag
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index e8c829f..67a57a6 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -224,7 +224,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
text->left_margin = swfdec_bits_get_u16 (b);
text->right_margin = swfdec_bits_get_u16 (b);
text->indent = swfdec_bits_get_u16 (b);
- text->spacing = swfdec_bits_get_s16 (b);
+ text->letter_spacing = swfdec_bits_get_s16 (b);
}
text->variable = swfdec_bits_get_string (b);
if (text->variable && *text->variable == 0) {
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index aae2354..1d64b15 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -48,7 +48,7 @@ typedef struct {
int block_indent;
int left_margin;
int right_margin;
- int spacing;
+ int letter_spacing;
PangoTabArray * tabs;
PangoAttrList * attrs;
@@ -91,7 +91,7 @@ struct _SwfdecEditText
guint left_margin;
guint right_margin;
guint indent;
- int spacing;
+ int letter_spacing;
};
struct _SwfdecEditTextClass
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 22bc876..1d4de65 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -110,7 +110,7 @@ swfdec_edit_text_movie_generate_render_b
text->blocks[i].block_indent = findex->format->block_indent;
text->blocks[i].left_margin = findex->format->left_margin;
text->blocks[i].right_margin = findex->format->right_margin;
- text->blocks[i].spacing = findex->format->letter_spacing;
+ text->blocks[i].letter_spacing = findex->format->letter_spacing;
//PangoTabArray * tabs;
for (iter = start;
@@ -235,13 +235,12 @@ swfdec_edit_text_movie_init_movie (Swfde
// format
text->format_new = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx));
swfdec_text_format_set_defaults (text->format_new);
+ text->format_new->color = text->text->color;
text->format_new->align = text->text->align;
- /*SwfdecColor color;
- SwfdecTextAlign align;
- guint left_margin;
- guint right_margin;
- guint indent;
- int spacing;*/
+ text->format_new->left_margin = text->text->left_margin;
+ text->format_new->right_margin = text->text->right_margin;
+ text->format_new->indent = text->text->indent;
+ text->format_new->letter_spacing = text->text->letter_spacing;
// text
if (text->text->text_input != NULL) {
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 4809758..86861f8 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -458,7 +458,7 @@ swfdec_edit_text_movie_createTextField (
edittext->left_margin = 0;
edittext->right_margin = 0;
edittext->indent = 0;
- edittext->spacing = 0;
+ edittext->letter_spacing = 0;
edittext->graphic.extents.x0 = x;
edittext->graphic.extents.x1 = x + width;
diff-tree 58936937c2ec040c6ab701c6f723262bdbcb8824 (from 3527f5e267dabbcf6aadfe273b0379e9fc81b325)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 13:46:46 2007 +0300
Always use \r not \n in TextField
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 9b60c52..22bc876 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -54,7 +54,7 @@ swfdec_edit_text_movie_generate_render_b
p = text->text_display;
while (p != NULL && *p != '\0') {
lines++;
- p = strchr (p, '\n');
+ p = strchr (p, '\r');
if (p != NULL) p++;
}
@@ -68,7 +68,7 @@ swfdec_edit_text_movie_generate_render_b
p = text->text_display;
while (*p != '\0') {
g_assert (i < lines);
- end = strchr (p, '\n');
+ end = strchr (p, '\r');
if (end == NULL)
end = strchr (p, '\0');
@@ -378,7 +378,20 @@ swfdec_edit_text_movie_set_text (SwfdecE
if (html) {
swfdec_edit_text_movie_html_parse (text, str);
} else {
- text->text_display = str;
+ // change all \n to \r
+ if (strchr (str, '\n') != NULL) {
+ char *string, *p;
+
+ string = g_strdup (str);
+ p = string;
+ while ((p = strchr (p, '\n')) != NULL) {
+ *p = '\r';
+ }
+ text->text_display = swfdec_as_context_give_string (
+ SWFDEC_AS_OBJECT (text)->context, string);
+ } else {
+ text->text_display = str;
+ }
}
swfdec_edit_text_movie_format_changed (text);
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index f24aa3f..4809758 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -328,14 +328,14 @@ swfdec_edit_text_movie_get_htmlText (Swf
p = text->text_display;
while (*p != '\0') {
- end = strchr (p, '\n');
+ end = strchr (p, '\r');
if (end == NULL)
end = strchr (p, '\0');
string = swfdec_edit_text_movie_htmlText_append_paragraph (text, string,
p - text->text_display, end - text->text_display);
- if (*end == '\n') {
+ if (*end == '\r') {
p = end + 1;
} else {
p = end;
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 3857ead..68140c9 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -292,6 +292,7 @@ swfdec_edit_text_movie_html_parse (Swfde
{
ParserData data;
const char *p;
+ char *string, *r;
g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
g_return_if_fail (str != NULL);
@@ -324,8 +325,13 @@ swfdec_edit_text_movie_html_parse (Swfde
}
// set parsed text
- text->text_display = swfdec_as_context_give_string (data.cx,
- g_string_free (data.text, FALSE));
+ // change all \n to \r
+ string = g_string_free (data.text, FALSE);
+ r = string;
+ while ((r = strchr (r, '\n')) != NULL) {
+ *r = '\r';
+ }
+ text->text_display = swfdec_as_context_give_string (data.cx, string);
// add parsed styles
while (data.tags_closed != NULL) {
diff-tree 3527f5e267dabbcf6aadfe273b0379e9fc81b325 (from eb0fc792b94551a0a0841de2184cf445d1f53a94)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 13:26:07 2007 +0300
Don't add newline after </p> and </li> in the HTML parser
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 64b4313..3857ead 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -208,12 +208,6 @@ swfdec_edit_text_movie_html_parse_tag (P
if (tag != NULL && name_length == tag->name_length &&
!g_strncasecmp (name, tag->name, name_length))
{
- // add paragraph for closing P and LI tags
- if ((name_length == 1 && !g_strncasecmp (name, "p", 1)) ||
- (name_length == 2 && !g_strncasecmp (name, "li", 2))) {
- data->text = g_string_append_c (data->text, '\n');
- }
-
tag->end_index = data->text->len;
data->tags_open = g_slist_remove (data->tags_open, tag);
@@ -323,12 +317,6 @@ swfdec_edit_text_movie_html_parse (Swfde
// close remaining tags
while (data.tags_open != NULL) {
ParserTag *tag = (ParserTag *)data.tags_open->data;
-
- // add paragraph for closing P and LI tags
- if ((tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1)) ||
- (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2))) {
- data.text = g_string_append_c (data.text, '\n');
- }
tag->end_index = data.text->len;
data.tags_open = g_slist_remove (data.tags_open, tag);
diff-tree eb0fc792b94551a0a0841de2184cf445d1f53a94 (from 9a810fc0102c339e21512015086f10b1b20f36a8)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 12:32:26 2007 +0300
Add support for parsing rest of the HTML tags/attributes for TextField
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 545fcc2..64b4313 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -53,11 +53,68 @@ swfdec_edit_text_movie_html_tag_set_attr
SWFDEC_AS_VALUE_SET_STRING (&val, swfdec_as_context_give_string (
object->context, g_strndup (value, value_length)));
- if (tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1)) {
- if (name_length == 5 && !g_strncasecmp (name, "align", 5)) {
+ if (tag->name_length == 10 && !g_strncasecmp (tag->name, "textformat", 10))
+ {
+ if (name_length == 10 && !g_strncasecmp (name, "leftmargin", 10))
+ {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_leftMargin, &val);
+ }
+ else if (name_length == 11 && !g_strncasecmp (name, "rightmargin", 11))
+ {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_rightMargin, &val);
+ }
+ else if (name_length == 6 && !g_strncasecmp (name, "indent", 6))
+ {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_indent, &val);
+ }
+ else if (name_length == 11 && !g_strncasecmp (name, "blockindent", 11))
+ {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_blockIndent, &val);
+ }
+ else if (name_length == 8 && !g_strncasecmp (name, "tabstops", 8))
+ {
+ // FIXME
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_tabStops, &val);
+ }
+ }
+ else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1))
+ {
+ if (name_length == 5 && !g_strncasecmp (name, "align", 5))
+ {
swfdec_as_object_set_variable (object, SWFDEC_AS_STR_align, &val);
}
}
+ else if (tag->name_length == 4 && !g_strncasecmp (tag->name, "font", 4))
+ {
+ if (name_length == 4 && !g_strncasecmp (name, "face", 4))
+ {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_font, &val);
+ }
+ else if (name_length == 4 && !g_strncasecmp (name, "size", 4))
+ {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_size, &val);
+ }
+ else if (name_length == 13 && !g_strncasecmp (name, "letterspacing", 13))
+ {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_letterSpacing,
+ &val);
+ }
+ else if (name_length == 7 && !g_strncasecmp (name, "kerning", 7))
+ {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_kerning, &val);
+ }
+ }
+ else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "a", 1))
+ {
+ if (name_length == 4 && !g_strncasecmp (name, "href", 4))
+ {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_url, &val);
+ }
+ else if (name_length == 6 && !g_strncasecmp (name, "target", 6))
+ {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_target, &val);
+ }
+ }
}
static const char *
@@ -66,7 +123,6 @@ swfdec_edit_text_movie_html_parse_attrib
const char *end, *name, *value;
int name_length, value_length;
- g_return_val_if_fail (tag != NULL, NULL);
g_return_val_if_fail ((*p != '>' && *p != '\0'), p);
end = p + strcspn (p, "=> \r\n\t");
@@ -96,8 +152,10 @@ swfdec_edit_text_movie_html_parse_attrib
value = p + 1;
value_length = end - (p + 1);
- swfdec_edit_text_movie_html_tag_set_attribute (tag, name, name_length, value,
- value_length);
+ if (tag != NULL) {
+ swfdec_edit_text_movie_html_tag_set_attribute (tag, name, name_length,
+ value, value_length);
+ }
g_return_val_if_fail (end + 1 > p, NULL);
@@ -172,12 +230,30 @@ swfdec_edit_text_movie_html_parse_tag (P
tag = NULL;
data->text = g_string_append_c (data->text, '\n');
} else {
+ SwfdecAsObject *object;
+ SwfdecAsValue val;
+
tag = g_new0 (ParserTag, 1);
tag->name = name;
tag->name_length = name_length;
tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
tag->index = data->text->len;
+
data->tags_open = g_slist_prepend (data->tags_open, tag);
+
+ // set format based on tag
+ object = SWFDEC_AS_OBJECT (tag->format);
+ SWFDEC_AS_VALUE_SET_BOOLEAN (&val, TRUE);
+
+ if (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bullet, &val);
+ } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "b", 1)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_bold, &val);
+ } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "i", 1)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_italic, &val);
+ } else if (tag->name_length == 1 && !g_strncasecmp (tag->name, "u", 1)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_underline, &val);
+ }
}
// parse attributes
diff-tree 9a810fc0102c339e21512015086f10b1b20f36a8 (from 9d7df1f3b27a19af1a73bf4be734dcc0bd4daf40)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 12:13:15 2007 +0300
More work on TextField's HTML parser
Now sets the formats and parses p tag's align attribute
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 78fc8f4..9b60c52 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -294,6 +294,61 @@ swfdec_edit_text_movie_init (SwfdecEditT
}
void
+swfdec_edit_text_movie_set_text_format (SwfdecEditTextMovie *text,
+ SwfdecTextFormat *format, guint start_index, guint end_index)
+{
+ SwfdecFormatIndex *findex, *findex_new;
+ guint findex_end_index;
+ GSList *iter, *next;
+
+ g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+ g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
+ g_return_if_fail (start_index < end_index);
+ g_return_if_fail (end_index <= strlen (text->text_display));
+
+ g_assert (text->formats != NULL);
+ g_assert (text->formats->data != NULL);
+ g_assert (((SwfdecFormatIndex *)text->formats->data)->index == 0);
+ for (iter = text->formats; iter != NULL &&
+ ((SwfdecFormatIndex *)iter->data)->index < end_index;
+ iter = next)
+ {
+ next = iter->next;
+ findex = iter->data;
+ if (iter->next != NULL) {
+ findex_end_index =
+ ((SwfdecFormatIndex *)iter->next->data)->index;
+ } else {
+ findex_end_index = strlen (text->text_display);
+ }
+
+ if (findex_end_index < start_index)
+ continue;
+
+ if (findex_end_index > end_index) {
+ findex_new = g_new (SwfdecFormatIndex, 1);
+ findex_new->index = end_index;
+ findex_new->format = swfdec_text_format_copy (findex->format);
+
+ iter = g_slist_insert (iter, findex_new, 1);
+ }
+
+ if (findex->index < start_index) {
+ findex_new = g_new (SwfdecFormatIndex, 1);
+ findex_new->index = start_index;
+ findex_new->format = swfdec_text_format_copy (findex->format);
+ swfdec_text_format_add (findex_new->format, format);
+
+ iter = g_slist_insert (iter, findex_new, 1);
+ } else {
+ swfdec_text_format_add (findex->format, format);
+ }
+ }
+
+ swfdec_edit_text_movie_format_changed (text);
+}
+
+void
swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *text, const char *str,
gboolean html)
{
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index ac0efd2..b589cdb 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -94,6 +94,10 @@ void swfdec_edit_text_movie_set_text (
const char * str,
gboolean html);
void swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie * text);
+void swfdec_edit_text_movie_set_text_format (SwfdecEditTextMovie * text,
+ SwfdecTextFormat * format,
+ guint start_index,
+ guint end_index);
/* implemented in swfdec_html_parser.c */
void swfdec_edit_text_movie_html_parse (SwfdecEditTextMovie * text,
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 28fe823..f24aa3f 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -41,9 +41,7 @@ swfdec_edit_text_movie_get_text (SwfdecA
{
SwfdecEditTextMovie *text;
- if (!SWFDEC_IS_EDIT_TEXT_MOVIE (object))
- return;
- text = SWFDEC_EDIT_TEXT_MOVIE (object);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
swfdec_as_context_get_string (cx, text->text_display) :
@@ -391,11 +389,9 @@ swfdec_edit_text_movie_setTextFormat (Sw
SwfdecAsValue *ret)
{
SwfdecEditTextMovie *text;
- int i;
- SwfdecFormatIndex *findex, *findex_new;
SwfdecTextFormat *format;
- guint findex_end_index, start_index, end_index;
- GSList *iter, *next;
+ guint start_index, end_index;
+ int i;
SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
@@ -425,46 +421,7 @@ swfdec_edit_text_movie_setTextFormat (Sw
format = SWFDEC_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]));
- g_assert (text->formats != NULL);
- g_assert (text->formats->data != NULL);
- g_assert (((SwfdecFormatIndex *)text->formats->data)->index == 0);
- for (iter = text->formats; iter != NULL &&
- ((SwfdecFormatIndex *)iter->data)->index < end_index;
- iter = next)
- {
- next = iter->next;
- findex = iter->data;
- if (iter->next != NULL) {
- findex_end_index =
- ((SwfdecFormatIndex *)iter->next->data)->index;
- } else {
- findex_end_index = strlen (text->text_display);
- }
-
- if (findex_end_index < start_index)
- continue;
-
- if (findex_end_index > end_index) {
- findex_new = g_new (SwfdecFormatIndex, 1);
- findex_new->index = end_index;
- findex_new->format = swfdec_text_format_copy (findex->format);
-
- iter = g_slist_insert (iter, findex_new, 1);
- }
-
- if (findex->index < start_index) {
- findex_new = g_new (SwfdecFormatIndex, 1);
- findex_new->index = start_index;
- findex_new->format = swfdec_text_format_copy (findex->format);
- swfdec_text_format_add (findex_new->format, format);
-
- iter = g_slist_insert (iter, findex_new, 1);
- } else {
- swfdec_text_format_add (findex->format, format);
- }
- }
-
- swfdec_edit_text_movie_format_changed (text);
+ swfdec_edit_text_movie_set_text_format (text, format, start_index, end_index);
}
SWFDEC_AS_NATIVE (104, 200, swfdec_edit_text_movie_createTextField)
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 2329b9a..545fcc2 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -6,6 +6,7 @@
#include <string.h>
#include "swfdec_edittext_movie.h"
+#include "swfdec_as_strings.h"
#include "swfdec_font.h"
#include "swfdec_debug.h"
@@ -41,6 +42,24 @@ swfdec_edit_text_movie_html_parse_commen
return end;
}
+static void
+swfdec_edit_text_movie_html_tag_set_attribute (ParserTag *tag,
+ const char *name, int name_length, const char *value, int value_length)
+{
+ SwfdecAsValue val;
+ SwfdecAsObject *object;
+
+ object = SWFDEC_AS_OBJECT (tag->format);
+ SWFDEC_AS_VALUE_SET_STRING (&val, swfdec_as_context_give_string (
+ object->context, g_strndup (value, value_length)));
+
+ if (tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1)) {
+ if (name_length == 5 && !g_strncasecmp (name, "align", 5)) {
+ swfdec_as_object_set_variable (object, SWFDEC_AS_STR_align, &val);
+ }
+ }
+}
+
static const char *
swfdec_edit_text_movie_html_parse_attribute (ParserTag *tag, const char *p)
{
@@ -77,6 +96,9 @@ swfdec_edit_text_movie_html_parse_attrib
value = p + 1;
value_length = end - (p + 1);
+ swfdec_edit_text_movie_html_tag_set_attribute (tag, name, name_length, value,
+ value_length);
+
g_return_val_if_fail (end + 1 > p, NULL);
return end + 1;
@@ -222,6 +244,32 @@ swfdec_edit_text_movie_html_parse (Swfde
}
}
+ // close remaining tags
+ while (data.tags_open != NULL) {
+ ParserTag *tag = (ParserTag *)data.tags_open->data;
+
+ // add paragraph for closing P and LI tags
+ if ((tag->name_length == 1 && !g_strncasecmp (tag->name, "p", 1)) ||
+ (tag->name_length == 2 && !g_strncasecmp (tag->name, "li", 2))) {
+ data.text = g_string_append_c (data.text, '\n');
+ }
+ tag->end_index = data.text->len;
+
+ data.tags_open = g_slist_remove (data.tags_open, tag);
+ data.tags_closed = g_slist_prepend (data.tags_closed, tag);
+ }
+
+ // set parsed text
text->text_display = swfdec_as_context_give_string (data.cx,
g_string_free (data.text, FALSE));
+
+ // add parsed styles
+ while (data.tags_closed != NULL) {
+ ParserTag *tag = (ParserTag *)data.tags_closed->data;
+
+ swfdec_edit_text_movie_set_text_format (text, tag->format, tag->index,
+ tag->end_index);
+
+ data.tags_closed = g_slist_remove (data.tags_closed, tag);
+ }
}
diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index 07f15d6..55e767f 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -321,12 +321,12 @@ swfdec_text_format_do_get_align (SwfdecA
case SWFDEC_TEXT_ALIGN_LEFT:
SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_left);
break;
- case SWFDEC_TEXT_ALIGN_CENTER:
- SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_center);
- break;
case SWFDEC_TEXT_ALIGN_RIGHT:
SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_right);
break;
+ case SWFDEC_TEXT_ALIGN_CENTER:
+ SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_center);
+ break;
case SWFDEC_TEXT_ALIGN_JUSTIFY:
SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_justify);
break;
@@ -356,12 +356,12 @@ swfdec_text_format_do_set_align (SwfdecA
if (!g_ascii_strcasecmp (s, "left")) {
format->align = SWFDEC_TEXT_ALIGN_LEFT;
swfdec_text_format_mark_set (format, PROP_ALIGN);
- } else if (!g_ascii_strcasecmp (s, "center")) {
- format->align = SWFDEC_TEXT_ALIGN_CENTER;
- swfdec_text_format_mark_set (format, PROP_ALIGN);
} else if (!g_ascii_strcasecmp (s, "right")) {
format->align = SWFDEC_TEXT_ALIGN_RIGHT;
swfdec_text_format_mark_set (format, PROP_ALIGN);
+ } else if (!g_ascii_strcasecmp (s, "center")) {
+ format->align = SWFDEC_TEXT_ALIGN_CENTER;
+ swfdec_text_format_mark_set (format, PROP_ALIGN);
} else if (!g_ascii_strcasecmp (s, "justify")) {
format->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
swfdec_text_format_mark_set (format, PROP_ALIGN);
diff --git a/libswfdec/swfdec_text_format.h b/libswfdec/swfdec_text_format.h
index 38de7ac..91d242f 100644
--- a/libswfdec/swfdec_text_format.h
+++ b/libswfdec/swfdec_text_format.h
@@ -40,8 +40,8 @@ typedef struct _SwfdecTextFormatClass Sw
typedef enum {
SWFDEC_TEXT_ALIGN_LEFT,
- SWFDEC_TEXT_ALIGN_CENTER,
SWFDEC_TEXT_ALIGN_RIGHT,
+ SWFDEC_TEXT_ALIGN_CENTER,
SWFDEC_TEXT_ALIGN_JUSTIFY
} SwfdecTextAlign;
diff-tree 9d7df1f3b27a19af1a73bf4be734dcc0bd4daf40 (from 2579b881b63118994ff3bc522419043439210f31)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 8 11:22:45 2007 +0300
Start working on HTML parsing for TextFields
Added some invalidate calls
Removed some debug prints
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index ecb833a..e8c829f 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -123,8 +123,6 @@ swfdec_edit_text_render (SwfdecEditText
swfdec_color_set_source (cr, color);
for (i = 0; blocks[i].text != NULL; i++) {
- g_print ("render! %i\n", i);
-
cairo_rel_move_to (cr, blocks[i].left_margin, 0);
width = SWFDEC_GRAPHIC (text)->extents.x1 -
SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index e991f9b..aae2354 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -29,7 +29,6 @@
G_BEGIN_DECLS
-typedef struct _SwfdecParagraph SwfdecParagraph; /* see swfdec_html_parser.c */
typedef struct _SwfdecEditText SwfdecEditText;
typedef struct _SwfdecEditTextClass SwfdecEditTextClass;
@@ -105,12 +104,6 @@ GType swfdec_edit_text_get_type (void)
int tag_func_define_edit_text (SwfdecSwfDecoder * s,
guint tag);
-/* implemented in swfdec_html_parser.c */
-SwfdecParagraph * swfdec_paragraph_html_parse (SwfdecEditText * text,
- const char * str);
-SwfdecParagraph * swfdec_paragraph_text_parse (SwfdecEditText * text,
- const char * str);
-void swfdec_paragraph_free (SwfdecParagraph * paragraphs);
void swfdec_edit_text_render (SwfdecEditText * text,
cairo_t * cr,
const SwfdecTextRenderBlock * blocks,
@@ -118,6 +111,5 @@ void swfdec_edit_text_render (SwfdecE
const SwfdecRect * rect,
gboolean fill);
-
G_END_DECLS
#endif
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 6a8aae9..78fc8f4 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -125,23 +125,18 @@ swfdec_edit_text_movie_generate_render_b
((SwfdecFormatIndex *)(iter->next))->index :
strlen (text->text_display));
- g_print (":: %i - %i\n", findex->index, findex_end_index);
-
attr = pango_attr_size_new_absolute (findex->format->size * 20 * PANGO_SCALE);
attr->start_index = (findex->index < start_index ?
0 : findex->index - start_index);
attr->end_index = (findex_end_index > end_index ?
end_index - start_index : findex_end_index - start_index);
pango_attr_list_change (text->blocks[i].attrs, attr);
- g_print (":: %i-%i :: %i\n", attr->start_index, attr->end_index, findex->format->size);
};
p = end;
if (*p != '\0') p++;
i++;
}
-
- g_print (":: %s\n", text->blocks[0].text);
}
static void
@@ -177,6 +172,8 @@ swfdec_edit_text_movie_format_changed (S
}
g_free (text->blocks);
text->blocks = NULL;
+
+ swfdec_movie_invalidate (SWFDEC_MOVIE (text));
}
}
@@ -221,7 +218,7 @@ swfdec_edit_text_movie_iterate (SwfdecMo
if (text->text_input == s)
return;
- swfdec_edit_text_movie_set_text (text, s);
+ swfdec_edit_text_movie_set_text (text, s, text->text->html);
}
static void
@@ -249,7 +246,8 @@ swfdec_edit_text_movie_init_movie (Swfde
// text
if (text->text->text_input != NULL) {
swfdec_edit_text_movie_set_text (text,
- swfdec_as_context_get_string (cx, text->text->text_input));
+ swfdec_as_context_get_string (cx, text->text->text_input),
+ text->text->html);
}
// variable
@@ -263,7 +261,7 @@ swfdec_edit_text_movie_init_movie (Swfde
s = swfdec_as_value_to_string (parent->context, &val);
g_assert (s);
if (text->text_input != s)
- swfdec_edit_text_movie_set_text (text, s);
+ swfdec_edit_text_movie_set_text (text, s, text->text->html);
} else {
SWFDEC_LOG ("setting variable %s to \"%s\"", text->variable,
text->text_input ? text->text_input : "");
@@ -296,15 +294,14 @@ swfdec_edit_text_movie_init (SwfdecEditT
}
void
-swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *text, const char *str)
+swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *text, const char *str,
+ gboolean html)
{
SwfdecFormatIndex *block;
GSList *iter;
g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
- g_print ("SET_TEXT!\n");
-
text->text_input = str;
// remove old formatting info
@@ -323,14 +320,11 @@ swfdec_edit_text_movie_set_text (SwfdecE
block->format = text->format_new;
text->formats = g_slist_prepend (text->formats, block);
- //if (text->text->html == FALSE) {
+ if (html) {
+ swfdec_edit_text_movie_html_parse (text, str);
+ } else {
text->text_display = str;
- /*} else {
- swfdec_edit_text_text_parse_html (str, &text->text_display,
- &text->formats);
- }*/
-
- swfdec_edit_text_movie_generate_render_blocks (text);
+ }
- swfdec_movie_invalidate (SWFDEC_MOVIE (text));
+ swfdec_edit_text_movie_format_changed (text);
}
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index e5a5869..ac0efd2 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -91,8 +91,13 @@ struct _SwfdecEditTextMovieClass {
GType swfdec_edit_text_movie_get_type (void);
void swfdec_edit_text_movie_set_text (SwfdecEditTextMovie * movie,
- const char * str);
+ const char * str,
+ gboolean html);
void swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie * text);
+/* implemented in swfdec_html_parser.c */
+void swfdec_edit_text_movie_html_parse (SwfdecEditTextMovie * text,
+ const char * str);
+
G_END_DECLS
#endif
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 45d7c3b..28fe823 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -60,7 +60,7 @@ swfdec_edit_text_movie_do_set_text (Swfd
SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
- swfdec_edit_text_movie_set_text (text, value);
+ swfdec_edit_text_movie_set_text (text, value, FALSE);
}
static const char *
@@ -358,7 +358,7 @@ swfdec_edit_text_movie_set_htmlText (Swf
SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
- swfdec_edit_text_movie_set_text (text, value);
+ swfdec_edit_text_movie_set_text (text, value, text->text->html);
}
static void
@@ -475,14 +475,38 @@ swfdec_edit_text_movie_createTextField (
{
SwfdecMovie *movie, *parent;
SwfdecEditText *edittext;
- int depth;
+ int depth, x, y, width, height;
const char *name;
SwfdecAsFunction *fun;
SwfdecAsValue val;
- SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "si", &name, &depth);
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "siiiii", &name, &depth, &x, &y, &width, &height);
edittext = g_object_new (SWFDEC_TYPE_EDIT_TEXT, NULL);
+ edittext->html = FALSE;
+ edittext->input = FALSE;
+ edittext->password = FALSE;
+ edittext->selectable = TRUE;
+ edittext->font = NULL; // FIXME
+ edittext->wrap = FALSE;
+ edittext->multiline = FALSE;
+ edittext->auto_size = SWFDEC_AUTO_SIZE_NONE;
+ edittext->border = FALSE;
+ edittext->height = 0; // FIXME
+
+ edittext->text_input = NULL;
+ edittext->variable = NULL;
+ edittext->color = 0;
+ edittext->align = SWFDEC_TEXT_ALIGN_LEFT;
+ edittext->left_margin = 0;
+ edittext->right_margin = 0;
+ edittext->indent = 0;
+ edittext->spacing = 0;
+
+ edittext->graphic.extents.x0 = x;
+ edittext->graphic.extents.x1 = x + width;
+ edittext->graphic.extents.y0 = y;
+ edittext->graphic.extents.y1 = y + height;
movie = swfdec_movie_find (parent, depth);
if (movie)
diff --git a/libswfdec/swfdec_html_parser.c b/libswfdec/swfdec_html_parser.c
index 7f3ffa0..2329b9a 100644
--- a/libswfdec/swfdec_html_parser.c
+++ b/libswfdec/swfdec_html_parser.c
@@ -4,402 +4,224 @@
#include <stdlib.h>
#include <string.h>
-#include <pango/pango.h>
-#include "swfdec_edittext.h"
+
+#include "swfdec_edittext_movie.h"
#include "swfdec_font.h"
#include "swfdec_debug.h"
-struct _SwfdecParagraph {
- char * text; /* the text to display */
- PangoAttrList * attrs; /* attributes for the text */
- PangoAlignment align; /* alignment of this paragraph */
-
- /* used when parsing */
- guint start; /* start index of text */
- guint end; /* end index of text */
-};
+typedef struct {
+ const char * name;
+ int name_length;
+ guint index;
+ guint end_index;
+ SwfdecTextFormat *format;
+} ParserTag;
typedef struct {
- SwfdecEditText * text; /* element we're parsing for */
- GArray * out; /* all the paragraphs we've created so far, will be the out value */
- GString * str; /* the text we've parsed so far */
- GList * attributes; /* PangoAttribute list we're currently in */
- GList * attributes_completed; /* completed attributes, oldest last */
- GList * paragraphs; /* SwfdecParagraph list we're currrently in */
+ SwfdecAsContext *cx;
+ GString * text;
+ GSList * tags_open;
+ GSList * tags_closed;
} ParserData;
-static void
-swfdec_paragraph_init (SwfdecEditText *text, SwfdecParagraph *paragraph)
-{
- paragraph->align = text->align;
- paragraph->attrs = pango_attr_list_new ();
- paragraph->text = NULL;
-}
-
-static void
-swfdec_paragraph_finish (SwfdecParagraph *paragraph)
+static const char *
+swfdec_edit_text_movie_html_parse_comment (ParserData *data, const char *p)
{
- g_free (paragraph->text);
- pango_attr_list_unref (paragraph->attrs);
-}
+ const char *end;
-static SwfdecParagraph *
-paragraph_start (ParserData *data)
-{
- SwfdecParagraph *paragraph;
+ g_return_val_if_fail (data != NULL, NULL);
+ g_return_val_if_fail (p != NULL, NULL);
+ g_return_val_if_fail (strncmp (p, "<!--", strlen ("<!--")) == 0, NULL);
- g_array_set_size (data->out, data->out->len + 1);
- paragraph = &g_array_index (data->out, SwfdecParagraph, data->out->len - 1);
- swfdec_paragraph_init (data->text, paragraph);
- paragraph->start = data->str->len;
-
- data->paragraphs = g_list_prepend (data->paragraphs, GUINT_TO_POINTER (data->out->len - 1));
- return paragraph;
-}
+ end = strstr (p, "-->");
+ if (end != NULL)
+ end += strlen("-->");
-static void
-paragraph_end (ParserData *data, GError **error)
-{
- SwfdecParagraph *paragraph = &g_array_index (data->out, SwfdecParagraph, GPOINTER_TO_UINT (data->paragraphs->data));
- paragraph->end = data->str->len;
- data->paragraphs = g_list_remove (data->paragraphs, data->paragraphs->data);
+ // return NULL if no end found
+ return end;
}
-static void
-attribute_start (ParserData *data, PangoAttribute *attribute)
+static const char *
+swfdec_edit_text_movie_html_parse_attribute (ParserTag *tag, const char *p)
{
- attribute->start_index = data->str->len;
- data->attributes = g_list_prepend (data->attributes, attribute);
-}
+ const char *end, *name, *value;
+ int name_length, value_length;
-static void
-attribute_end (ParserData *data, GError **error)
-{
- PangoAttribute *attribute;
+ g_return_val_if_fail (tag != NULL, NULL);
+ g_return_val_if_fail ((*p != '>' && *p != '\0'), p);
- attribute = data->attributes->data;
- g_assert (attribute);
- attribute->end_index = data->str->len;
- data->attributes = g_list_remove (data->attributes, data->attributes->data);
- data->attributes_completed = g_list_prepend (data->attributes_completed, attribute);
-}
+ end = p + strcspn (p, "=> \r\n\t");
+ if (end - p <= 0)
+ return NULL; // Correct?
-static void
-font_start (ParserData *data, const gchar **names, const gchar **values,
- GError **error)
-{
- PangoAttribute *attr;
- guint i;
+ name = p;
+ name_length = end - p;
- data->attributes = g_list_prepend (data->attributes, NULL);
+ p = end + strspn (end, " \r\n\t");
+ if (*p != '=')
+ return NULL; // FIXME: Correct?
+ p = p + 1;
+ p = p + strspn (p, " \r\n\t");
- for (i = 0; names[i]; i++) {
- if (g_ascii_strcasecmp (names[i], "face") == 0) {
- attr = pango_attr_family_new (values[i]);
- attribute_start (data, attr);
- } else if (g_ascii_strcasecmp (names[i], "size") == 0) {
- const char *parse = values[i];
- char *end;
- guint size;
- if (parse[0] == '+' || parse[0] == '-') {
- SWFDEC_ERROR ("FIXME: implement relative font sizes!");
- parse++;
- }
- size = strtoul (parse, &end, 10);
- if (*end != '\0') {
- g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
- "value \"%s\" is not valid for \"size\" attribute", values[i]);
- return;
- }
- size *= 20 * PANGO_SCALE;
- attr = pango_attr_size_new_absolute (size);
- attribute_start (data, attr);
- } else if (g_ascii_strcasecmp (names[i], "color") == 0) {
- PangoColor color;
- if (!pango_color_parse (&color, values[i])) {
- g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
- "value \"%s\" is not valid for \"color\" attribute", values[i]);
- return;
- }
- attr = pango_attr_foreground_new (color.red, color.green, color.blue);
- attribute_start (data, attr);
- } else {
- g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
- "unknown attribute %s", names[i]);
- return;
- }
- }
-}
+ if (*p != '"' && *p != '\'')
+ return NULL; // FIXME: Correct?
-static void
-font_end (ParserData *data, GError **error)
-{
- while (data->attributes->data)
- attribute_end (data, error);
- data->attributes = g_list_remove (data->attributes, data->attributes->data);
-}
+ end = p + 1;
+ do {
+ end = strchr (end, *p);
+ } while (end != NULL && *(end - 1) == '\\');
-static void
-p_start (ParserData *data, const gchar **names, const gchar **values,
- GError **error)
-{
- guint i;
- SwfdecParagraph *paragraph = paragraph_start (data);
+ if (end == NULL)
+ return NULL; // FIXME: Correct?
- for (i = 0; names[i]; i++) {
- if (g_ascii_strcasecmp (names[i], "align") == 0) {
- if (g_ascii_strcasecmp (values[i], "left") == 0) {
- paragraph->align = PANGO_ALIGN_LEFT;
- } else if (g_ascii_strcasecmp (values[i], "right") == 0) {
- paragraph->align = PANGO_ALIGN_RIGHT;
- } else if (g_ascii_strcasecmp (values[i], "center") == 0) {
- paragraph->align = PANGO_ALIGN_CENTER;
- } else {
- g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
- "value \"%s\" is not valid for \"align\" attribute", values[i]);
- return;
- }
- } else {
- g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE,
- "unknown attribute %s", names[i]);
- return;
- }
- }
-}
+ value = p + 1;
+ value_length = end - (p + 1);
-typedef struct {
- const char * name;
- void (* start) (ParserData * data,
- const gchar ** attribute_names,
- const gchar ** attribute_values,
- GError ** error);
- void (* end) (ParserData * data,
- GError ** error);
-} ParserElement;
-
-/* NB: must be sorted alphabetically */
-ParserElement elements[] = {
- { "font", font_start, font_end },
- { "p", p_start, paragraph_end }
-};
+ g_return_val_if_fail (end + 1 > p, NULL);
-static int
-element_compare (gconstpointer a, gconstpointer b)
-{
- return g_ascii_strcasecmp (((const ParserElement *) a)->name, ((const ParserElement *) b)->name);
+ return end + 1;
}
-static ParserElement *
-swfdec_html_parser_find_element (const char *name)
+static const char *
+swfdec_edit_text_movie_html_parse_tag (ParserData *data, const char *p)
{
- ParserElement find = { name, NULL, NULL };
-
- return bsearch (&find, elements, G_N_ELEMENTS (elements),
- sizeof (ParserElement), element_compare);
-}
+ ParserTag *tag;
+ const char *name, *end;
+ int name_length;
+ gboolean close;
-static void
-swfdec_html_parser_start_element (GMarkupParseContext *context,
- const gchar *element_name, const gchar **attribute_names,
- const gchar **attribute_values, gpointer user_data, GError **error)
-{
- ParserElement *element = swfdec_html_parser_find_element (element_name);
+ g_return_val_if_fail (data != NULL, NULL);
+ g_return_val_if_fail (p != NULL, NULL);
+ g_return_val_if_fail (*p == '<', NULL);
- if (element == NULL) {
- g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
- "unknown element %s", element_name);
- return;
+ // closing tag or opening tag?
+ if (*(p + 1) == '/') {
+ close = TRUE;
+ p++;
+ } else {
+ close = FALSE;
}
- element->start (user_data, attribute_names, attribute_values, error);
-}
-static void
-swfdec_html_parser_end_element (GMarkupParseContext *context,
- const gchar *element_name, gpointer user_data, GError **error)
-{
- ParserElement *element = swfdec_html_parser_find_element (element_name);
+ // find the end of the name
+ end = p + strcspn (p, "> \r\n\t");
+ if (*end == '\0')
+ return end;
- if (element == NULL) {
- g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
- "unknown element %s", element_name);
- return;
- }
- element->end (user_data, error);
-}
+ // don't count trailing / as part of the name if it's followed by >
+ if (*end == '>' && *(end - 1) == '/')
+ end = end - 1;
-static void
-swfdec_html_parser_text (GMarkupParseContext *context, const gchar *text,
- gsize text_len, gpointer user_data, GError **error)
-{
- ParserData *data = user_data;
- g_string_append_len (data->str, text, text_len);
-}
+ if (end == p + 1) // empty name
+ return NULL;
-static void
-swfdec_html_parser_error (GMarkupParseContext *context, GError *error, gpointer user_data)
-{
- SWFDEC_ERROR ("error parsing html content: %s", error->message);
-}
+ name = p + 1;
+ name_length = end - (p + 1);
-static const GMarkupParser parser = {
- swfdec_html_parser_start_element,
- swfdec_html_parser_end_element,
- swfdec_html_parser_text,
- NULL,
- swfdec_html_parser_error,
-};
+ if (close)
+ {
+ if (data->tags_open != NULL) {
+ tag = (ParserTag *)data->tags_open->data;
+ } else {
+ tag = NULL;
+ }
-static void G_GNUC_UNUSED
-dump (ParserData *data)
-{
- guint i;
- GList *walk;
+ if (tag != NULL && name_length == tag->name_length &&
+ !g_strncasecmp (name, tag->name, name_length))
+ {
+ // add paragraph for closing P and LI tags
+ if ((name_length == 1 && !g_strncasecmp (name, "p", 1)) ||
+ (name_length == 2 && !g_strncasecmp (name, "li", 2))) {
+ data->text = g_string_append_c (data->text, '\n');
+ }
- g_print ("paragraphs:\n");
- for (i = 0; i < data->out->len; i++) {
- SwfdecParagraph *paragraph = &g_array_index (data->out, SwfdecParagraph, i);
- g_print ("%3u -%3u %*s\n", paragraph->start, paragraph->end,
- paragraph->end - paragraph->start, data->str->str + paragraph->start);
- }
- g_print ("attributes:\n");
- for (walk = g_list_last (data->attributes_completed); walk; walk = walk->prev) {
- PangoAttribute *attr = walk->data;
- g_print ("%3u -%3u %u\n", attr->start_index, attr->end_index, attr->klass->type);
- }
-}
+ tag->end_index = data->text->len;
-SwfdecParagraph *
-swfdec_paragraph_html_parse (SwfdecEditText *text, const char *str)
-{
- ParserData data = { NULL, };
- GMarkupParseContext *context;
- GError *error = NULL;
- SwfdecParagraph *retval;
-
- g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT (text), NULL);
- g_return_val_if_fail (str != NULL, NULL);
-
- data.text = text;
- data.out = g_array_new (TRUE, TRUE, sizeof (SwfdecParagraph));
- data.str = g_string_new ("");
- context = g_markup_parse_context_new (&parser, 0, &data, NULL);
- if (g_markup_parse_context_parse (context, str, strlen (str), &error) &&
- g_markup_parse_context_end_parse (context, &error)) {
- guint i;
- GList *walk;
-
- //dump (&data);
- data.attributes_completed = g_list_reverse (data.attributes_completed);
- for (i = 0; i < data.out->len; i++) {
- SwfdecParagraph *para = &g_array_index (data.out, SwfdecParagraph, i);
- para->text = g_strndup (data.str->str + para->start,
- para->end - para->start);
- for (walk = data.attributes_completed; walk; walk = walk->next) {
- PangoAttribute *tmp = walk->data;
- if (tmp->start_index >= para->end ||
- tmp->end_index <= para->start)
- continue;
- tmp = pango_attribute_copy (tmp);
- if (tmp->start_index > para->start)
- tmp->start_index -= para->start;
- else
- tmp->start_index = 0;
- tmp->end_index = MIN (tmp->end_index, para->end) - para->start;
- if (para->attrs == NULL)
- para->attrs = pango_attr_list_new ();
- pango_attr_list_change (para->attrs, tmp);
- }
+ data->tags_open = g_slist_remove (data->tags_open, tag);
+ data->tags_closed = g_slist_prepend (data->tags_closed, tag);
}
- g_assert (data.attributes == NULL);
- retval = (SwfdecParagraph *) g_array_free (data.out, FALSE);
- } else {
- GList *walk;
- g_array_free (data.out, TRUE);
- retval = NULL;
- for (walk = data.attributes; walk; walk = walk->next) {
- if (walk->data)
- pango_attribute_destroy (walk->data);
+
+ end = strchr (end, '>');
+ if (end != NULL)
+ end += 1;
+ }
+ else
+ {
+ if (name_length == 2 && !g_strncasecmp (name, "br", 2)) {
+ tag = NULL;
+ data->text = g_string_append_c (data->text, '\n');
+ } else {
+ tag = g_new0 (ParserTag, 1);
+ tag->name = name;
+ tag->name_length = name_length;
+ tag->format = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (data->cx));
+ tag->index = data->text->len;
+ data->tags_open = g_slist_prepend (data->tags_open, tag);
+ }
+
+ // parse attributes
+ end = end + strspn (end, " \r\n\t");
+ while (*end != '\0' && *end != '>' && (*end != '/' || *(end + 1) != '>')) {
+ end = swfdec_edit_text_movie_html_parse_attribute (tag, end);
+ if (end == NULL)
+ break;
+ end = end + strspn (end, " \r\n\t");
+ }
+ if (end != NULL) {
+ if (*end == '/')
+ end += 1;
+ if (*end == '>')
+ end += 1;
}
- g_list_free (data.attributes);
}
- g_list_foreach (data.attributes_completed, (GFunc) pango_attribute_destroy, NULL);
- g_list_free (data.paragraphs);
- g_string_free (data.str, TRUE);
- g_markup_parse_context_free (context);
- return retval;
-}
-SwfdecParagraph *
-swfdec_paragraph_text_parse (SwfdecEditText *text, const char *str)
-{
- SwfdecParagraph *ret;
-
- g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT (text), NULL);
- g_return_val_if_fail (str != NULL, NULL);
-
- ret = g_new0 (SwfdecParagraph, 2);
- swfdec_paragraph_init (text, ret);
- ret->text = g_strdup (str);
- return ret;
+ return end;
}
-void
-swfdec_paragraph_free (SwfdecParagraph *paragraphs)
+static const char *
+swfdec_edit_text_movie_html_parse_text (ParserData *data, const char *p)
{
- guint i;
+ const char *end;
- for (i = 0; paragraphs[i].text != NULL; i++) {
- swfdec_paragraph_finish (¶graphs[i]);
- }
- g_free (paragraphs);
+ g_return_val_if_fail (data != NULL, NULL);
+ g_return_val_if_fail (p != NULL, NULL);
+ g_return_val_if_fail (*p != '\0' && *p != '<', NULL);
+
+ end = strchr (p, '<');
+ if (end == NULL)
+ end = strchr (p, '\0');
+
+ data->text = g_string_append_len (data->text, p, end - p);
+
+ return end;
}
void
-swfdec_edit_text_render (SwfdecEditText *text, cairo_t *cr, const SwfdecParagraph *paragraph,
- const SwfdecColorTransform *trans, const SwfdecRect *inval, gboolean fill)
+swfdec_edit_text_movie_html_parse (SwfdecEditTextMovie *text, const char *str)
{
- guint i;
- PangoFontDescription *desc;
- PangoLayout *layout;
- guint width;
- SwfdecColor color;
-
- g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
- g_return_if_fail (cr != NULL);
- g_return_if_fail (paragraph != NULL);
- g_return_if_fail (trans != NULL);
- g_return_if_fail (inval != NULL);
-
- if (text->font == NULL) {
- SWFDEC_ERROR ("no font to render with");
- return;
- }
- if (text->font->desc == NULL) {
- desc = pango_font_description_new ();
- pango_font_description_set_family (desc, "Sans");
- SWFDEC_INFO ("font %d has no cairo font description", SWFDEC_CHARACTER (text->font)->id);
- } else {
- desc = pango_font_description_copy (text->font->desc);
- }
- pango_font_description_set_absolute_size (desc, text->height * PANGO_SCALE);
- layout = pango_cairo_create_layout (cr);
- pango_layout_set_font_description (layout, desc);
- pango_font_description_free (desc);
- width = SWFDEC_GRAPHIC (text)->extents.x1 - SWFDEC_GRAPHIC (text)->extents.x0 - text->left_margin - text->right_margin;
- cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0 + text->left_margin, SWFDEC_GRAPHIC (text)->extents.y0);
- pango_layout_set_width (layout, width * PANGO_SCALE);
- color = swfdec_color_apply_transform (text->color, trans);
- swfdec_color_set_source (cr, color);
-
- for (i = 0; paragraph[i].text != NULL; i++) {
- pango_layout_set_text (layout, paragraph[i].text, -1);
- pango_layout_set_attributes (layout, paragraph[i].attrs);
- pango_layout_set_alignment (layout, paragraph[i].align);
- if (fill)
- pango_cairo_show_layout (cr, layout);
- else
- pango_cairo_layout_path (cr, layout);
+ ParserData data;
+ const char *p;
+
+ g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+ g_return_if_fail (str != NULL);
+
+ data.cx = SWFDEC_AS_OBJECT (text)->context;
+ data.text = g_string_new ("");
+ data.tags_open = NULL;
+ data.tags_closed = NULL;
+
+ p = str;
+ while (*p != '\0' && p != NULL) {
+ if (*p == '<') {
+ if (strncmp (p + 1, "!--", strlen ("!--")) == 0) {
+ p = swfdec_edit_text_movie_html_parse_comment (&data, p);
+ } else {
+ p = swfdec_edit_text_movie_html_parse_tag (&data, p);
+ }
+ } else {
+ p = swfdec_edit_text_movie_html_parse_text (&data, p);
+ }
}
- g_object_unref (layout);
-}
+ text->text_display = swfdec_as_context_give_string (data.cx,
+ g_string_free (data.text, FALSE));
+}
diff-tree 2579b881b63118994ff3bc522419043439210f31 (from f9d7d2396fe0a7653829a14f3b9da571130eb519)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 16:58:32 2007 +0300
Some more small cleanups of htmlText stuff
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 59f5b9e..45d7c3b 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -45,12 +45,15 @@ swfdec_edit_text_movie_get_text (SwfdecA
return;
text = SWFDEC_EDIT_TEXT_MOVIE (object);
- SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ? swfdec_as_context_get_string (cx, text->text_display) : SWFDEC_AS_STR_EMPTY));
+ SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ?
+ swfdec_as_context_get_string (cx, text->text_display) :
+ SWFDEC_AS_STR_EMPTY));
}
static void
-swfdec_edit_text_movie_do_set_text (SwfdecAsContext *cx, SwfdecAsObject *object,
- guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+swfdec_edit_text_movie_do_set_text (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
{
SwfdecEditTextMovie *text;
const char *value;
@@ -60,22 +63,6 @@ swfdec_edit_text_movie_do_set_text (Swfd
swfdec_edit_text_movie_set_text (text, value);
}
-/*
- * Order of tags:
- * TEXTFORMAT / P or LI / FONT / A / B / I / U
- *
- * Order of attributes:
- * TEXTFORMAT:
- * LEFTMARGIN / RIGHTMARGIN / INDENT / LEADING / BLOCKINDENT / TABSTOPS
- * P: ALIGN
- * LI: none
- * FONT: FACE / SIZE / COLOR / LETTERSPACING / KERNING
- * A: HREF / TARGET
- * B: none
- * I: none
- * U: none
- */
-
static const char *
align_to_string (SwfdecTextAlign align)
{
@@ -93,6 +80,21 @@ align_to_string (SwfdecTextAlign align)
}
}
+/*
+ * Order of tags:
+ * TEXTFORMAT / P or LI / FONT / A / B / I / U
+ *
+ * Order of attributes:
+ * TEXTFORMAT:
+ * LEFTMARGIN / RIGHTMARGIN / INDENT / LEADING / BLOCKINDENT / TABSTOPS
+ * P: ALIGN
+ * LI: none
+ * FONT: FACE / SIZE / COLOR / LETTERSPACING / KERNING
+ * A: HREF / TARGET
+ * B: none
+ * I: none
+ * U: none
+ */
static GString *
swfdec_edit_text_movie_htmlText_append_paragraph (SwfdecEditTextMovie *text,
GString *string, guint start_index, guint end_index)
@@ -162,7 +164,10 @@ swfdec_edit_text_movie_htmlText_append_p
bullet = FALSE;
}
- g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">", format->font, format->size, format->color, (int)format->letter_spacing, (format->kerning ? 1 : 0));
+ // note we don't escape format->font, even thought it can have evil chars
+ g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">",
+ format->font, format->size, format->color, (int)format->letter_spacing,
+ (format->kerning ? 1 : 0));
fonts = g_slist_prepend (NULL, format);
if (format->url != SWFDEC_AS_STR_EMPTY)
@@ -244,6 +249,7 @@ swfdec_edit_text_movie_htmlText_append_p
fonts = g_slist_prepend (fonts, format);
string = g_string_append (string, "<FONT");
+ // note we don't escape format->font, even thought it can have evil chars
if (format->font != format_font->font)
g_string_append_printf (string, " FACE=\"%s\"", format->font);
if (format->size != format_font->size)
@@ -553,7 +559,8 @@ swfdec_edit_text_movie_construct (Swfdec
swfdec_as_object_add (object, cx, sizeof (SwfdecEditTextMovie));
swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
- swfdec_as_object_set_constructor (object, SWFDEC_AS_VALUE_GET_OBJECT (&val));
+ swfdec_as_object_set_constructor (object,
+ SWFDEC_AS_VALUE_GET_OBJECT (&val));
} else {
SWFDEC_INFO ("\"TextField\" is not an object");
}
diff-tree f9d7d2396fe0a7653829a14f3b9da571130eb519 (from 6f7385eaeef2eabff08c40f724f22d5a8fe6f052)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 16:53:19 2007 +0300
Clean up htmlText code somewhat. Fix a typo.
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 5e6ccd2..59f5b9e 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -76,17 +76,6 @@ swfdec_edit_text_movie_do_set_text (Swfd
* U: none
*/
-typedef enum {
- CHANGE_LEVEL_NONE,
- CHANGE_LEVEL_UNDERLINE,
- CHANGE_LEVEL_ITALIC,
- CHANGE_LEVEL_BOLD,
- CHANGE_LEVEL_A,
- CHANGE_LEVEL_FONT,
- CHANGE_LEVEL_P,
- CHANGE_LEVEL_TEXTFORMAT,
-} ChangeLevel;
-
static const char *
align_to_string (SwfdecTextAlign align)
{
@@ -109,10 +98,9 @@ swfdec_edit_text_movie_htmlText_append_p
GString *string, guint start_index, guint end_index)
{
SwfdecTextFormat *format, *format_prev, *format_font;
- GSList *iter, *fonts;
+ GSList *iter, *fonts, *iter_font;
guint index_, index_prev;
- int change_level;
- gboolean textformat, bullet;
+ gboolean textformat, bullet, font;
char *escaped;
g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text), string);
@@ -209,56 +197,45 @@ swfdec_edit_text_movie_htmlText_append_p
format->color != format_prev->color ||
(int)format->letter_spacing != (int)format_prev->letter_spacing ||
format->kerning != format_prev->kerning) {
- change_level = CHANGE_LEVEL_FONT;
- } else if (format->url != format_prev->url ||
- format->target != format_prev->target) {
- change_level = CHANGE_LEVEL_A;
- } else if (format->bold != format_prev->bold) {
- change_level = CHANGE_LEVEL_BOLD;
- } else if (format->italic != format_prev->italic) {
- change_level = CHANGE_LEVEL_ITALIC;
- } else if (format->underline != format_prev->underline) {
- change_level = CHANGE_LEVEL_UNDERLINE;
- } else {
- change_level = CHANGE_LEVEL_NONE;
+ font = TRUE;
+ } else if (format->url == format_prev->url &&
+ format->target == format_prev->target &&
+ format->bold == format_prev->bold &&
+ format->italic == format_prev->italic &&
+ format->underline == format_prev->underline) {
+ continue;
}
// Close tags
- if (change_level >= CHANGE_LEVEL_UNDERLINE) {
- GSList *iter_font;
- for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
- {
- format_font = (SwfdecTextFormat *)iter_font->data;
- if (format->font == format_font->font &&
- format->size == format_font->size &&
- format->color == format_font->color &&
- (int)format->letter_spacing == (int)format_font->letter_spacing &&
- format->kerning == format_font->kerning) {
- break;
- }
+ for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
+ {
+ format_font = (SwfdecTextFormat *)iter_font->data;
+ if (format->font == format_font->font &&
+ format->size == format_font->size &&
+ format->color == format_font->color &&
+ (int)format->letter_spacing == (int)format_font->letter_spacing &&
+ format->kerning == format_font->kerning) {
+ break;
}
- if (iter_font != NULL) {
- while (fonts != iter_font) {
- string = g_string_append (string, "</FONT>");
- fonts = g_slist_remove (fonts, fonts->data);
- }
+ }
+ if (iter_font != NULL) {
+ while (fonts != iter_font) {
+ string = g_string_append (string, "</FONT>");
+ fonts = g_slist_remove (fonts, fonts->data);
}
}
- if (format_prev->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+ if (format_prev->underline)
string = g_string_append (string, "</U>");
- if (format_prev->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+ if (format_prev->italic)
string = g_string_append (string, "</I>");
- if (format_prev->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+ if (format_prev->bold)
string = g_string_append (string, "</B>");
- if (format_prev->url != SWFDEC_AS_STR_EMPTY &&
- change_level >= CHANGE_LEVEL_UNDERLINE) {
+ if (format_prev->url != SWFDEC_AS_STR_EMPTY)
string = g_string_append (string, "</A>");
- }
// Open tags
format_font = (SwfdecTextFormat *)fonts->data;
- if (change_level >= CHANGE_LEVEL_FONT &&
- (format->font != format_font->font ||
+ if (font && (format->font != format_font->font ||
format->size != format_font->size ||
format->color != format_font->color ||
(int)format->letter_spacing != (int)format_font->letter_spacing ||
@@ -268,7 +245,7 @@ swfdec_edit_text_movie_htmlText_append_p
string = g_string_append (string, "<FONT");
if (format->font != format_font->font)
- g_string_append_printf (string, " FONT=\"%s\"", format->font);
+ g_string_append_printf (string, " FACE=\"%s\"", format->font);
if (format->size != format_font->size)
g_string_append_printf (string, " SIZE=\"%i\"", format->size);
if (format->color != format_font->color)
@@ -283,16 +260,15 @@ swfdec_edit_text_movie_htmlText_append_p
}
string = g_string_append (string, ">");
}
- if (format->url != SWFDEC_AS_STR_EMPTY &&
- change_level >= CHANGE_LEVEL_UNDERLINE) {
+ if (format->url != SWFDEC_AS_STR_EMPTY) {
g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
format->url, format->target);
}
- if (format->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+ if (format->bold)
string = g_string_append (string, "<B>");
- if (format->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+ if (format->italic)
string = g_string_append (string, "<I>");
- if (format->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+ if (format->underline)
string = g_string_append (string, "<U>");
}
diff-tree 6f7385eaeef2eabff08c40f724f22d5a8fe6f052 (from 8934731cee4ff841b5dce2cb1cde77ee2ddc290a)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 14:41:57 2007 +0300
Escape text when getting TextField's htmlText
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 7d9cf1a..5e6ccd2 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -31,6 +31,7 @@
#include "swfdec_as_internal.h"
#include "swfdec_as_context.h"
#include "swfdec_as_frame_internal.h"
+#include "swfdec_xml.h"
#include "swfdec_internal.h"
#include "swfdec_player_internal.h"
@@ -112,6 +113,7 @@ swfdec_edit_text_movie_htmlText_append_p
guint index_, index_prev;
int change_level;
gboolean textformat, bullet;
+ char *escaped;
g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text), string);
g_return_val_if_fail (string != NULL, string);
@@ -195,8 +197,11 @@ swfdec_edit_text_movie_htmlText_append_p
index_ = ((SwfdecFormatIndex *)(iter->data))->index;
format = ((SwfdecFormatIndex *)(iter->data))->format;
- string = g_string_append_len (string, text->text_display + index_prev,
+ escaped = swfdec_xml_escape_len (text->text_display + index_prev,
index_ - index_prev);
+ string = g_string_append (string, escaped);
+ g_free (escaped);
+ escaped = NULL;
// Figure out what tags need to be rewritten
if (format->font != format_prev->font ||
@@ -291,8 +296,10 @@ swfdec_edit_text_movie_htmlText_append_p
string = g_string_append (string, "<U>");
}
- string = g_string_append_len (string, text->text_display + index_,
+ escaped = swfdec_xml_escape_len (text->text_display + index_,
end_index - index_);
+ string = g_string_append (string, escaped);
+ g_free (escaped);
if (format->underline)
string = g_string_append (string, "</U>");
diff-tree 8934731cee4ff841b5dce2cb1cde77ee2ddc290a (from 1ec09c33f77bdb0e6315f87e6e57e3e3667b8ae3)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 14:35:08 2007 +0300
Add swfdec_xml_escape_len and swfdec_xml_unescape_len functions
diff --git a/libswfdec/swfdec_xml.c b/libswfdec/swfdec_xml.c
index 06a4101..2e2a558 100644
--- a/libswfdec/swfdec_xml.c
+++ b/libswfdec/swfdec_xml.c
@@ -77,7 +77,7 @@ static EntityConversion xml_entities[] =
};
char *
-swfdec_xml_escape (const char *orginal)
+swfdec_xml_escape_len (const char *orginal, gssize length)
{
int i;
const char *p, *start;
@@ -86,7 +86,7 @@ swfdec_xml_escape (const char *orginal)
string = g_string_new ("");
p = start = orginal;
- while (*(p += strcspn (p, "&<>\"'")) != '\0') {
+ while (*(p += strcspn (p, "&<>\"'")) != '\0' && p - orginal < length) {
string = g_string_append_len (string, start, p - start);
// escape it
@@ -101,13 +101,19 @@ swfdec_xml_escape (const char *orginal)
p++;
start = p;
}
- string = g_string_append (string, start);
+ string = g_string_append_len (string, start, length - (start - orginal));
return g_string_free (string, FALSE);
}
char *
-swfdec_xml_unescape (const char *orginal)
+swfdec_xml_escape (const char *orginal)
+{
+ return swfdec_xml_escape_len (orginal, strlen (orginal));
+}
+
+char *
+swfdec_xml_unescape_len (const char *orginal, gssize length)
{
int i;
const char *p, *start;
@@ -116,7 +122,7 @@ swfdec_xml_unescape (const char *orginal
string = g_string_new ("");
p = start = orginal;
- while ((p = strchr (p, '&')) != NULL) {
+ while ((p = strchr (p, '&')) != NULL && p - orginal < length) {
string = g_string_append_len (string, start, p - start);
for (i = 0; xml_entities[i].escaped != NULL; i++) {
@@ -134,11 +140,17 @@ swfdec_xml_unescape (const char *orginal
start = p;
}
- string = g_string_append (string, start);
+ string = g_string_append_len (string, start, length - (start - orginal));
return g_string_free (string, FALSE);
}
+char *
+swfdec_xml_unescape (const char *orginal)
+{
+ return swfdec_xml_unescape_len (orginal, strlen (orginal));
+}
+
// this is never declared, only available as ASnative (100, 5)
SWFDEC_AS_NATIVE (100, 5, swfdec_xml_do_escape)
void
diff --git a/libswfdec/swfdec_xml.h b/libswfdec/swfdec_xml.h
index c06562d..9d82d6a 100644
--- a/libswfdec/swfdec_xml.h
+++ b/libswfdec/swfdec_xml.h
@@ -70,7 +70,9 @@ struct _SwfdecXmlClass {
GType swfdec_xml_get_type (void);
char * swfdec_xml_escape (const char *orginal);
+char * swfdec_xml_escape_len (const char *orginal, gssize length);
char * swfdec_xml_unescape (const char *orginal);
+char * swfdec_xml_unescape_len (const char *orginal, gssize length);
G_END_DECLS
#endif
diff-tree 1ec09c33f77bdb0e6315f87e6e57e3e3667b8ae3 (from fc7deb5a55fe2ed2178cd8b446d7ac298529f491)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 14:23:42 2007 +0300
Add textformat generation to finish get part of TextField's htmlText property
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 8e81e38..7d9cf1a 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -111,7 +111,7 @@ swfdec_edit_text_movie_htmlText_append_p
GSList *iter, *fonts;
guint index_, index_prev;
int change_level;
- gboolean bullet;
+ gboolean textformat, bullet;
g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text), string);
g_return_val_if_fail (string != NULL, string);
@@ -125,8 +125,46 @@ swfdec_edit_text_movie_htmlText_append_p
index_ = start_index;
format = ((SwfdecFormatIndex *)(iter->data))->format;
+ if (format->left_margin != 0 || format->right_margin != 0 ||
+ format->indent != 0 || format->leading != 0 ||
+ format->block_indent != 0 ||
+ swfdec_as_array_get_length (format->tab_stops) > 0)
+ {
+ string = g_string_append (string, "<TEXTFORMAT");
+ if (format->left_margin) {
+ g_string_append_printf (string, " LEFTMARGIN=\"%i\"",
+ format->left_margin);
+ }
+ if (format->right_margin) {
+ g_string_append_printf (string, " RIGHTMARGIN=\"%i\"",
+ format->right_margin);
+ }
+ if (format->indent)
+ g_string_append_printf (string, " INDENT=\"%i\"", format->indent);
+ if (format->leading)
+ g_string_append_printf (string, " LEADING=\"%i\"", format->leading);
+ if (format->block_indent) {
+ g_string_append_printf (string, " BLOCKINDENT=\"%i\"",
+ format->block_indent);
+ }
+ if (swfdec_as_array_get_length (format->tab_stops) > 0) {
+ SwfdecAsValue val;
+ SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT (format->tab_stops));
+ g_string_append_printf (string, " TABSTOPS=\"%s\"",
+ swfdec_as_value_to_string (SWFDEC_AS_OBJECT
+ (format->tab_stops)->context, &val));
+ }
+ string = g_string_append (string, ">");
+
+ textformat = TRUE;
+ }
+ else
+ {
+ textformat = FALSE;
+ }
+
if (format->bullet) {
- g_string_append (string, "<LI>");
+ string = g_string_append (string, "<LI>");
bullet = TRUE;
} else {
g_string_append_printf (string, "<P ALIGN=\"%s\">",
@@ -272,6 +310,8 @@ swfdec_edit_text_movie_htmlText_append_p
} else {
string = g_string_append (string, "</P>");
}
+ if (textformat)
+ string = g_string_append (string, "</TEXTFORMAT>");
return string;
}
diff-tree fc7deb5a55fe2ed2178cd8b446d7ac298529f491 (from 0c2bac0188760f412bc84d683bf8a700c5a161fe)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 14:12:37 2007 +0300
Improve htmlText property support in TextField when text has paragraphs
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index 48ef525..8e81e38 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -103,172 +103,166 @@ align_to_string (SwfdecTextAlign align)
}
}
-static void
-swfdec_edit_text_movie_get_htmlText (SwfdecAsContext *cx,
- SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
- SwfdecAsValue *ret)
+static GString *
+swfdec_edit_text_movie_htmlText_append_paragraph (SwfdecEditTextMovie *text,
+ GString *string, guint start_index, guint end_index)
{
- SwfdecEditTextMovie *text;
SwfdecTextFormat *format, *format_prev, *format_font;
- GString *string;
GSList *iter, *fonts;
guint index_, index_prev;
int change_level;
- gboolean bullet = FALSE;
-
- SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
-
- if (text->text->html == FALSE) {
- swfdec_edit_text_movie_get_text (cx, object, argc, argv, ret);
- return;
- }
-
- if (text->text_display == NULL) {
- SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_EMPTY);
- return;
- }
+ gboolean bullet;
- string = g_string_new ("");
-
- fonts = NULL;
- index_prev = 0;
- format_prev = NULL;
- for (iter = text->formats; iter != NULL; iter = iter->next)
+ g_return_val_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text), string);
+ g_return_val_if_fail (string != NULL, string);
+ g_return_val_if_fail (start_index < end_index, string);
+
+ g_return_val_if_fail (text->formats != NULL, string);
+ for (iter = text->formats; iter->next != NULL &&
+ ((SwfdecFormatIndex *)(iter->next->data))->index <= start_index;
+ iter = iter->next);
+
+ index_ = start_index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ if (format->bullet) {
+ g_string_append (string, "<LI>");
+ bullet = TRUE;
+ } else {
+ g_string_append_printf (string, "<P ALIGN=\"%s\">",
+ align_to_string (format->align));
+ bullet = FALSE;
+ }
+
+ g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">", format->font, format->size, format->color, (int)format->letter_spacing, (format->kerning ? 1 : 0));
+ fonts = g_slist_prepend (NULL, format);
+
+ if (format->url != SWFDEC_AS_STR_EMPTY)
+ g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+ format->url, format->target);
+ if (format->bold)
+ string = g_string_append (string, "<B>");
+ if (format->italic)
+ string = g_string_append (string, "<I>");
+ if (format->underline)
+ string = g_string_append (string, "<U>");
+
+ // special case: use <= instead of < to add some extra markup
+ for (iter = iter->next;
+ iter != NULL && ((SwfdecFormatIndex *)(iter->data))->index <= end_index;
+ iter = iter->next)
{
+ index_prev = index_;
+ format_prev = format;
index_ = ((SwfdecFormatIndex *)(iter->data))->index;
format = ((SwfdecFormatIndex *)(iter->data))->format;
string = g_string_append_len (string, text->text_display + index_prev,
index_ - index_prev);
- if (format_prev == NULL) {
- if (format->bullet) {
- g_string_append (string, "<LI>");
- bullet = TRUE;
- } else {
- g_string_append_printf (string, "<P ALIGN=\"%s\">",
- align_to_string (format->align));
- bullet = FALSE;
- }
- g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">", format->font, format->size, format->color, (int)format->letter_spacing, (format->kerning ? 1 : 0));
- fonts = g_slist_prepend (fonts, format);
- if (format->url != SWFDEC_AS_STR_EMPTY)
- g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
- format->url, format->target);
- if (format->bold)
- string = g_string_append (string, "<B>");
- if (format->italic)
- string = g_string_append (string, "<I>");
- if (format->underline)
- string = g_string_append (string, "<U>");
+ // Figure out what tags need to be rewritten
+ if (format->font != format_prev->font ||
+ format->size != format_prev->size ||
+ format->color != format_prev->color ||
+ (int)format->letter_spacing != (int)format_prev->letter_spacing ||
+ format->kerning != format_prev->kerning) {
+ change_level = CHANGE_LEVEL_FONT;
+ } else if (format->url != format_prev->url ||
+ format->target != format_prev->target) {
+ change_level = CHANGE_LEVEL_A;
+ } else if (format->bold != format_prev->bold) {
+ change_level = CHANGE_LEVEL_BOLD;
+ } else if (format->italic != format_prev->italic) {
+ change_level = CHANGE_LEVEL_ITALIC;
+ } else if (format->underline != format_prev->underline) {
+ change_level = CHANGE_LEVEL_UNDERLINE;
} else {
- // Figure out what tags need to be rewritten
- if (format->font != format_prev->font ||
- format->size != format_prev->size ||
- format->color != format_prev->color ||
- (int)format->letter_spacing != (int)format_prev->letter_spacing ||
- format->kerning != format_prev->kerning) {
- change_level = CHANGE_LEVEL_FONT;
- } else if (format->url != format_prev->url ||
- format->target != format_prev->target) {
- change_level = CHANGE_LEVEL_A;
- } else if (format->bold != format_prev->bold) {
- change_level = CHANGE_LEVEL_BOLD;
- } else if (format->italic != format_prev->italic) {
- change_level = CHANGE_LEVEL_ITALIC;
- } else if (format->underline != format_prev->underline) {
- change_level = CHANGE_LEVEL_UNDERLINE;
- } else {
- change_level = CHANGE_LEVEL_NONE;
- }
+ change_level = CHANGE_LEVEL_NONE;
+ }
- // Close tags
- if (change_level >= CHANGE_LEVEL_UNDERLINE) {
- GSList *iter_font;
- for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
- {
- format_font = (SwfdecTextFormat *)iter_font->data;
- if (format->font == format_font->font &&
- format->size == format_font->size &&
- format->color == format_font->color &&
- (int)format->letter_spacing == (int)format_font->letter_spacing &&
- format->kerning == format_font->kerning) {
- break;
- }
- }
- if (iter_font != NULL) {
- while (fonts != iter_font) {
- string = g_string_append (string, "</FONT>");
- fonts = g_slist_remove (fonts, fonts->data);
- }
+ // Close tags
+ if (change_level >= CHANGE_LEVEL_UNDERLINE) {
+ GSList *iter_font;
+ for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
+ {
+ format_font = (SwfdecTextFormat *)iter_font->data;
+ if (format->font == format_font->font &&
+ format->size == format_font->size &&
+ format->color == format_font->color &&
+ (int)format->letter_spacing == (int)format_font->letter_spacing &&
+ format->kerning == format_font->kerning) {
+ break;
}
}
- if (format_prev->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
- string = g_string_append (string, "</U>");
- if (format_prev->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
- string = g_string_append (string, "</I>");
- if (format_prev->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
- string = g_string_append (string, "</B>");
- if (format_prev->url != SWFDEC_AS_STR_EMPTY &&
- change_level >= CHANGE_LEVEL_UNDERLINE) {
- string = g_string_append (string, "</A>");
+ if (iter_font != NULL) {
+ while (fonts != iter_font) {
+ string = g_string_append (string, "</FONT>");
+ fonts = g_slist_remove (fonts, fonts->data);
+ }
}
+ }
+ if (format_prev->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "</U>");
+ if (format_prev->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "</I>");
+ if (format_prev->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "</B>");
+ if (format_prev->url != SWFDEC_AS_STR_EMPTY &&
+ change_level >= CHANGE_LEVEL_UNDERLINE) {
+ string = g_string_append (string, "</A>");
+ }
- // Open tags
- format_font = (SwfdecTextFormat *)fonts->data;
- if (change_level >= CHANGE_LEVEL_FONT &&
- (format->font != format_font->font ||
- format->size != format_font->size ||
- format->color != format_font->color ||
- (int)format->letter_spacing != (int)format_font->letter_spacing ||
- format->kerning != format_font->kerning))
- {
- fonts = g_slist_prepend (fonts, format);
+ // Open tags
+ format_font = (SwfdecTextFormat *)fonts->data;
+ if (change_level >= CHANGE_LEVEL_FONT &&
+ (format->font != format_font->font ||
+ format->size != format_font->size ||
+ format->color != format_font->color ||
+ (int)format->letter_spacing != (int)format_font->letter_spacing ||
+ format->kerning != format_font->kerning))
+ {
+ fonts = g_slist_prepend (fonts, format);
- string = g_string_append (string, "<FONT");
- if (format->font != format_font->font)
- g_string_append_printf (string, " FONT=\"%s\"", format->font);
- if (format->size != format_font->size)
- g_string_append_printf (string, " SIZE=\"%i\"", format->size);
- if (format->color != format_font->color)
- g_string_append_printf (string, " COLOR=\"#%06X\"", format->color);
- if ((int)format->letter_spacing != (int)format_font->letter_spacing) {
- g_string_append_printf (string, " LETTERSPACING=\"%i\"",
- (int)format->letter_spacing);
- }
- if (format->kerning != format_font->kerning) {
- g_string_append_printf (string, " KERNING=\"%i\"",
- (format->kerning ? 1 : 0));
- }
- string = g_string_append (string, ">");
+ string = g_string_append (string, "<FONT");
+ if (format->font != format_font->font)
+ g_string_append_printf (string, " FONT=\"%s\"", format->font);
+ if (format->size != format_font->size)
+ g_string_append_printf (string, " SIZE=\"%i\"", format->size);
+ if (format->color != format_font->color)
+ g_string_append_printf (string, " COLOR=\"#%06X\"", format->color);
+ if ((int)format->letter_spacing != (int)format_font->letter_spacing) {
+ g_string_append_printf (string, " LETTERSPACING=\"%i\"",
+ (int)format->letter_spacing);
}
- if (format->url != SWFDEC_AS_STR_EMPTY &&
- change_level >= CHANGE_LEVEL_UNDERLINE) {
- g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
- format->url, format->target);
+ if (format->kerning != format_font->kerning) {
+ g_string_append_printf (string, " KERNING=\"%i\"",
+ (format->kerning ? 1 : 0));
}
- if (format->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
- string = g_string_append (string, "<B>");
- if (format->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
- string = g_string_append (string, "<I>");
- if (format->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
- string = g_string_append (string, "<U>");
+ string = g_string_append (string, ">");
}
-
- index_prev = index_;
- format_prev = format;
+ if (format->url != SWFDEC_AS_STR_EMPTY &&
+ change_level >= CHANGE_LEVEL_UNDERLINE) {
+ g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+ format->url, format->target);
+ }
+ if (format->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "<B>");
+ if (format->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "<I>");
+ if (format->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "<U>");
}
- string = g_string_append (string, text->text_display + index_prev);
- g_assert (format_prev != NULL);
+ string = g_string_append_len (string, text->text_display + index_,
+ end_index - index_);
- if (format_prev->underline)
+ if (format->underline)
string = g_string_append (string, "</U>");
- if (format_prev->italic)
+ if (format->italic)
string = g_string_append (string, "</I>");
- if (format_prev->bold)
+ if (format->bold)
string = g_string_append (string, "</B>");
- if (format_prev->url != SWFDEC_AS_STR_EMPTY)
+ if (format->url != SWFDEC_AS_STR_EMPTY)
string = g_string_append (string, "</A>");
for (iter = fonts; iter != NULL; iter = iter->next)
string = g_string_append (string, "</FONT>");
@@ -279,6 +273,48 @@ swfdec_edit_text_movie_get_htmlText (Swf
string = g_string_append (string, "</P>");
}
+ return string;
+}
+
+static void
+swfdec_edit_text_movie_get_htmlText (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+ const char *p, *end;
+ GString *string;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+ if (text->text->html == FALSE) {
+ swfdec_edit_text_movie_get_text (cx, object, argc, argv, ret);
+ return;
+ }
+
+ if (text->text_display == NULL) {
+ SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_EMPTY);
+ return;
+ }
+
+ string = g_string_new ("");
+
+ p = text->text_display;
+ while (*p != '\0') {
+ end = strchr (p, '\n');
+ if (end == NULL)
+ end = strchr (p, '\0');
+
+ string = swfdec_edit_text_movie_htmlText_append_paragraph (text, string,
+ p - text->text_display, end - text->text_display);
+
+ if (*end == '\n') {
+ p = end + 1;
+ } else {
+ p = end;
+ }
+ }
+
SWFDEC_AS_VALUE_SET_STRING (ret,
swfdec_as_context_give_string (cx, g_string_free (string, FALSE)));
}
diff-tree 0c2bac0188760f412bc84d683bf8a700c5a161fe (from 849f5a1b22fc821d0f9d3b4ddf8066b99d951512)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 13:26:08 2007 +0300
Restructure EditText rendering etc. code
Not really in working state at the moment
diff --git a/libswfdec/swfdec_edittext.c b/libswfdec/swfdec_edittext.c
index ed641e8..ecb833a 100644
--- a/libswfdec/swfdec_edittext.c
+++ b/libswfdec/swfdec_edittext.c
@@ -45,8 +45,7 @@ swfdec_edit_text_create_movie (SwfdecGra
SwfdecEditTextMovie *ret = g_object_new (SWFDEC_TYPE_EDIT_TEXT_MOVIE, NULL);
ret->text = text;
- if (text->text)
- swfdec_edit_text_movie_set_text (ret, text->text);
+
*size = sizeof (SwfdecEditTextMovie);
return SWFDEC_MOVIE (ret);
@@ -57,11 +56,11 @@ swfdec_edit_text_dispose (GObject *objec
{
SwfdecEditText *text = SWFDEC_EDIT_TEXT (object);
- g_free (text->text);
- text->text = NULL;
+ g_free (text->text_input);
+ text->text_input = NULL;
g_free (text->variable);
text->variable = NULL;
-
+
G_OBJECT_CLASS (swfdec_edit_text_parent_class)->dispose (object);
}
@@ -82,6 +81,68 @@ swfdec_edit_text_init (SwfdecEditText *
text->max_length = G_MAXUINT;
}
+void
+swfdec_edit_text_render (SwfdecEditText *text, cairo_t *cr,
+ const SwfdecTextRenderBlock *blocks, const SwfdecColorTransform *trans,
+ const SwfdecRect *inval, gboolean fill)
+{
+ guint i;
+ PangoFontDescription *desc;
+ PangoLayout *layout;
+ guint width;
+ SwfdecColor color;
+
+ g_return_if_fail (SWFDEC_IS_EDIT_TEXT (text));
+ g_return_if_fail (cr != NULL);
+ g_return_if_fail (blocks != NULL);
+ g_return_if_fail (trans != NULL);
+ g_return_if_fail (inval != NULL);
+
+ // is this correct?
+ if (text->font == NULL) {
+ SWFDEC_ERROR ("no font to render with");
+ return;
+ }
+ if (text->font->desc == NULL) {
+ SWFDEC_INFO ("font %d has no cairo font description",
+ SWFDEC_CHARACTER (text->font)->id);
+ desc = pango_font_description_new ();
+ pango_font_description_set_family (desc, "Sans");
+ } else {
+ desc = pango_font_description_copy (text->font->desc);
+ }
+ pango_font_description_set_absolute_size (desc, text->height * PANGO_SCALE);
+ layout = pango_cairo_create_layout (cr);
+ pango_layout_set_font_description (layout, desc);
+ pango_font_description_free (desc);
+
+ cairo_move_to (cr, SWFDEC_GRAPHIC (text)->extents.x0,
+ SWFDEC_GRAPHIC (text)->extents.y0);
+
+ color = swfdec_color_apply_transform (text->color, trans);
+ swfdec_color_set_source (cr, color);
+
+ for (i = 0; blocks[i].text != NULL; i++) {
+ g_print ("render! %i\n", i);
+
+ cairo_rel_move_to (cr, blocks[i].left_margin, 0);
+ width = SWFDEC_GRAPHIC (text)->extents.x1 -
+ SWFDEC_GRAPHIC (text)->extents.x0 - blocks[i].left_margin -
+ blocks[i].right_margin;
+ pango_layout_set_width (layout, width * PANGO_SCALE);
+
+ pango_layout_set_text (layout, blocks[i].text, blocks[i].text_length);
+ pango_layout_set_attributes (layout, blocks[i].attrs);
+ pango_layout_set_alignment (layout, blocks[i].align);
+ pango_layout_set_justify (layout, blocks[i].justify);
+ if (fill)
+ pango_cairo_show_layout (cr, layout);
+ else
+ pango_cairo_layout_path (cr, layout);
+ }
+ g_object_unref (layout);
+}
+
int
tag_func_define_edit_text (SwfdecSwfDecoder * s, guint tag)
{
@@ -90,7 +151,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
int reserved, use_outlines;
gboolean has_font, has_color, has_max_length, has_layout, has_text;
SwfdecBits *b = &s->b;
-
+
id = swfdec_bits_get_u16 (b);
SWFDEC_LOG (" id = %u", id);
text = swfdec_swf_decoder_create_character (s, id, SWFDEC_TYPE_EDIT_TEXT);
@@ -106,12 +167,13 @@ tag_func_define_edit_text (SwfdecSwfDeco
text->wrap = swfdec_bits_getbit (b);
text->multiline = swfdec_bits_getbit (b);
text->password = swfdec_bits_getbit (b);
- text->readonly = swfdec_bits_getbit (b);
+ text->input = !swfdec_bits_getbit (b);
has_color = swfdec_bits_getbit (b);
has_max_length = swfdec_bits_getbit (b);
has_font = swfdec_bits_getbit (b);
reserved = swfdec_bits_getbit (b);
- text->autosize = swfdec_bits_getbit (b);
+ text->auto_size =
+ (swfdec_bits_getbit (b) ? SWFDEC_AUTO_SIZE_LEFT : SWFDEC_AUTO_SIZE_NONE);
has_layout = swfdec_bits_getbit (b);
text->selectable = !swfdec_bits_getbit (b);
text->border = swfdec_bits_getbit (b);
@@ -146,16 +208,16 @@ tag_func_define_edit_text (SwfdecSwfDeco
guint align = swfdec_bits_get_u8 (b);
switch (align) {
case 0:
- text->align = PANGO_ALIGN_LEFT;
+ text->align = SWFDEC_TEXT_ALIGN_LEFT;
break;
case 1:
- text->align = PANGO_ALIGN_RIGHT;
+ text->align = SWFDEC_TEXT_ALIGN_RIGHT;
break;
case 2:
- text->align = PANGO_ALIGN_CENTER;
+ text->align = SWFDEC_TEXT_ALIGN_CENTER;
break;
case 3:
- text->justify = TRUE;
+ text->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
break;
default:
SWFDEC_ERROR ("undefined align value %u", align);
@@ -172,7 +234,7 @@ tag_func_define_edit_text (SwfdecSwfDeco
text->variable = NULL;
}
if (has_text)
- text->text = swfdec_bits_get_string (b);
+ text->text_input = swfdec_bits_get_string (b);
return SWFDEC_STATUS_OK;
}
diff --git a/libswfdec/swfdec_edittext.h b/libswfdec/swfdec_edittext.h
index be38c4d..e991f9b 100644
--- a/libswfdec/swfdec_edittext.h
+++ b/libswfdec/swfdec_edittext.h
@@ -25,6 +25,7 @@
#include <libswfdec/swfdec_color.h>
#include <libswfdec/swfdec_graphic.h>
#include <libswfdec/swfdec_player.h>
+#include <libswfdec/swfdec_text_format.h>
G_BEGIN_DECLS
@@ -38,36 +39,60 @@ typedef struct _SwfdecEditTextClass Swfd
#define SWFDEC_EDIT_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_EDIT_TEXT, SwfdecEditText))
#define SWFDEC_EDIT_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_EDIT_TEXT, SwfdecEditTextClass))
+typedef struct {
+ const char *text;
+ int text_length;
+
+ gboolean bullet;
+ int indent;
+ int leading;
+ int block_indent;
+ int left_margin;
+ int right_margin;
+ int spacing;
+ PangoTabArray * tabs;
+
+ PangoAttrList * attrs;
+ PangoAlignment align;
+ gboolean justify;
+} SwfdecTextRenderBlock;
+
+typedef enum {
+ SWFDEC_AUTO_SIZE_NONE,
+ SWFDEC_AUTO_SIZE_LEFT,
+ SWFDEC_AUTO_SIZE_CENTER,
+ SWFDEC_AUTO_SIZE_RIGHT
+} SwfdecAutoSize;
+
struct _SwfdecEditText
{
SwfdecGraphic graphic;
- /* text info */
- char * text; /* initial displayed text or NULL if none */
- gboolean password; /* if text is a password and should be displayed as '*' */
- guint max_length; /* maximum number of characters */
- gboolean html; /* text is pseudo-html */
+ gboolean html;
+
+ gboolean input;
+ gboolean password;
+ guint max_length;
+ gboolean selectable;
+
+ SwfdecFont * font;
- /* layout info */
- SwfdecFont * font; /* font or NULL for default */
gboolean wrap;
gboolean multiline;
- PangoAlignment align;
- gboolean justify;
- guint indent; /* first line indentation */
- int spacing; /* spacing between lines */
- /* visual info */
- SwfdecColor color; /* text color */
- gboolean selectable;
- gboolean border; /* draw a border around the text field */
- guint height;
- guint left_margin;
- guint right_margin;
- gboolean autosize; /* FIXME: implement */
-
- /* variable info */
- char * variable; /* full name of the variable in dot notation */
- gboolean readonly;
+ SwfdecAutoSize auto_size;
+
+ gboolean border;
+ guint height;
+
+ /* only to be passed to the movie object */
+ char * text_input;
+ char * variable;
+ SwfdecColor color;
+ SwfdecTextAlign align;
+ guint left_margin;
+ guint right_margin;
+ guint indent;
+ int spacing;
};
struct _SwfdecEditTextClass
@@ -88,7 +113,7 @@ SwfdecParagraph * swfdec_paragraph_text_
void swfdec_paragraph_free (SwfdecParagraph * paragraphs);
void swfdec_edit_text_render (SwfdecEditText * text,
cairo_t * cr,
- const SwfdecParagraph * paragraph,
+ const SwfdecTextRenderBlock * blocks,
const SwfdecColorTransform * trans,
const SwfdecRect * rect,
gboolean fill);
diff --git a/libswfdec/swfdec_edittext_movie.c b/libswfdec/swfdec_edittext_movie.c
index 0613025..6a8aae9 100644
--- a/libswfdec/swfdec_edittext_movie.c
+++ b/libswfdec/swfdec_edittext_movie.c
@@ -21,9 +21,12 @@
#include "config.h"
#endif
+#include <string.h>
+
#include "swfdec_edittext_movie.h"
#include "swfdec_as_context.h"
#include "swfdec_as_strings.h"
+#include "swfdec_text_format.h"
#include "swfdec_debug.h"
#include "swfdec_player_internal.h"
@@ -38,7 +41,111 @@ swfdec_edit_text_movie_update_extents (S
}
static void
-swfdec_edit_text_movie_render (SwfdecMovie *movie, cairo_t *cr,
+swfdec_edit_text_movie_generate_render_blocks (SwfdecEditTextMovie *text)
+{
+ SwfdecFormatIndex *findex;
+ GSList *iter, *start;
+ PangoAttribute *attr;
+ const char *p, *end;
+ int i, lines;
+ guint start_index, end_index, findex_end_index;
+
+ lines = 0;
+ p = text->text_display;
+ while (p != NULL && *p != '\0') {
+ lines++;
+ p = strchr (p, '\n');
+ if (p != NULL) p++;
+ }
+
+ text->blocks = g_new0 (SwfdecTextRenderBlock, lines + 1);
+
+ if (lines == 0)
+ return;
+
+ i = 0;
+ start = text->formats;
+ p = text->text_display;
+ while (*p != '\0') {
+ g_assert (i < lines);
+ end = strchr (p, '\n');
+ if (end == NULL)
+ end = strchr (p, '\0');
+
+ start_index = p - text->text_display;
+ end_index = end - text->text_display;
+
+ text->blocks[i].text = p;
+ text->blocks[i].text_length = end - p;
+ text->blocks[i].attrs = pango_attr_list_new ();
+
+ while (start->next != NULL &&
+ ((SwfdecFormatIndex *)(start->next))->index < start_index) {
+ start = start->next;
+ }
+
+ // things we only set on start of paragraph
+ findex = start->data;
+ switch (findex->format->align) {
+ case SWFDEC_TEXT_ALIGN_LEFT:
+ text->blocks[i].align = PANGO_ALIGN_LEFT;
+ text->blocks[i].justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_RIGHT:
+ text->blocks[i].align = PANGO_ALIGN_RIGHT;
+ text->blocks[i].justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_CENTER:
+ text->blocks[i].align = PANGO_ALIGN_CENTER;
+ text->blocks[i].justify = FALSE;
+ break;
+ case SWFDEC_TEXT_ALIGN_JUSTIFY:
+ text->blocks[i].align = PANGO_ALIGN_LEFT;
+ text->blocks[i].justify = TRUE;
+ break;
+ }
+ text->blocks[i].bullet = findex->format->bullet;
+ text->blocks[i].indent = findex->format->indent;
+ text->blocks[i].leading = findex->format->leading;
+ text->blocks[i].block_indent = findex->format->block_indent;
+ text->blocks[i].left_margin = findex->format->left_margin;
+ text->blocks[i].right_margin = findex->format->right_margin;
+ text->blocks[i].spacing = findex->format->letter_spacing;
+ //PangoTabArray * tabs;
+
+ for (iter = start;
+ iter != NULL && ((SwfdecFormatIndex *)iter)->index < end_index;
+ iter = iter->next)
+ {
+ findex = iter->data;
+ g_assert (findex != NULL);
+ g_assert (SWFDEC_IS_TEXT_FORMAT (findex->format));
+
+ findex_end_index = (iter->next != NULL ?
+ ((SwfdecFormatIndex *)(iter->next))->index :
+ strlen (text->text_display));
+
+ g_print (":: %i - %i\n", findex->index, findex_end_index);
+
+ attr = pango_attr_size_new_absolute (findex->format->size * 20 * PANGO_SCALE);
+ attr->start_index = (findex->index < start_index ?
+ 0 : findex->index - start_index);
+ attr->end_index = (findex_end_index > end_index ?
+ end_index - start_index : findex_end_index - start_index);
+ pango_attr_list_change (text->blocks[i].attrs, attr);
+ g_print (":: %i-%i :: %i\n", attr->start_index, attr->end_index, findex->format->size);
+ };
+
+ p = end;
+ if (*p != '\0') p++;
+ i++;
+ }
+
+ g_print (":: %s\n", text->blocks[0].text);
+}
+
+static void
+swfdec_edit_text_movie_render (SwfdecMovie *movie, cairo_t *cr,
const SwfdecColorTransform *trans, const SwfdecRect *inval, gboolean fill)
{
SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
@@ -49,22 +156,46 @@ swfdec_edit_text_movie_render (SwfdecMov
movie->extents.y1 - movie->extents.y0);
return;
}
- if (text->paragraph == NULL)
+
+ if (text->blocks == NULL)
+ swfdec_edit_text_movie_generate_render_blocks (text);
+
+ if (text->blocks[0].text == NULL)
return;
- swfdec_edit_text_render (text->text, cr, text->paragraph, trans, inval, fill);
+ swfdec_edit_text_render (text->text, cr, text->blocks, trans, inval, fill);
+}
+
+void
+swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie *text)
+{
+ int i;
+
+ if (text->blocks != NULL) {
+ for (i = 0; text->blocks[i].text != NULL; i++) {
+ // tabs
+ pango_attr_list_unref (text->blocks[i].attrs);
+ }
+ g_free (text->blocks);
+ text->blocks = NULL;
+ }
}
static void
swfdec_edit_text_movie_dispose (GObject *object)
{
- SwfdecEditTextMovie *movie = SWFDEC_EDIT_TEXT_MOVIE (object);
+ int i;
+ SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (object);
- if (movie->paragraph) {
- swfdec_paragraph_free (movie->paragraph);
- movie->paragraph = NULL;
+ if (text->blocks) {
+ for (i = 0; text->blocks[i].text != NULL; i++) {
+ if (text->blocks[i].attrs != NULL)
+ pango_attr_list_unref (text->blocks[i].attrs);
+ if (text->blocks[i].tabs != NULL)
+ pango_tab_array_free (text->blocks[i].tabs);
+ }
+ g_free (text->blocks);
+ text->blocks = NULL;
}
- g_free (movie->str);
- movie->str = NULL;
G_OBJECT_CLASS (swfdec_edit_text_movie_parent_class)->dispose (object);
}
@@ -87,7 +218,7 @@ swfdec_edit_text_movie_iterate (SwfdecMo
s = swfdec_as_value_to_string (parent->context, &val);
g_assert (s);
- if (text->str && g_str_equal (s, text->str))
+ if (text->text_input == s)
return;
swfdec_edit_text_movie_set_text (text, s);
@@ -97,30 +228,52 @@ static void
swfdec_edit_text_movie_init_movie (SwfdecMovie *movie)
{
SwfdecEditTextMovie *text = SWFDEC_EDIT_TEXT_MOVIE (movie);
+ SwfdecAsContext *cx;
SwfdecAsObject *parent;
SwfdecAsValue val = { 0, };
const char *s;
- if (text->text->variable == NULL)
- return;
+ cx = SWFDEC_AS_OBJECT (movie)->context;
- parent = SWFDEC_AS_OBJECT (movie->parent);
- swfdec_as_context_eval (parent->context, parent, text->text->variable, &val);
- if (!SWFDEC_AS_VALUE_IS_UNDEFINED (&val)) {
- s = swfdec_as_value_to_string (parent->context, &val);
- g_assert (s);
- if (text->str && g_str_equal (s, text->str))
- return;
-
- swfdec_edit_text_movie_set_text (text, s);
- return;
+ // format
+ text->format_new = SWFDEC_TEXT_FORMAT (swfdec_text_format_new (cx));
+ swfdec_text_format_set_defaults (text->format_new);
+ text->format_new->align = text->text->align;
+ /*SwfdecColor color;
+ SwfdecTextAlign align;
+ guint left_margin;
+ guint right_margin;
+ guint indent;
+ int spacing;*/
+
+ // text
+ if (text->text->text_input != NULL) {
+ swfdec_edit_text_movie_set_text (text,
+ swfdec_as_context_get_string (cx, text->text->text_input));
}
- SWFDEC_LOG ("setting variable %s to \"%s\"", text->text->variable,
- text->str ? text->str : "");
- s = text->str ? swfdec_as_context_get_string (parent->context, text->str) : SWFDEC_AS_STR_EMPTY;
- SWFDEC_AS_VALUE_SET_STRING (&val, s);
- swfdec_as_context_eval_set (parent->context, parent, text->text->variable, &val);
+ // variable
+ if (text->text->variable != NULL)
+ {
+ text->variable = swfdec_as_context_get_string (cx, text->text->variable);
+
+ parent = SWFDEC_AS_OBJECT (movie->parent);
+ swfdec_as_context_eval (parent->context, parent, text->variable, &val);
+ if (!SWFDEC_AS_VALUE_IS_UNDEFINED (&val)) {
+ s = swfdec_as_value_to_string (parent->context, &val);
+ g_assert (s);
+ if (text->text_input != s)
+ swfdec_edit_text_movie_set_text (text, s);
+ } else {
+ SWFDEC_LOG ("setting variable %s to \"%s\"", text->variable,
+ text->text_input ? text->text_input : "");
+ s = text->text_input ? swfdec_as_context_get_string (parent->context,
+ text->text_input) : SWFDEC_AS_STR_EMPTY;
+ SWFDEC_AS_VALUE_SET_STRING (&val, s);
+ swfdec_as_context_eval_set (parent->context, parent, text->variable,
+ &val);
+ }
+ }
}
static void
@@ -138,28 +291,46 @@ swfdec_edit_text_movie_class_init (Swfde
}
static void
-swfdec_edit_text_movie_init (SwfdecEditTextMovie *movie)
+swfdec_edit_text_movie_init (SwfdecEditTextMovie *text)
{
}
void
-swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *movie, const char *str)
+swfdec_edit_text_movie_set_text (SwfdecEditTextMovie *text, const char *str)
{
- g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (movie));
+ SwfdecFormatIndex *block;
+ GSList *iter;
- if (movie->paragraph) {
- swfdec_paragraph_free (movie->paragraph);
- }
- g_free (movie->str);
- movie->str = g_strdup (str);
- if (movie->str) {
- if (movie->text->html)
- movie->paragraph = swfdec_paragraph_html_parse (movie->text, movie->str);
- else
- movie->paragraph = swfdec_paragraph_text_parse (movie->text, movie->str);
- } else {
- movie->paragraph = NULL;
+ g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (text));
+
+ g_print ("SET_TEXT!\n");
+
+ text->text_input = str;
+
+ // remove old formatting info
+ iter = text->formats;
+ while (iter) {
+ g_free (iter->data);
+ iter = g_slist_next (iter);
}
- swfdec_movie_invalidate (SWFDEC_MOVIE (movie));
-}
+ g_slist_free (text->formats);
+ text->formats = NULL;
+
+ // add the default style
+ block = g_new (SwfdecFormatIndex, 1);
+ block->index = 0;
+ g_assert (SWFDEC_IS_TEXT_FORMAT (text->format_new));
+ block->format = text->format_new;
+ text->formats = g_slist_prepend (text->formats, block);
+
+ //if (text->text->html == FALSE) {
+ text->text_display = str;
+ /*} else {
+ swfdec_edit_text_text_parse_html (str, &text->text_display,
+ &text->formats);
+ }*/
+ swfdec_edit_text_movie_generate_render_blocks (text);
+
+ swfdec_movie_invalidate (SWFDEC_MOVIE (text));
+}
diff --git a/libswfdec/swfdec_edittext_movie.h b/libswfdec/swfdec_edittext_movie.h
index 4f4ed64..e5a5869 100644
--- a/libswfdec/swfdec_edittext_movie.h
+++ b/libswfdec/swfdec_edittext_movie.h
@@ -22,6 +22,8 @@
#include <libswfdec/swfdec_movie.h>
#include <libswfdec/swfdec_edittext.h>
+#include <libswfdec/swfdec_style_sheet.h>
+#include <libswfdec/swfdec_text_format.h>
G_BEGIN_DECLS
@@ -35,12 +37,51 @@ typedef struct _SwfdecEditTextMovieClass
#define SWFDEC_EDIT_TEXT_MOVIE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_EDIT_TEXT_MOVIE, SwfdecEditTextMovie))
#define SWFDEC_EDIT_TEXT_MOVIE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_EDIT_TEXT_MOVIE, SwfdecEditTextMovieClass))
+typedef struct {
+ guint index;
+ SwfdecTextFormat * format;
+} SwfdecFormatIndex;
+
+typedef enum {
+ SWFDEC_ANTI_ALIAS_TYPE_NORMAL,
+ SWFDEC_ANTI_ALIAS_TYPE_ADVANCED
+} SwfdecAntiAliasType;
+
+typedef enum {
+ SWFDEC_GRID_FIT_TYPE_NONE,
+ SWFDEC_GRID_FIT_TYPE_PIXEL,
+ SWFDEC_GRID_FIT_TYPE_SUBPIXEL
+} SwfdecGridFitType;
+
struct _SwfdecEditTextMovie {
SwfdecMovie movie;
SwfdecEditText * text; /* the edit_text object we render */
- char * str; /* the string that gets rendered */
- SwfdecParagraph * paragraph; /* edit_text parsed to paragraph */
+
+ const char * text_input;
+ const char * text_display;
+
+ const char * variable;
+
+ SwfdecTextFormat * format_new;
+ GSList * formats;
+
+ SwfdecAntiAliasType anti_alias_type;
+ gboolean background_fill;
+ guint border_color;
+ gboolean condense_white;
+ gboolean embed_fonts;
+ SwfdecGridFitType grid_fit_type;
+ guint hscroll;
+ gboolean mouse_wheel_enabled;
+ const char * restrict_;
+ guint scroll;
+ int sharpness;
+ SwfdecStyleSheet * style_sheet;
+ int thickness;
+
+ /* for rendering */
+ SwfdecTextRenderBlock *blocks;
};
struct _SwfdecEditTextMovieClass {
@@ -51,6 +92,7 @@ GType swfdec_edit_text_movie_get_type
void swfdec_edit_text_movie_set_text (SwfdecEditTextMovie * movie,
const char * str);
+void swfdec_edit_text_movie_format_changed (SwfdecEditTextMovie * text);
G_END_DECLS
#endif
diff --git a/test/dump.c b/test/dump.c
index f91c4f8..9543418 100644
--- a/test/dump.c
+++ b/test/dump.c
@@ -230,7 +230,7 @@ dump_shape (SwfdecShape *shape)
static void
dump_edit_text (SwfdecEditText *text)
{
- g_print (" %s\n", text->text ? text->text : "");
+ g_print (" %s\n", text->text_input ? text->text_input : "");
if (verbose) {
if (text->variable)
g_print (" variable %s\n", text->variable);
diff-tree 849f5a1b22fc821d0f9d3b4ddf8066b99d951512 (from 165881ed0ac89d6b7fce24603d0d04e213e04669)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 13:25:19 2007 +0300
Forgot to add setTextFormat to .as file
diff --git a/libswfdec/swfdec_initialize.as b/libswfdec/swfdec_initialize.as
index 267dc33..82abb91 100644
--- a/libswfdec/swfdec_initialize.as
+++ b/libswfdec/swfdec_initialize.as
@@ -278,6 +278,7 @@ ASSetPropFlags (MovieClip.prototype, nul
/* TextField */
TextField = ASconstructor (104, 0);
+TextField.prototype.setTextFormat = ASnative (104, 102);
/* TextFormat */
diff --git a/libswfdec/swfdec_initialize.h b/libswfdec/swfdec_initialize.h
index f019e11..f29de69 100644
--- a/libswfdec/swfdec_initialize.h
+++ b/libswfdec/swfdec_initialize.h
@@ -2,7 +2,7 @@
/* compiled from swfdec_initialize.as */
const unsigned char swfdec_initialize[] = {
- 0x88, 0xC1, 0x06, 0xB2, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
+ 0x88, 0xCF, 0x06, 0xB3, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
0x00, 0x41, 0x53, 0x6E, 0x61, 0x74, 0x69, 0x76, 0x65, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E,
0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x00, 0x4F, 0x62,
0x6A, 0x65, 0x63, 0x74, 0x00, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6C, 0x61,
@@ -77,446 +77,449 @@ const unsigned char swfdec_initialize[]
0x43, 0x6C, 0x69, 0x70, 0x00, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x46,
0x69, 0x65, 0x6C, 0x64, 0x00, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2C, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C,
- 0x69, 0x70, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x54, 0x65, 0x78,
- 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x53, 0x68, 0x65,
- 0x65, 0x74, 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00,
- 0x6F, 0x5F, 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72,
- 0x00, 0x5F, 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x73, 0x00, 0x67, 0x65,
- 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x53,
- 0x74, 0x79, 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x64, 0x6F, 0x54, 0x72, 0x61,
- 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x4E,
- 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74,
- 0x72, 0x61, 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00,
- 0x74, 0x65, 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x00,
- 0x66, 0x6F, 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x62, 0x6F, 0x6C, 0x64, 0x00,
- 0x6E, 0x6F, 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x70, 0x61, 0x72,
- 0x73, 0x65, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x00,
- 0x66, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x00,
- 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69,
- 0x6C, 0x79, 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x69, 0x6E,
- 0x64, 0x65, 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49, 0x6E, 0x74, 0x00, 0x66, 0x6F,
- 0x6E, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61, 0x6C, 0x69, 0x63, 0x00, 0x6B,
- 0x65, 0x72, 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65, 0x00, 0x66, 0x61, 0x6C, 0x73,
- 0x65, 0x00, 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E,
- 0x4C, 0x65, 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00,
- 0x6C, 0x65, 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61,
- 0x72, 0x67, 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4D,
- 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x73,
- 0x69, 0x7A, 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63, 0x6F, 0x72, 0x61, 0x74, 0x69,
- 0x6F, 0x6E, 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E, 0x65, 0x00, 0x6E, 0x6F, 0x6E,
- 0x65, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00, 0x63, 0x73, 0x73, 0x00, 0x70,
- 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x00,
- 0x72, 0x65, 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C, 0x00, 0x70, 0x61, 0x72, 0x73,
- 0x65, 0x00, 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x63, 0x6C,
- 0x65, 0x61, 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x54,
- 0x69, 0x6D, 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x54, 0x69, 0x6D, 0x65,
- 0x6F, 0x75, 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72, 0x6F, 0x61, 0x64, 0x63, 0x61,
- 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D, 0x00, 0x4C, 0x6F, 0x61, 0x64,
- 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13, 0x00, 0x08, 0x00, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x03, 0x1C, 0x96,
- 0x13, 0x00, 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02,
- 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
- 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07,
- 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00,
- 0x3C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00,
- 0x78, 0x00, 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x0C, 0x4E, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07, 0x00, 0x08, 0x0F, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x4C, 0x1C,
- 0x50, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0E,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x49, 0x12,
- 0x9D, 0x02, 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x11,
- 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00,
- 0x05, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x9B,
- 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96,
- 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x08, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x4E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x0C, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x42, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x08, 0x14, 0x08, 0x13, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x4F, 0x96, 0x08, 0x00,
- 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08, 0x16, 0x07, 0x12, 0x00, 0x00,
- 0x00, 0x08, 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07, 0x14, 0x00, 0x00, 0x00, 0x08,
- 0x19, 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00, 0x00, 0x00, 0x08, 0x1B, 0x07,
- 0x28, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x07, 0x0D, 0x00,
- 0x00, 0x00, 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F, 0x07, 0x24, 0x00, 0x00, 0x00,
- 0x08, 0x20, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25, 0x00, 0x00, 0x00, 0x08, 0x22,
- 0x07, 0x22, 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00, 0x00, 0x08, 0x24, 0x07, 0x27,
- 0x00, 0x00, 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08, 0x26, 0x07, 0x20, 0x00, 0x00,
- 0x00, 0x08, 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07, 0x26, 0x00, 0x00, 0x00, 0x07,
- 0x13, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29, 0x07, 0x20, 0x03, 0x00, 0x00,
- 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96,
- 0x02, 0x00, 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02,
- 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96,
- 0x07, 0x00, 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2A,
- 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96,
- 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02,
- 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96,
- 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03,
- 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2D, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x0E, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08, 0x32, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36,
- 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C,
- 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99,
- 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05,
- 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96, 0x03, 0x00, 0x08, 0x3A, 0x02,
- 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49,
- 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00,
- 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x33, 0x00, 0x96, 0x04,
- 0x00, 0x08, 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B,
- 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47,
- 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x3E, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B,
- 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x08, 0x00, 0x07,
- 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x42, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43,
- 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x44, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x45, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x46, 0x07, 0x03, 0x00, 0x00, 0x00,
- 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x47, 0x07,
- 0x04, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x48, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49, 0x07, 0x07, 0x00, 0x00, 0x00,
- 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4A, 0x07,
- 0x08, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C,
- 0x96, 0x10, 0x00, 0x08, 0x30, 0x08, 0x4C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x42, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30, 0x08,
- 0x4B, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02,
- 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
- 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
- 0x00, 0x08, 0x4D, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
- 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4E, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4F, 0x07, 0x0C, 0x00, 0x00, 0x00,
- 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B,
- 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73,
- 0x72, 0x63, 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49,
- 0x12, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0x37, 0x05, 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38,
- 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x4F, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40,
- 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x50, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x51, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x52, 0x52, 0x17,
- 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x52, 0x3A, 0x17, 0x96, 0x02, 0x00, 0x08, 0x53, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74, 0x61,
- 0x72, 0x67, 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x54, 0x08, 0x54, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08,
- 0x09, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D, 0x96,
- 0x09, 0x00, 0x08, 0x55, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x53, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08,
- 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x53, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x69, 0x70, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x73, 0x65, 0x74,
+ 0x54, 0x65, 0x78, 0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46,
+ 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x53, 0x68, 0x65, 0x65, 0x74,
+ 0x00, 0x5F, 0x63, 0x6F, 0x70, 0x79, 0x00, 0x6F, 0x62, 0x6A, 0x65, 0x63, 0x74, 0x00, 0x6F, 0x5F,
+ 0x6E, 0x65, 0x77, 0x00, 0x70, 0x72, 0x6F, 0x70, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x00, 0x5F,
+ 0x63, 0x73, 0x73, 0x00, 0x5F, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x73, 0x00, 0x67, 0x65, 0x74, 0x53,
+ 0x74, 0x79, 0x6C, 0x65, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x65, 0x74, 0x53, 0x74, 0x79,
+ 0x6C, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x64, 0x6F, 0x54, 0x72, 0x61, 0x6E, 0x73,
+ 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x67, 0x65, 0x74, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x4E, 0x61, 0x6D,
+ 0x65, 0x73, 0x00, 0x74, 0x6D, 0x70, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x73, 0x00, 0x74, 0x72, 0x61,
+ 0x6E, 0x73, 0x66, 0x6F, 0x72, 0x6D, 0x00, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x74, 0x65,
+ 0x78, 0x74, 0x41, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x00, 0x66, 0x6F,
+ 0x6E, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x00, 0x62, 0x6F, 0x6C, 0x64, 0x00, 0x6E, 0x6F,
+ 0x72, 0x6D, 0x61, 0x6C, 0x00, 0x63, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65,
+ 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x00, 0x64, 0x69, 0x73, 0x70, 0x6C, 0x61, 0x79, 0x00, 0x66, 0x6F,
+ 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x00, 0x70, 0x61,
+ 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x46, 0x6F, 0x6E, 0x74, 0x46, 0x61, 0x6D, 0x69, 0x6C, 0x79,
+ 0x00, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x00, 0x69, 0x6E, 0x64, 0x65,
+ 0x6E, 0x74, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x49, 0x6E, 0x74, 0x00, 0x66, 0x6F, 0x6E, 0x74,
+ 0x53, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x69, 0x74, 0x61, 0x6C, 0x69, 0x63, 0x00, 0x6B, 0x65, 0x72,
+ 0x6E, 0x69, 0x6E, 0x67, 0x00, 0x74, 0x72, 0x75, 0x65, 0x00, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x00,
+ 0x6C, 0x65, 0x61, 0x64, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x4C, 0x65,
+ 0x66, 0x74, 0x00, 0x6C, 0x65, 0x66, 0x74, 0x4D, 0x61, 0x72, 0x67, 0x69, 0x6E, 0x00, 0x6C, 0x65,
+ 0x74, 0x74, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x69, 0x6E, 0x67, 0x00, 0x6D, 0x61, 0x72, 0x67,
+ 0x69, 0x6E, 0x52, 0x69, 0x67, 0x68, 0x74, 0x00, 0x72, 0x69, 0x67, 0x68, 0x74, 0x4D, 0x61, 0x72,
+ 0x67, 0x69, 0x6E, 0x00, 0x66, 0x6F, 0x6E, 0x74, 0x53, 0x69, 0x7A, 0x65, 0x00, 0x73, 0x69, 0x7A,
+ 0x65, 0x00, 0x74, 0x65, 0x78, 0x74, 0x44, 0x65, 0x63, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E,
+ 0x00, 0x75, 0x6E, 0x64, 0x65, 0x72, 0x6C, 0x69, 0x6E, 0x65, 0x00, 0x6E, 0x6F, 0x6E, 0x65, 0x00,
+ 0x70, 0x61, 0x72, 0x73, 0x65, 0x43, 0x53, 0x53, 0x00, 0x63, 0x73, 0x73, 0x00, 0x70, 0x61, 0x72,
+ 0x73, 0x65, 0x43, 0x53, 0x53, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x6E, 0x61, 0x6C, 0x00, 0x72, 0x65,
+ 0x73, 0x75, 0x6C, 0x74, 0x00, 0x6E, 0x75, 0x6C, 0x6C, 0x00, 0x70, 0x61, 0x72, 0x73, 0x65, 0x00,
+ 0x73, 0x65, 0x74, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x63, 0x6C, 0x65, 0x61,
+ 0x72, 0x49, 0x6E, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6C, 0x00, 0x73, 0x65, 0x74, 0x54, 0x69, 0x6D,
+ 0x65, 0x6F, 0x75, 0x74, 0x00, 0x63, 0x6C, 0x65, 0x61, 0x72, 0x54, 0x69, 0x6D, 0x65, 0x6F, 0x75,
+ 0x74, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72, 0x6F, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74,
+ 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D, 0x00, 0x4C, 0x6F, 0x61, 0x64, 0x56, 0x61,
+ 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13, 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96,
+ 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x03, 0x1C, 0x96, 0x13, 0x00,
+ 0x08, 0x04, 0x07, 0x08, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x03,
+ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00,
+ 0x08, 0x06, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00, 0x3C, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x52, 0x17, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x96, 0x07,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00,
+ 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0E, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4E,
+ 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x41, 0x96, 0x07, 0x00, 0x08, 0x0F, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x4C, 0x1C, 0x50, 0x1D,
+ 0x96, 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x10, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x0F, 0x1C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x49, 0x12, 0x9D, 0x02,
+ 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x1C, 0x96, 0x07,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x11, 0x52, 0x17,
+ 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x00,
+ 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x9B, 0x07, 0x00,
+ 0x00, 0x01, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x13, 0x00,
+ 0x08, 0x07, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x08,
+ 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C,
+ 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x4E, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x0C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x42,
+ 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x08, 0x14, 0x08, 0x13, 0x1C, 0x96, 0x07,
+ 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83,
+ 0x00, 0x00, 0x00, 0x02, 0x08, 0x06, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08,
+ 0x05, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x15, 0x08, 0x16, 0x07, 0x12, 0x00, 0x00, 0x00, 0x08,
+ 0x17, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x18, 0x07, 0x14, 0x00, 0x00, 0x00, 0x08, 0x19, 0x07,
+ 0x11, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x2E, 0x00, 0x00, 0x00, 0x08, 0x1B, 0x07, 0x28, 0x00,
+ 0x00, 0x00, 0x08, 0x1C, 0x07, 0x23, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x07, 0x0D, 0x00, 0x00, 0x00,
+ 0x08, 0x1E, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1F, 0x07, 0x24, 0x00, 0x00, 0x00, 0x08, 0x20,
+ 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07, 0x25, 0x00, 0x00, 0x00, 0x08, 0x22, 0x07, 0x22,
+ 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x21, 0x00, 0x00, 0x00, 0x08, 0x24, 0x07, 0x27, 0x00, 0x00,
+ 0x00, 0x08, 0x25, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08, 0x26, 0x07, 0x20, 0x00, 0x00, 0x00, 0x08,
+ 0x27, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x28, 0x07, 0x26, 0x00, 0x00, 0x00, 0x07, 0x13, 0x00,
+ 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x29, 0x07, 0x20, 0x03, 0x00, 0x00, 0x08, 0x15,
+ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x02, 0x00,
+ 0x08, 0x15, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x15,
+ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00,
+ 0x08, 0x2A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96,
+ 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x13, 0x00,
+ 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x08, 0x00,
+ 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07, 0x00, 0x08, 0x2D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43,
+ 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x12, 0x52, 0x17, 0x96, 0x0E, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04,
+ 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08, 0x32, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x34,
+ 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09,
+ 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01,
+ 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00,
+ 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07,
+ 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x39,
+ 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96, 0x03, 0x00, 0x08, 0x3A, 0x02, 0x3C, 0x96,
+ 0x02, 0x00, 0x08, 0x09, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02,
+ 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0A, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x3A,
+ 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x02, 0x00, 0x08, 0x3A,
+ 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x33, 0x00, 0x96, 0x04, 0x00, 0x08,
+ 0x3A, 0x08, 0x0A, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x96,
+ 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0A,
+ 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x1D, 0x99,
+ 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00,
+ 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F,
+ 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83, 0x00,
+ 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07,
+ 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x42, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D,
+ 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
+ 0x44, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x13, 0x00, 0x08, 0x45, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x46, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0xFD,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x47, 0x07, 0x04, 0x00,
+ 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
+ 0x48, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x13, 0x00, 0x08, 0x39, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x49, 0x07, 0x07, 0x00, 0x00, 0x00, 0x07, 0xFD,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4A, 0x07, 0x08, 0x00,
+ 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
+ 0x96, 0x13, 0x00, 0x08, 0x4B, 0x07, 0x09, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x10,
+ 0x00, 0x08, 0x30, 0x08, 0x4C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x42, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x30, 0x08, 0x4B, 0x1C,
0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08,
- 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x57, 0x9B, 0x0C, 0x00,
- 0x00, 0x01, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00, 0x08,
- 0x5A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C,
- 0x96, 0x02, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x49, 0x9D, 0x02, 0x00, 0x2D,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x49, 0x9D, 0x02, 0x00,
- 0x0E, 0x00, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00,
- 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00, 0x75,
- 0x72, 0x6C, 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64,
- 0x00, 0x97, 0x00, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49,
- 0x12, 0x9D, 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x54, 0x08, 0x4C, 0x1D, 0x96, 0x04,
- 0x00, 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05,
- 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x9A, 0x01, 0x00, 0x02,
- 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x54,
- 0x1C, 0x9A, 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x61, 0x9B, 0x10, 0x00, 0x00,
- 0x02, 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96,
- 0x04, 0x00, 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20,
- 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D,
- 0x02, 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00,
- 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99, 0x02,
- 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E,
- 0x9A, 0x01, 0x00, 0xC0, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00, 0x00, 0x02,
- 0x00, 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96, 0x04,
- 0x00, 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96,
- 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02,
- 0x00, 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02, 0x00,
- 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A,
- 0x01, 0x00, 0x40, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x64, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x65, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x66, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x67, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07, 0x07,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x68, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x69, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6A, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6B, 0x07, 0x0E,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x6C, 0x07, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6D, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6E, 0x07, 0x11, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6F, 0x07, 0x12,
- 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x70, 0x07, 0x13, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x13, 0x00, 0x08, 0x71, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x72, 0x07, 0x15, 0x00, 0x00, 0x00, 0x07,
- 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x73, 0x07, 0x00,
- 0x00, 0x00, 0x00, 0x07, 0x85, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
- 0x08, 0x74, 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x75, 0x08,
- 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
- 0x08, 0x05, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x56, 0x1C,
+ 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
+ 0x4D, 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x13, 0x00, 0x08, 0x4E, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0xFD, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x4F, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0xFD,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63,
+ 0x00, 0x72, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D,
+ 0x02, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05,
+ 0x00, 0x4F, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x3A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96,
+ 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x4F, 0x52,
+ 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x4B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05,
+ 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x41, 0x4E, 0x3E, 0x4F, 0x96, 0x07, 0x00, 0x08, 0x50, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D,
+ 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x51, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x13,
+ 0x00, 0x08, 0x52, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0B, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x50,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x52, 0x52, 0x17, 0x96, 0x02,
+ 0x00, 0x08, 0x50, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x51, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x52, 0x3A,
+ 0x17, 0x96, 0x02, 0x00, 0x08, 0x53, 0x9B, 0x0C, 0x00, 0x00, 0x01, 0x00, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x00, 0x27, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x54,
+ 0x08, 0x54, 0x1C, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x1D, 0x96, 0x09, 0x00,
+ 0x08, 0x55, 0x07, 0xBC, 0x02, 0x00, 0x00, 0x08, 0x53, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07,
+ 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x53, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07,
+ 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x57, 0x9B, 0x0C, 0x00, 0x00, 0x01,
+ 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x00, 0x96, 0x09, 0x00, 0x08, 0x5A, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x58, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x59, 0x52, 0x3C, 0x96, 0x02,
+ 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5B, 0x49, 0x9D, 0x02, 0x00, 0x2D, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x5A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x5C, 0x49, 0x9D, 0x02, 0x00, 0x0E, 0x00,
+ 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x3E, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x05, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x5D, 0x9B, 0x17, 0x00, 0x00, 0x03, 0x00, 0x75, 0x72, 0x6C,
+ 0x00, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x97,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x5E, 0x49, 0x12, 0x9D,
+ 0x02, 0x00, 0x08, 0x00, 0x96, 0x04, 0x00, 0x08, 0x54, 0x08, 0x4C, 0x1D, 0x96, 0x04, 0x00, 0x08,
+ 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x3E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C,
+ 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x15, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x9A, 0x01, 0x00, 0x02, 0x99, 0x02,
+ 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x54, 0x1C, 0x9A,
+ 0x01, 0x00, 0x01, 0x99, 0x02, 0x00, 0x10, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x54, 0x1C, 0x9A, 0x01, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x61, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00,
+ 0x75, 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96, 0x04, 0x00,
+ 0x08, 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96, 0x02,
+ 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00,
+ 0x4A, 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x49, 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0xC2, 0x99, 0x02, 0x00, 0x16,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0xC1, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01,
+ 0x00, 0xC0, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x63, 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x75,
+ 0x72, 0x6C, 0x00, 0x6D, 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x9A, 0x00, 0x96, 0x04, 0x00, 0x08,
+ 0x5F, 0x08, 0x58, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x57, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x20, 0x96, 0x02, 0x00,
+ 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x49, 0x9D, 0x02, 0x00, 0x4A,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x5F, 0x1C, 0x96, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x49,
+ 0x9D, 0x02, 0x00, 0x1B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00, 0x42, 0x99, 0x02, 0x00, 0x16, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x60, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x62, 0x4E, 0x9A, 0x01, 0x00, 0x41, 0x99, 0x02, 0x00, 0x16, 0x00, 0x96, 0x02, 0x00, 0x08, 0x60,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x62, 0x4E, 0x9A, 0x01, 0x00,
+ 0x40, 0x96, 0x01, 0x00, 0x02, 0x20, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x64, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x65, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x66,
+ 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0x67, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x40, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x3E, 0x07, 0x07, 0x00, 0x00,
+ 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x68,
+ 0x07, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0x69, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6A, 0x07, 0x0D, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6B, 0x07, 0x0E, 0x00, 0x00,
+ 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6C,
+ 0x07, 0x0F, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0x6D, 0x07, 0x10, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6E, 0x07, 0x11, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x6F, 0x07, 0x12, 0x00, 0x00,
+ 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x70,
+ 0x07, 0x13, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x13, 0x00, 0x08, 0x71, 0x07, 0x14, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x72, 0x07, 0x15, 0x00, 0x00, 0x00, 0x07, 0x84, 0x03,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x73, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x85, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x74,
+ 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08,
+ 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x75, 0x08, 0x56, 0x1C,
0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05,
- 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x76, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x77, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x07, 0x6E, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43,
- 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x78, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x79, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x7A, 0x49, 0x12, 0x12,
- 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08, 0x7B, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x46, 0x87, 0x01, 0x00, 0x00,
- 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7C, 0x04,
- 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x13, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB,
- 0xFF, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7D,
- 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07,
- 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x80, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x25,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x81, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x79, 0x52, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82, 0x9B, 0x10,
- 0x00, 0x00, 0x02, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x67,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x12, 0x12, 0x9D,
- 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x52, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x85,
- 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x86, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x3C, 0x96, 0x07, 0x00, 0x08, 0x87, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x42, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x86, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00,
- 0x02, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7C, 0x04, 0x00, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x87, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02, 0x00, 0x08,
- 0x87, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x84, 0x9B, 0x0A, 0x00, 0x00, 0x01,
- 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x7F, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81,
- 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x88, 0x52, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x88, 0x9B, 0x0B, 0x00, 0x00,
- 0x01, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C,
- 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E,
- 0x96, 0x09, 0x00, 0x08, 0x89, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x77, 0x40, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8B, 0x08, 0x83, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x8A, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8C,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x49, 0x12, 0x9D,
- 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8D, 0x05,
- 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x8D, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8F,
- 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0x86, 0x08, 0x83, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x8F, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x90, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x01, 0x00,
- 0x02, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x8F, 0x08, 0x86, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04,
- 0x00, 0x08, 0x91, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x91, 0x4E, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x92, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x94, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95,
- 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x96, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x98, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x99, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x49,
- 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0x99, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x99, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x9A, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9C, 0x49,
- 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A,
- 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
- 0x96, 0x04, 0x00, 0x08, 0x9A, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9D, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D,
- 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x9E, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA0, 0x08, 0x83, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x12, 0x9D, 0x02,
- 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA2, 0x08, 0x83,
+ 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x56, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17,
+ 0x96, 0x13, 0x00, 0x08, 0x76, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x77, 0x07, 0x66, 0x00, 0x00, 0x00, 0x07, 0x68,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x13, 0x00, 0x08,
+ 0x78, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x6E, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x79, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43,
+ 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7A, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F,
+ 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x49,
+ 0x12, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08,
+ 0x7C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x46, 0x87, 0x01,
+ 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08,
+ 0x7D, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x1C, 0x4E, 0x4F, 0x99, 0x02,
+ 0x00, 0xCB, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x7E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65,
+ 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x82, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7A, 0x52, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x83,
+ 0x9B, 0x10, 0x00, 0x00, 0x02, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65,
+ 0x00, 0x67, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x12,
+ 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08,
+ 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x7F, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7A,
+ 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x85, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x86, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x87, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x3C, 0x96, 0x07, 0x00, 0x08, 0x88, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x42, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x87, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96,
+ 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7D, 0x04, 0x00,
+ 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x88, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02,
+ 0x00, 0x08, 0x88, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x85, 0x9B, 0x0A, 0x00,
+ 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x80, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x80, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x82, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x89, 0x52, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x89, 0x9B, 0x0B,
+ 0x00, 0x00, 0x01, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08,
+ 0x84, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00,
+ 0x02, 0x3E, 0x96, 0x09, 0x00, 0x08, 0x8A, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x78, 0x40, 0x3C,
+ 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x4E, 0x12, 0x9D, 0x02, 0x00,
+ 0x15, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x08, 0x84, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x8B, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x8D, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8F, 0x49,
+ 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08,
+ 0x8E, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96,
+ 0x04, 0x00, 0x08, 0x8E, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x90, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0x87, 0x08, 0x84,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x90, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x91, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x87, 0x1C, 0x96,
+ 0x01, 0x00, 0x02, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A,
+ 0x1C, 0x96, 0x04, 0x00, 0x08, 0x90, 0x08, 0x87, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C,
+ 0x96, 0x04, 0x00, 0x08, 0x92, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x93, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x94, 0x08, 0x84, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x93, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x95, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x96, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96,
+ 0x04, 0x00, 0x08, 0x97, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x96, 0x4E, 0x96, 0x07, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x98, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x99, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x99, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x8F, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04,
+ 0x00, 0x08, 0x9A, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A,
+ 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9C, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x9D, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00,
+ 0x08, 0x9B, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x08, 0x98, 0x3D, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9B, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9B, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9E, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x9E, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x98, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9F, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA0, 0x08, 0x84, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x9F, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x98, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x12, 0x9D, 0x02,
+ 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA1, 0x08, 0x84,
0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x12,
- 0x9D, 0x02, 0x00, 0x3B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x86, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA3, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x3C, 0x96,
- 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x86, 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA4, 0x08, 0x86, 0x1C, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA5, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0xA6, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA5, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA7, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA6, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00,
- 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA6, 0x05, 0x01, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x9B,
- 0x09, 0x00, 0x00, 0x01, 0x00, 0x63, 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAB,
- 0x08, 0xA9, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0xAA, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08,
- 0xAC, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00,
- 0x02, 0x49, 0x9D, 0x02, 0x00, 0x56, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7C, 0x04, 0x00, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7C,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x52, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00,
- 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0xAD, 0x08, 0x76, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x4E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96,
- 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAB, 0x08, 0x38, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAD,
- 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08, 0xAB, 0x1C,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0xAA, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x94, 0x07, 0x66, 0x00, 0x00, 0x00,
- 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x90, 0x07, 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00,
- 0x02, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x07,
- 0x03, 0x04, 0x00, 0x00, 0x08, 0x78, 0x08, 0x76, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0xAE, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07,
- 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00,
- 0x08, 0xAF, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB0, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07,
- 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x04, 0x00,
- 0x08, 0xB1, 0x08, 0xAF, 0x1C, 0x1D, 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96, 0x0D, 0x00,
- 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x00
+ 0x98, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA2, 0x4E, 0x12,
+ 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA3,
+ 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA2, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x08, 0x98, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4,
+ 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x3B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x87, 0x08, 0x84, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x98, 0x3D,
+ 0x3C, 0x96, 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x87, 0x1C, 0x48, 0x12, 0x9D, 0x02,
+ 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA5, 0x08, 0x87,
+ 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x96, 0x02,
+ 0x00, 0x08, 0xA7, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x84, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0xA6, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA7, 0x05, 0x00, 0x4F, 0x99,
+ 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA7, 0x05,
+ 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0xA9, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x63, 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00,
+ 0x08, 0xAC, 0x08, 0xAA, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0xAB, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x1C, 0x44, 0x96, 0x02,
+ 0x00, 0x08, 0xAD, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E,
+ 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x12, 0x12, 0x9D, 0x02,
+ 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00,
+ 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96,
+ 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x56, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7D, 0x04, 0x00,
+ 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x7D, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x1C, 0x4E,
+ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7A,
+ 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x85, 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96,
+ 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0xAE, 0x08, 0x76, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0xA9, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07,
+ 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19,
+ 0x00, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAC, 0x08,
+ 0x38, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0xAE, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08,
+ 0xAC, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAC, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13,
+ 0x00, 0x08, 0xAB, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00,
+ 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x95, 0x07, 0x66, 0x00,
+ 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x91, 0x07, 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04,
+ 0x00, 0x00, 0x02, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09,
+ 0x00, 0x07, 0x03, 0x04, 0x00, 0x00, 0x08, 0x79, 0x08, 0x76, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03,
+ 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0xAF, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96,
+ 0x13, 0x00, 0x08, 0xB0, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02,
+ 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB1, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96,
+ 0x04, 0x00, 0x08, 0xB2, 0x08, 0xB0, 0x1C, 0x1D, 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96,
+ 0x0D, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x00
};
diff-tree 165881ed0ac89d6b7fce24603d0d04e213e04669 (from ec79c511d7a66f499ad24985a9462ffd678fd910)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 13:23:25 2007 +0300
Add correct defaults for TextFormat's url, target and tabStops
diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index c13fd6b..07f15d6 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -950,10 +950,11 @@ swfdec_text_format_set_defaults (SwfdecT
format->left_margin = 0;
format->letter_spacing = 0;
format->right_margin = 0;
- format->size = 12; // ??
- format->tab_stops = NULL; // ??
- format->target = NULL; // ??
- format->url = NULL; // ??
+ format->size = 12;
+ format->tab_stops =
+ SWFDEC_AS_ARRAY (swfdec_as_array_new (SWFDEC_AS_OBJECT (format)->context));
+ format->target = SWFDEC_AS_STR_EMPTY;
+ format->url = SWFDEC_AS_STR_EMPTY;
format->underline = FALSE;
format->values_set = (1 << PROP_TOTAL) - 1;
diff-tree ec79c511d7a66f499ad24985a9462ffd678fd910 (from 23e1483d8ab172613da5dc7830554b41699b9bfb)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 13:22:53 2007 +0300
Partially implement TextField's setTextFormat, html and htmlText
diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 2283bbe..22339f2 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -385,6 +385,8 @@ const char swfdec_as_strings[] =
SWFDEC_AS_CONSTANT_STRING ("block")
SWFDEC_AS_CONSTANT_STRING ("TextField")
SWFDEC_AS_CONSTANT_STRING ("text")
+ SWFDEC_AS_CONSTANT_STRING ("htmlText")
+ SWFDEC_AS_CONSTANT_STRING ("html")
SWFDEC_AS_CONSTANT_STRING ("TextFormat")
SWFDEC_AS_CONSTANT_STRING ("Times New Roman")
/* add more here */
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
index bd0a5df..48ef525 100644
--- a/libswfdec/swfdec_edittext_movie_as.c
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -21,6 +21,8 @@
#include "config.h"
#endif
+#include <string.h>
+
#include "swfdec_edittext.h"
#include "swfdec_edittext_movie.h"
#include "swfdec_as_strings.h"
@@ -33,7 +35,7 @@
#include "swfdec_player_internal.h"
static void
-swfdec_edittext_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_edit_text_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecEditTextMovie *text;
@@ -42,29 +44,367 @@ swfdec_edittext_movie_get_text (SwfdecAs
return;
text = SWFDEC_EDIT_TEXT_MOVIE (object);
- SWFDEC_AS_VALUE_SET_STRING (ret, (text->str != NULL ? swfdec_as_context_get_string (cx, text->str) : SWFDEC_AS_STR_EMPTY));
+ SWFDEC_AS_VALUE_SET_STRING (ret, (text->text_display != NULL ? swfdec_as_context_get_string (cx, text->text_display) : SWFDEC_AS_STR_EMPTY));
}
static void
-swfdec_edittext_movie_do_set_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_edit_text_movie_do_set_text (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecEditTextMovie *text;
+ const char *value;
- if (!SWFDEC_IS_EDIT_TEXT_MOVIE (object))
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
+
+ swfdec_edit_text_movie_set_text (text, value);
+}
+
+/*
+ * Order of tags:
+ * TEXTFORMAT / P or LI / FONT / A / B / I / U
+ *
+ * Order of attributes:
+ * TEXTFORMAT:
+ * LEFTMARGIN / RIGHTMARGIN / INDENT / LEADING / BLOCKINDENT / TABSTOPS
+ * P: ALIGN
+ * LI: none
+ * FONT: FACE / SIZE / COLOR / LETTERSPACING / KERNING
+ * A: HREF / TARGET
+ * B: none
+ * I: none
+ * U: none
+ */
+
+typedef enum {
+ CHANGE_LEVEL_NONE,
+ CHANGE_LEVEL_UNDERLINE,
+ CHANGE_LEVEL_ITALIC,
+ CHANGE_LEVEL_BOLD,
+ CHANGE_LEVEL_A,
+ CHANGE_LEVEL_FONT,
+ CHANGE_LEVEL_P,
+ CHANGE_LEVEL_TEXTFORMAT,
+} ChangeLevel;
+
+static const char *
+align_to_string (SwfdecTextAlign align)
+{
+ switch (align) {
+ case SWFDEC_TEXT_ALIGN_LEFT:
+ return "LEFT";
+ case SWFDEC_TEXT_ALIGN_RIGHT:
+ return "RIGHT";
+ case SWFDEC_TEXT_ALIGN_CENTER:
+ return "CENTER";
+ case SWFDEC_TEXT_ALIGN_JUSTIFY:
+ return "JUSTIFY";
+ default:
+ g_assert_not_reached ();
+ }
+}
+
+static void
+swfdec_edit_text_movie_get_htmlText (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+ SwfdecTextFormat *format, *format_prev, *format_font;
+ GString *string;
+ GSList *iter, *fonts;
+ guint index_, index_prev;
+ int change_level;
+ gboolean bullet = FALSE;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+ if (text->text->html == FALSE) {
+ swfdec_edit_text_movie_get_text (cx, object, argc, argv, ret);
return;
- text = SWFDEC_EDIT_TEXT_MOVIE (object);
+ }
+
+ if (text->text_display == NULL) {
+ SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_EMPTY);
+ return;
+ }
+
+ string = g_string_new ("");
+
+ fonts = NULL;
+ index_prev = 0;
+ format_prev = NULL;
+ for (iter = text->formats; iter != NULL; iter = iter->next)
+ {
+ index_ = ((SwfdecFormatIndex *)(iter->data))->index;
+ format = ((SwfdecFormatIndex *)(iter->data))->format;
+
+ string = g_string_append_len (string, text->text_display + index_prev,
+ index_ - index_prev);
+
+ if (format_prev == NULL) {
+ if (format->bullet) {
+ g_string_append (string, "<LI>");
+ bullet = TRUE;
+ } else {
+ g_string_append_printf (string, "<P ALIGN=\"%s\">",
+ align_to_string (format->align));
+ bullet = FALSE;
+ }
+ g_string_append_printf (string, "<FONT FACE=\"%s\" SIZE=\"%i\" COLOR=\"#%06X\" LETTERSPACING=\"%i\" KERNING=\"%i\">", format->font, format->size, format->color, (int)format->letter_spacing, (format->kerning ? 1 : 0));
+ fonts = g_slist_prepend (fonts, format);
+ if (format->url != SWFDEC_AS_STR_EMPTY)
+ g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+ format->url, format->target);
+ if (format->bold)
+ string = g_string_append (string, "<B>");
+ if (format->italic)
+ string = g_string_append (string, "<I>");
+ if (format->underline)
+ string = g_string_append (string, "<U>");
+ } else {
+ // Figure out what tags need to be rewritten
+ if (format->font != format_prev->font ||
+ format->size != format_prev->size ||
+ format->color != format_prev->color ||
+ (int)format->letter_spacing != (int)format_prev->letter_spacing ||
+ format->kerning != format_prev->kerning) {
+ change_level = CHANGE_LEVEL_FONT;
+ } else if (format->url != format_prev->url ||
+ format->target != format_prev->target) {
+ change_level = CHANGE_LEVEL_A;
+ } else if (format->bold != format_prev->bold) {
+ change_level = CHANGE_LEVEL_BOLD;
+ } else if (format->italic != format_prev->italic) {
+ change_level = CHANGE_LEVEL_ITALIC;
+ } else if (format->underline != format_prev->underline) {
+ change_level = CHANGE_LEVEL_UNDERLINE;
+ } else {
+ change_level = CHANGE_LEVEL_NONE;
+ }
+
+ // Close tags
+ if (change_level >= CHANGE_LEVEL_UNDERLINE) {
+ GSList *iter_font;
+ for (iter_font = fonts; iter_font != NULL; iter_font = iter_font->next)
+ {
+ format_font = (SwfdecTextFormat *)iter_font->data;
+ if (format->font == format_font->font &&
+ format->size == format_font->size &&
+ format->color == format_font->color &&
+ (int)format->letter_spacing == (int)format_font->letter_spacing &&
+ format->kerning == format_font->kerning) {
+ break;
+ }
+ }
+ if (iter_font != NULL) {
+ while (fonts != iter_font) {
+ string = g_string_append (string, "</FONT>");
+ fonts = g_slist_remove (fonts, fonts->data);
+ }
+ }
+ }
+ if (format_prev->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "</U>");
+ if (format_prev->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "</I>");
+ if (format_prev->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "</B>");
+ if (format_prev->url != SWFDEC_AS_STR_EMPTY &&
+ change_level >= CHANGE_LEVEL_UNDERLINE) {
+ string = g_string_append (string, "</A>");
+ }
+
+ // Open tags
+ format_font = (SwfdecTextFormat *)fonts->data;
+ if (change_level >= CHANGE_LEVEL_FONT &&
+ (format->font != format_font->font ||
+ format->size != format_font->size ||
+ format->color != format_font->color ||
+ (int)format->letter_spacing != (int)format_font->letter_spacing ||
+ format->kerning != format_font->kerning))
+ {
+ fonts = g_slist_prepend (fonts, format);
+
+ string = g_string_append (string, "<FONT");
+ if (format->font != format_font->font)
+ g_string_append_printf (string, " FONT=\"%s\"", format->font);
+ if (format->size != format_font->size)
+ g_string_append_printf (string, " SIZE=\"%i\"", format->size);
+ if (format->color != format_font->color)
+ g_string_append_printf (string, " COLOR=\"#%06X\"", format->color);
+ if ((int)format->letter_spacing != (int)format_font->letter_spacing) {
+ g_string_append_printf (string, " LETTERSPACING=\"%i\"",
+ (int)format->letter_spacing);
+ }
+ if (format->kerning != format_font->kerning) {
+ g_string_append_printf (string, " KERNING=\"%i\"",
+ (format->kerning ? 1 : 0));
+ }
+ string = g_string_append (string, ">");
+ }
+ if (format->url != SWFDEC_AS_STR_EMPTY &&
+ change_level >= CHANGE_LEVEL_UNDERLINE) {
+ g_string_append_printf (string, "<A HREF=\"%s\" TARGET=\"%s\">",
+ format->url, format->target);
+ }
+ if (format->bold && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "<B>");
+ if (format->italic && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "<I>");
+ if (format->underline && change_level >= CHANGE_LEVEL_UNDERLINE)
+ string = g_string_append (string, "<U>");
+ }
+
+ index_prev = index_;
+ format_prev = format;
+ }
+ string = g_string_append (string, text->text_display + index_prev);
+
+ g_assert (format_prev != NULL);
+
+ if (format_prev->underline)
+ string = g_string_append (string, "</U>");
+ if (format_prev->italic)
+ string = g_string_append (string, "</I>");
+ if (format_prev->bold)
+ string = g_string_append (string, "</B>");
+ if (format_prev->url != SWFDEC_AS_STR_EMPTY)
+ string = g_string_append (string, "</A>");
+ for (iter = fonts; iter != NULL; iter = iter->next)
+ string = g_string_append (string, "</FONT>");
+ g_slist_free (fonts);
+ if (bullet) {
+ string = g_string_append (string, "</LI>");
+ } else {
+ string = g_string_append (string, "</P>");
+ }
+
+ SWFDEC_AS_VALUE_SET_STRING (ret,
+ swfdec_as_context_give_string (cx, g_string_free (string, FALSE)));
+}
+
+static void
+swfdec_edit_text_movie_set_htmlText (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+ const char *value;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "s", &value);
+
+ swfdec_edit_text_movie_set_text (text, value);
+}
+
+static void
+swfdec_edit_text_movie_get_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
+
+ SWFDEC_AS_VALUE_SET_BOOLEAN (ret, text->text->html);
+}
+
+static void
+swfdec_edit_text_movie_set_html (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+ gboolean value;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "b", &value);
+
+ text->text->html = value;
+}
+
+SWFDEC_AS_NATIVE (104, 102, swfdec_edit_text_movie_setTextFormat)
+void
+swfdec_edit_text_movie_setTextFormat (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+ int i;
+ SwfdecFormatIndex *findex, *findex_new;
+ SwfdecTextFormat *format;
+ guint findex_end_index, start_index, end_index;
+ GSList *iter, *next;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_EDIT_TEXT_MOVIE, (gpointer)&text, "");
if (argc < 1)
return;
- swfdec_edit_text_movie_set_text (text,
- swfdec_as_value_to_string (cx, &argv[0]));
+ i = 0;
+ if (argc >= 2) {
+ start_index = swfdec_as_value_to_integer (cx, &argv[i++]);
+ start_index = MIN (start_index, strlen (text->text_display));
+ } else {
+ start_index = 0;
+ }
+ if (argc >= 3) {
+ end_index = swfdec_as_value_to_integer (cx, &argv[i++]);
+ end_index = CLAMP (end_index, start_index, strlen (text->text_display));
+ } else {
+ end_index = strlen (text->text_display);
+ }
+ if (start_index == end_index)
+ return;
+
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (&argv[i]))
+ return;
+ if (!SWFDEC_IS_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i])))
+ return;
+
+ format = SWFDEC_TEXT_FORMAT (SWFDEC_AS_VALUE_GET_OBJECT (&argv[i]));
+
+ g_assert (text->formats != NULL);
+ g_assert (text->formats->data != NULL);
+ g_assert (((SwfdecFormatIndex *)text->formats->data)->index == 0);
+ for (iter = text->formats; iter != NULL &&
+ ((SwfdecFormatIndex *)iter->data)->index < end_index;
+ iter = next)
+ {
+ next = iter->next;
+ findex = iter->data;
+ if (iter->next != NULL) {
+ findex_end_index =
+ ((SwfdecFormatIndex *)iter->next->data)->index;
+ } else {
+ findex_end_index = strlen (text->text_display);
+ }
+
+ if (findex_end_index < start_index)
+ continue;
+
+ if (findex_end_index > end_index) {
+ findex_new = g_new (SwfdecFormatIndex, 1);
+ findex_new->index = end_index;
+ findex_new->format = swfdec_text_format_copy (findex->format);
+
+ iter = g_slist_insert (iter, findex_new, 1);
+ }
+
+ if (findex->index < start_index) {
+ findex_new = g_new (SwfdecFormatIndex, 1);
+ findex_new->index = start_index;
+ findex_new->format = swfdec_text_format_copy (findex->format);
+ swfdec_text_format_add (findex_new->format, format);
+
+ iter = g_slist_insert (iter, findex_new, 1);
+ } else {
+ swfdec_text_format_add (findex->format, format);
+ }
+ }
+
+ swfdec_edit_text_movie_format_changed (text);
}
-SWFDEC_AS_NATIVE (104, 200, swfdec_edittext_movie_createTextField)
+SWFDEC_AS_NATIVE (104, 200, swfdec_edit_text_movie_createTextField)
void
-swfdec_edittext_movie_createTextField (SwfdecAsContext *cx,
+swfdec_edit_text_movie_createTextField (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *rval)
{
@@ -117,7 +457,7 @@ swfdec_edittext_movie_createTextField (S
}
static void
-swfdec_edittext_movie_add_variable (SwfdecAsObject *object,
+swfdec_edit_text_movie_add_variable (SwfdecAsObject *object,
const char *variable, SwfdecAsNative get, SwfdecAsNative set)
{
SwfdecAsFunction *get_func, *set_func;
@@ -141,9 +481,9 @@ swfdec_edittext_movie_add_variable (Swfd
swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
}
-SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_edittext_movie_construct, swfdec_edit_text_movie_get_type)
+SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_edit_text_movie_construct, swfdec_edit_text_movie_get_type)
void
-swfdec_edittext_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_edit_text_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
if (!cx->frame->construct) {
@@ -170,8 +510,13 @@ swfdec_edittext_movie_construct (SwfdecA
g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
- swfdec_edittext_movie_add_variable (proto, SWFDEC_AS_STR_text,
- swfdec_edittext_movie_get_text, swfdec_edittext_movie_do_set_text);
+ swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_text,
+ swfdec_edit_text_movie_get_text, swfdec_edit_text_movie_do_set_text);
+ swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_htmlText,
+ swfdec_edit_text_movie_get_htmlText,
+ swfdec_edit_text_movie_set_htmlText);
+ swfdec_edit_text_movie_add_variable (proto, SWFDEC_AS_STR_html,
+ swfdec_edit_text_movie_get_html, swfdec_edit_text_movie_set_html);
SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
}
diff-tree 23e1483d8ab172613da5dc7830554b41699b9bfb (from 3f9e344e692a3e240ae00f16ad70f375c39c1d3e)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Fri Oct 5 13:21:48 2007 +0300
Add couple of missing SWFDEC_AS_STR strings for TextFormat
diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index 3aa0ba1..2283bbe 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -385,6 +385,8 @@ const char swfdec_as_strings[] =
SWFDEC_AS_CONSTANT_STRING ("block")
SWFDEC_AS_CONSTANT_STRING ("TextField")
SWFDEC_AS_CONSTANT_STRING ("text")
+ SWFDEC_AS_CONSTANT_STRING ("TextFormat")
+ SWFDEC_AS_CONSTANT_STRING ("Times New Roman")
/* add more here */
;
diff-tree 3f9e344e692a3e240ae00f16ad70f375c39c1d3e (from 302c72ffdae7277cf6e3141337cce54af296c07e)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Thu Oct 4 11:28:38 2007 +0300
Clean up TextFormat code somewhat and add set_defaults, copy and add functions
diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index 96bac90..c13fd6b 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -36,6 +36,29 @@
G_DEFINE_TYPE (SwfdecTextFormat, swfdec_text_format, SWFDEC_TYPE_AS_OBJECT)
+typedef enum {
+ PROP_ALIGN = 0,
+ PROP_BLOCK_INDENT,
+ PROP_BOLD,
+ PROP_BULLET,
+ PROP_COLOR,
+ PROP_DISPLAY,
+ PROP_FONT,
+ PROP_INDENT,
+ PROP_ITALIC,
+ PROP_KERNING,
+ PROP_LEADING,
+ PROP_LEFT_MARGIN,
+ PROP_LETTER_SPACING,
+ PROP_RIGHT_MARGIN,
+ PROP_SIZE,
+ PROP_TAB_STOPS,
+ PROP_TARGET,
+ PROP_UNDERLINE,
+ PROP_URL,
+ PROP_TOTAL
+} FormatProp;
+
static int property_offsets[] = {
G_STRUCT_OFFSET (SwfdecTextFormat, align),
G_STRUCT_OFFSET (SwfdecTextFormat, block_indent),
@@ -89,29 +112,28 @@ swfdec_text_format_init (SwfdecTextForma
}
static gboolean
-swfdec_text_format_is_set (SwfdecTextFormat *format,
- SwfdecTextFormatProperty property)
+swfdec_text_format_is_set (const SwfdecTextFormat *format, FormatProp property)
{
return (format->values_set & (1 << property));
}
static void
swfdec_text_format_mark_set (SwfdecTextFormat *format,
- SwfdecTextFormatProperty property)
+ FormatProp property)
{
format->values_set |= (1 << property);
}
static void
swfdec_text_format_mark_unset (SwfdecTextFormat *format,
- SwfdecTextFormatProperty property)
+ FormatProp property)
{
format->values_set &= ~(1 << property);
}
static void
swfdec_text_format_get_string (SwfdecAsObject *object,
- SwfdecTextFormatProperty property, SwfdecAsValue *ret)
+ FormatProp property, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -130,7 +152,7 @@ swfdec_text_format_get_string (SwfdecAsO
static void
swfdec_text_format_set_string (SwfdecAsObject *object,
- SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv)
+ FormatProp property, guint argc, SwfdecAsValue *argv)
{
SwfdecTextFormat *format;
const char *s;
@@ -158,7 +180,7 @@ swfdec_text_format_set_string (SwfdecAsO
static void
swfdec_text_format_get_boolean (SwfdecAsObject *object,
- SwfdecTextFormatProperty property, SwfdecAsValue *ret)
+ FormatProp property, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -180,7 +202,7 @@ swfdec_text_format_get_boolean (SwfdecAs
static void
swfdec_text_format_set_boolean (SwfdecAsObject *object,
- SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv)
+ FormatProp property, guint argc, SwfdecAsValue *argv)
{
SwfdecTextFormat *format;
@@ -207,7 +229,7 @@ swfdec_text_format_set_boolean (SwfdecAs
static void
swfdec_text_format_get_integer (SwfdecAsObject *object,
- SwfdecTextFormatProperty property, SwfdecAsValue *ret)
+ FormatProp property, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -257,7 +279,7 @@ swfdec_text_format_value_to_integer (Swf
static void
swfdec_text_format_set_integer (SwfdecAsObject *object,
- SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv,
+ FormatProp property, guint argc, SwfdecAsValue *argv,
gboolean allow_negative)
{
SwfdecTextFormat *format;
@@ -281,7 +303,7 @@ swfdec_text_format_set_integer (SwfdecAs
}
static void
-swfdec_text_format_get_align (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_align (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -290,7 +312,7 @@ swfdec_text_format_get_align (SwfdecAsCo
return;
format = SWFDEC_TEXT_FORMAT (object);
- if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN)) {
+ if (!swfdec_text_format_is_set (format, PROP_ALIGN)) {
SWFDEC_AS_VALUE_SET_NULL (ret);
return;
}
@@ -314,7 +336,7 @@ swfdec_text_format_get_align (SwfdecAsCo
}
static void
-swfdec_text_format_set_align (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_align (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -333,69 +355,69 @@ swfdec_text_format_set_align (SwfdecAsCo
if (!g_ascii_strcasecmp (s, "left")) {
format->align = SWFDEC_TEXT_ALIGN_LEFT;
- swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
+ swfdec_text_format_mark_set (format, PROP_ALIGN);
} else if (!g_ascii_strcasecmp (s, "center")) {
format->align = SWFDEC_TEXT_ALIGN_CENTER;
- swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
+ swfdec_text_format_mark_set (format, PROP_ALIGN);
} else if (!g_ascii_strcasecmp (s, "right")) {
format->align = SWFDEC_TEXT_ALIGN_RIGHT;
- swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
+ swfdec_text_format_mark_set (format, PROP_ALIGN);
} else if (!g_ascii_strcasecmp (s, "justify")) {
format->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
- swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
+ swfdec_text_format_mark_set (format, PROP_ALIGN);
}
}
static void
-swfdec_text_format_get_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
swfdec_text_format_get_integer (object,
- SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT, ret);
+ PROP_BLOCK_INDENT, ret);
}
static void
-swfdec_text_format_set_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
swfdec_text_format_set_integer (object,
- SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT, argc, argv, cx->version >= 8);
+ PROP_BLOCK_INDENT, argc, argv, cx->version >= 8);
}
static void
-swfdec_text_format_get_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
+ swfdec_text_format_get_boolean (object, PROP_BOLD,
ret);
}
static void
-swfdec_text_format_set_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
+ swfdec_text_format_set_boolean (object, PROP_BOLD,
argc, argv);
}
static void
-swfdec_text_format_get_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
+ swfdec_text_format_get_boolean (object, PROP_BULLET,
ret);
}
static void
-swfdec_text_format_set_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
+ swfdec_text_format_set_boolean (object, PROP_BULLET,
argc, argv);
}
static void
-swfdec_text_format_get_color (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_color (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -404,7 +426,7 @@ swfdec_text_format_get_color (SwfdecAsCo
return;
format = SWFDEC_TEXT_FORMAT (object);
- if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR)) {
+ if (!swfdec_text_format_is_set (format, PROP_COLOR)) {
SWFDEC_AS_VALUE_SET_NULL (ret);
return;
}
@@ -413,7 +435,7 @@ swfdec_text_format_get_color (SwfdecAsCo
}
static void
-swfdec_text_format_set_color (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_color (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -428,7 +450,7 @@ swfdec_text_format_set_color (SwfdecAsCo
if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
- swfdec_text_format_mark_unset (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR);
+ swfdec_text_format_mark_unset (format, PROP_COLOR);
} else {
if (cx->version >= 8) {
format->color = (unsigned)swfdec_as_value_to_number (cx, &argv[0]);
@@ -438,12 +460,12 @@ swfdec_text_format_set_color (SwfdecAsCo
swfdec_as_value_to_integer (cx, &argv[0]);
swfdec_as_value_to_string (cx, &argv[0]);
- swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR);
+ swfdec_text_format_mark_set (format, PROP_COLOR);
}
}
static void
-swfdec_text_format_get_display (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_display (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -452,7 +474,7 @@ swfdec_text_format_get_display (SwfdecAs
return;
format = SWFDEC_TEXT_FORMAT (object);
- if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY))
+ if (!swfdec_text_format_is_set (format, PROP_DISPLAY))
{
SWFDEC_AS_VALUE_SET_NULL (ret);
return;
@@ -474,7 +496,7 @@ swfdec_text_format_get_display (SwfdecAs
}
static void
-swfdec_text_format_set_display (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_display (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -497,106 +519,106 @@ swfdec_text_format_set_display (SwfdecAs
format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
}
- swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY);
+ swfdec_text_format_mark_set (format, PROP_DISPLAY);
}
static void
-swfdec_text_format_get_font (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_font (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
+ swfdec_text_format_get_string (object, PROP_FONT,
ret);
}
static void
-swfdec_text_format_set_font (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_font (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
+ swfdec_text_format_set_string (object, PROP_FONT,
argc, argv);
}
static void
-swfdec_text_format_get_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
+ swfdec_text_format_get_integer (object, PROP_INDENT,
ret);
}
static void
-swfdec_text_format_set_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
+ swfdec_text_format_set_integer (object, PROP_INDENT,
argc, argv, cx->version >= 8);
}
static void
-swfdec_text_format_get_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC, ret);
+ swfdec_text_format_get_boolean (object, PROP_ITALIC, ret);
}
static void
-swfdec_text_format_set_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC,
+ swfdec_text_format_set_boolean (object, PROP_ITALIC,
argc, argv);
}
static void
-swfdec_text_format_get_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
+ swfdec_text_format_get_boolean (object, PROP_KERNING,
ret);
}
static void
-swfdec_text_format_set_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
+ swfdec_text_format_set_boolean (object, PROP_KERNING,
argc, argv);
}
static void
-swfdec_text_format_get_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
+ swfdec_text_format_get_integer (object, PROP_LEADING,
ret);
}
static void
-swfdec_text_format_set_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
+ swfdec_text_format_set_integer (object, PROP_LEADING,
argc, argv, cx->version >= 8);
}
static void
-swfdec_text_format_get_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
swfdec_text_format_get_integer (object,
- SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN, ret);
+ PROP_LEFT_MARGIN, ret);
}
static void
-swfdec_text_format_set_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
swfdec_text_format_set_integer (object,
- SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN, argc, argv, FALSE);
+ PROP_LEFT_MARGIN, argc, argv, FALSE);
}
static void
-swfdec_text_format_get_letter_spacing (SwfdecAsContext *cx,
+swfdec_text_format_do_get_letter_spacing (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
@@ -607,7 +629,7 @@ swfdec_text_format_get_letter_spacing (S
format = SWFDEC_TEXT_FORMAT (object);
if (!swfdec_text_format_is_set (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING))
+ PROP_LETTER_SPACING))
{
SWFDEC_AS_VALUE_SET_NULL (ret);
return;
@@ -617,7 +639,7 @@ swfdec_text_format_get_letter_spacing (S
}
static void
-swfdec_text_format_set_letter_spacing (SwfdecAsContext *cx,
+swfdec_text_format_do_set_letter_spacing (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
@@ -639,50 +661,50 @@ swfdec_text_format_set_letter_spacing (S
SWFDEC_AS_VALUE_IS_NULL (&argv[0]))
{
swfdec_text_format_mark_unset (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING);
+ PROP_LETTER_SPACING);
}
else
{
format->letter_spacing = d;
swfdec_text_format_mark_set (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING);
+ PROP_LETTER_SPACING);
}
}
static void
-swfdec_text_format_get_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
swfdec_text_format_get_integer (object,
- SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN, ret);
+ PROP_RIGHT_MARGIN, ret);
}
static void
-swfdec_text_format_set_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
swfdec_text_format_set_integer (object,
- SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN, argc, argv, FALSE);
+ PROP_RIGHT_MARGIN, argc, argv, FALSE);
}
static void
-swfdec_text_format_get_size (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_size (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
+ swfdec_text_format_get_integer (object, PROP_SIZE,
ret);
}
static void
-swfdec_text_format_set_size (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_size (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
+ swfdec_text_format_set_integer (object, PROP_SIZE,
argc, argv, TRUE);
}
static void
-swfdec_text_format_get_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -692,7 +714,7 @@ swfdec_text_format_get_tab_stops (Swfdec
format = SWFDEC_TEXT_FORMAT (object);
if (!swfdec_text_format_is_set (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
+ PROP_TAB_STOPS))
{
SWFDEC_AS_VALUE_SET_NULL (ret);
return;
@@ -703,7 +725,7 @@ swfdec_text_format_get_tab_stops (Swfdec
}
static void
-swfdec_text_format_set_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
@@ -724,7 +746,7 @@ swfdec_text_format_set_tab_stops (Swfdec
{
format->tab_stops = NULL;
swfdec_text_format_mark_unset (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
+ PROP_TAB_STOPS);
}
else if (SWFDEC_AS_VALUE_IS_OBJECT (&argv[0]) &&
SWFDEC_IS_AS_ARRAY (SWFDEC_AS_VALUE_GET_OBJECT (&argv[0])))
@@ -738,14 +760,14 @@ swfdec_text_format_set_tab_stops (Swfdec
len = swfdec_as_array_get_length (array);
if (!swfdec_text_format_is_set (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
+ PROP_TAB_STOPS))
{
// special case, if we have null and array is empty, keep it at null
if (len == 0)
return;
format->tab_stops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
swfdec_text_format_mark_set (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
+ PROP_TAB_STOPS);
}
swfdec_as_array_set_length (format->tab_stops, 0);
@@ -767,11 +789,11 @@ swfdec_text_format_set_tab_stops (Swfdec
if (len == 0) {
format->tab_stops = NULL;
swfdec_text_format_mark_unset (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
+ PROP_TAB_STOPS);
} else {
format->tab_stops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
swfdec_text_format_mark_set (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
+ PROP_TAB_STOPS);
if (cx->version >= 8) {
SWFDEC_AS_VALUE_SET_INT (&val, -2147483648);
} else {
@@ -783,58 +805,58 @@ swfdec_text_format_set_tab_stops (Swfdec
}
}
else if (swfdec_text_format_is_set (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
+ PROP_TAB_STOPS))
{
swfdec_as_array_set_length (format->tab_stops, 0);
swfdec_text_format_mark_set (format,
- SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
+ PROP_TAB_STOPS);
}
}
static void
-swfdec_text_format_get_target (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_target (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
+ swfdec_text_format_get_string (object, PROP_TARGET,
ret);
}
static void
-swfdec_text_format_set_target (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_target (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
+ swfdec_text_format_set_string (object, PROP_TARGET,
argc, argv);
}
static void
-swfdec_text_format_get_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
swfdec_text_format_get_boolean (object,
- SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE, ret);
+ PROP_UNDERLINE, ret);
}
static void
-swfdec_text_format_set_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
swfdec_text_format_set_boolean (object,
- SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE, argc, argv);
+ PROP_UNDERLINE, argc, argv);
}
static void
-swfdec_text_format_get_url (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_get_url (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_URL, ret);
+ swfdec_text_format_get_string (object, PROP_URL, ret);
}
static void
-swfdec_text_format_set_url (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_do_set_url (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_URL, argc,
+ swfdec_text_format_set_string (object, PROP_URL, argc,
argv);
}
@@ -863,6 +885,85 @@ swfdec_text_format_add_variable (SwfdecA
swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
}
+void
+swfdec_text_format_add (SwfdecTextFormat *format, const SwfdecTextFormat *from)
+{
+ g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (format));
+ g_return_if_fail (SWFDEC_IS_TEXT_FORMAT (from));
+
+ if (swfdec_text_format_is_set (from, PROP_ALIGN))
+ format->align = from->align;
+ if (swfdec_text_format_is_set (from, PROP_BLOCK_INDENT))
+ format->block_indent = from->block_indent;
+ if (swfdec_text_format_is_set (from, PROP_BOLD))
+ format->bold = from->bold;
+ if (swfdec_text_format_is_set (from, PROP_BULLET))
+ format->bullet = from->bullet;
+ if (swfdec_text_format_is_set (from, PROP_COLOR))
+ format->color = from->color;
+ if (swfdec_text_format_is_set (from, PROP_DISPLAY))
+ format->display = from->display;
+ if (swfdec_text_format_is_set (from, PROP_FONT))
+ format->font = from->font;
+ if (swfdec_text_format_is_set (from, PROP_INDENT))
+ format->indent = from->indent;
+ if (swfdec_text_format_is_set (from, PROP_ITALIC))
+ format->italic = from->italic ;
+ if (swfdec_text_format_is_set (from, PROP_KERNING))
+ format->kerning = from->kerning;
+ if (swfdec_text_format_is_set (from, PROP_LEADING))
+ format->leading = from->leading;
+ if (swfdec_text_format_is_set (from, PROP_LEFT_MARGIN))
+ format->left_margin = from->left_margin;
+ if (swfdec_text_format_is_set (from, PROP_LETTER_SPACING))
+ format->letter_spacing = from->letter_spacing;
+ if (swfdec_text_format_is_set (from, PROP_RIGHT_MARGIN))
+ format->right_margin = from->right_margin;
+ if (swfdec_text_format_is_set (from, PROP_SIZE))
+ format->size = from->size;
+ if (swfdec_text_format_is_set (from, PROP_TAB_STOPS))
+ format->tab_stops = from->tab_stops;
+ if (swfdec_text_format_is_set (from, PROP_TARGET))
+ format->target = from->target;
+ if (swfdec_text_format_is_set (from, PROP_UNDERLINE))
+ format->underline = from->underline;
+ if (swfdec_text_format_is_set (from, PROP_URL))
+ format->url = from->url;
+
+ format->values_set |= from->values_set;
+}
+
+void
+swfdec_text_format_set_defaults (SwfdecTextFormat *format)
+{
+ format->align = SWFDEC_TEXT_ALIGN_LEFT;
+ format->block_indent = 0;
+ format->bold = FALSE;
+ format->bullet = FALSE;
+ format->color = 0;
+ format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
+ format->font = SWFDEC_AS_STR_Times_New_Roman;
+ format->indent = 0;
+ format->italic = FALSE;
+ format->kerning = FALSE;
+ format->leading = 0;
+ format->left_margin = 0;
+ format->letter_spacing = 0;
+ format->right_margin = 0;
+ format->size = 12; // ??
+ format->tab_stops = NULL; // ??
+ format->target = NULL; // ??
+ format->url = NULL; // ??
+ format->underline = FALSE;
+
+ format->values_set = (1 << PROP_TOTAL) - 1;
+
+ swfdec_text_format_mark_unset (format,
+ PROP_TAB_STOPS);
+ swfdec_text_format_mark_unset (format, PROP_TARGET);
+ swfdec_text_format_mark_unset (format, PROP_URL);
+}
+
static void
swfdec_text_format_clear (SwfdecTextFormat *format)
{
@@ -873,7 +974,7 @@ swfdec_text_format_clear (SwfdecTextForm
format->values_set = 0;
format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
- swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY);
+ swfdec_text_format_mark_set (format, PROP_DISPLAY);
}
SWFDEC_AS_CONSTRUCTOR (110, 0, swfdec_text_format_construct, swfdec_text_format_get_type)
@@ -899,51 +1000,51 @@ swfdec_text_format_construct (SwfdecAsCo
proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_align,
- swfdec_text_format_get_align, swfdec_text_format_set_align);
+ swfdec_text_format_do_get_align, swfdec_text_format_do_set_align);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_blockIndent,
- swfdec_text_format_get_block_indent,
- swfdec_text_format_set_block_indent);
+ swfdec_text_format_do_get_block_indent,
+ swfdec_text_format_do_set_block_indent);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bold,
- swfdec_text_format_get_bold, swfdec_text_format_set_bold);
+ swfdec_text_format_do_get_bold, swfdec_text_format_do_set_bold);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bullet,
- swfdec_text_format_get_bullet, swfdec_text_format_set_bullet);
+ swfdec_text_format_do_get_bullet, swfdec_text_format_do_set_bullet);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_color,
- swfdec_text_format_get_color, swfdec_text_format_set_color);
+ swfdec_text_format_do_get_color, swfdec_text_format_do_set_color);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_display,
- swfdec_text_format_get_display, swfdec_text_format_set_display);
+ swfdec_text_format_do_get_display, swfdec_text_format_do_set_display);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_font,
- swfdec_text_format_get_font, swfdec_text_format_set_font);
+ swfdec_text_format_do_get_font, swfdec_text_format_do_set_font);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_indent,
- swfdec_text_format_get_indent, swfdec_text_format_set_indent);
+ swfdec_text_format_do_get_indent, swfdec_text_format_do_set_indent);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_italic,
- swfdec_text_format_get_italic, swfdec_text_format_set_italic);
+ swfdec_text_format_do_get_italic, swfdec_text_format_do_set_italic);
if (cx->version >= 8) {
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_kerning,
- swfdec_text_format_get_kerning, swfdec_text_format_set_kerning);
+ swfdec_text_format_do_get_kerning, swfdec_text_format_do_set_kerning);
}
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leading,
- swfdec_text_format_get_leading, swfdec_text_format_set_leading);
+ swfdec_text_format_do_get_leading, swfdec_text_format_do_set_leading);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leftMargin,
- swfdec_text_format_get_left_margin,
- swfdec_text_format_set_left_margin);
+ swfdec_text_format_do_get_left_margin,
+ swfdec_text_format_do_set_left_margin);
if (cx->version >= 8) {
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_letterSpacing,
- swfdec_text_format_get_letter_spacing,
- swfdec_text_format_set_letter_spacing);
+ swfdec_text_format_do_get_letter_spacing,
+ swfdec_text_format_do_set_letter_spacing);
}
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_rightMargin,
- swfdec_text_format_get_right_margin,
- swfdec_text_format_set_right_margin);
+ swfdec_text_format_do_get_right_margin,
+ swfdec_text_format_do_set_right_margin);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_size,
- swfdec_text_format_get_size, swfdec_text_format_set_size);
+ swfdec_text_format_do_get_size, swfdec_text_format_do_set_size);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_tabStops,
- swfdec_text_format_get_tab_stops, swfdec_text_format_set_tab_stops);
+ swfdec_text_format_do_get_tab_stops, swfdec_text_format_do_set_tab_stops);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_target,
- swfdec_text_format_get_target, swfdec_text_format_set_target);
+ swfdec_text_format_do_get_target, swfdec_text_format_do_set_target);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_underline,
- swfdec_text_format_get_underline, swfdec_text_format_set_underline);
+ swfdec_text_format_do_get_underline, swfdec_text_format_do_set_underline);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_url,
- swfdec_text_format_get_url, swfdec_text_format_set_url);
+ swfdec_text_format_do_get_url, swfdec_text_format_do_set_url);
SWFDEC_PLAYER (cx)->text_format_properties_initialized = TRUE;
}
@@ -979,6 +1080,43 @@ swfdec_text_format_construct (SwfdecAsCo
swfdec_as_object_set_variable (object, SWFDEC_AS_STR_leading, &argv[i]);
}
+SwfdecTextFormat *
+swfdec_text_format_copy (const SwfdecTextFormat *copy_from)
+{
+ SwfdecAsObject *object_to;
+ SwfdecTextFormat *copy_to;
+
+ g_return_val_if_fail (SWFDEC_IS_TEXT_FORMAT (copy_from), NULL);
+
+ object_to = swfdec_text_format_new (SWFDEC_AS_OBJECT (copy_from)->context);
+ if (object_to == NULL)
+ return NULL;
+ copy_to = SWFDEC_TEXT_FORMAT (object_to);
+
+ copy_to->align = copy_from->align;
+ copy_to->block_indent = copy_from->block_indent;
+ copy_to->bold = copy_from->bold;
+ copy_to->bullet = copy_from->bullet;
+ copy_to->color = copy_from->color;
+ copy_to->display = copy_from->display;
+ copy_to->font = copy_from->font;
+ copy_to->indent = copy_from->indent;
+ copy_to->italic = copy_from->italic ;
+ copy_to->kerning = copy_from->kerning;
+ copy_to->leading = copy_from->leading;
+ copy_to->left_margin = copy_from->left_margin;
+ copy_to->letter_spacing = copy_from->letter_spacing;
+ copy_to->right_margin = copy_from->right_margin;
+ copy_to->size = copy_from->size;
+ copy_to->tab_stops = copy_from->tab_stops;
+ copy_to->target = copy_from->target;
+ copy_to->underline = copy_from->underline;
+ copy_to->url = copy_from->url;
+ copy_to->values_set = copy_from->values_set;
+
+ return copy_to;
+}
+
SwfdecAsObject *
swfdec_text_format_new (SwfdecAsContext *context)
{
diff --git a/libswfdec/swfdec_text_format.h b/libswfdec/swfdec_text_format.h
index 12f4128..38de7ac 100644
--- a/libswfdec/swfdec_text_format.h
+++ b/libswfdec/swfdec_text_format.h
@@ -51,28 +51,6 @@ typedef enum {
SWFDEC_TEXT_DISPLAY_BLOCK,
} SwfdecTextDisplay;
-typedef enum {
- SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN = 0,
- SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT,
- SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
- SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
- SWFDEC_TEXT_FORMAT_PROPERTY_COLOR,
- SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY,
- SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
- SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
- SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC,
- SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
- SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
- SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN,
- SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING,
- SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN,
- SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
- SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS,
- SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
- SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE,
- SWFDEC_TEXT_FORMAT_PROPERTY_URL
-} SwfdecTextFormatProperty;
-
struct _SwfdecTextFormat {
SwfdecAsObject object;
@@ -106,6 +84,10 @@ struct _SwfdecTextFormatClass {
GType swfdec_text_format_get_type (void);
SwfdecAsObject * swfdec_text_format_new (SwfdecAsContext * context);
+void swfdec_text_format_set_defaults (SwfdecTextFormat * format);
+SwfdecTextFormat * swfdec_text_format_copy (const SwfdecTextFormat *copy_from);
+void swfdec_text_format_add (SwfdecTextFormat * format,
+ const SwfdecTextFormat *from);
G_END_DECLS
#endif
diff-tree 302c72ffdae7277cf6e3141337cce54af296c07e (from 80ae44b6dca893301ecae2c280ce2869d18c84ff)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Wed Oct 3 15:39:21 2007 +0300
Expand TextFormat test with some large numbers
diff --git a/test/trace/textformat-5.swf b/test/trace/textformat-5.swf
index 17bbb11..07f23ac 100644
Binary files a/test/trace/textformat-5.swf and b/test/trace/textformat-5.swf differ
diff --git a/test/trace/textformat-5.swf.trace b/test/trace/textformat-5.swf.trace
index 6ddec2a..dae2174 100644
--- a/test/trace/textformat-5.swf.trace
+++ b/test/trace/textformat-5.swf.trace
@@ -212,6 +212,10 @@ align: 4,8,12 (string) = left (string)
align: true (boolean) = left (string)
align: false (boolean) = left (string)
align: null (null) = left (string)
+align: -2147483648 (number) = left (string)
+align: -2147483650 (number) = left (string)
+align: 2147483648 (number) = left (string)
+align: 2147483650 (number) = left (string)
align: (object) = left (string)
align: (object) = left (string)
align: 1,2 (object) = left (string)
@@ -397,6 +401,10 @@ blockIndent: 4,8,12 (string) = 0 (number
blockIndent: true (boolean) = 1 (number)
blockIndent: false (boolean) = 0 (number)
blockIndent: null (null) = null (null)
+blockIndent: -2147483648 (number) = 0 (number)
+blockIndent: -2147483650 (number) = 2147483646 (number)
+blockIndent: 2147483648 (number) = 0 (number)
+blockIndent: 2147483650 (number) = 0 (number)
blockIndent: (object) = 0 (number)
blockIndent: (object) = 0 (number)
blockIndent: 1,2 (object) = 0 (number)
@@ -582,6 +590,10 @@ bold: 4,8,12 (string) = false (boolean)
bold: true (boolean) = true (boolean)
bold: false (boolean) = false (boolean)
bold: null (null) = null (null)
+bold: -2147483648 (number) = true (boolean)
+bold: -2147483650 (number) = true (boolean)
+bold: 2147483648 (number) = true (boolean)
+bold: 2147483650 (number) = true (boolean)
bold: (object) = true (boolean)
bold: (object) = true (boolean)
bold: 1,2 (object) = true (boolean)
@@ -767,6 +779,10 @@ bullet: 4,8,12 (string) = false (boolean
bullet: true (boolean) = true (boolean)
bullet: false (boolean) = false (boolean)
bullet: null (null) = null (null)
+bullet: -2147483648 (number) = true (boolean)
+bullet: -2147483650 (number) = true (boolean)
+bullet: 2147483648 (number) = true (boolean)
+bullet: 2147483650 (number) = true (boolean)
bullet: (object) = true (boolean)
bullet: (object) = true (boolean)
bullet: 1,2 (object) = true (boolean)
@@ -952,6 +968,10 @@ color: 4,8,12 (string) = 0 (number)
color: true (boolean) = 1 (number)
color: false (boolean) = 0 (number)
color: null (null) = null (null)
+color: -2147483648 (number) = 2147483648 (number)
+color: -2147483650 (number) = 2147483646 (number)
+color: 2147483648 (number) = 2147483648 (number)
+color: 2147483650 (number) = 2147483650 (number)
color: (object) = 0 (number)
color: (object) = 0 (number)
color: 1,2 (object) = 0 (number)
@@ -1166,6 +1186,10 @@ display: 4,8,12 (string) = block (string
display: true (boolean) = block (string)
display: false (boolean) = block (string)
display: null (null) = block (string)
+display: -2147483648 (number) = block (string)
+display: -2147483650 (number) = block (string)
+display: 2147483648 (number) = block (string)
+display: 2147483650 (number) = block (string)
display: (object) = block (string)
display: (object) = block (string)
display: 1,2 (object) = block (string)
@@ -1351,6 +1375,10 @@ font: 4,8,12 (string) = 4,8,12 (string)
font: true (boolean) = true (string)
font: false (boolean) = false (string)
font: null (null) = null (null)
+font: -2147483648 (number) = -2147483648 (string)
+font: -2147483650 (number) = -2147483650 (string)
+font: 2147483648 (number) = 2147483648 (string)
+font: 2147483650 (number) = 2147483650 (string)
font: (object) = (string)
font: (object) = (string)
font: 1,2 (object) = 1,2 (string)
@@ -1536,6 +1564,10 @@ indent: 4,8,12 (string) = 0 (number)
indent: true (boolean) = 1 (number)
indent: false (boolean) = 0 (number)
indent: null (null) = null (null)
+indent: -2147483648 (number) = 0 (number)
+indent: -2147483650 (number) = 2147483646 (number)
+indent: 2147483648 (number) = 0 (number)
+indent: 2147483650 (number) = 0 (number)
indent: (object) = 0 (number)
indent: (object) = 0 (number)
indent: 1,2 (object) = 0 (number)
@@ -1721,6 +1753,10 @@ italic: 4,8,12 (string) = false (boolean
italic: true (boolean) = true (boolean)
italic: false (boolean) = false (boolean)
italic: null (null) = null (null)
+italic: -2147483648 (number) = true (boolean)
+italic: -2147483650 (number) = true (boolean)
+italic: 2147483648 (number) = true (boolean)
+italic: 2147483650 (number) = true (boolean)
italic: (object) = true (boolean)
italic: (object) = true (boolean)
italic: 1,2 (object) = true (boolean)
@@ -1855,6 +1891,10 @@ kerning: 4,8,12 (string) = 4,8,12 (strin
kerning: true (boolean) = true (boolean)
kerning: false (boolean) = false (boolean)
kerning: null (null) = null (null)
+kerning: -2147483648 (number) = -2147483648 (number)
+kerning: -2147483650 (number) = -2147483650 (number)
+kerning: 2147483648 (number) = 2147483648 (number)
+kerning: 2147483650 (number) = 2147483650 (number)
kerning: (object) = (object)
kerning: (object) = (object)
kerning: 1,2 (object) = 1,2 (object)
@@ -2040,6 +2080,10 @@ leading: 4,8,12 (string) = 0 (number)
leading: true (boolean) = 1 (number)
leading: false (boolean) = 0 (number)
leading: null (null) = null (null)
+leading: -2147483648 (number) = 0 (number)
+leading: -2147483650 (number) = 2147483646 (number)
+leading: 2147483648 (number) = 0 (number)
+leading: 2147483650 (number) = 0 (number)
leading: (object) = 0 (number)
leading: (object) = 0 (number)
leading: 1,2 (object) = 0 (number)
@@ -2225,6 +2269,10 @@ leftMargin: 4,8,12 (string) = 0 (number)
leftMargin: true (boolean) = 1 (number)
leftMargin: false (boolean) = 0 (number)
leftMargin: null (null) = null (null)
+leftMargin: -2147483648 (number) = 0 (number)
+leftMargin: -2147483650 (number) = 2147483646 (number)
+leftMargin: 2147483648 (number) = 0 (number)
+leftMargin: 2147483650 (number) = 0 (number)
leftMargin: (object) = 0 (number)
leftMargin: (object) = 0 (number)
leftMargin: 1,2 (object) = 0 (number)
@@ -2359,6 +2407,10 @@ letterSpacing: 4,8,12 (string) = 4,8,12
letterSpacing: true (boolean) = true (boolean)
letterSpacing: false (boolean) = false (boolean)
letterSpacing: null (null) = null (null)
+letterSpacing: -2147483648 (number) = -2147483648 (number)
+letterSpacing: -2147483650 (number) = -2147483650 (number)
+letterSpacing: 2147483648 (number) = 2147483648 (number)
+letterSpacing: 2147483650 (number) = 2147483650 (number)
letterSpacing: (object) = (object)
letterSpacing: (object) = (object)
letterSpacing: 1,2 (object) = 1,2 (object)
@@ -2544,6 +2596,10 @@ rightMargin: 4,8,12 (string) = 0 (number
rightMargin: true (boolean) = 1 (number)
rightMargin: false (boolean) = 0 (number)
rightMargin: null (null) = null (null)
+rightMargin: -2147483648 (number) = 0 (number)
+rightMargin: -2147483650 (number) = 2147483646 (number)
+rightMargin: 2147483648 (number) = 0 (number)
+rightMargin: 2147483650 (number) = 0 (number)
rightMargin: (object) = 0 (number)
rightMargin: (object) = 0 (number)
rightMargin: 1,2 (object) = 0 (number)
@@ -2729,6 +2785,10 @@ size: 4,8,12 (string) = 0 (number)
size: true (boolean) = 1 (number)
size: false (boolean) = 0 (number)
size: null (null) = null (null)
+size: -2147483648 (number) = -2147483648 (number)
+size: -2147483650 (number) = 2147483646 (number)
+size: 2147483648 (number) = -2147483648 (number)
+size: 2147483650 (number) = -2147483646 (number)
size: (object) = 0 (number)
size: (object) = 0 (number)
size: 1,2 (object) = 0 (number)
@@ -2914,6 +2974,10 @@ tabStops: 4,8,12 (string) = 0,0,0,0,0,0
tabStops: true (boolean) = (object)
tabStops: false (boolean) = (object)
tabStops: null (null) = null (null)
+tabStops: -2147483648 (number) = null (null)
+tabStops: -2147483650 (number) = null (null)
+tabStops: 2147483648 (number) = null (null)
+tabStops: 2147483650 (number) = null (null)
tabStops: (object) = null (null)
tabStops: (object) = null (null)
tabStops: 1,2 (object) = 1,2 (object)
@@ -3099,6 +3163,10 @@ target: 4,8,12 (string) = 4,8,12 (string
target: true (boolean) = true (string)
target: false (boolean) = false (string)
target: null (null) = null (null)
+target: -2147483648 (number) = -2147483648 (string)
+target: -2147483650 (number) = -2147483650 (string)
+target: 2147483648 (number) = 2147483648 (string)
+target: 2147483650 (number) = 2147483650 (string)
target: (object) = (string)
target: (object) = (string)
target: 1,2 (object) = 1,2 (string)
@@ -3284,6 +3352,10 @@ underline: 4,8,12 (string) = false (bool
underline: true (boolean) = true (boolean)
underline: false (boolean) = false (boolean)
underline: null (null) = null (null)
+underline: -2147483648 (number) = true (boolean)
+underline: -2147483650 (number) = true (boolean)
+underline: 2147483648 (number) = true (boolean)
+underline: 2147483650 (number) = true (boolean)
underline: (object) = true (boolean)
underline: (object) = true (boolean)
underline: 1,2 (object) = true (boolean)
@@ -3469,6 +3541,10 @@ url: 4,8,12 (string) = 4,8,12 (string)
url: true (boolean) = true (string)
url: false (boolean) = false (string)
url: null (null) = null (null)
+url: -2147483648 (number) = -2147483648 (string)
+url: -2147483650 (number) = -2147483650 (string)
+url: 2147483648 (number) = 2147483648 (string)
+url: 2147483650 (number) = 2147483650 (string)
url: (object) = (string)
url: (object) = (string)
url: 1,2 (object) = 1,2 (string)
diff --git a/test/trace/textformat-6.swf b/test/trace/textformat-6.swf
index e050035..e36d44c 100644
Binary files a/test/trace/textformat-6.swf and b/test/trace/textformat-6.swf differ
diff --git a/test/trace/textformat-6.swf.trace b/test/trace/textformat-6.swf.trace
index 19e8294..370de15 100644
--- a/test/trace/textformat-6.swf.trace
+++ b/test/trace/textformat-6.swf.trace
@@ -213,6 +213,10 @@ align: 4,8,12 (string) = left (string)
align: true (boolean) = left (string)
align: false (boolean) = left (string)
align: null (null) = left (string)
+align: -2147483648 (number) = left (string)
+align: -2147483650 (number) = left (string)
+align: 2147483648 (number) = left (string)
+align: 2147483650 (number) = left (string)
align: (object) = left (string)
align: (object) = left (string)
align: 1,2 (object) = left (string)
@@ -398,6 +402,10 @@ blockIndent: 4,8,12 (string) = 0 (number
blockIndent: true (boolean) = 1 (number)
blockIndent: false (boolean) = 0 (number)
blockIndent: null (null) = null (null)
+blockIndent: -2147483648 (number) = 0 (number)
+blockIndent: -2147483650 (number) = 2147483646 (number)
+blockIndent: 2147483648 (number) = 0 (number)
+blockIndent: 2147483650 (number) = 0 (number)
blockIndent: (object) = 0 (number)
blockIndent: (object) = 0 (number)
blockIndent: 1,2 (object) = 0 (number)
@@ -583,6 +591,10 @@ bold: 4,8,12 (string) = false (boolean)
bold: true (boolean) = true (boolean)
bold: false (boolean) = false (boolean)
bold: null (null) = null (null)
+bold: -2147483648 (number) = true (boolean)
+bold: -2147483650 (number) = true (boolean)
+bold: 2147483648 (number) = true (boolean)
+bold: 2147483650 (number) = true (boolean)
bold: (object) = true (boolean)
bold: (object) = true (boolean)
bold: 1,2 (object) = true (boolean)
@@ -768,6 +780,10 @@ bullet: 4,8,12 (string) = false (boolean
bullet: true (boolean) = true (boolean)
bullet: false (boolean) = false (boolean)
bullet: null (null) = null (null)
+bullet: -2147483648 (number) = true (boolean)
+bullet: -2147483650 (number) = true (boolean)
+bullet: 2147483648 (number) = true (boolean)
+bullet: 2147483650 (number) = true (boolean)
bullet: (object) = true (boolean)
bullet: (object) = true (boolean)
bullet: 1,2 (object) = true (boolean)
@@ -953,6 +969,10 @@ color: 4,8,12 (string) = 0 (number)
color: true (boolean) = 1 (number)
color: false (boolean) = 0 (number)
color: null (null) = null (null)
+color: -2147483648 (number) = 2147483648 (number)
+color: -2147483650 (number) = 2147483646 (number)
+color: 2147483648 (number) = 2147483648 (number)
+color: 2147483650 (number) = 2147483650 (number)
color: (object) = 0 (number)
color: (object) = 0 (number)
color: 1,2 (object) = 0 (number)
@@ -1167,6 +1187,10 @@ display: 4,8,12 (string) = block (string
display: true (boolean) = block (string)
display: false (boolean) = block (string)
display: null (null) = block (string)
+display: -2147483648 (number) = block (string)
+display: -2147483650 (number) = block (string)
+display: 2147483648 (number) = block (string)
+display: 2147483650 (number) = block (string)
display: (object) = block (string)
display: (object) = block (string)
display: 1,2 (object) = block (string)
@@ -1352,6 +1376,10 @@ font: 4,8,12 (string) = 4,8,12 (string)
font: true (boolean) = true (string)
font: false (boolean) = false (string)
font: null (null) = null (null)
+font: -2147483648 (number) = -2147483648 (string)
+font: -2147483650 (number) = -2147483650 (string)
+font: 2147483648 (number) = 2147483648 (string)
+font: 2147483650 (number) = 2147483650 (string)
font: (object) = (string)
font: (object) = (string)
font: 1,2 (object) = 1,2 (string)
@@ -1537,6 +1565,10 @@ indent: 4,8,12 (string) = 0 (number)
indent: true (boolean) = 1 (number)
indent: false (boolean) = 0 (number)
indent: null (null) = null (null)
+indent: -2147483648 (number) = 0 (number)
+indent: -2147483650 (number) = 2147483646 (number)
+indent: 2147483648 (number) = 0 (number)
+indent: 2147483650 (number) = 0 (number)
indent: (object) = 0 (number)
indent: (object) = 0 (number)
indent: 1,2 (object) = 0 (number)
@@ -1722,6 +1754,10 @@ italic: 4,8,12 (string) = false (boolean
italic: true (boolean) = true (boolean)
italic: false (boolean) = false (boolean)
italic: null (null) = null (null)
+italic: -2147483648 (number) = true (boolean)
+italic: -2147483650 (number) = true (boolean)
+italic: 2147483648 (number) = true (boolean)
+italic: 2147483650 (number) = true (boolean)
italic: (object) = true (boolean)
italic: (object) = true (boolean)
italic: 1,2 (object) = true (boolean)
@@ -1857,6 +1893,10 @@ kerning: 4,8,12 (string) = 4,8,12 (strin
kerning: true (boolean) = true (boolean)
kerning: false (boolean) = false (boolean)
kerning: null (null) = null (null)
+kerning: -2147483648 (number) = -2147483648 (number)
+kerning: -2147483650 (number) = -2147483650 (number)
+kerning: 2147483648 (number) = 2147483648 (number)
+kerning: 2147483650 (number) = 2147483650 (number)
kerning: (object) = (object)
kerning: (object) = (object)
kerning: 1,2 (object) = 1,2 (object)
@@ -2042,6 +2082,10 @@ leading: 4,8,12 (string) = 0 (number)
leading: true (boolean) = 1 (number)
leading: false (boolean) = 0 (number)
leading: null (null) = null (null)
+leading: -2147483648 (number) = 0 (number)
+leading: -2147483650 (number) = 2147483646 (number)
+leading: 2147483648 (number) = 0 (number)
+leading: 2147483650 (number) = 0 (number)
leading: (object) = 0 (number)
leading: (object) = 0 (number)
leading: 1,2 (object) = 0 (number)
@@ -2227,6 +2271,10 @@ leftMargin: 4,8,12 (string) = 0 (number)
leftMargin: true (boolean) = 1 (number)
leftMargin: false (boolean) = 0 (number)
leftMargin: null (null) = null (null)
+leftMargin: -2147483648 (number) = 0 (number)
+leftMargin: -2147483650 (number) = 2147483646 (number)
+leftMargin: 2147483648 (number) = 0 (number)
+leftMargin: 2147483650 (number) = 0 (number)
leftMargin: (object) = 0 (number)
leftMargin: (object) = 0 (number)
leftMargin: 1,2 (object) = 0 (number)
@@ -2362,6 +2410,10 @@ letterSpacing: 4,8,12 (string) = 4,8,12
letterSpacing: true (boolean) = true (boolean)
letterSpacing: false (boolean) = false (boolean)
letterSpacing: null (null) = null (null)
+letterSpacing: -2147483648 (number) = -2147483648 (number)
+letterSpacing: -2147483650 (number) = -2147483650 (number)
+letterSpacing: 2147483648 (number) = 2147483648 (number)
+letterSpacing: 2147483650 (number) = 2147483650 (number)
letterSpacing: (object) = (object)
letterSpacing: (object) = (object)
letterSpacing: 1,2 (object) = 1,2 (object)
@@ -2547,6 +2599,10 @@ rightMargin: 4,8,12 (string) = 0 (number
rightMargin: true (boolean) = 1 (number)
rightMargin: false (boolean) = 0 (number)
rightMargin: null (null) = null (null)
+rightMargin: -2147483648 (number) = 0 (number)
+rightMargin: -2147483650 (number) = 2147483646 (number)
+rightMargin: 2147483648 (number) = 0 (number)
+rightMargin: 2147483650 (number) = 0 (number)
rightMargin: (object) = 0 (number)
rightMargin: (object) = 0 (number)
rightMargin: 1,2 (object) = 0 (number)
@@ -2732,6 +2788,10 @@ size: 4,8,12 (string) = 0 (number)
size: true (boolean) = 1 (number)
size: false (boolean) = 0 (number)
size: null (null) = null (null)
+size: -2147483648 (number) = -2147483648 (number)
+size: -2147483650 (number) = 2147483646 (number)
+size: 2147483648 (number) = -2147483648 (number)
+size: 2147483650 (number) = -2147483646 (number)
size: (object) = 0 (number)
size: (object) = 0 (number)
size: 1,2 (object) = 0 (number)
@@ -2917,6 +2977,10 @@ tabStops: 4,8,12 (string) = 0,0,0,0,0,0
tabStops: true (boolean) = (object)
tabStops: false (boolean) = (object)
tabStops: null (null) = null (null)
+tabStops: -2147483648 (number) = null (null)
+tabStops: -2147483650 (number) = null (null)
+tabStops: 2147483648 (number) = null (null)
+tabStops: 2147483650 (number) = null (null)
tabStops: (object) = null (null)
tabStops: (object) = null (null)
tabStops: 1,2 (object) = 1,2 (object)
@@ -3102,6 +3166,10 @@ target: 4,8,12 (string) = 4,8,12 (string
target: true (boolean) = true (string)
target: false (boolean) = false (string)
target: null (null) = null (null)
+target: -2147483648 (number) = -2147483648 (string)
+target: -2147483650 (number) = -2147483650 (string)
+target: 2147483648 (number) = 2147483648 (string)
+target: 2147483650 (number) = 2147483650 (string)
target: (object) = (string)
target: (object) = (string)
target: 1,2 (object) = 1,2 (string)
@@ -3287,6 +3355,10 @@ underline: 4,8,12 (string) = false (bool
underline: true (boolean) = true (boolean)
underline: false (boolean) = false (boolean)
underline: null (null) = null (null)
+underline: -2147483648 (number) = true (boolean)
+underline: -2147483650 (number) = true (boolean)
+underline: 2147483648 (number) = true (boolean)
+underline: 2147483650 (number) = true (boolean)
underline: (object) = true (boolean)
underline: (object) = true (boolean)
underline: 1,2 (object) = true (boolean)
@@ -3472,6 +3544,10 @@ url: 4,8,12 (string) = 4,8,12 (string)
url: true (boolean) = true (string)
url: false (boolean) = false (string)
url: null (null) = null (null)
+url: -2147483648 (number) = -2147483648 (string)
+url: -2147483650 (number) = -2147483650 (string)
+url: 2147483648 (number) = 2147483648 (string)
+url: 2147483650 (number) = 2147483650 (string)
url: (object) = (string)
url: (object) = (string)
url: 1,2 (object) = 1,2 (string)
diff --git a/test/trace/textformat-7.swf b/test/trace/textformat-7.swf
index 31e3b16..6fbf1ec 100644
Binary files a/test/trace/textformat-7.swf and b/test/trace/textformat-7.swf differ
diff --git a/test/trace/textformat-7.swf.trace b/test/trace/textformat-7.swf.trace
index f35f608..c3a1928 100644
--- a/test/trace/textformat-7.swf.trace
+++ b/test/trace/textformat-7.swf.trace
@@ -213,6 +213,10 @@ align: 4,8,12 (string) = left (string)
align: true (boolean) = left (string)
align: false (boolean) = left (string)
align: null (null) = left (string)
+align: -2147483648 (number) = left (string)
+align: -2147483650 (number) = left (string)
+align: 2147483648 (number) = left (string)
+align: 2147483650 (number) = left (string)
align: (object) = left (string)
align: (object) = left (string)
align: 1,2 (object) = left (string)
@@ -398,6 +402,10 @@ blockIndent: 4,8,12 (string) = 0 (number
blockIndent: true (boolean) = 1 (number)
blockIndent: false (boolean) = 0 (number)
blockIndent: null (null) = null (null)
+blockIndent: -2147483648 (number) = 0 (number)
+blockIndent: -2147483650 (number) = 2147483646 (number)
+blockIndent: 2147483648 (number) = 0 (number)
+blockIndent: 2147483650 (number) = 0 (number)
blockIndent: (object) = 0 (number)
blockIndent: (object) = 0 (number)
blockIndent: 1,2 (object) = 0 (number)
@@ -583,6 +591,10 @@ bold: 4,8,12 (string) = true (boolean)
bold: true (boolean) = true (boolean)
bold: false (boolean) = false (boolean)
bold: null (null) = null (null)
+bold: -2147483648 (number) = true (boolean)
+bold: -2147483650 (number) = true (boolean)
+bold: 2147483648 (number) = true (boolean)
+bold: 2147483650 (number) = true (boolean)
bold: (object) = true (boolean)
bold: (object) = true (boolean)
bold: 1,2 (object) = true (boolean)
@@ -768,6 +780,10 @@ bullet: 4,8,12 (string) = true (boolean)
bullet: true (boolean) = true (boolean)
bullet: false (boolean) = false (boolean)
bullet: null (null) = null (null)
+bullet: -2147483648 (number) = true (boolean)
+bullet: -2147483650 (number) = true (boolean)
+bullet: 2147483648 (number) = true (boolean)
+bullet: 2147483650 (number) = true (boolean)
bullet: (object) = true (boolean)
bullet: (object) = true (boolean)
bullet: 1,2 (object) = true (boolean)
@@ -953,6 +969,10 @@ color: 4,8,12 (string) = 0 (number)
color: true (boolean) = 1 (number)
color: false (boolean) = 0 (number)
color: null (null) = null (null)
+color: -2147483648 (number) = 2147483648 (number)
+color: -2147483650 (number) = 2147483646 (number)
+color: 2147483648 (number) = 2147483648 (number)
+color: 2147483650 (number) = 2147483650 (number)
color: (object) = 0 (number)
color: (object) = 0 (number)
color: 1,2 (object) = 0 (number)
@@ -1167,6 +1187,10 @@ display: 4,8,12 (string) = block (string
display: true (boolean) = block (string)
display: false (boolean) = block (string)
display: null (null) = block (string)
+display: -2147483648 (number) = block (string)
+display: -2147483650 (number) = block (string)
+display: 2147483648 (number) = block (string)
+display: 2147483650 (number) = block (string)
display: (object) = block (string)
display: (object) = block (string)
display: 1,2 (object) = block (string)
@@ -1352,6 +1376,10 @@ font: 4,8,12 (string) = 4,8,12 (string)
font: true (boolean) = true (string)
font: false (boolean) = false (string)
font: null (null) = null (null)
+font: -2147483648 (number) = -2147483648 (string)
+font: -2147483650 (number) = -2147483650 (string)
+font: 2147483648 (number) = 2147483648 (string)
+font: 2147483650 (number) = 2147483650 (string)
font: (object) = (string)
font: (object) = (string)
font: 1,2 (object) = 1,2 (string)
@@ -1537,6 +1565,10 @@ indent: 4,8,12 (string) = 0 (number)
indent: true (boolean) = 1 (number)
indent: false (boolean) = 0 (number)
indent: null (null) = null (null)
+indent: -2147483648 (number) = 0 (number)
+indent: -2147483650 (number) = 2147483646 (number)
+indent: 2147483648 (number) = 0 (number)
+indent: 2147483650 (number) = 0 (number)
indent: (object) = 0 (number)
indent: (object) = 0 (number)
indent: 1,2 (object) = 0 (number)
@@ -1722,6 +1754,10 @@ italic: 4,8,12 (string) = true (boolean)
italic: true (boolean) = true (boolean)
italic: false (boolean) = false (boolean)
italic: null (null) = null (null)
+italic: -2147483648 (number) = true (boolean)
+italic: -2147483650 (number) = true (boolean)
+italic: 2147483648 (number) = true (boolean)
+italic: 2147483650 (number) = true (boolean)
italic: (object) = true (boolean)
italic: (object) = true (boolean)
italic: 1,2 (object) = true (boolean)
@@ -1857,6 +1893,10 @@ kerning: 4,8,12 (string) = 4,8,12 (strin
kerning: true (boolean) = true (boolean)
kerning: false (boolean) = false (boolean)
kerning: null (null) = null (null)
+kerning: -2147483648 (number) = -2147483648 (number)
+kerning: -2147483650 (number) = -2147483650 (number)
+kerning: 2147483648 (number) = 2147483648 (number)
+kerning: 2147483650 (number) = 2147483650 (number)
kerning: (object) = (object)
kerning: (object) = (object)
kerning: 1,2 (object) = 1,2 (object)
@@ -2042,6 +2082,10 @@ leading: 4,8,12 (string) = 0 (number)
leading: true (boolean) = 1 (number)
leading: false (boolean) = 0 (number)
leading: null (null) = null (null)
+leading: -2147483648 (number) = 0 (number)
+leading: -2147483650 (number) = 2147483646 (number)
+leading: 2147483648 (number) = 0 (number)
+leading: 2147483650 (number) = 0 (number)
leading: (object) = 0 (number)
leading: (object) = 0 (number)
leading: 1,2 (object) = 0 (number)
@@ -2227,6 +2271,10 @@ leftMargin: 4,8,12 (string) = 0 (number)
leftMargin: true (boolean) = 1 (number)
leftMargin: false (boolean) = 0 (number)
leftMargin: null (null) = null (null)
+leftMargin: -2147483648 (number) = 0 (number)
+leftMargin: -2147483650 (number) = 2147483646 (number)
+leftMargin: 2147483648 (number) = 0 (number)
+leftMargin: 2147483650 (number) = 0 (number)
leftMargin: (object) = 0 (number)
leftMargin: (object) = 0 (number)
leftMargin: 1,2 (object) = 0 (number)
@@ -2362,6 +2410,10 @@ letterSpacing: 4,8,12 (string) = 4,8,12
letterSpacing: true (boolean) = true (boolean)
letterSpacing: false (boolean) = false (boolean)
letterSpacing: null (null) = null (null)
+letterSpacing: -2147483648 (number) = -2147483648 (number)
+letterSpacing: -2147483650 (number) = -2147483650 (number)
+letterSpacing: 2147483648 (number) = 2147483648 (number)
+letterSpacing: 2147483650 (number) = 2147483650 (number)
letterSpacing: (object) = (object)
letterSpacing: (object) = (object)
letterSpacing: 1,2 (object) = 1,2 (object)
@@ -2547,6 +2599,10 @@ rightMargin: 4,8,12 (string) = 0 (number
rightMargin: true (boolean) = 1 (number)
rightMargin: false (boolean) = 0 (number)
rightMargin: null (null) = null (null)
+rightMargin: -2147483648 (number) = 0 (number)
+rightMargin: -2147483650 (number) = 2147483646 (number)
+rightMargin: 2147483648 (number) = 0 (number)
+rightMargin: 2147483650 (number) = 0 (number)
rightMargin: (object) = 0 (number)
rightMargin: (object) = 0 (number)
rightMargin: 1,2 (object) = 0 (number)
@@ -2732,6 +2788,10 @@ size: 4,8,12 (string) = 0 (number)
size: true (boolean) = 1 (number)
size: false (boolean) = 0 (number)
size: null (null) = null (null)
+size: -2147483648 (number) = -2147483648 (number)
+size: -2147483650 (number) = 2147483646 (number)
+size: 2147483648 (number) = -2147483648 (number)
+size: 2147483650 (number) = -2147483646 (number)
size: (object) = 0 (number)
size: (object) = 0 (number)
size: 1,2 (object) = 0 (number)
@@ -2917,6 +2977,10 @@ tabStops: 4,8,12 (string) = 0,0,0,0,0,0
tabStops: true (boolean) = (object)
tabStops: false (boolean) = (object)
tabStops: null (null) = null (null)
+tabStops: -2147483648 (number) = null (null)
+tabStops: -2147483650 (number) = null (null)
+tabStops: 2147483648 (number) = null (null)
+tabStops: 2147483650 (number) = null (null)
tabStops: (object) = null (null)
tabStops: (object) = null (null)
tabStops: 1,2 (object) = 1,2 (object)
@@ -3102,6 +3166,10 @@ target: 4,8,12 (string) = 4,8,12 (string
target: true (boolean) = true (string)
target: false (boolean) = false (string)
target: null (null) = null (null)
+target: -2147483648 (number) = -2147483648 (string)
+target: -2147483650 (number) = -2147483650 (string)
+target: 2147483648 (number) = 2147483648 (string)
+target: 2147483650 (number) = 2147483650 (string)
target: (object) = (string)
target: (object) = (string)
target: 1,2 (object) = 1,2 (string)
@@ -3287,6 +3355,10 @@ underline: 4,8,12 (string) = true (boole
underline: true (boolean) = true (boolean)
underline: false (boolean) = false (boolean)
underline: null (null) = null (null)
+underline: -2147483648 (number) = true (boolean)
+underline: -2147483650 (number) = true (boolean)
+underline: 2147483648 (number) = true (boolean)
+underline: 2147483650 (number) = true (boolean)
underline: (object) = true (boolean)
underline: (object) = true (boolean)
underline: 1,2 (object) = true (boolean)
@@ -3472,6 +3544,10 @@ url: 4,8,12 (string) = 4,8,12 (string)
url: true (boolean) = true (string)
url: false (boolean) = false (string)
url: null (null) = null (null)
+url: -2147483648 (number) = -2147483648 (string)
+url: -2147483650 (number) = -2147483650 (string)
+url: 2147483648 (number) = 2147483648 (string)
+url: 2147483650 (number) = 2147483650 (string)
url: (object) = (string)
url: (object) = (string)
url: 1,2 (object) = 1,2 (string)
diff --git a/test/trace/textformat-8.swf b/test/trace/textformat-8.swf
index 988ba56..2f890d7 100644
Binary files a/test/trace/textformat-8.swf and b/test/trace/textformat-8.swf differ
diff --git a/test/trace/textformat-8.swf.trace b/test/trace/textformat-8.swf.trace
index 6dbbea0..8f71e21 100644
--- a/test/trace/textformat-8.swf.trace
+++ b/test/trace/textformat-8.swf.trace
@@ -213,6 +213,10 @@ align: 4,8,12 (string) = left (string)
align: true (boolean) = left (string)
align: false (boolean) = left (string)
align: null (null) = left (string)
+align: -2147483648 (number) = left (string)
+align: -2147483650 (number) = left (string)
+align: 2147483648 (number) = left (string)
+align: 2147483650 (number) = left (string)
align: (object) = left (string)
align: (object) = left (string)
align: 1,2 (object) = left (string)
@@ -398,6 +402,10 @@ blockIndent: 4,8,12 (string) = -21474836
blockIndent: true (boolean) = 1 (number)
blockIndent: false (boolean) = 0 (number)
blockIndent: null (null) = null (null)
+blockIndent: -2147483648 (number) = -2147483648 (number)
+blockIndent: -2147483650 (number) = -2147483648 (number)
+blockIndent: 2147483648 (number) = -2147483648 (number)
+blockIndent: 2147483650 (number) = -2147483648 (number)
blockIndent: (object) = -2147483648 (number)
blockIndent: (object) = -2147483648 (number)
blockIndent: 1,2 (object) = -2147483648 (number)
@@ -583,6 +591,10 @@ bold: 4,8,12 (string) = true (boolean)
bold: true (boolean) = true (boolean)
bold: false (boolean) = false (boolean)
bold: null (null) = null (null)
+bold: -2147483648 (number) = true (boolean)
+bold: -2147483650 (number) = true (boolean)
+bold: 2147483648 (number) = true (boolean)
+bold: 2147483650 (number) = true (boolean)
bold: (object) = true (boolean)
bold: (object) = true (boolean)
bold: 1,2 (object) = true (boolean)
@@ -768,6 +780,10 @@ bullet: 4,8,12 (string) = true (boolean)
bullet: true (boolean) = true (boolean)
bullet: false (boolean) = false (boolean)
bullet: null (null) = null (null)
+bullet: -2147483648 (number) = true (boolean)
+bullet: -2147483650 (number) = true (boolean)
+bullet: 2147483648 (number) = true (boolean)
+bullet: 2147483650 (number) = true (boolean)
bullet: (object) = true (boolean)
bullet: (object) = true (boolean)
bullet: 1,2 (object) = true (boolean)
@@ -953,6 +969,10 @@ color: 4,8,12 (string) = 0 (number)
color: true (boolean) = 1 (number)
color: false (boolean) = 0 (number)
color: null (null) = null (null)
+color: -2147483648 (number) = 2147483648 (number)
+color: -2147483650 (number) = 2147483646 (number)
+color: 2147483648 (number) = 2147483648 (number)
+color: 2147483650 (number) = 2147483650 (number)
color: (object) = 0 (number)
color: (object) = 0 (number)
color: 1,2 (object) = 0 (number)
@@ -1167,6 +1187,10 @@ display: 4,8,12 (string) = block (string
display: true (boolean) = block (string)
display: false (boolean) = block (string)
display: null (null) = block (string)
+display: -2147483648 (number) = block (string)
+display: -2147483650 (number) = block (string)
+display: 2147483648 (number) = block (string)
+display: 2147483650 (number) = block (string)
display: (object) = block (string)
display: (object) = block (string)
display: 1,2 (object) = block (string)
@@ -1352,6 +1376,10 @@ font: 4,8,12 (string) = 4,8,12 (string)
font: true (boolean) = true (string)
font: false (boolean) = false (string)
font: null (null) = null (null)
+font: -2147483648 (number) = -2147483648 (string)
+font: -2147483650 (number) = -2147483650 (string)
+font: 2147483648 (number) = 2147483648 (string)
+font: 2147483650 (number) = 2147483650 (string)
font: (object) = (string)
font: (object) = (string)
font: 1,2 (object) = 1,2 (string)
@@ -1537,6 +1565,10 @@ indent: 4,8,12 (string) = -2147483648 (n
indent: true (boolean) = 1 (number)
indent: false (boolean) = 0 (number)
indent: null (null) = null (null)
+indent: -2147483648 (number) = -2147483648 (number)
+indent: -2147483650 (number) = -2147483648 (number)
+indent: 2147483648 (number) = -2147483648 (number)
+indent: 2147483650 (number) = -2147483648 (number)
indent: (object) = -2147483648 (number)
indent: (object) = -2147483648 (number)
indent: 1,2 (object) = -2147483648 (number)
@@ -1722,6 +1754,10 @@ italic: 4,8,12 (string) = true (boolean)
italic: true (boolean) = true (boolean)
italic: false (boolean) = false (boolean)
italic: null (null) = null (null)
+italic: -2147483648 (number) = true (boolean)
+italic: -2147483650 (number) = true (boolean)
+italic: 2147483648 (number) = true (boolean)
+italic: 2147483650 (number) = true (boolean)
italic: (object) = true (boolean)
italic: (object) = true (boolean)
italic: 1,2 (object) = true (boolean)
@@ -1907,6 +1943,10 @@ kerning: 4,8,12 (string) = true (boolean
kerning: true (boolean) = true (boolean)
kerning: false (boolean) = false (boolean)
kerning: null (null) = null (null)
+kerning: -2147483648 (number) = true (boolean)
+kerning: -2147483650 (number) = true (boolean)
+kerning: 2147483648 (number) = true (boolean)
+kerning: 2147483650 (number) = true (boolean)
kerning: (object) = true (boolean)
kerning: (object) = true (boolean)
kerning: 1,2 (object) = true (boolean)
@@ -2092,6 +2132,10 @@ leading: 4,8,12 (string) = -2147483648 (
leading: true (boolean) = 1 (number)
leading: false (boolean) = 0 (number)
leading: null (null) = null (null)
+leading: -2147483648 (number) = -2147483648 (number)
+leading: -2147483650 (number) = -2147483648 (number)
+leading: 2147483648 (number) = -2147483648 (number)
+leading: 2147483650 (number) = -2147483648 (number)
leading: (object) = -2147483648 (number)
leading: (object) = -2147483648 (number)
leading: 1,2 (object) = -2147483648 (number)
@@ -2277,6 +2321,10 @@ leftMargin: 4,8,12 (string) = 0 (number)
leftMargin: true (boolean) = 1 (number)
leftMargin: false (boolean) = 0 (number)
leftMargin: null (null) = null (null)
+leftMargin: -2147483648 (number) = 0 (number)
+leftMargin: -2147483650 (number) = 0 (number)
+leftMargin: 2147483648 (number) = -2147483648 (number)
+leftMargin: 2147483650 (number) = -2147483648 (number)
leftMargin: (object) = 0 (number)
leftMargin: (object) = 0 (number)
leftMargin: 1,2 (object) = 0 (number)
@@ -2462,6 +2510,10 @@ letterSpacing: 4,8,12 (string) = NaN (nu
letterSpacing: true (boolean) = 1 (number)
letterSpacing: false (boolean) = 0 (number)
letterSpacing: null (null) = null (null)
+letterSpacing: -2147483648 (number) = -2147483648 (number)
+letterSpacing: -2147483650 (number) = -2147483650 (number)
+letterSpacing: 2147483648 (number) = 2147483648 (number)
+letterSpacing: 2147483650 (number) = 2147483650 (number)
letterSpacing: (object) = NaN (number)
letterSpacing: (object) = NaN (number)
letterSpacing: 1,2 (object) = NaN (number)
@@ -2647,6 +2699,10 @@ rightMargin: 4,8,12 (string) = 0 (number
rightMargin: true (boolean) = 1 (number)
rightMargin: false (boolean) = 0 (number)
rightMargin: null (null) = null (null)
+rightMargin: -2147483648 (number) = 0 (number)
+rightMargin: -2147483650 (number) = 0 (number)
+rightMargin: 2147483648 (number) = -2147483648 (number)
+rightMargin: 2147483650 (number) = -2147483648 (number)
rightMargin: (object) = 0 (number)
rightMargin: (object) = 0 (number)
rightMargin: 1,2 (object) = 0 (number)
@@ -2832,6 +2888,10 @@ size: 4,8,12 (string) = -2147483648 (num
size: true (boolean) = 1 (number)
size: false (boolean) = 0 (number)
size: null (null) = null (null)
+size: -2147483648 (number) = -2147483648 (number)
+size: -2147483650 (number) = -2147483648 (number)
+size: 2147483648 (number) = -2147483648 (number)
+size: 2147483650 (number) = -2147483648 (number)
size: (object) = -2147483648 (number)
size: (object) = -2147483648 (number)
size: 1,2 (object) = -2147483648 (number)
@@ -3017,6 +3077,10 @@ tabStops: 4,8,12 (string) = -2147483648,
tabStops: true (boolean) = (object)
tabStops: false (boolean) = (object)
tabStops: null (null) = null (null)
+tabStops: -2147483648 (number) = null (null)
+tabStops: -2147483650 (number) = null (null)
+tabStops: 2147483648 (number) = null (null)
+tabStops: 2147483650 (number) = null (null)
tabStops: (object) = null (null)
tabStops: (object) = null (null)
tabStops: 1,2 (object) = 1,2 (object)
@@ -3202,6 +3266,10 @@ target: 4,8,12 (string) = 4,8,12 (string
target: true (boolean) = true (string)
target: false (boolean) = false (string)
target: null (null) = null (null)
+target: -2147483648 (number) = -2147483648 (string)
+target: -2147483650 (number) = -2147483650 (string)
+target: 2147483648 (number) = 2147483648 (string)
+target: 2147483650 (number) = 2147483650 (string)
target: (object) = (string)
target: (object) = (string)
target: 1,2 (object) = 1,2 (string)
@@ -3387,6 +3455,10 @@ underline: 4,8,12 (string) = true (boole
underline: true (boolean) = true (boolean)
underline: false (boolean) = false (boolean)
underline: null (null) = null (null)
+underline: -2147483648 (number) = true (boolean)
+underline: -2147483650 (number) = true (boolean)
+underline: 2147483648 (number) = true (boolean)
+underline: 2147483650 (number) = true (boolean)
underline: (object) = true (boolean)
underline: (object) = true (boolean)
underline: 1,2 (object) = true (boolean)
@@ -3572,6 +3644,10 @@ url: 4,8,12 (string) = 4,8,12 (string)
url: true (boolean) = true (string)
url: false (boolean) = false (string)
url: null (null) = null (null)
+url: -2147483648 (number) = -2147483648 (string)
+url: -2147483650 (number) = -2147483650 (string)
+url: 2147483648 (number) = 2147483648 (string)
+url: 2147483650 (number) = 2147483650 (string)
url: (object) = (string)
url: (object) = (string)
url: 1,2 (object) = 1,2 (string)
diff --git a/test/trace/textformat.as b/test/trace/textformat.as
index 686ae15..24f352d 100644
--- a/test/trace/textformat.as
+++ b/test/trace/textformat.as
@@ -59,7 +59,11 @@ var tests = [
"4,8,12",
true,
false,
- null
+ null,
+ -2147483648,
+ -2147483650,
+ 2147483648,
+ 2147483650
];
tests.push (new Array ());
diff-tree 80ae44b6dca893301ecae2c280ce2869d18c84ff (from 79ce5281af204fc619574b90cb8b0614a8a2e12c)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Wed Oct 3 15:38:41 2007 +0300
Change TextFormat class' implementation somewhat
Separate set/unset status from the values to a bitfield
Add swfdec_text_format_new function
diff --git a/libswfdec/swfdec_text_format.c b/libswfdec/swfdec_text_format.c
index a023b13..96bac90 100644
--- a/libswfdec/swfdec_text_format.c
+++ b/libswfdec/swfdec_text_format.c
@@ -36,16 +36,37 @@
G_DEFINE_TYPE (SwfdecTextFormat, swfdec_text_format, SWFDEC_TYPE_AS_OBJECT)
+static int property_offsets[] = {
+ G_STRUCT_OFFSET (SwfdecTextFormat, align),
+ G_STRUCT_OFFSET (SwfdecTextFormat, block_indent),
+ G_STRUCT_OFFSET (SwfdecTextFormat, bold),
+ G_STRUCT_OFFSET (SwfdecTextFormat, bullet),
+ G_STRUCT_OFFSET (SwfdecTextFormat, color),
+ G_STRUCT_OFFSET (SwfdecTextFormat, display),
+ G_STRUCT_OFFSET (SwfdecTextFormat, font),
+ G_STRUCT_OFFSET (SwfdecTextFormat, indent),
+ G_STRUCT_OFFSET (SwfdecTextFormat, italic),
+ G_STRUCT_OFFSET (SwfdecTextFormat, kerning),
+ G_STRUCT_OFFSET (SwfdecTextFormat, leading),
+ G_STRUCT_OFFSET (SwfdecTextFormat, left_margin),
+ G_STRUCT_OFFSET (SwfdecTextFormat, letter_spacing),
+ G_STRUCT_OFFSET (SwfdecTextFormat, right_margin),
+ G_STRUCT_OFFSET (SwfdecTextFormat, size),
+ G_STRUCT_OFFSET (SwfdecTextFormat, tab_stops),
+ G_STRUCT_OFFSET (SwfdecTextFormat, target),
+ G_STRUCT_OFFSET (SwfdecTextFormat, underline),
+ G_STRUCT_OFFSET (SwfdecTextFormat, url)
+};
+
static void
swfdec_text_format_do_mark (SwfdecAsObject *object)
{
- SwfdecTextFormat *format = SWFDEC_TEXTFORMAT (object);
+ SwfdecTextFormat *format = SWFDEC_TEXT_FORMAT (object);
if (format->font != NULL)
swfdec_as_string_mark (format->font);
- // no need to mark letterSpacing, it's always number or null
- if (format->tabStops != NULL)
- swfdec_as_object_mark (SWFDEC_AS_OBJECT (format->tabStops));
+ if (format->tab_stops != NULL)
+ swfdec_as_object_mark (SWFDEC_AS_OBJECT (format->tab_stops));
if (format->target != NULL)
swfdec_as_string_mark (format->target);
if (format->url != NULL)
@@ -67,36 +88,56 @@ swfdec_text_format_init (SwfdecTextForma
{
}
+static gboolean
+swfdec_text_format_is_set (SwfdecTextFormat *format,
+ SwfdecTextFormatProperty property)
+{
+ return (format->values_set & (1 << property));
+}
+
static void
-swfdec_text_format_get_string (SwfdecAsObject *object, size_t offset,
- SwfdecAsValue *ret)
+swfdec_text_format_mark_set (SwfdecTextFormat *format,
+ SwfdecTextFormatProperty property)
+{
+ format->values_set |= (1 << property);
+}
+
+static void
+swfdec_text_format_mark_unset (SwfdecTextFormat *format,
+ SwfdecTextFormatProperty property)
+{
+ format->values_set &= ~(1 << property);
+}
+
+static void
+swfdec_text_format_get_string (SwfdecAsObject *object,
+ SwfdecTextFormatProperty property, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
- const char *value;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
+ format = SWFDEC_TEXT_FORMAT (object);
- format = SWFDEC_TEXTFORMAT (object);
- value = G_STRUCT_MEMBER (const char *, format, offset);
-
- if (value != NULL) {
- SWFDEC_AS_VALUE_SET_STRING (ret, value);
- } else {
+ if (!swfdec_text_format_is_set (format, property)) {
SWFDEC_AS_VALUE_SET_NULL (ret);
+ return;
}
+
+ SWFDEC_AS_VALUE_SET_STRING (ret,
+ G_STRUCT_MEMBER (const char *, format, property_offsets[property]));
}
static void
-swfdec_text_format_set_string (SwfdecAsObject *object, size_t offset,
- guint argc, SwfdecAsValue *argv)
+swfdec_text_format_set_string (SwfdecAsObject *object,
+ SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv)
{
SwfdecTextFormat *format;
const char *s;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
if (argc < 1)
return;
@@ -107,49 +148,45 @@ swfdec_text_format_set_string (SwfdecAsO
if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
- G_STRUCT_MEMBER (const char *, format, offset) = NULL;
+ G_STRUCT_MEMBER (const char *, format, property_offsets[property]) = NULL;
+ swfdec_text_format_mark_unset (format, property);
} else {
- G_STRUCT_MEMBER (const char *, format, offset) = s;
+ G_STRUCT_MEMBER (const char *, format, property_offsets[property]) = s;
+ swfdec_text_format_mark_set (format, property);
}
}
static void
-swfdec_text_format_get_toggle (SwfdecAsObject *object, size_t offset,
- SwfdecAsValue *ret)
+swfdec_text_format_get_boolean (SwfdecAsObject *object,
+ SwfdecTextFormatProperty property, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
- SwfdecToggle value;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
- value = G_STRUCT_MEMBER (SwfdecToggle, format, offset);
+ if (!swfdec_text_format_is_set (format, property)) {
+ SWFDEC_AS_VALUE_SET_NULL (ret);
+ return;
+ }
- switch (value) {
- case SWFDEC_TOGGLE_DISABLED:
- SWFDEC_AS_VALUE_SET_BOOLEAN (ret, FALSE);
- break;
- case SWFDEC_TOGGLE_ENABLED:
- SWFDEC_AS_VALUE_SET_BOOLEAN (ret, TRUE);
- break;
- case SWFDEC_TOGGLE_UNDEFINED:
- SWFDEC_AS_VALUE_SET_NULL (ret);
- break;
- default:
- g_assert_not_reached ();
+ if (G_STRUCT_MEMBER (gboolean, format, property_offsets[property])) {
+ SWFDEC_AS_VALUE_SET_BOOLEAN (ret, TRUE);
+ } else {
+ SWFDEC_AS_VALUE_SET_BOOLEAN (ret, FALSE);
}
}
static void
-swfdec_text_format_set_toggle (SwfdecAsObject *object, size_t offset,
- guint argc, SwfdecAsValue *argv)
+swfdec_text_format_set_boolean (SwfdecAsObject *object,
+ SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv)
{
SwfdecTextFormat *format;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
if (argc < 1)
return;
@@ -160,100 +197,86 @@ swfdec_text_format_set_toggle (SwfdecAsO
if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
- G_STRUCT_MEMBER (SwfdecToggle, format, offset) = SWFDEC_TOGGLE_UNDEFINED;
+ swfdec_text_format_mark_unset (format, property);
} else {
- if (swfdec_as_value_to_boolean (object->context, &argv[0])) {
- G_STRUCT_MEMBER (SwfdecToggle, format, offset) = SWFDEC_TOGGLE_ENABLED;
- } else {
- G_STRUCT_MEMBER (SwfdecToggle, format, offset) = SWFDEC_TOGGLE_DISABLED;
- }
+ G_STRUCT_MEMBER (gboolean, format, property_offsets[property]) =
+ swfdec_as_value_to_boolean (object->context, &argv[0]);
+ swfdec_text_format_mark_set (format, property);
}
}
static void
-swfdec_text_format_get_int (SwfdecAsObject *object, size_t offset,
- SwfdecAsValue *ret)
+swfdec_text_format_get_integer (SwfdecAsObject *object,
+ SwfdecTextFormatProperty property, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
- double value;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
- value = G_STRUCT_MEMBER (double, format, offset);
-
- if (!isnan (value)) {
- SWFDEC_AS_VALUE_SET_NUMBER (ret, value);
- } else {
+ if (!swfdec_text_format_is_set (format, property)) {
SWFDEC_AS_VALUE_SET_NULL (ret);
+ return;
}
+
+ SWFDEC_AS_VALUE_SET_NUMBER (ret,
+ (double)G_STRUCT_MEMBER (int, format, property_offsets[property]));
}
-static double
+static int
swfdec_text_format_value_to_integer (SwfdecAsContext *cx, SwfdecAsValue *val,
- gboolean allow_negative, gboolean is_unsigned)
+ gboolean allow_negative)
{
double d;
int n;
- if (cx->version >= 8 && is_unsigned) {
- d = swfdec_as_value_to_number (cx, val);
- n = swfdec_as_value_to_integer (cx, val);
- } else {
- n = swfdec_as_value_to_integer (cx, val);
- d = swfdec_as_value_to_number (cx, val);
- }
+ n = swfdec_as_value_to_integer (cx, val);
+ d = swfdec_as_value_to_number (cx, val);
swfdec_as_value_to_string (cx, val);
if (cx->version >= 8) {
- if (!is_unsigned && !isnan (d) && !isfinite (d) && d > 0) {
+ if (!isnan (d) && ((!isfinite (d) && d > 0) || (isfinite (d) && d > (int)G_MAXINT32))) {
// don't check allow_negative here
return -2147483648;
} else {
- if (is_unsigned) {
- return (unsigned)d;
+ if (!allow_negative && (int)d < 0) {
+ return 0;
} else {
- if (!allow_negative && (int)d < 0) {
- return 0;
- } else {
- return (int)d;
- }
+ return (int)d;
}
}
} else {
- if (is_unsigned) {
- return (unsigned)n;
+ if (!allow_negative && n < 0) {
+ return 0;
} else {
- if (!allow_negative && n < 0) {
- return 0;
- } else {
- return n;
- }
+ return n;
}
}
}
static void
-swfdec_text_format_set_int (SwfdecAsObject *object, size_t offset, guint argc,
- SwfdecAsValue *argv, gboolean allow_negative, gboolean is_unsigned)
+swfdec_text_format_set_integer (SwfdecAsObject *object,
+ SwfdecTextFormatProperty property, guint argc, SwfdecAsValue *argv,
+ gboolean allow_negative)
{
SwfdecTextFormat *format;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
if (argc < 1)
return;
if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
- G_STRUCT_MEMBER (double, format, offset) = NAN;
+ swfdec_text_format_mark_unset (format, property);
} else {
- G_STRUCT_MEMBER (double, format, offset) =
+ G_STRUCT_MEMBER (int, format, property_offsets[property]) =
swfdec_text_format_value_to_integer (object->context, &argv[0],
- allow_negative, is_unsigned);
+ allow_negative);
+ swfdec_text_format_mark_set (format, property);
}
}
@@ -263,9 +286,14 @@ swfdec_text_format_get_align (SwfdecAsCo
{
SwfdecTextFormat *format;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
+ return;
+ format = SWFDEC_TEXT_FORMAT (object);
+
+ if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN)) {
+ SWFDEC_AS_VALUE_SET_NULL (ret);
return;
- format = SWFDEC_TEXTFORMAT (object);
+ }
switch (format->align) {
case SWFDEC_TEXT_ALIGN_LEFT:
@@ -280,9 +308,6 @@ swfdec_text_format_get_align (SwfdecAsCo
case SWFDEC_TEXT_ALIGN_JUSTIFY:
SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_justify);
break;
- case SWFDEC_TEXT_ALIGN_UNDEFINED:
- SWFDEC_AS_VALUE_SET_NULL (ret);
- break;
default:
g_assert_not_reached ();
}
@@ -295,9 +320,9 @@ swfdec_text_format_set_align (SwfdecAsCo
SwfdecTextFormat *format;
const char *s;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
if (argc < 1)
return;
@@ -308,78 +333,113 @@ swfdec_text_format_set_align (SwfdecAsCo
if (!g_ascii_strcasecmp (s, "left")) {
format->align = SWFDEC_TEXT_ALIGN_LEFT;
+ swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
} else if (!g_ascii_strcasecmp (s, "center")) {
format->align = SWFDEC_TEXT_ALIGN_CENTER;
+ swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
} else if (!g_ascii_strcasecmp (s, "right")) {
format->align = SWFDEC_TEXT_ALIGN_RIGHT;
+ swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
} else if (!g_ascii_strcasecmp (s, "justify")) {
format->align = SWFDEC_TEXT_ALIGN_JUSTIFY;
+ swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN);
}
}
static void
-swfdec_text_format_get_blockIndent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_get_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, blockIndent), ret);
+ swfdec_text_format_get_integer (object,
+ SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT, ret);
}
static void
-swfdec_text_format_set_blockIndent (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_set_block_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, blockIndent), argc, argv,
- cx->version >= 8, FALSE);
+ swfdec_text_format_set_integer (object,
+ SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT, argc, argv, cx->version >= 8);
}
static void
swfdec_text_format_get_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_toggle (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, bold), ret);
+ swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
+ ret);
}
static void
swfdec_text_format_set_bold (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_toggle (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, bold), argc, argv);
+ swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
+ argc, argv);
}
static void
swfdec_text_format_get_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_toggle (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, bullet), ret);
+ swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
+ ret);
}
static void
swfdec_text_format_set_bullet (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_toggle (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, bullet), argc, argv);
+ swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
+ argc, argv);
}
static void
swfdec_text_format_get_color (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, color), ret);
+ SwfdecTextFormat *format;
+
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
+ return;
+ format = SWFDEC_TEXT_FORMAT (object);
+
+ if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR)) {
+ SWFDEC_AS_VALUE_SET_NULL (ret);
+ return;
+ }
+
+ SWFDEC_AS_VALUE_SET_NUMBER (ret, format->color);
}
static void
swfdec_text_format_set_color (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, color), argc, argv, FALSE, TRUE);
+ SwfdecTextFormat *format;
+
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
+ return;
+ format = SWFDEC_TEXT_FORMAT (object);
+
+ if (argc < 1)
+ return;
+
+
+ if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
+ SWFDEC_AS_VALUE_IS_NULL (&argv[0])) {
+ swfdec_text_format_mark_unset (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR);
+ } else {
+ if (cx->version >= 8) {
+ format->color = (unsigned)swfdec_as_value_to_number (cx, &argv[0]);
+ } else {
+ format->color = (unsigned)swfdec_as_value_to_integer (cx, &argv[0]);
+ }
+ swfdec_as_value_to_integer (cx, &argv[0]);
+ swfdec_as_value_to_string (cx, &argv[0]);
+
+ swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_COLOR);
+ }
}
static void
@@ -388,9 +448,15 @@ swfdec_text_format_get_display (SwfdecAs
{
SwfdecTextFormat *format;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
+
+ if (!swfdec_text_format_is_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY))
+ {
+ SWFDEC_AS_VALUE_SET_NULL (ret);
+ return;
+ }
switch (format->display) {
case SWFDEC_TEXT_DISPLAY_NONE:
@@ -402,9 +468,6 @@ swfdec_text_format_get_display (SwfdecAs
case SWFDEC_TEXT_DISPLAY_BLOCK:
SWFDEC_AS_VALUE_SET_STRING (ret, SWFDEC_AS_STR_block);
break;
- case SWFDEC_TEXT_ALIGN_UNDEFINED:
- SWFDEC_AS_VALUE_SET_NULL (ret);
- break;
default:
g_assert_not_reached ();
}
@@ -417,9 +480,9 @@ swfdec_text_format_set_display (SwfdecAs
SwfdecTextFormat *format;
const char *s;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
swfdec_as_value_to_integer (cx, &argv[0]);
swfdec_as_value_to_number (cx, &argv[0]);
@@ -433,131 +496,137 @@ swfdec_text_format_set_display (SwfdecAs
} else {
format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
}
+
+ swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY);
}
static void
swfdec_text_format_get_font (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_string (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, font), ret);
+ swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
+ ret);
}
static void
swfdec_text_format_set_font (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_string (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, font), argc, argv);
+ swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
+ argc, argv);
}
static void
swfdec_text_format_get_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, indent), ret);
+ swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
+ ret);
}
static void
swfdec_text_format_set_indent (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, indent), argc, argv,
- cx->version >= 8, FALSE);
+ swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
+ argc, argv, cx->version >= 8);
}
static void
swfdec_text_format_get_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_toggle (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, italic), ret);
+ swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC, ret);
}
static void
swfdec_text_format_set_italic (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_toggle (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, italic), argc, argv);
+ swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC,
+ argc, argv);
}
static void
swfdec_text_format_get_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_toggle (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, kerning), ret);
+ swfdec_text_format_get_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
+ ret);
}
static void
swfdec_text_format_set_kerning (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_toggle (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, kerning), argc, argv);
+ swfdec_text_format_set_boolean (object, SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
+ argc, argv);
}
static void
swfdec_text_format_get_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, leading), ret);
+ swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
+ ret);
}
static void
swfdec_text_format_set_leading (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, leading), argc, argv,
- cx->version >= 8, FALSE);
+ swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
+ argc, argv, cx->version >= 8);
}
static void
-swfdec_text_format_get_leftMargin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_get_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, leftMargin), ret);
+ swfdec_text_format_get_integer (object,
+ SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN, ret);
}
static void
-swfdec_text_format_set_leftMargin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_set_left_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, leftMargin), argc, argv, FALSE, FALSE);
+ swfdec_text_format_set_integer (object,
+ SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN, argc, argv, FALSE);
}
static void
-swfdec_text_format_get_letterSpacing (SwfdecAsContext *cx,
+swfdec_text_format_get_letter_spacing (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
- *ret = format->letterSpacing;
+ if (!swfdec_text_format_is_set (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING))
+ {
+ SWFDEC_AS_VALUE_SET_NULL (ret);
+ return;
+ }
+
+ SWFDEC_AS_VALUE_SET_NUMBER (ret, format->letter_spacing);
}
static void
-swfdec_text_format_set_letterSpacing (SwfdecAsContext *cx,
+swfdec_text_format_set_letter_spacing (SwfdecAsContext *cx,
SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
double d;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
if (argc < 1)
return;
@@ -566,77 +635,82 @@ swfdec_text_format_set_letterSpacing (Sw
d = swfdec_as_value_to_number (cx, &argv[0]);
swfdec_as_value_to_string (cx, &argv[0]);
-
if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
SWFDEC_AS_VALUE_IS_NULL (&argv[0]))
{
- SWFDEC_AS_VALUE_SET_NULL (&format->letterSpacing);
+ swfdec_text_format_mark_unset (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING);
}
else
{
- SWFDEC_AS_VALUE_SET_NUMBER (&format->letterSpacing, d);
+ format->letter_spacing = d;
+ swfdec_text_format_mark_set (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING);
}
}
static void
-swfdec_text_format_get_rightMargin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_get_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, rightMargin), ret);
+ swfdec_text_format_get_integer (object,
+ SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN, ret);
}
static void
-swfdec_text_format_set_rightMargin (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_set_right_margin (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, rightMargin), argc, argv, FALSE,
- FALSE);
+ swfdec_text_format_set_integer (object,
+ SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN, argc, argv, FALSE);
}
static void
swfdec_text_format_get_size (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, size), ret);
+ swfdec_text_format_get_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
+ ret);
}
static void
swfdec_text_format_set_size (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_int (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, size), argc, argv, TRUE, FALSE);
+ swfdec_text_format_set_integer (object, SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
+ argc, argv, TRUE);
}
static void
-swfdec_text_format_get_tabStops (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_get_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
- if (format->tabStops != NULL) {
- SWFDEC_AS_VALUE_SET_OBJECT (ret, SWFDEC_AS_OBJECT (format->tabStops));
- } else {
+ if (!swfdec_text_format_is_set (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
+ {
SWFDEC_AS_VALUE_SET_NULL (ret);
+ return;
}
+
+ g_return_if_fail (SWFDEC_IS_AS_OBJECT (format->tab_stops));
+ SWFDEC_AS_VALUE_SET_OBJECT (ret, SWFDEC_AS_OBJECT (format->tab_stops));
}
static void
-swfdec_text_format_set_tabStops (SwfdecAsContext *cx, SwfdecAsObject *object,
+swfdec_text_format_set_tab_stops (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
SwfdecTextFormat *format;
- if (!SWFDEC_IS_TEXTFORMAT (object))
+ if (!SWFDEC_IS_TEXT_FORMAT (object))
return;
- format = SWFDEC_TEXTFORMAT (object);
+ format = SWFDEC_TEXT_FORMAT (object);
if (argc < 1)
return;
@@ -648,7 +722,9 @@ swfdec_text_format_set_tabStops (SwfdecA
if (SWFDEC_AS_VALUE_IS_UNDEFINED (&argv[0]) ||
SWFDEC_AS_VALUE_IS_NULL (&argv[0]))
{
- format->tabStops = NULL;
+ format->tab_stops = NULL;
+ swfdec_text_format_mark_unset (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
}
else if (SWFDEC_AS_VALUE_IS_OBJECT (&argv[0]) &&
SWFDEC_IS_AS_ARRAY (SWFDEC_AS_VALUE_GET_OBJECT (&argv[0])))
@@ -656,24 +732,28 @@ swfdec_text_format_set_tabStops (SwfdecA
SwfdecAsArray *array;
SwfdecAsValue val;
gint32 len, i;
- double d;
+ int n;
array = SWFDEC_AS_ARRAY (SWFDEC_AS_VALUE_GET_OBJECT (&argv[0]));
len = swfdec_as_array_get_length (array);
- if (format->tabStops == NULL) {
+ if (!swfdec_text_format_is_set (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
+ {
// special case, if we have null and array is empty, keep it at null
if (len == 0)
return;
- format->tabStops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
+ format->tab_stops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
+ swfdec_text_format_mark_set (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
}
- swfdec_as_array_set_length (format->tabStops, 0);
+ swfdec_as_array_set_length (format->tab_stops, 0);
for (i = 0; i < len; i++) {
swfdec_as_array_get_value (array, i, &val);
- d = swfdec_text_format_value_to_integer (cx, &val, TRUE, FALSE);
- SWFDEC_AS_VALUE_SET_NUMBER (&val, d);
- swfdec_as_array_set_value (format->tabStops, i, &val);
+ n = swfdec_text_format_value_to_integer (cx, &val, TRUE);
+ SWFDEC_AS_VALUE_SET_INT (&val, n);
+ swfdec_as_array_set_value (format->tab_stops, i, &val);
}
}
else if (SWFDEC_AS_VALUE_IS_STRING (&argv[0]))
@@ -681,26 +761,33 @@ swfdec_text_format_set_tabStops (SwfdecA
size_t i, len;
SwfdecAsValue val;
- format->tabStops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
len = strlen (SWFDEC_AS_VALUE_GET_STRING (&argv[0]));
// special case: empty strings mean null
if (len == 0) {
- format->tabStops = NULL;
+ format->tab_stops = NULL;
+ swfdec_text_format_mark_unset (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
} else {
+ format->tab_stops = SWFDEC_AS_ARRAY (swfdec_as_array_new (cx));
+ swfdec_text_format_mark_set (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
if (cx->version >= 8) {
SWFDEC_AS_VALUE_SET_INT (&val, -2147483648);
} else {
SWFDEC_AS_VALUE_SET_INT (&val, 0);
}
for (i = 0; i < len; i++) {
- swfdec_as_array_push (format->tabStops, &val);
+ swfdec_as_array_push (format->tab_stops, &val);
}
}
}
- else if (format->tabStops != NULL)
+ else if (swfdec_text_format_is_set (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS))
{
- swfdec_as_array_set_length (format->tabStops, 0);
+ swfdec_as_array_set_length (format->tab_stops, 0);
+ swfdec_text_format_mark_set (format,
+ SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS);
}
}
@@ -708,48 +795,47 @@ static void
swfdec_text_format_get_target (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_string (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, target), ret);
+ swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
+ ret);
}
static void
swfdec_text_format_set_target (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_string (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, target), argc, argv);
+ swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
+ argc, argv);
}
static void
swfdec_text_format_get_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_toggle (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, underline), ret);
+ swfdec_text_format_get_boolean (object,
+ SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE, ret);
}
static void
swfdec_text_format_set_underline (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_toggle (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, underline), argc, argv);
+ swfdec_text_format_set_boolean (object,
+ SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE, argc, argv);
}
static void
swfdec_text_format_get_url (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_get_string (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, url), ret);
+ swfdec_text_format_get_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_URL, ret);
}
static void
swfdec_text_format_set_url (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- swfdec_text_format_set_string (object,
- G_STRUCT_OFFSET (SwfdecTextFormat, url), argc, argv);
+ swfdec_text_format_set_string (object, SWFDEC_TEXT_FORMAT_PROPERTY_URL, argc,
+ argv);
}
static void
@@ -777,12 +863,24 @@ swfdec_text_format_add_variable (SwfdecA
swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
}
+static void
+swfdec_text_format_clear (SwfdecTextFormat *format)
+{
+ format->font = NULL;
+ format->target = NULL;
+ format->tab_stops = NULL;
+ format->url = NULL;
+ format->values_set = 0;
+
+ format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
+ swfdec_text_format_mark_set (format, SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY);
+}
+
SWFDEC_AS_CONSTRUCTOR (110, 0, swfdec_text_format_construct, swfdec_text_format_get_type)
void
swfdec_text_format_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
- SwfdecTextFormat *format;
guint i;
if (!swfdec_as_context_is_constructing (cx)) {
@@ -790,7 +888,7 @@ swfdec_text_format_construct (SwfdecAsCo
return;
}
- g_assert (SWFDEC_IS_TEXTFORMAT (object));
+ g_assert (SWFDEC_IS_TEXT_FORMAT (object));
if (!SWFDEC_PLAYER (cx)->text_format_properties_initialized) {
SwfdecAsValue val;
@@ -803,7 +901,8 @@ swfdec_text_format_construct (SwfdecAsCo
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_align,
swfdec_text_format_get_align, swfdec_text_format_set_align);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_blockIndent,
- swfdec_text_format_get_blockIndent, swfdec_text_format_set_blockIndent);
+ swfdec_text_format_get_block_indent,
+ swfdec_text_format_set_block_indent);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bold,
swfdec_text_format_get_bold, swfdec_text_format_set_bold);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_bullet,
@@ -825,18 +924,20 @@ swfdec_text_format_construct (SwfdecAsCo
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leading,
swfdec_text_format_get_leading, swfdec_text_format_set_leading);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_leftMargin,
- swfdec_text_format_get_leftMargin, swfdec_text_format_set_leftMargin);
+ swfdec_text_format_get_left_margin,
+ swfdec_text_format_set_left_margin);
if (cx->version >= 8) {
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_letterSpacing,
- swfdec_text_format_get_letterSpacing,
- swfdec_text_format_set_letterSpacing);
+ swfdec_text_format_get_letter_spacing,
+ swfdec_text_format_set_letter_spacing);
}
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_rightMargin,
- swfdec_text_format_get_rightMargin, swfdec_text_format_set_rightMargin);
+ swfdec_text_format_get_right_margin,
+ swfdec_text_format_set_right_margin);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_size,
swfdec_text_format_get_size, swfdec_text_format_set_size);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_tabStops,
- swfdec_text_format_get_tabStops, swfdec_text_format_set_tabStops);
+ swfdec_text_format_get_tab_stops, swfdec_text_format_set_tab_stops);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_target,
swfdec_text_format_get_target, swfdec_text_format_set_target);
swfdec_text_format_add_variable (proto, SWFDEC_AS_STR_underline,
@@ -847,21 +948,7 @@ swfdec_text_format_construct (SwfdecAsCo
SWFDEC_PLAYER (cx)->text_format_properties_initialized = TRUE;
}
- format = SWFDEC_TEXTFORMAT (object);
- format->blockIndent = NAN;
- format->bold = SWFDEC_TOGGLE_UNDEFINED;
- format->bullet = SWFDEC_TOGGLE_UNDEFINED;
- format->color = NAN;
- format->display = SWFDEC_TEXT_DISPLAY_BLOCK;
- format->indent = NAN;
- format->italic = SWFDEC_TOGGLE_UNDEFINED;
- format->kerning = SWFDEC_TOGGLE_UNDEFINED;
- format->leading = NAN;
- format->leftMargin = NAN;
- SWFDEC_AS_VALUE_SET_NULL (&format->letterSpacing);
- format->rightMargin = NAN;
- format->size = NAN;
- format->underline = SWFDEC_TOGGLE_UNDEFINED;
+ swfdec_text_format_clear (SWFDEC_TEXT_FORMAT (object));
i = 0;
if (argc > i)
@@ -891,3 +978,27 @@ swfdec_text_format_construct (SwfdecAsCo
if (argc > ++i)
swfdec_as_object_set_variable (object, SWFDEC_AS_STR_leading, &argv[i]);
}
+
+SwfdecAsObject *
+swfdec_text_format_new (SwfdecAsContext *context)
+{
+ SwfdecAsObject *ret;
+ SwfdecAsValue val;
+
+ g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL);
+
+ if (!swfdec_as_context_use_mem (context, sizeof (SwfdecTextFormat)))
+ return NULL;
+
+ ret = g_object_new (SWFDEC_TYPE_TEXT_FORMAT, NULL);
+ swfdec_as_object_add (ret, context, sizeof (SwfdecTextFormat));
+ swfdec_as_object_get_variable (context->global, SWFDEC_AS_STR_TextFormat,
+ &val);
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+ return NULL;
+ swfdec_as_object_set_constructor (ret, SWFDEC_AS_VALUE_GET_OBJECT (&val));
+
+ swfdec_text_format_clear (SWFDEC_TEXT_FORMAT (ret));
+
+ return ret;
+}
diff --git a/libswfdec/swfdec_text_format.h b/libswfdec/swfdec_text_format.h
index 607c0e3..12f4128 100644
--- a/libswfdec/swfdec_text_format.h
+++ b/libswfdec/swfdec_text_format.h
@@ -18,8 +18,8 @@
* Boston, MA 02110-1301 USA
*/
-#ifndef _SWFDEC_TEXTFORMAT_H_
-#define _SWFDEC_TEXTFORMAT_H_
+#ifndef _SWFDEC_TEXT_FORMAT_H_
+#define _SWFDEC_TEXT_FORMAT_H_
#include <libswfdec/swfdec_as_object.h>
#include <libswfdec/swfdec_as_array.h>
@@ -31,15 +31,14 @@ G_BEGIN_DECLS
typedef struct _SwfdecTextFormat SwfdecTextFormat;
typedef struct _SwfdecTextFormatClass SwfdecTextFormatClass;
-#define SWFDEC_TYPE_TEXTFORMAT (swfdec_text_format_get_type())
-#define SWFDEC_IS_TEXTFORMAT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXTFORMAT))
-#define SWFDEC_IS_TEXTFORMAT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXTFORMAT))
-#define SWFDEC_TEXTFORMAT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXTFORMAT, SwfdecTextFormat))
-#define SWFDEC_TEXTFORMAT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXTFORMAT, SwfdecTextFormatClass))
-#define SWFDEC_TEXTFORMAT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SWFDEC_TYPE_TEXTFORMAT, SwfdecTextFormatClass))
+#define SWFDEC_TYPE_TEXT_FORMAT (swfdec_text_format_get_type())
+#define SWFDEC_IS_TEXT_FORMAT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT_FORMAT))
+#define SWFDEC_IS_TEXT_FORMAT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_TEXT_FORMAT))
+#define SWFDEC_TEXT_FORMAT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_TEXT_FORMAT, SwfdecTextFormat))
+#define SWFDEC_TEXT_FORMAT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_TEXT_FORMAT, SwfdecTextFormatClass))
+#define SWFDEC_TEXT_FORMAT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SWFDEC_TYPE_TEXT_FORMAT, SwfdecTextFormatClass))
typedef enum {
- SWFDEC_TEXT_ALIGN_UNDEFINED,
SWFDEC_TEXT_ALIGN_LEFT,
SWFDEC_TEXT_ALIGN_CENTER,
SWFDEC_TEXT_ALIGN_RIGHT,
@@ -47,40 +46,57 @@ typedef enum {
} SwfdecTextAlign;
typedef enum {
- SWFDEC_TEXT_DISPLAY_UNDEFINED, // is this needed?
SWFDEC_TEXT_DISPLAY_NONE,
SWFDEC_TEXT_DISPLAY_INLINE,
SWFDEC_TEXT_DISPLAY_BLOCK,
} SwfdecTextDisplay;
typedef enum {
- SWFDEC_TOGGLE_UNDEFINED = -1,
- SWFDEC_TOGGLE_DISABLED = 0,
- SWFDEC_TOGGLE_ENABLED = 1
-} SwfdecToggle;
+ SWFDEC_TEXT_FORMAT_PROPERTY_ALIGN = 0,
+ SWFDEC_TEXT_FORMAT_PROPERTY_BLOCK_INDENT,
+ SWFDEC_TEXT_FORMAT_PROPERTY_BOLD,
+ SWFDEC_TEXT_FORMAT_PROPERTY_BULLET,
+ SWFDEC_TEXT_FORMAT_PROPERTY_COLOR,
+ SWFDEC_TEXT_FORMAT_PROPERTY_DISPLAY,
+ SWFDEC_TEXT_FORMAT_PROPERTY_FONT,
+ SWFDEC_TEXT_FORMAT_PROPERTY_INDENT,
+ SWFDEC_TEXT_FORMAT_PROPERTY_ITALIC,
+ SWFDEC_TEXT_FORMAT_PROPERTY_KERNING,
+ SWFDEC_TEXT_FORMAT_PROPERTY_LEADING,
+ SWFDEC_TEXT_FORMAT_PROPERTY_LEFT_MARGIN,
+ SWFDEC_TEXT_FORMAT_PROPERTY_LETTER_SPACING,
+ SWFDEC_TEXT_FORMAT_PROPERTY_RIGHT_MARGIN,
+ SWFDEC_TEXT_FORMAT_PROPERTY_SIZE,
+ SWFDEC_TEXT_FORMAT_PROPERTY_TAB_STOPS,
+ SWFDEC_TEXT_FORMAT_PROPERTY_TARGET,
+ SWFDEC_TEXT_FORMAT_PROPERTY_UNDERLINE,
+ SWFDEC_TEXT_FORMAT_PROPERTY_URL
+} SwfdecTextFormatProperty;
struct _SwfdecTextFormat {
SwfdecAsObject object;
SwfdecTextAlign align;
- double blockIndent;
- SwfdecToggle bold;
- SwfdecToggle bullet;
- double color;
+ int block_indent;
+ gboolean bold;
+ gboolean bullet;
+ SwfdecColor color;
SwfdecTextDisplay display;
const char * font;
- double indent;
- SwfdecToggle italic;
- SwfdecToggle kerning;
- double leading;
- double leftMargin;
- SwfdecAsValue letterSpacing; // number or null
- double rightMargin;
- double size;
- SwfdecAsArray * tabStops;
+ int indent;
+ gboolean italic;
+ gboolean kerning;
+ int leading;
+ int left_margin;
+ double letter_spacing; // number or null
+ int right_margin;
+ int size;
+ SwfdecAsArray * tab_stops;
const char * target;
- SwfdecToggle underline;
+ gboolean underline;
const char * url;
+
+ int values_set;
};
struct _SwfdecTextFormatClass {
@@ -89,5 +105,7 @@ struct _SwfdecTextFormatClass {
GType swfdec_text_format_get_type (void);
+SwfdecAsObject * swfdec_text_format_new (SwfdecAsContext * context);
+
G_END_DECLS
#endif
diff-tree 79ce5281af204fc619574b90cb8b0614a8a2e12c (from db16b550fa025c520266c90df07cd71a3fbc44c0)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 1 17:15:34 2007 +0300
Start work on TextField ActionScript object
diff --git a/libswfdec/Makefile.am b/libswfdec/Makefile.am
index 43efba4..1a80e27 100644
--- a/libswfdec/Makefile.am
+++ b/libswfdec/Makefile.am
@@ -62,6 +62,7 @@ libswfdec_ at SWFDEC_MAJORMINOR@_la_SOURCES
swfdec_decoder.c \
swfdec_edittext.c \
swfdec_edittext_movie.c \
+ swfdec_edittext_movie_as.c \
swfdec_enums.c \
swfdec_event.c \
swfdec_file_loader.c \
diff --git a/libswfdec/swfdec_as_interpret.c b/libswfdec/swfdec_as_interpret.c
index 5dc9a24..e38b552 100644
--- a/libswfdec/swfdec_as_interpret.c
+++ b/libswfdec/swfdec_as_interpret.c
@@ -42,6 +42,7 @@
#include "swfdec_sprite.h"
#include "swfdec_sprite_movie.h"
#include "swfdec_swf_instance.h"
+#include "swfdec_edittext_movie.h" // for typeof
/* Define this to get SWFDEC_WARN'd about missing properties of objects.
* This can be useful to find out about unimplemented native properties,
@@ -2006,7 +2007,9 @@ swfdec_action_type_of (SwfdecAsContext *
case SWFDEC_AS_TYPE_OBJECT:
{
SwfdecAsObject *obj = SWFDEC_AS_VALUE_GET_OBJECT (val);
- if (SWFDEC_IS_MOVIE (obj)) {
+ if (SWFDEC_IS_EDIT_TEXT_MOVIE (obj)) {
+ type = SWFDEC_AS_STR_object;
+ } else if (SWFDEC_IS_MOVIE (obj)) {
type = SWFDEC_AS_STR_movieclip;
} else if (SWFDEC_IS_AS_FUNCTION (obj)) {
type = SWFDEC_AS_STR_function;
diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index df29a9a..3aa0ba1 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -383,6 +383,8 @@ const char swfdec_as_strings[] =
SWFDEC_AS_CONSTANT_STRING ("none")
SWFDEC_AS_CONSTANT_STRING ("inline")
SWFDEC_AS_CONSTANT_STRING ("block")
+ SWFDEC_AS_CONSTANT_STRING ("TextField")
+ SWFDEC_AS_CONSTANT_STRING ("text")
/* add more here */
;
diff --git a/libswfdec/swfdec_edittext_movie_as.c b/libswfdec/swfdec_edittext_movie_as.c
new file mode 100644
index 0000000..bd0a5df
--- /dev/null
+++ b/libswfdec/swfdec_edittext_movie_as.c
@@ -0,0 +1,180 @@
+/* Swfdec
+ * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "swfdec_edittext.h"
+#include "swfdec_edittext_movie.h"
+#include "swfdec_as_strings.h"
+#include "swfdec_debug.h"
+#include "swfdec_as_native_function.h"
+#include "swfdec_as_internal.h"
+#include "swfdec_as_context.h"
+#include "swfdec_as_frame_internal.h"
+#include "swfdec_internal.h"
+#include "swfdec_player_internal.h"
+
+static void
+swfdec_edittext_movie_get_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+
+ if (!SWFDEC_IS_EDIT_TEXT_MOVIE (object))
+ return;
+ text = SWFDEC_EDIT_TEXT_MOVIE (object);
+
+ SWFDEC_AS_VALUE_SET_STRING (ret, (text->str != NULL ? swfdec_as_context_get_string (cx, text->str) : SWFDEC_AS_STR_EMPTY));
+}
+
+static void
+swfdec_edittext_movie_do_set_text (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecEditTextMovie *text;
+
+ if (!SWFDEC_IS_EDIT_TEXT_MOVIE (object))
+ return;
+ text = SWFDEC_EDIT_TEXT_MOVIE (object);
+
+ if (argc < 1)
+ return;
+
+ swfdec_edit_text_movie_set_text (text,
+ swfdec_as_value_to_string (cx, &argv[0]));
+}
+
+SWFDEC_AS_NATIVE (104, 200, swfdec_edittext_movie_createTextField)
+void
+swfdec_edittext_movie_createTextField (SwfdecAsContext *cx,
+ SwfdecAsObject *object, guint argc, SwfdecAsValue *argv,
+ SwfdecAsValue *rval)
+{
+ SwfdecMovie *movie, *parent;
+ SwfdecEditText *edittext;
+ int depth;
+ const char *name;
+ SwfdecAsFunction *fun;
+ SwfdecAsValue val;
+
+ SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, (gpointer)&parent, "si", &name, &depth);
+
+ edittext = g_object_new (SWFDEC_TYPE_EDIT_TEXT, NULL);
+
+ movie = swfdec_movie_find (parent, depth);
+ if (movie)
+ swfdec_movie_remove (movie);
+
+ movie = swfdec_movie_new (SWFDEC_PLAYER (cx), depth, parent,
+ SWFDEC_GRAPHIC (edittext), name);
+ g_assert (SWFDEC_IS_EDIT_TEXT_MOVIE (movie));
+ swfdec_movie_initialize (movie);
+
+ swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (&val))
+ return;
+ fun = (SwfdecAsFunction *) SWFDEC_AS_VALUE_GET_OBJECT (&val);
+ if (!SWFDEC_IS_AS_FUNCTION (fun))
+ return;
+
+ /* set initial variables */
+ if (swfdec_as_object_get_variable (SWFDEC_AS_OBJECT (fun),
+ SWFDEC_AS_STR_prototype, &val)) {
+ swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+ SWFDEC_AS_STR___proto__, &val,
+ SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT);
+ }
+ SWFDEC_AS_VALUE_SET_OBJECT (&val, SWFDEC_AS_OBJECT (fun));
+ if (cx->version < 7) {
+ swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+ SWFDEC_AS_STR_constructor, &val, SWFDEC_AS_VARIABLE_HIDDEN);
+ }
+ swfdec_as_object_set_variable_and_flags (SWFDEC_AS_OBJECT (movie),
+ SWFDEC_AS_STR___constructor__, &val,
+ SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_VERSION_6_UP);
+
+ swfdec_as_function_call (fun, SWFDEC_AS_OBJECT (movie), 0, NULL, rval);
+ cx->frame->construct = TRUE;
+ swfdec_as_context_run (cx);
+}
+
+static void
+swfdec_edittext_movie_add_variable (SwfdecAsObject *object,
+ const char *variable, SwfdecAsNative get, SwfdecAsNative set)
+{
+ SwfdecAsFunction *get_func, *set_func;
+
+ g_return_if_fail (SWFDEC_IS_AS_OBJECT (object));
+ g_return_if_fail (variable != NULL);
+ g_return_if_fail (get != NULL);
+
+ get_func =
+ swfdec_as_native_function_new (object->context, variable, get, 0, NULL);
+ if (get_func == NULL)
+ return;
+
+ if (set != NULL) {
+ set_func =
+ swfdec_as_native_function_new (object->context, variable, set, 0, NULL);
+ } else {
+ set_func = NULL;
+ }
+
+ swfdec_as_object_add_variable (object, variable, get_func, set_func, 0);
+}
+
+SWFDEC_AS_CONSTRUCTOR (104, 0, swfdec_edittext_movie_construct, swfdec_edit_text_movie_get_type)
+void
+swfdec_edittext_movie_construct (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ if (!cx->frame->construct) {
+ SwfdecAsValue val;
+ if (!swfdec_as_context_use_mem (cx, sizeof (SwfdecEditTextMovie)))
+ return;
+ object = g_object_new (SWFDEC_TYPE_EDIT_TEXT_MOVIE, NULL);
+ swfdec_as_object_add (object, cx, sizeof (SwfdecEditTextMovie));
+ swfdec_as_object_get_variable (cx->global, SWFDEC_AS_STR_TextField, &val);
+ if (SWFDEC_AS_VALUE_IS_OBJECT (&val)) {
+ swfdec_as_object_set_constructor (object, SWFDEC_AS_VALUE_GET_OBJECT (&val));
+ } else {
+ SWFDEC_INFO ("\"TextField\" is not an object");
+ }
+ }
+
+ g_return_if_fail (SWFDEC_IS_EDIT_TEXT_MOVIE (object));
+
+ if (!SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized) {
+ SwfdecAsValue val;
+ SwfdecAsObject *proto;
+
+ swfdec_as_object_get_variable (object, SWFDEC_AS_STR___proto__, &val);
+ g_return_if_fail (SWFDEC_AS_VALUE_IS_OBJECT (&val));
+ proto = SWFDEC_AS_VALUE_GET_OBJECT (&val);
+
+ swfdec_edittext_movie_add_variable (proto, SWFDEC_AS_STR_text,
+ swfdec_edittext_movie_get_text, swfdec_edittext_movie_do_set_text);
+
+ SWFDEC_PLAYER (cx)->edittext_movie_properties_initialized = TRUE;
+ }
+
+ SWFDEC_AS_VALUE_SET_OBJECT (ret, object);
+}
diff --git a/libswfdec/swfdec_initialize.as b/libswfdec/swfdec_initialize.as
index 4df879b..267dc33 100644
--- a/libswfdec/swfdec_initialize.as
+++ b/libswfdec/swfdec_initialize.as
@@ -270,13 +270,14 @@ MovieClip.prototype["removeMovieClip"] =
MovieClip.prototype.startDrag = ASnative (900, 20);
MovieClip.prototype.stopDrag = ASnative (900, 21);
MovieClip.prototype.createEmptyMovieClip = ASnative (901, 0);
+MovieClip.prototype.createTextField = ASnative (104, 200);
ASSetPropFlags (MovieClip.prototype, "getDepth,createEmptyMovieClip", 128);
ASSetPropFlags (MovieClip.prototype, null, 3);
/* TextField */
-TextField = {};
+TextField = ASconstructor (104, 0);
/* TextFormat */
diff --git a/libswfdec/swfdec_initialize.h b/libswfdec/swfdec_initialize.h
index fb343dd..f019e11 100644
--- a/libswfdec/swfdec_initialize.h
+++ b/libswfdec/swfdec_initialize.h
@@ -2,7 +2,7 @@
/* compiled from swfdec_initialize.as */
const unsigned char swfdec_initialize[] = {
- 0x88, 0xB1, 0x06, 0xB1, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
+ 0x88, 0xC1, 0x06, 0xB2, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
0x00, 0x41, 0x53, 0x6E, 0x61, 0x74, 0x69, 0x76, 0x65, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E,
0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x00, 0x4F, 0x62,
0x6A, 0x65, 0x63, 0x74, 0x00, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6C, 0x61,
@@ -74,7 +74,8 @@ const unsigned char swfdec_initialize[]
0x6F, 0x76, 0x65, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C, 0x69, 0x70, 0x00, 0x73, 0x74, 0x61,
0x72, 0x74, 0x44, 0x72, 0x61, 0x67, 0x00, 0x73, 0x74, 0x6F, 0x70, 0x44, 0x72, 0x61, 0x67, 0x00,
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65,
- 0x43, 0x6C, 0x69, 0x70, 0x00, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2C, 0x63, 0x72,
+ 0x43, 0x6C, 0x69, 0x70, 0x00, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x78, 0x74, 0x46,
+ 0x69, 0x65, 0x6C, 0x64, 0x00, 0x67, 0x65, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68, 0x2C, 0x63, 0x72,
0x65, 0x61, 0x74, 0x65, 0x45, 0x6D, 0x70, 0x74, 0x79, 0x4D, 0x6F, 0x76, 0x69, 0x65, 0x43, 0x6C,
0x69, 0x70, 0x00, 0x54, 0x65, 0x78, 0x74, 0x46, 0x69, 0x65, 0x6C, 0x64, 0x00, 0x54, 0x65, 0x78,
0x74, 0x46, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x00, 0x53, 0x74, 0x79, 0x6C, 0x65, 0x53, 0x68, 0x65,
@@ -353,165 +354,168 @@ const unsigned char swfdec_initialize[]
0x84, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00,
0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x73, 0x07, 0x00,
0x00, 0x00, 0x00, 0x07, 0x85, 0x03, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D,
- 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x74, 0x08, 0x56, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17,
- 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x07,
- 0x00, 0x08, 0x75, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x76, 0x07,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x74, 0x07, 0xC8, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x08, 0x75, 0x08,
+ 0x56, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
+ 0x08, 0x05, 0x3D, 0x17, 0x96, 0x08, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x02, 0x08, 0x56, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05,
+ 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0x76, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x68, 0x00, 0x00,
+ 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x77, 0x07,
0x00, 0x00, 0x00, 0x00, 0x07, 0x6E, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43,
- 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x77, 0x07, 0x00, 0x00,
+ 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x78, 0x07, 0x00, 0x00,
0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x43, 0x3D, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x78, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x79, 0x49, 0x12, 0x12,
- 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08, 0x7A, 0x07,
+ 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x79, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x67,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x13, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08, 0x7A, 0x49, 0x12, 0x12,
+ 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E, 0x96, 0x07, 0x00, 0x08, 0x7B, 0x07,
0x00, 0x00, 0x00, 0x00, 0x43, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x13, 0x46, 0x87, 0x01, 0x00, 0x00,
- 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7B, 0x04,
- 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7A, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x13, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB,
- 0xFF, 0x96, 0x02, 0x00, 0x08, 0x7A, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7C,
+ 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x27, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7C, 0x04,
+ 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x13, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x4E, 0x4F, 0x99, 0x02, 0x00, 0xCB,
+ 0xFF, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7D,
0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07,
- 0x00, 0x08, 0x7D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x75, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
- 0x02, 0x00, 0x08, 0x7F, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x25,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x80, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x78, 0x52, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x9B, 0x10,
+ 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96,
+ 0x02, 0x00, 0x08, 0x80, 0x9B, 0x0A, 0x00, 0x00, 0x01, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x25,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x81, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x79, 0x52, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x82, 0x9B, 0x10,
0x00, 0x00, 0x02, 0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x67,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x4E, 0x12, 0x12, 0x9D,
- 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7D, 0x07,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x12, 0x12, 0x9D,
+ 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07,
0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x7D, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x80, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x52, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x80, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x83, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x84,
- 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x85, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x7D, 0x4E, 0x3C, 0x96, 0x07, 0x00, 0x08, 0x86, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x42, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x85, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00,
- 0x02, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7B, 0x04, 0x00, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x86, 0x1C,
+ 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x07,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x52, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x85,
+ 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x86, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x3C, 0x96, 0x07, 0x00, 0x08, 0x87, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x42, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x86, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00,
+ 0x02, 0x49, 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7C, 0x04, 0x00, 0x3C, 0x96,
+ 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x87, 0x1C,
0x96, 0x02, 0x00, 0x08, 0x0D, 0x52, 0x17, 0x99, 0x02, 0x00, 0xCD, 0xFF, 0x96, 0x02, 0x00, 0x08,
- 0x86, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x83, 0x9B, 0x0A, 0x00, 0x00, 0x01,
+ 0x87, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x84, 0x9B, 0x0A, 0x00, 0x00, 0x01,
0x00, 0x6E, 0x61, 0x6D, 0x65, 0x00, 0x5C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x7E, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x80, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x80,
+ 0x00, 0x08, 0x7F, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12, 0x00, 0x96, 0x02, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7F, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x81,
0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x87, 0x52, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x87, 0x9B, 0x0B, 0x00, 0x00,
- 0x01, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C,
+ 0x08, 0x88, 0x52, 0x4F, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78,
+ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x88, 0x9B, 0x0B, 0x00, 0x00,
+ 0x01, 0x00, 0x73, 0x74, 0x79, 0x6C, 0x65, 0x00, 0x9D, 0x03, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C,
0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x05, 0x00, 0x96, 0x01, 0x00, 0x02, 0x3E,
- 0x96, 0x09, 0x00, 0x08, 0x88, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x76, 0x40, 0x3C, 0x96, 0x02,
- 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x89, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8A, 0x08, 0x82, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x89, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8B,
- 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08,
- 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8B, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x49, 0x12, 0x9D,
- 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8C, 0x05,
- 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x8C, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8E,
- 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0x85, 0x08, 0x82, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x8E, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x8F, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x85, 0x1C, 0x96, 0x01, 0x00,
- 0x02, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x8E, 0x08, 0x85, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04,
- 0x00, 0x08, 0x90, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x90, 0x4E, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x91, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x92, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x91, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x93, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x94,
- 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00,
- 0x08, 0x95, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x94, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
- 0x00, 0x00, 0x00, 0x08, 0x96, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x97, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x98, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x97, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x49,
- 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08,
- 0x98, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x98, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x99, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02,
- 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x99, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x49,
- 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x99,
- 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x99, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x96, 0x3D, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C,
- 0x96, 0x04, 0x00, 0x08, 0x99, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x99, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9C, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00,
- 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9C, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9C,
- 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x96, 0x3D, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9E, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0x9D, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x96, 0x3D, 0x4F, 0x96,
- 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9F, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F, 0x08, 0x82, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x9F, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x96, 0x3D,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x12, 0x9D, 0x02,
- 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA1, 0x08, 0x82,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x96, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA2, 0x4E, 0x12,
- 0x9D, 0x02, 0x00, 0x3B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x85, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA2, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x96, 0x3D, 0x3C, 0x96,
- 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x85, 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA3, 0x08, 0x85, 0x1C, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA4, 0x4E, 0x96, 0x02, 0x00, 0x08,
- 0xA5, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x82, 0x1C, 0x96, 0x02, 0x00,
- 0x08, 0xA4, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA6, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA5, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00,
- 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA5, 0x05, 0x01, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x88, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA7, 0x9B,
- 0x09, 0x00, 0x00, 0x01, 0x00, 0x63, 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAA,
- 0x08, 0xA8, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0xA9, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0xAA, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08,
- 0xAB, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x96, 0x02,
- 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7D, 0x07, 0x00, 0x00, 0x00,
- 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAA, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00,
- 0x02, 0x49, 0x9D, 0x02, 0x00, 0x56, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7B, 0x04, 0x00, 0x3C, 0x96,
- 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7D, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7B,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAA, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x52, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x7B, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x83, 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00,
- 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0xAC, 0x08, 0x75, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA7, 0x4E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00,
+ 0x96, 0x09, 0x00, 0x08, 0x89, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x77, 0x40, 0x3C, 0x96, 0x02,
+ 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8A, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x15, 0x00,
+ 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8B, 0x08, 0x83, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x8A, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8C,
+ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8D, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x49, 0x12, 0x9D,
+ 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x8D, 0x05,
+ 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00,
+ 0x08, 0x8D, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x8F,
+ 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0x86, 0x08, 0x83, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x8F, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x90, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x86, 0x1C, 0x96, 0x01, 0x00,
+ 0x02, 0x49, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x0F, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
+ 0x04, 0x00, 0x08, 0x8F, 0x08, 0x86, 0x1C, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04,
+ 0x00, 0x08, 0x91, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x91, 0x4E, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x92, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x26, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x93, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x92, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x94, 0x52, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95,
+ 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00,
+ 0x08, 0x96, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x95, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x98, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x99, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x98, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x8E, 0x49,
+ 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08,
+ 0x99, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96,
+ 0x04, 0x00, 0x08, 0x99, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x9A, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9B, 0x49, 0x9D, 0x02, 0x00, 0x4F, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x9C, 0x49,
+ 0x9D, 0x02, 0x00, 0x25, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A,
+ 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9A, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C,
+ 0x96, 0x04, 0x00, 0x08, 0x9A, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00, 0x0E, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9A, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96, 0x02, 0x00,
+ 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9D, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9D,
+ 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x9E, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x9F, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x9E, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x4F, 0x96,
+ 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x12, 0x9D, 0x02, 0x00, 0x20,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA0, 0x08, 0x83, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0xA0, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x12, 0x9D, 0x02,
+ 0x00, 0x20, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA2, 0x08, 0x83,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA1, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x97, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA3, 0x4E, 0x12,
+ 0x9D, 0x02, 0x00, 0x3B, 0x00, 0x96, 0x04, 0x00, 0x08, 0x86, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0xA3, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x97, 0x3D, 0x3C, 0x96,
+ 0x07, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x86, 0x1C, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x0F,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA4, 0x08, 0x86, 0x1C, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xA5, 0x4E, 0x96, 0x02, 0x00, 0x08,
+ 0xA6, 0x49, 0x9D, 0x02, 0x00, 0x2B, 0x00, 0x96, 0x02, 0x00, 0x08, 0x83, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0xA5, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA7, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x0E, 0x00, 0x96,
+ 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA6, 0x05, 0x00, 0x4F, 0x99, 0x02, 0x00,
+ 0x0E, 0x00, 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x96, 0x04, 0x00, 0x08, 0xA6, 0x05, 0x01, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x89, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x9B,
+ 0x09, 0x00, 0x00, 0x01, 0x00, 0x63, 0x73, 0x73, 0x00, 0xC8, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAB,
+ 0x08, 0xA9, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0xAA, 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x1C, 0x44, 0x96, 0x02, 0x00, 0x08,
+ 0xAC, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x06, 0x00, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E, 0x96, 0x02,
+ 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x12, 0x12, 0x9D, 0x02, 0x00, 0x12,
+ 0x00, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x07, 0x00, 0x08, 0x7E, 0x07, 0x00, 0x00, 0x00,
+ 0x00, 0x43, 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01, 0x00,
+ 0x02, 0x49, 0x9D, 0x02, 0x00, 0x56, 0x00, 0x96, 0x04, 0x00, 0x08, 0x7C, 0x04, 0x00, 0x3C, 0x96,
+ 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7E, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x7C,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x4E, 0x96, 0x07,
+ 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x79, 0x52, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x7C, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x84, 0x52, 0x17, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00,
+ 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0xAD, 0x08, 0x76, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0xA8, 0x4E,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00,
0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01,
- 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75,
- 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
+ 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
+ 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76,
+ 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x6B, 0x00, 0x96, 0x02,
0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96,
0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAA, 0x08, 0x38, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAC,
- 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08, 0xAA, 0x1C,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAA, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0xA9, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x75, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x93, 0x07, 0x66, 0x00, 0x00, 0x00,
+ 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x41, 0x00, 0x96, 0x04, 0x00, 0x08, 0xAB, 0x08, 0x38, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0xAD,
+ 0x52, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x08, 0xAB, 0x1C,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0xAB, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
+ 0x09, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
+ 0xAA, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
+ 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E,
+ 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x94, 0x07, 0x66, 0x00, 0x00, 0x00,
0x07, 0x71, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x75, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x8F, 0x07, 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x13, 0x00, 0x08, 0x90, 0x07, 0x67, 0x00, 0x00, 0x00, 0x07, 0x71, 0x00, 0x00, 0x00, 0x07,
0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x03, 0x04, 0x00, 0x00,
- 0x02, 0x08, 0x75, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x77, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x02, 0x08, 0x76, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x78, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x07,
- 0x03, 0x04, 0x00, 0x00, 0x08, 0x77, 0x08, 0x75, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0xAD, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07,
+ 0x03, 0x04, 0x00, 0x00, 0x08, 0x78, 0x08, 0x76, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00,
+ 0x00, 0x08, 0x05, 0x3D, 0x17, 0x96, 0x13, 0x00, 0x08, 0xAE, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07,
0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00,
- 0x08, 0xAE, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
- 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xAF, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07,
+ 0x08, 0xAF, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0xB0, 0x07, 0x02, 0x00, 0x00, 0x00, 0x07,
0xFA, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x04, 0x00,
- 0x08, 0xB0, 0x08, 0xAE, 0x1C, 0x1D, 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96, 0x0D, 0x00,
+ 0x08, 0xB1, 0x08, 0xAF, 0x1C, 0x1D, 0x96, 0x03, 0x00, 0x08, 0x13, 0x02, 0x1D, 0x96, 0x0D, 0x00,
0x07, 0x06, 0x00, 0x00, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x02, 0x08, 0x09, 0x1C, 0x96, 0x07,
0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x05, 0x3D, 0x17, 0x00
};
diff --git a/libswfdec/swfdec_player_internal.h b/libswfdec/swfdec_player_internal.h
index cc0ac23..1129e01 100644
--- a/libswfdec/swfdec_player_internal.h
+++ b/libswfdec/swfdec_player_internal.h
@@ -72,6 +72,7 @@ struct _SwfdecPlayer
int offset_x; /* x offset from top left edge after scaling */
int offset_y; /* y offset from top left edge after scaling */
gboolean text_format_properties_initialized; /* whether TextFormat object's native properties have been initialized */
+ gboolean edittext_movie_properties_initialized; /* whether TextField object's native properties have been initialized */
gboolean xml_properties_initialized; /* whether XML object's native properties have been initialized */
gboolean xml_node_properties_initialized; /* same for XMLNode */
diff-tree db16b550fa025c520266c90df07cd71a3fbc44c0 (from 8d69f18e13827a9f25ce0f2e9eabc098ec2709d9)
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date: Mon Oct 1 11:43:51 2007 +0300
Remove leftover declaration from swfdec_text.h
diff --git a/libswfdec/swfdec_text.h b/libswfdec/swfdec_text.h
index 37d0312..a590470 100644
--- a/libswfdec/swfdec_text.h
+++ b/libswfdec/swfdec_text.h
@@ -30,7 +30,6 @@ G_BEGIN_DECLS
typedef struct _SwfdecTextClass SwfdecTextClass;
typedef struct _SwfdecTextGlyph SwfdecTextGlyph;
-typedef struct _SwfdecTextChunk SwfdecTextChunk;
#define SWFDEC_TYPE_TEXT (swfdec_text_get_type())
#define SWFDEC_IS_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_TEXT))
More information about the Swfdec
mailing list